C 碎片三 运算符与表达式

一、算术运算符

  算术运算符:+、 -、 *、 /、 %等

  加:+

  减: -

  乘: *

  除: /     除数不能为0

  模:%    参与模运算的数据不能为小数

 

二、赋值运算符

  赋值运算符:=

  作用:

      1.初始化;

      2.修改存储空间内容时

  复合赋值运算符:+=、 -=、 *=、 /=、 %=等

    凡是二目运算符,都可以与赋值符一起组合成复合运算符

  赋值表达式:由赋值运算符和操作数构成的表达式

  赋值的本质:修改指定的存储空间的内容

 

三、关系运算符

  关系运算符:>、 <、 ==、 >=、 <=、 !=等

  关系表达式:由关系运算符和操作数(表达式)构成的表达式 a > 2  

  关系表达式的值:

    不符合数学逻辑: 0;

    符合数学逻辑:    1;

  例子:判断变量a是否是3的倍数  a%3 == 0;

 

四、逻辑运算符

  逻辑运算符:&&、 ||、 !等

  作用:用于合并或取反表达式

  与&&:逻辑与,两边的表达式同时为真,整个表达式的值才为真   

  或|| :逻辑或,两边的表达式一个为真,值就为真  2<3 || 2>3

  非! :逻辑非,表达式的值为真,其值就为假;反之亦然  !(2>3) = 1  

      例:判断闰年

       (a%4 == 0 && a%100 !=1) || (a%400 == 0)  

 

       逻辑真:1;(C语言中值不为0就是真)

       逻辑假:0;

 

五、自增自减运算符

  自增自减运算符: ++、 - -等

  ++:自增,使操作数的值加1

  - -:自减,使操作数的值减1

  在操作数之前:先自增或自减,然后再参与运算

  在操作数之后:先参与运算,然后再自增或自减

 

六、位运算符

  位运算符: &、 |、 ~、 ^、 <<、 >>等

 

七、条件运算符

  条件运算符: ? :

  表达式1?表达式2:表达式3

  表达式的值:如果表达式1的值成立,总表达式的值就是表达式2的值, 否则总表达式的值就是表达式3的值

 

八、逗号运算符

  逗号运算符: ,

  逗号表达式的值就是表达式N的值

  作用:从左向右依次计算每个表达式的值

 

九、指针运算符

  指针运算符: *、 &等

 

十、求字节数运算符

  求字节运算符: sizeof(类型名/变量名)

  作用:用来计算所占空间大小的

 

十一、强制类型转换运算符

  强制类型转换运算符: (类型名)(表达式)

  强制类型转换实质 (假设定义 int  b )

  1. (double)b 强制类型转换

  2. 强制转换的是b空间中的数据的类型,只是临时强制转换b的值的类型

  3. 变量b的类型不会发生任何改变

  

十二、分量运算符

  分量运算符: .、 -> 等

 

十三、下标运算符

  数组下标运算符 []

 

十四、其他运算符

  函数调用运算符 ()

 

十五、优先级和结合性

  赋值表达式的值等于等号左边的值;

  a = b =3;右结合;

  1、无论一个表达式有多复杂,都有一个确定的值;

        只不过在计算最终值的过程中需要计算若干个子表达式。

  2、很遗憾的是C语言中没有规定先计算哪个表达式,所以表达式的计算顺序,取决于运算符的优先级和结合性

  3、记不住优先级和结合性,添加括号()解决。

  4、同级之间右结合

 

posted on 2016-06-13 15:45  流浪_先生  阅读(210)  评论(0编辑  收藏  举报

导航