【前言】
上篇博客介绍了C语言组成数据和数据类型,本篇简介C语言重要组成——表达式。【表达式】
表达式就是用运算符将数据连接起来的合法式子 ,表达式是唯一确定的。常量变量就是简单的表达式。运算符有三个属性:功能 、优先级、 结合性 。结合性就是指运算方向,是从左到右还是从右到左。
1.算术运算符及算术表达式 + - * / % 2级
同类型比同类型 等于同类型。求余 % 两边运算对象必须是整型,而且余数和被除数符号保持一致。也就是说最后的符号由被除数决定,而不是负负得正看到一个表达式,分析的过程:先挑运算符,高优先级先,同级考虑结合性。
2.赋值运算符及赋值表达式 14级
变量名=表达式 从右向左,先计算表达式的值然后赋给左边变量名。A=5+8 A的值是13,表达式的值也是13。
a=b=7+1 先看后半部分,b的值是8,a的值也是8,但是a的值是整个后半部分表达式的值赋予的,不是b的值传过去了。
复合赋值运算符有+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=
其中如 a+=3 等同于 a=a+3
3.自增自减运算符 2级 从右向左计算
++ 在后,先标表达式,再加++在前,先加 ,再标表达式
我们需要注意表达式的值和变量的值不一样的。如
i=3
i++ 先标表达式为3,再给i+1,i=4
++i 先加1,再标表达式。 i=4 表达式为4
4.逗号运算符 顺序求值 逗号15级
格式表达式1,表达式2,表达式3,……,表达式n
逗号表达式的值就是表达式n的值,求值顺序是从左到右依次求解。如:
Int a ,b; 表达式 a=3,b=1 的值为 1,运算结束后a =3 b=1 。
1.在赋值号左边,变量值是要改的,我们叫做刷新。
2.变量在++ -- 前后,变量值也是要改的。
5.强制类型转换 () 2级运算符、从右向左计算
格式(类型名)表达式 或 (类型名)(表达式)
功能:将表达式的值转换成制定的类型。
如 float x=123.456 y=0.5 (int)x+y :先算前半部分 得 123,加上0.5,表达式的值为123.5。(int)(x+y) :先算后半部分得 123.956 ,再转换为int类型,表达式的值为123
若变量x为int型,表达式 (float)x 结果是一个float型,但是变量x还是int型,因为变量定义后,类型就不能改变了。