分类网站怎么做项目,外贸网站模板免费,腾讯云服务器备案,域名注册教程《C语言选择结构程序设计.ppt》由会员分享#xff0c;可在线阅读#xff0c;更多相关《C语言选择结构程序设计.ppt(32页珍藏版)》请在人人文库网上搜索。1、选择结构程序设计,关系运算符和关系表达式 逻辑运算符和逻辑表达式 If语句 Switch语句 程序举例,关系运算符和表达式 …《C语言选择结构程序设计.ppt》由会员分享可在线阅读更多相关《C语言选择结构程序设计.ppt(32页珍藏版)》请在人人文库网上搜索。1、选择结构程序设计,关系运算符和关系表达式 逻辑运算符和逻辑表达式 If语句 Switch语句 程序举例,关系运算符和表达式 关系运算符 种类 ! 结合方向自左向右 优先级别,例 cab /c(ab) ab!c /(ab)!c abc /a(bc),关系表达式用关系运算符将两个表达式连接起来以下都是合法的关系表达式 43,ab,abbc,(a3)(b5),ab)(bc) 3.44,a54.4,a63 关系表达式的值是逻辑值“真”或“假”用1和0表示,例 int a3,b2,c1,d,f; ab (ab)c bcb fabc,/表达式值1,/表达。2、式值1,/表达式值0,/d1表达式值1,/f0表达式值0,关系运算注意,例 若a0; b0.5; x0.3; 则 axb的值为,0,例 5278在C中是允许的 值为,0,例 int i1, j7,a; ai(j%4!0); 则a,2,例 a0 结果为 A100 结果为,1,0,关系运算注意,例 注意区分“”与“” int a0,b1; if(ab) /*if(ab)*/ printf(“a equal to b”); else printf(“a not equal to b”);,例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0。3、1.0 结果为 可改写为fabs(1.0/3.0*3.0-1.0)1e-6,0,逻辑运算符和表达式 逻辑运算符 种类 ! b5; !a a,形式二 格式if (expression) statement1 else statement2 执行过程,例if (xy) maxx; else maxy;,形式三 格式,if ( expr1 ) statement1 else if (expr2 ) statement2 else if (expr3 ) statement3 . else statementn ,执行过程,例if (salary1000) index0.4。4、; else if (salary800) index0.3; else if (salary600) index0.2; else if (salary400) index0.1; else index0;,如if(ab,说明 if后面的表达式类型任意,语句可以是复合语句 if(x) if(x!0) if(!x) if(x0),例 考虑下面程序的输出结果: #include /c1.c main() int x,y; scanf(“%d,%d”, ,Compile Error!,/*ch4_1.c*/ #include main() int x,y; printf(Ente。5、r an integer:); scanf(%d, ,例1 求一个数的绝对值,运行Enter an integer:-12 integer:-12-absolute value :12,#include main() float a,b,t; scanf(“%f,%f”, ,例2 输入两个实数按代数值由小到大的次序输出这两个数。,运行3.6,-3.2 -3.20,3.60,#include main() char c; printf(Enter a character:); cgetchar(); if(c0 ,例3 判断输入字符种类,运行Enter a character Th。6、e character is a control character,运行Enter a character8 The character is a digit,运行 Enter a character D The character is a capital letter,运行 Enter a character h The character is a lower letter,运行 Enter a characterF1 The character is other character,if语句嵌套 一般形式,当内嵌if语句不包含else语句时容易出错。,若if与e。7、lse数目不一样时为实现程序设计者本来的意图可以加花括号来确定匹配关系,例 if (ab) if(bc) printf(“abc”); else printf(“a!b”);,修改 if (ab) if(bc) printf(“abc”); else printf(“a!b”);,实现if else 正确配对方法加 ,例 考虑下面程序输出结果: main() int x100,a10,b20; int v15,v20; if(ab) if(b!15) if(!v1) x1; else if(v2) x10; /x-1; printf(“%d”,x。8、); ,结果100,结果-1,运行23 X23,y1,条件运算符与表达式 一般形式 expr1 ? expr2 : expr3 执行过程 功能相当于条件语句但不能取代一般if语句,例 求 a|b| printf(“a|b|%dn”,b0?ab:a-b);,例 (ab)?Y:N (x%21)?1:0 (x0)?x:-x (ca x0,表达式值为a xy?1:1.5 /xy ,值为1.0; xy ,值为1.5,switch语句(开关分支语句) 一般形式,switch( 表达式) case E1: 语句组 1; break; case E2: 语句组 2; brea。9、k; . case En: 语句组 n; break; default: 语句组 ; break; ,执行过程,必须是整数型和字符型,说明 E1,E2,En是常量表达式,且值必须互不相同 语句标号作用必须用break跳出 case后可包含多个可执行语句且不必加 switch可嵌套 多个case可共用一组执行语句,如 case A: case B: case C: printf(“score60n”); break; .,例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: prin。10、tf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); ,运行结果score为5时输出 Very good! Good! Pass! Fail! data error!,例 void main() int x1,y0,a0,b0; switch(x) case 1: switch(y) case 0: a; break; case 1: b; break; case 2: a;b; break; case 3: a;b; printf(“na%d,b%d”,a,b); ,运行结果。11、a2,b1,#include main() int c; printf(Enter m or n or h or other:); cgetchar(); switch(c) case m: printf(nGood morning!n);break; case n: printf(nGood night!n); break; case h: printf(nHello!n); break; default : printf(n?n); break; ,例 根据输入字母输出字符串,程序举例,例题5.5 c5_5.c 例题5.6 c5_6.c 例题5.7 c5_7.c,5.5例题判断是。12、否为润年,If (year%40 ,练习题,单项选择题1、if语句的控制条件a.只能用关系表达式 b.只能用关系表达式或逻辑表达式 c.只能用逻辑表达式 d.可以用任何表达式2、以下程序的输出结果是main()float x2,y; if (x0) y0; else if(x5a.0.000000 b.0.250000 c.0.500000 d.10.000000,练习题,3、执行以下程序段后abc的值分别是int a,b100,c,x10,y9;a(-xy)?-x:y;if(x9)bx;cy;a.9,9,9 b.8,8,10 c.9,10,9 d.1,11,1。13、0 4、执行下列程序段后x、y和z的值分别是int x10,y20,z30;if (xy) zx;xy;yz;a.10,20,30 b.20,30,30 c.20,30,10 d.20,30,20,练习题,5、若a和b均是整型变量以下正确的switch语句是。a.switch(a/b) case 1:case3.2:yab;break; case 0;case 5:ya-b; b.switch(a*ab*b); case 3: case1:yab;break; case0:yb-a;break; c.switch adefault:xab; case 10:ya-b;break; case 11:ya*d;break; d.switch(ab)case 10:xab;break; case 11:ya-b;break; ,练习题,6、有一函数 7、编写程序输入3个实数判断他们是否能够构成三角形若能够呈三角形则输出三角形的类型(等边、等腰或一般三角形)。,分别用(1)简单if语句 (2)嵌套的if语句 (3)if_else语句 (4)switch语句。