只有在赋值操作时才会被改变
,即将其放在等号左边时才会改变它的值,
或自增自减操作
:a=5,a++,a--,像 a+3 并未改变 a 的值,只是使用了 a
的值而已.
自增自减运算
变量++,++变量,变量--,--变量 使变量的值自增 1 或自减 1
等价于 变量=变量+1 变量=变量-1
++,--放于变量前后效果的区别:
当自增自减运算做为表达式的一部分时,
++,--放在变量前面是先自增
自减再使用变量的值,放在变量后面则是先使用变量的值,再自增自减
。
如 x=3; printf(“%d”,++x);则相当于执行了++x; printf(“%d”,x);这样的操作
所以打印出 4
再如 x=3; printf(“%d”,x++);则相当于执行了 printf(“%d”,x); x++;这样的
操作,则打印出 3,当然最后 x 的值还是 4。
四、 表达式
运算符和运算对象
一个运算符都有若干个运算对象,如 + 必然要跟两个运算对象才能进行
加法运算:3+5。C 语言里称需要跟 n 个运算对象的运算符为 n 元运算符。
一元运算符有:!,(类型名)
二元运算符有:+,-,*,/,%(求余), =,+=,-=,*=,/=,%=,< , > , <=, >=, = =(等
于), !=(不等于),&&(且) , ||(或)
多元运算符有: ,
运算符的优先级和结合性
i. 优先级:同一个运算对象左右两边若同时有两个运算符,则这两个运算
符优先级高的先进行运算。
ii. 结合性:若同一个运算对象左右两边的两个运算符优先级相同,则根据
结合性判断先进行哪个运算,自左自右结合性的先算左边的运算符,自
右自左的先算右边的运算符。
iii. 各运算符的优先级和结合性见 P365 附录 C
强制类型转换
格式: (类型名) 表达式 。将后跟的表达式的值的数据类型转换为与圆
括号内的类型名一致的类型。
注意类型名一定要用() 括起来
。
算术表达式
i. 算术运算符:+,-,*,/,%(求余)
ii. 由算术运算符加上运算对象构成算术表达式,如 3+3*6-9/2
iii. 值:跟我们小学时学的一样,就是表达式的计算结果
iv. 整数除以整数结果取整数部分,故 1/3 得到的值是 0
v. 5%3 结果为 2,想想小学除法,求余得到的是余数不是商。
赋值表达式
i. 赋值运算符:=,+=,-=,*=,/=,%=
ii. 赋值表达式:变量=表达式,如 x=3+6,x+=6-9,x+=x*=3+4
注意等号
左边只能是变量
iii. 复合赋值运算符的运算:以/=为例:x/=表达式 等价于 x=x/(表达式)
iv. 值:=号左边的变量最终的值
评论0
最新资源