美文网首页
C语言运算符

C语言运算符

作者: AuglyXu | 来源:发表于2018-08-29 13:03 被阅读0次

运算符的优先级和结合性



运算符的种类

  • 算数运算符
    • 有+ - * / % (具有左结合性)
  • 算数运算符注意事项
    • 如果参与运算的两个操作数皆为整数, 那么结果也为整数
    • 如果参与运算的两个操作数其中一个是浮点数, 那么结果一定是浮点数
    • 求余运算符, 本质上就是数学的商和余"中的余数
    • 求余运算符, 参与运算的两个操作数必须都是整数, 不能包含浮点数
    • 求余运算符, 被除数小于除数, 那么结果就是被除数
    • 求余运算符, 运算结果的正负性取决于被除数,跟除数无关, 被除数是正数结果就是正数,被除数是负数结果就是负数
    • 求余运算符, 被除数为0, 结果为0
    • 求余运算符, 除数为0, 没有意义(不要这样写)

  • 赋值运算符
    • 简单赋值运算符 =
    • 复杂赋值运算符 += -= *= /= %= (具有右结合性)(优先级低于算数运算符)

  • 自增自减运算符
    • 运算符有++和--
    • ++ --可以写在变量前面或者后面
    • 写在变量前面表示先进行++或--操作在进行运算
    • 写在变量后面表示先进行运算在进行++或--操作
  • 自增自减运算符注意事项
    • 常量和表达式不能进行++ --操作
    • 自增自减运算符尽量独立开来写,方便阅读和代码维护
    • 千万不要这么写
int num = 10;
int res = ++num + num++;//在不同编译器运行结果不同,这么写就是傻逼

  • sizeof运算符
    • sizeof运算符计算的是变量所占的内存字节数(int为4,double和float为8,char为1)
    • sizeof运算符格式 sizeof(变量/常量/表达式/数据类型) 或者 sizeof 变量/常量/表达式
  • sizeof注意点
    • sizeof是一个运算符,不是一个函数!不是一个函数!不是一个函数!

  • 逗号运算符
    • 逗号运算符是用来简化代码的
    • 逗号运算符是一个运算符,它是有结果的,结果是最后一个表达式的值
    • 逗号运算符的结合性是左结合性

  • 关系运算符
    • 关系运算符有> >= < <= == !=
  • 关系运算符注意事项
    • 关系运算符只有真和假,结果只有0和1
    • 关系运算符中> >= < <=的优先级比== !=高
    • 无论float还是double都有精度问题,要避免使用==判断浮点数是否相等

  • 逻辑运算符
    • 逻辑运算符有&& || !
    • 运算符&&的特点是一假则假
    • 运算符||的特点是一真则真
    • 运算符!的特点是可以连续飞飞飞飞飞
  • 逻辑运算符注意事项
    • 运算符&&在条件A为假后不会执行后面的代码
    • 运算符||在条件A为真后不会执行后面的代码
int a = 10;
int b = 11;
int num = 2;
int res = (a > b) && (++num > 2);
printf("res = %i",res);//0
printf("num = %i",num);//2 由于a>b为假,所以++num不会被执行

  • 三目运算符
    • (表达式) ? 语句A : 语句B;
    • 表达式成立执行语句A 不成立执行语句B
  • 注意事项
    • ?和:必须一起使用,单独使用会报错
    • 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符
    • 条件运算符的结合方向是从右至左

相关文章

网友评论

      本文标题:C语言运算符

      本文链接:https://www.haomeiwen.com/subject/zjphwftx.html