C语⾔为运算表达式添加括号,读书笔记-c语⾔-运算符与表达式1、算术运算符:+—*/%
%要求参与运算的两个量必须是整型或字符型的,实型(float,double等)的数据不能做%运算。
算术表达式
运算符和数据可以组成运算的式⼦,称为表达式。举例:10+20    (a*2)/b  (x+r)*8-(a+b)/10  5
单个的常量、变量、函数也可作为是表达式的特例。
C语⾔的表达式写法还有⼀些讲究,下⾯都是错误的表达式:2ab  等。表达式中的乘号(*)是不能省略的。
C语⾔中,表达式的⼤、中、⼩括号都要⽤⼩括号()表⽰。
⽤单引号或双引号引起来的内容不是运算符或表达式,例如'+'不是运算符,它们是字符型常量;“10+20”也不是表达式,他是包含5个字符的字符串常量。
逗号表达式的运算顺序表达式是没有分号的,如果在表达式后添加了分号,就构成表达式语句,后者可被计算机执⾏。
表达式都有⼀个值和类型。例如表达式1+1的运算结果是2,2就是这个表达式的值。表达式的类型就是结
果值的类型,即2的类型,所以该表达式的类型也是int型的。
算术运算时,两个量类型不⼀致的允许参与运算,运算结果的类型与其中较⾼类型量的类型⼀致。(在计算表达式时,参与运算的两个数的类型有可能⼀致,也有可能不⼀致;⼀致时,与两个量的类型⼀样。不⼀致运算结果的类型与⾼类型⼀致。数据类型由低到⾼的顺序依次为:char-int-float-double)例如:3.4+3结果为6.4
注意:运算的结果可能超出变量所能表⽰的数值范围。
⾃动类型转换有两种。
强制类型转换:
强制类型转换的写法是在“量”前加“带括号的类型说明符”:(类型说明符)表达式。其功能是把表达式的运算结果强制转换为“类型说明符”所说明的类型。举例:(int)3.8;/3
c语⾔规定类型说明符必须⽤括号括起来。“量”加与不加括号在语法上都正确,但效果不同:举例:
float  x=4.5,y=2.1;则:(int)(x+y)值为6,先求和为6.6,在将和转换为int型的6.
(int)x+y 值为6.1,先把x转换为int型的值为4,然后在求和为6.1.
赋值(=):将值送⼊变量保存。
赋值表达式:在C语⾔中,=也被认为是运算符,成为赋值运算符。c语⾔规定赋值表达式的值为赋值后左边变量的新值,赋值表达式的类型与左边变量的类型相同。举例:赋值表达式a=1的值是1赋值表达式b=10+20式⼦的值是30,赋值表达式c=a+1,,该赋值表达式的值是2,这三个表达式值的类型都是整型。
注意:int x=y=25;错误:变量定义时赋初值不允许连等。连等只能出现在执⾏语句中。也就是说有int、float、double、char等类型说明词时不允许连等,没有这些类型说明词就允许连等。
复合赋值运算:+=  -=  *=  /=  %=
逗号运算:
c语⾔中逗号(,)也是⼀种运算符,称逗号运算符。逗号可以把多个表达式连接起来。表达式1,表达式2,表达式3;
它的作⽤是依次从左到右分别计算各个表达式的值;以最后⼀个表达式(上例为表达式3)的值作为整个逗号表达式的值。逗号运算符优先级最低。
++ 、--⾃增运算符、⾃减运算符
++ 、--的运算符的优先级仅次于括号()。
++、--与数据同样可以组成表达式。
单独作为⼀个语句时,i++;和++i;是⼀样的,都是使i⾃增1,i--;和--i;也是⼀样的,都是使i⾃减1,没有什么区别,但在表达式中,数据位于左、右就有区别了。
设i=5;j=10;规定表达式i++的值为i被+1之前的值,所以表达式i++的值为5.但在计算表达式后,变量i的值要变为6。规定++i的值为i被+1之后的值,即6.也就是说,++i这个表达式的值为6,在计算后变量i的值也为6.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。