第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)

2023-08-08
| 23页
| 233人阅读
| 3人下载
精品

内容正文:

第2章 数据类型、运算符与表达式 本章内容 2.1  C语言的数据类型 2.2 常量与变量 2.3 运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 2.3 运算符和表达式 按操作功能大致可分为:算术运算符、关系运算符、逻辑运算符、赋值运算符、条件运算符、逗号运算符以及按位运算符等 2.3.1算术运算符和算术表达式 算术运算符 主要有基本运算符加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)共五种和自增(++)、自减(--)运算符共2种 算数运算符运算规则 ① “+、-、*”和数学中一样,直接运算。 ② “/”运算符在运算时,如果两个操作对象的数据类型都是整型,则为整型除法,即运算结果为整数;如果有一个操作对象为实型,则为实型除法。例如5/2=2,5.0/2=2.5。 ③ “%”运算符要求两个操作对象必须为整型数据。运算的结果为两个操作对象相除的余数,其中,运算结果的符号和%前面的操作对象的符号一致。例如5%2=1,-5%3=-2,3%5=3。 ④ 字符型数据参与数学运算时,将使用字符的ASCII码进行运算。如’A’+1=66。 自增和自减运算符 前置:++j,--j,功能是j的值先加(减)1,然后再进行其它运算 后置:j++,j--,功能是j先作其它运算,然后j的值再加(减)1。 例如: j=4;k=++j; 等价于 j=j+1;k=j; j=4;k=j++;等价于 k=j; j=j+1; 2.3.2 赋值运算符和赋值表达式 分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)3类共11种 简单赋值运算符 简单的赋值运算符记为“=”,它的作用是将一个常量、变量或表达式的值赋给一个变量 例如: a=3; /*表示将3赋值给变量a*/ a=b; /*表示将变量b的值赋给变量a*/ a=b*2; /*表示将变量b*2的值赋给变量a */ 赋值运算注意事项 赋值号(=)左边只能是变量,绝对不能是常数或表达式。 赋值号右边表达式类型要与左边的变量保持一致。如果不一致,则先将右边表达式的值转换为与左边变量相同的类型,然后进行赋值。 赋值运算符的结合方向为“自右向左” 多个变量可以连续赋值。 赋值符号右侧可以继续包含赋值表达式。 例如: int x,y; x=10+(y=5); 复合赋值运算符 在赋值运算符“=”之前加上其他运算符,就构成了复合赋值运算符 a+=b; 等价于a=a+b; 注意事项: 复合赋值运算符右边的表达式是一个运算“整体”,不能把它们分开。如:a*=b+1等价于a=a*(b+1) 复合的赋值运算符的结合顺序为“自右向左”的。 例如: int a=2; a+=a-=a*=2; 等价于a=a+(a=a-(a=a*2)); 所以最后变量a的值为0。 2.3.3 关系运算符和关系表达式 关系运算符有:小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、等于(= =)、不等于(!=)6种 关系运算符 关系运算符都是双目运算符,其结合顺序为“自左向右” 关系运算的结果为1或0,如果关系成立,结果为1,否则为0 例如: 9>8>6的结果为0 2.3.4逻辑运算符与逻辑表达式 C语言中提供了3种逻辑运算符: 逻辑与运算符(&&) 逻辑或运算符(||) 逻辑非运算符(!) 逻辑运算符 非运算 非运算符!为单目运算符,功能为对操作对象进行逻辑取反 与运算 与运算符&&为双目运算符,功能为当两个操作对象都为真时,结果才为真,其余情况结果为假 或运算 或运算符||为双目运算符,功能为当两个操作对象都为假时,结果才为假,其余情况结果为真 逻辑运算符举例 int a=5,b=6; !(a>b) !a>b int a=5,b=6,c=7,d=0; a>b && c>6 a && b d++ && c>b int a=5,b=6,c=7; a>b || c>6 a || b a>b || b>c 逻辑短路1 在一个或多个连续的逻辑与运算中,如果前面操作对象的结果为0,则后面的操作对象表达式不会继续求解。 例如: int a=5,b=6,c=7; a>b && c++; 上式的运算结果为0,且c的值为7 逻辑短路2 在一个或多个连续的逻辑或运算中,如果前面操作对象的结果为1,则后面的操作对象表达式不会继续求解。 例如: int a=5,b=6,c=7; b>a || c++ 上式的运算结果为1,且c的值为7 条件运算符 一般形式为: <表达式1>?<表达式2>:<表达式3> 运算规则:先计算表达式1的值,如果它的值为真(非0值),则求解表达式2的值,并将

资源预览图

第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)
1
第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)
2
第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)
3
第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)
4
第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)
5
第2章数据类型 2.3运算符和表达式 2.4 运算符的优先级 2.5 数据类型转换 《C语言程序设计》同步教学课件(电子工业出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。