预科班_运算符优先级

运算符的范畴

运算符是基本运算所涉及到的符号(C语言中常用的运算符见附表)

常用的运算符说明

  1. 关系运算符 < <= > >= == !=
    1.1 用于比较两个数据的大小,得到比价结果(0则为假,1则为真)
    1.2 注意区别 “一个=” 与 “两个=” :一个= 表示赋值(将等号右边的数值赋值给等号左边),两个等号表示判断(判断左右两边是否相等)

  2. 逻辑运算符
    或(||) ->有真则真,只要左边的条件是真,右边不需要判断(提高运算速度)
    与(&&) ->有假则假,只要左边条件是假,右边不需要判断(提高运算速度)
    非(!) ->一般少用,是因为会导致逻辑复杂,eg x<=4 <=> !(x>4)

  3. 位运算符->对整数二进制进行操作
    eg:12 63
    12:0000 1100
    64:0011 1111
    按位与(&) ->都是1才変1 eg:12&63 0000 1100
    按位或(|) ->有1为1 eg:12|63 0011 1111
    按位取反(~) ->1変0,0変1 eg:~12 1111 0000
    按位异或(^) ->有1为1,同0为0,同1为0 eg:12^63 0011 0011
    (按位异或可以用来交换两个变量:a=a^b;b=a^b;a=a^b;
    左移(<<) ->去掉左边两个数字,右边补上相同数字 eg:12<<2 结果是:0011 0000
    右移(>>) ->去掉右边两个数字,左边补上相同数字 eg:12>>2 结果是:0000 0011

  4. 赋值运算符
    a+=b <=> a=a+b +=的运算级别要比+低

  5. 自增和自减运算符(++ --)
    i++(称为后加加运算) ++i(称为前加加运算)
    5.1 单独使用时结果相同,但是前加运算会快些
    5.2 前加是先+1,后操作;后加是先操作,后+1

说明

  1. 除法运算:整数相除,整数部分是几,就是几
  2. 求余运算:只能两个整数才能求余数
  3. 在进行条件判断的时候,如果条件比较复杂可以连着写,但是建议分开写判断条件

示例代码

#include<stdio.h>
#include<iostream>
int main()
{
int sum,m=0,n=0,a1=20,a2=20,score,x=0,y,p,q=0,leftShift;
sum = 1 + 2 * 3;
 printf("1+2*3的结果是%d\n", sum);
 printf("\n5*++m(m=0)的结果是%d\n", 5 * ++m);
 printf("\n5*n++(n=0)的结果是%d\n", 5 * n++);
 printf("\n3.0/4的结果是(lf的情况下)%lf\n", 3.0 / 4);
 printf("\n3.0/4的结果是(d的情况下)%d\n", 3.0 / 4);
 printf("\n3/4的结果是(d的情况下)%d\n", 3 / 4);
 printf("\n3/4的结果是(lf的情况下)%lf\n", 3 / 4);
 a1 /= 3 + 2;
 printf("\na1/=3+2的结果是%d\n", a1);
 a2 = a2/3 + 2;
 printf("\na2=a2/3+2的结果是%d\n", a2);
 score = 99;
 printf("\n某人的成绩情况是%s\n", score >= 60 ? "及格" : "不及格");
 printf("\nscore 的字符长度为%d\n", sizeof(score));
 leftShift = 12 << 2;
 printf("\n12左移的结果是%d\n", leftShift);
 y = x++;
 p = ++q;
 printf("\ny = x++(x=0)的结果是%d\n", y);
 printf("\np = ++q(q=0)的结果是%d\n", p);
 system("pause");
 return 0;
 }

附表

常见的运算符及优先级及使用说明表常见的运算符及优先级及使用说明表

猜你喜欢

转载自blog.csdn.net/weixin_41743247/article/details/87901176