C语言程序设计 教学课件 ppt 作者 何钦铭 C4

上传人:E**** 文档编号:89344281 上传时间:2019-05-23 格式:PPT 页数:35 大小:150KB
返回 下载 相关 举报
C语言程序设计 教学课件 ppt 作者  何钦铭 C4_第1页
第1页 / 共35页
C语言程序设计 教学课件 ppt 作者  何钦铭 C4_第2页
第2页 / 共35页
C语言程序设计 教学课件 ppt 作者  何钦铭 C4_第3页
第3页 / 共35页
C语言程序设计 教学课件 ppt 作者  何钦铭 C4_第4页
第4页 / 共35页
C语言程序设计 教学课件 ppt 作者  何钦铭 C4_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《C语言程序设计 教学课件 ppt 作者 何钦铭 C4》由会员分享,可在线阅读,更多相关《C语言程序设计 教学课件 ppt 作者 何钦铭 C4(35页珍藏版)》请在金锄头文库上搜索。

1、第四章 分支结构程序设计,表达式 关系表达式 逻辑表达式 条件表达式 语句 if 语句 多分支语句 (switch),4.1.1 关系运算符和关系表达式,比较两个量(x, y)之间的关系 x y x = y x != y 比较的结果: 真 31 假 13,int x=2, y=6; x = (y 3) x = (x y),1 0,x=1 x=0,关系运算符的优先级,运算符优先级: 算术运算符 高 = = != = 低,d = b+2 = 3 d = (b+2) = 3) b - 1 = a != c (b 1) = a) != c,关系表达式,3 x 5 x=1时 x=4时 ( 3x ) 5

2、恒为 1,4.1.2 逻辑运算符和逻辑表达式,3 3 并且 x 5 3 x & x 5,逻辑表达式,用逻辑运算符将关系表达式或逻辑量连接起来,逻辑运算符,X&Y X|Y X Y X Y !X X,与,或,非,逻辑与 & 逻辑或 | 逻辑非 ! (x1)&(y1) (x1)|(y1) (x1) !(x1) 即 x=1,逻辑运算符,逻辑运算的规则真值表,逻辑与 & 逻辑或 | 逻辑非 ! 真值表 x y x&y x|y !x 假 假 0 0 1 假 真 0 1 1 真 假 0 1 0 真 真 1 1 0,逻辑运算的规则真值表,逻辑与 & 逻辑或 | 逻辑非 ! 真值表 x y x&y x|y !x

