1、基本运算符及其表达式,第三讲,Begin:,第二章 数据类型、运算符和表达式,24 基本运算符及其表达式,24 基本运算符及其表达式,2.4.1 算术运算符与算术表达式,1.基本算术运算符,例: 19/5 结果为3 (整数相除截去余数) 22%4 结果为2 (取模运算返回余数),24 基本运算符及其表达式,2.自增自减运算符,7 7 7 7 -6,i = ?,当表达式中有多个运算符相连时,应自左而右地将若干个字符组成一个运算符。,24 基本运算符及其表达式,k=(i+)+j;,i=2,j=1,k=2,3 算术表达式 由算术运算符和括号将运算对象(常量、变量、函数等)连接起来的式子。,说明: 表
2、达式的求值顺序:先按运算符的优先级执行,当一个运算对象两侧的运算符优先级别相同时,则按结合性处理。,24 基本运算符及其表达式,24 基本运算符及其表达式,2.4.2 关系运算符与关系表达式 关系运算(比较运算) 即比较两个量的大小,比较的结果为“真”或“假”。,例:a3如果a=8,则结果为“真”;如果a=1,则结果为“假”。,1.关系运算符,2.关系表达式 用关系运算符将运算对象连接起来的式子。,24 基本运算符及其表达式,C语言没有逻辑型数据。因此,在返回逻辑值时: 用1表示“真”,用0表示“假”;在判断逻辑值时: 用非0代表“真”,用0代表“假”。,24 基本运算符及其表达式,0,1,0
3、,2.4.3 逻辑运算符与逻辑表达式 关系表达式只能表达一些简单的关系,如: sum=1500y!=z 即只能对一个条件进行测试。,而以下关系:20x100 则不能用关系表达式表达。,逻辑非!真值表,1.逻辑运算符,24 基本运算符及其表达式,逻辑或真值表,2.逻辑表达式用逻辑运算符将运算对象连接起来的式子。,如:1) 0x10 x=0&x5或x5x153)a、b不能同时为零 !(a=0&b=0),逻辑与&真值表,一般形式为: 运算对象1逻辑运算符运算对象2,24 基本运算符及其表达式,逻辑表达式是构成选择结构条件的基本式子。,注意 在计算逻辑表达式时,并非所有的运算符都参与运算。,如:x=y
4、=-1;z=+x /* x=? y=? z=? */,0,-1,24 基本运算符及其表达式,“短路能力”,0,24 基本运算符及其表达式,2.4.4 条件运算符与条件表达式,条件运算符: ? :三目运算符右结合,例: ab?max=a:max=b,例: (grade=60)?printf(“Passed“):printf(“Failed“);,一般形式:?:,赋值运算符优先级为14,仅高于逗号运算符。,2.4.5 赋值运算符与赋值表达式,简单赋值运算符为“=”;由“=”连接的式子称为简单赋值表达式。,一般形式:=,1简单赋值运算符和简单赋值表达式,24 基本运算符及其表达式,赋值运算的类型转换
5、,规则为:,整型数据赋给字符型变量时,只把低八位赋给字符变量。,字符型数据赋给整型变量时,整型变量的高位字节补0,低八位取字符的ASCII码值。,整型数据赋给实型变量时,以浮点形式取值。,实型数据赋给整型变量时,只取整数部分。,如: k=8.88 (k值为8),如: f=15 (f值为15.000000),如: k=A (k值为65),如: c=578 (c值为字母B),24 基本运算符及其表达式,2复合赋值运算符和复合赋值表达式,复合赋值运算符是在简单赋值运算符前加双目运算符构成。 共以下10种:+=,-=,*=,/=,%=,=,&=,=,|=,24 基本运算符及其表达式,复合赋值运算符优先级14,右结合性。,2.4.6 逗号运算符和逗号表达式 逗号运算符“, ” 用逗号运算符连接起来的式子称为逗号表达式。,逗号运算符优先级15,是所有运算符中最低的。,24 基本运算符及其表达式,程序中并非所有的逗号都是逗号运算符。,上机实验内容: 实验教程第二章实验12。,The End,