C语言知识学习程序设计教学教程(第2版)教案整编.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C语言知识学习程序设计教学教程(第2版)教案整编.ppt》由会员分享,可在线阅读,更多相关《C语言知识学习程序设计教学教程(第2版)教案整编.ppt(48页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第5章 选择结构,本章要点 关系运算符与关系表达式 逻辑运算符与逻辑表达式 条件运算符与条件表达式 if语句 switch语句 本章难点 if语句的嵌套 switch语句的使用,5.1 关系运算符和关系表达式,6 种关系运算符: (小于) (小于或等于) (大于) (大于或等于) (等于) ! (不等于),5.1.1 关系运算符,优先级相同(高),优先级相同(低),结合性:自左向右,关系运算符的优先次序,与其它运算符优先级的比较:,例如: c=da+b,等效于:c=(d(a+b),1. 什么是关系表达式?,5.1.2 关系表达式,如:(ab)(by 、s+fd,2. 关系表达式的值,运算结果逻
2、辑值 1“真” ,0“假”,如: 设 a=3, b=2, c=1 求下面关系表达式 的值:,cb (a-b) = = 1 b+ca,值为,值为,值为,如果关系运算对象的类型不同,也要先进行类型转换。,关系表达式的应用。 main() char c=k; int i=4,j=2,k=5; float x=3e+5,y=7.56; printf(“%d,%dn”,a+3=k+1); printf(“%d,%dn”,i+j=-3*j,k=j=i+7); printf(“%d,%dn”,xy-3,y!=x+5); 该程序的运行结果为: 1,0 1,1 0,0 1,1,.2 逻辑运算符和逻辑表达式,3种
3、逻辑运算符: ! (逻辑非) ,2. 双分子语句 if (表达式) 语句1 else 语句2,执行过程: 当表达式的值为“真” (非零)时,执行语句1, 否则,执行语句2。,如: if (xy) z=x ; else z=y ;,3. 多分子语句 if (表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 : else if(表达式m) 语句m else 语句n,如:if (grade=85) level=A; else if (grade=70) level=B; else if (grade=60) level=C; else level=D;,if
4、 语句说明:, if后面的表达式一般为逻辑表达式或关系表 达式,也可以是任意数值类型表达式。,该语句是合法的:if(3) printf(“ok!”);, if 语句中的“语句”为一个简单语句或复合语句。,如:下面程序段是否有错?,if (x=0) printf(“X is positive.”); x+; else printf(“X is negative.”);,if (x=0) printf(“X is positive.”); x+; else printf(“X is negative.”);,4. if 语句的嵌套,在 if 语句中又包含一个或多个if 语句称为 if 语句的嵌套。
5、,一般形式:,if (条件1) if (条件2)语句1 else 语句2 else if (条件3)语句3 else 语句4,内嵌if,内嵌if,如: if(x0) if(y0) printf(x0,y0); else printf(“x0,y0) printf(“x0); else printf(“x=0, y=0”);,说明:,else与if的匹配原则是:一个else应与其之前距离最近且没有与其它else配对的if 配对。,if (n6) if (n12) printf(“6n12”); else printf(“n=6”);,if (n6) if (n12) printf(“6n12”)
6、; else printf(“n=6”);,缩 排,#inclde main() int x; scanf(“%d”, ,用if 语句实现选择结构举例,main( ) int x,y; scanf(%d, ,例 : 托运行李计费。用f代表收费,w代表重量,并将它们定义成实型数。则有关系: w*0.205 (0200) main() float f,m; printf(“input weight:”); scanf(“%f”, ,5.3.2 条件运算符 1.条件运算符与条件表达式,如:max= (ab) ? a : b ; 若 a=3, b=2, 则 max=?,如: (ab) ? a : b,
7、目的简化 if 语句。,条件运算符的优先级:,算数运算符=关系运算符=逻辑运算符(除!),赋值运算符=条件运算符,如:x = a+bc ,此语句的本意是: if(a0) printf(“abs(a)=%dn”,a); else printf(“abs(a)=%dn”,(-1)*a);,可以改写为: printf(“abs(a)=%dn”,a0?a:(-1)*a);,例:把输入字符中的小写字符转换成大写并输出 。,#include main() char ch; scanf(%c, ,main() int a,b,c,t,max; scanf(%d%d%d, ,5.3.3 switch 语句,一
8、般形式:,switch(表达式) case 常量表达式1:语句序列1 case 常量表达式2:语句序列2 break; : case 常量表达式n:语句序列n break; default :语句序列n+1 ,此处break用于退出switch语句,break;,执行过程:,例如: switch(grade) case A : printf(“85100 ”); case B : printf(“7084 ”); case C: printf(“6069 ”); case D :printf(“60 ”); default : printf(“error ”); ,若grade = A,输出结
9、果是什么?,85100 7084 6069 60 error,用break语句处理后的程序段:,switch(grade) case A : printf(“85100 ”); break; case B : printf(“7084 ”); break; case C : printf(“6069 ”); break; case D : printf(“60 ”); break; default : printf(“error ”); ,若gread= A,输出结果又是什么?,85100,完整程序 :,main() char grade; printf(“Input grade(A,B,C,
10、D):”); scanf(“%c”, ,流程图为:,grade,输出 “85100”,输出 “60”,输出 “60-69”,输出 “error”,输出 “70-84”,5.3.4 标号语句和goto,标号语句一般形式:,语句标号:语句 例如:end:,该标志符就成了语句标号,但标号不能用数值表示,例如:12:,3:,5:都是错误的。标号可以与变量同名。,goto语句一般形式:,goto 语句标号; goto语句的作用是使程序改变原来的执行顺序,而跳到指定的语句上执行。 例如:goto sd; sd:printf(“this is a cat!n”);,说明:, goto语句是一种非结构化语句,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 知识 学习 程序设计 教学 教程 教案 整编
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内