3、 假 假 0 0 1 假 真 0 1 1 真 假 0 1 0 真 真 1 1 0,5&7是否合法?,0 0 0 非0 非0 0 非0 非0,! !2 = ?,=1,逻辑表达式,对于 X & Y,X和Y可以是: 关系表达式或逻辑量 x = 3 3 & 5 (x+y) & 7,X, Y可以是任意表达式 判断逻辑量的真假 非0表示真 0表示假,逻辑运算的结果 1表示真 0表示假,! 算术运算符 = = != & | = ,运算符的优先级,设 x = 1 , y = 2 , c = 0 x = y = c & !x+2 3 (x = y = c) & (!x+2 3) (x = y) = c) & (

4、!x+2) 3) (x = y) = c) & (!x)+2) 3),例43,写出满足下列要求的表达式 ch 是小写英文字母 ch = a & ch = z x 为零 关系表达式 x = 0 或 逻辑表达式 !x 验证:,x取0 !x 真 x取非0 !x 假,x取0 x=0 真 x取非0 x=0 假,等价, x 不为零 x != 0 或 x,例43,(4) x 和 y 不同时为零 x != 0 | y!=0 或 x | y (5) year 是闰年,即 year 能被 4 整除但不能被 100 整除,或 year 能被 400 整除。 (year % 4 = 0 & year % 100 !=

5、 0) | (year % 400 = = 0) 或 (!(year % 4) & year % 100) | !(year % 400 ),逻辑运算符 & 和 |,int x, y; /* 假设每次运算后,将x的值置1 */ y = (3 1 exp1 & exp2 先算exp1,若其值为0,STOP exp1 | exp2 先算exp1,若其值为1,STOP,y=1 x=2 y=0 x=1,y=1 x=2 y=1 x=1,4.2.1 基本的 if 语句,1、if else结构 if (exp) statement_1 else statement_2,x+2 x0 y= x2 x=0,if

6、 ( x0 ) y=x+2; else y=x*x;,if else结构,if (exp) statement_1 else statement_2,scanf(“%d%d“, ,一条语句,一条语句,4.2.1 基本的if语句,2、省略else的if结构 if (exp) statement_1,语句1,表达式,非0,0,ch=getchar(); if(ch=a,ch=getchar(); if(ch=a ,例47 求最大值,输入3个数,输出其中的最大值。 #include void main( ) int a, b, c, max; printf(“input a, b, c:n“); s

7、canf(“%d%d%d“, ,a max b c,max,max,4.2.2 嵌套的if语句,if (exp) statement1 else statement2,1、 else if 结构 if (exp_1) statement_1 else if(exp_2) statement_2 else if(exp_n-1) statement_n-1 else statement_n,if 语句,if 语句,嵌套的if语句,if (exp_1) statement_1 else if(exp_2) statement_2 else if(exp_n-1) statement_n-1 els

8、e statement_n,n个分支需要n-1次比较,输入变量x, 计算符号函数: 1 当 x0 y = 0 当 x=0 -1 当 x0,例:计算符号函数,if (x0) y = 1; else if (x=0) y = 0; else y = -1;,输入变量x, 计算y: x+1 x=3,例4-9,if (x1) y = x+1; else if (x2) y = x+2; else if(x3) y = x+3; else y = x+4;,4.2.2 嵌套的if语句,2、嵌套的 if else 结构 if (exp_1) if(exp_2) statement_1 else state

9、ment_2 else if(exp_3) statement_3 else statement_4,if (exp) statement1 else statement2,if 语句,if 语句,嵌套的if语句,输入变量x, 计算符号函数: 1 当 x0 y = 0 当 x=0 -1 当 x0,例:计算符号函数,if (x=0) if(x0) y = 1; else y = 0; else y = -1;,输入变量x, 计算y: x+1 x=3,例4-9,if (x2) if(x1) y = x+1; else y = x+2; else if(x3) y = x+3; else y = x

10、+4;,if (x0) y = 1; else if (x=0) y = 0; else y = -1;,if (x=0) if(x0) y = 1; else y = 0; else y = -1;,2种嵌套if语句的比较,else 和 if 的匹配,if (exp_1) if(exp_2) statement_1 else statement_2 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,el

11、se 与最靠近它的、没有与别的 else 匹配过的 if 匹配,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,改变else 和 if 的配对,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2)

12、statement_1 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else else if(exp_3) statement_3 else statement_4,4.2.3 条件表达式,exp1 ? exp2 : exp3,非0,0,y = (x0) ? x+2 : x*x;,int n; (n0) ? 2.9 : 1 n = 10 n = -10,2.9 1.0,x+2 x0 y = x2 x=0,if ( x0 ) y=x+2; else y=x*x;,4.3 switch语句

13、,switch(表达式) case 常量表达式1:语句段1 case 常量表达式2:语句段2 case 常量表达式n:语句段n default :语句段n+1 ,switch(表达式) case 常量表达式1:语句段1 case 常量表达式2:语句段2 case 常量表达式n:语句段n default :语句段n+1 ,例413,# include void main( ) int k; scanf(“%d“, ,输入 2,输入 6,# include void main( ) int k; scanf(“%d“, ,输入 2,输入 6,if(k=1) printf ( “Im in the

14、case1n“ ); else if(k=2) printf ( “Im in the case2n“ ); else if(k=3) printf ( “Im in the case3n“ ); else printf ( “Im in the defaultn“);,例414,void main( ) char c; printf(“Please input a character:n“); c = getchar(); switch(c) case : case n: printf(“This is a blank or enter“); break; case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7 : case 8 : case 9 : printf(“This is a digit.n“); break; default: printf(“This is an other character. n“); ,输入 2,输入 a,几个常量表达式共有一个语句段,例410,# include void main( ) char c; printf(“Please input a character:n“); c = getchar(); if(c= | c=n)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号