第3章_运算符及表达式.ppt

第3章_运算符及表达式

第3章 运算符与表达式 课堂练习 1.以下程序的输出结果是____________。 #include stdio.h int main() {int a=12,b=12; printf(%d %d\n,--a,++b); return 0; } A)10 10 B)12 12 C)11 10 D)11 13 2.阅读下列程序,写出运行结果 #include stdio.h void main( ) { int a=1,b=4,c=2; a=(a+b)/c; printf(“%d \n”,--a); } 3.5 逗号运算符和逗号表达式 逗号表达式的一般形式为: 表达式1,表达式2,表达式3,……,表达式n 下面两个表达式的作用是不同的: x=(a=3,6*3) //第1个表达式 x=a=3,6*a //第2个表达式 第1个是赋值表达式,将一个逗号表达式的值赋给x,x的值等于18。第2个是逗号表达式,它包括一个赋值表达式和一个算术表达式,x的值为3。 3.5 逗号运算符和逗号表达式 例如函数参数也是用逗号来间隔的。如 printf(%d,%d,%d,a,b,c); 上一行中的“a,b,c”并不是一个逗号表达式,它是printf函数的3个参数,参数间用逗号间隔。有关函数的详细叙述见第7章。 如果改写为: printf(%d,%d,%d,(a,b,c),b,c); 则“(a,b,c)”是一个逗号表达式,它的值等于c的值 3.5 逗号运算符和逗号表达式 【例3.4】逗号运算符的应用。 #include stdio.h void main( ) { int a,b,c; c=(a=2,b=5,a++,++b,a+b); printf(c=%d\n,c); return; } 关系运算符: 用来对两个数值进行比较的比较运算符 C语言提供6种关系运算符: ① < (小于) ② <= (小于或等于) ③ > (大于) ④ >= (大于或等于) ⑤ == (等于) ⑥ != (不等于) 优先级相同 (高) 优先级相同 (低) 3.6 关系运算符与关系表达式 3.6.1 关系运算符及优先次序 3.6 关系运算符与关系表达式 优先次序 ca+b 等效于 c(a+b) ab==c 等效于 (ab)==c a==bc 等效于 a==(bc) a=bc 等效于 a=(bc) 3.6 关系运算符与关系表达式 3.6 关系运算符与关系表达式 3.6.2 关系表达式 用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子 例: ab a+bb+c (a=3)(b=5) ’a’‘b’ 3.6 关系运算符与关系表达式 关系表达式的值是一个逻辑值,即“真”或“假” 在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”。如: 5==3 值为0 5=0 值为1 思考:若a=3,b=2,c=1 f=abc 结果? 3.7 逻辑运算符与逻辑表达式 3.7.1 逻辑运算符及其优先次序 C语言提供三种运算符: (1)! 逻辑非(相当于其他语言中的NOT) (2) 逻辑与(相当于其他语言中的AND) (3)|| 逻辑或(相当于其他语言中的OR) A B !A !B AB A||B 真 真 假 假 真 真 真 假 假 真 假 真 假 真 真 假 假 真 假 假 真 真 假 假 3.7 逻辑运算符与逻辑表达式 3.7.1 逻辑运算符及其优先次序 C语言提供三种运算符: (1)! 逻辑非(相当于其他语言中的NOT) (2) 逻辑与(相当于其他语言中的AND) (3)|| 逻辑或(相当于其他语言中的OR) A B !A !B AB A||B 真 真 假 假 真 真 真 假 假 真 假 真 假 真 真 假 假 真 假 假 真 真 假 假 3.7 逻辑运算符与逻辑表达式 3.7.1 逻辑运算符及其优先次序 优先次序 (1) !(非)→(与)→||(或)。 (2) 和||低于关系运算符,!高于算术运算符。 例如: (ab)(xy) //可写成abxy (a= =b)||(x= =y) //可写成 a= =b||x= =y (!a)||(ab)

文档评论(0)

1亿VIP精品文档

相关文档