C语言选择结构程序设计

上传人:zw****58 文档编号:51416236 上传时间:2018-08-14 格式:PPT 页数:32 大小:506KB
返回 下载 相关 举报
C语言选择结构程序设计_第1页
第1页 / 共32页
C语言选择结构程序设计_第2页
第2页 / 共32页
C语言选择结构程序设计_第3页
第3页 / 共32页
C语言选择结构程序设计_第4页
第4页 / 共32页
C语言选择结构程序设计_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《C语言选择结构程序设计》由会员分享,可在线阅读,更多相关《C语言选择结构程序设计(32页珍藏版)》请在金锄头文库上搜索。

1、选择结构程序设计 关系运算符和关系表达式 逻辑运算符和逻辑表达式 If语句 Switch语句 程序举例 关系运算符和表达式 关系运算符 种类:= != 结合方向:自左向右 优先级别:= = !=优先级6(高)优先级7(低)例 ca+b /c(a+b)ab!=c /(ab)!=ca=bc /a=(bc) 关系表达式:用关系运算符将两个表达式连接起来;以 下都是合法的关系表达式: 43,ab,a+bb+c,(a=3)(b=5),ab)(bc) 3.44,a54.4,a63 关系表达式的值:是逻辑值“真”或“假”,用1和0表示例 int a=3,b=2,c=1,d,f;ab (ab)=cb+cbf=

2、abc例 若a=0; b=0.5; x=0.3;则 a278在C中是允许的,值为0例 int i=1, j=7,a; a=i+(j%4!=0); 则a=2例 a0 结果为A100 结果为10语 言 程 序 设 计 选 择 结 构 程 序 设 计C 关系运算注意:例 注意区分“=”与“=”int a=0,b=1;if(a=b) /*if(a=b)*/printf(“a equal to b”);elseprintf(“a not equal to b”);例 应避免对实数作相等或不等的判断 如 1.0/3.0*3.0=1.0 结果为 可改写为:fabs(1.0/3.0*3.0-1.0)真假假假假

3、假真真假假 真真真假真真语 言 程 序 设 计 选 择 结 构 程 序 设 计C! (2)b=5;!aab=2;c=3;d=4;m=1;n=1;(m=ab)exprstatement1statement2非0=0l形式二: u格式:if (expression) statement1elsestatement2 u执行过程:例:if (xy) max=x;else max=y;语 言 程 序 设 计 选 择 结 构 程 序 设 计C 形式三: 格式:if ( expr1 ) statement1else if (expr2 ) statement2else if (expr3 ) statem

4、ent3. else statementn expr1statemnt1非0=0expr2expr3statemntnstatemnt3statemnt2非0非0=0=0u执行过程: 例:if (salary1000) index=0.4; else if (salary800) index=0.3;else if (salary600) index=0.2;else if (salary400) index=0.1;else index=0; 语 言 程 序 设 计 选 择 结 构 程 序 设 计C如:if(a=bif(3) printf(“OK”);if(a) printf(“%d”,a)

5、;l说明: uif后面的表达式类型任意 u语句可以是复合语句 u if(x) if(x!=0)if(!x) if(x=0) 例 考虑下面程序的输出结果: #include /c1.cmain() int x,y;scanf(“%d,%d”,if(xy)x=y; y=x;elsex+; y+;printf(“%d,%dn”,x,y); Compile Error!语 言 程 序 设 计 选 择 结 构 程 序 设 计C/*ch4_1.c*/ #include main() int x,y;printf(“Enter an integer:“);scanf(“%d“,if(xabsolute va

6、lue:%dn“,x,y); 例1 求一个数的绝对值运行:Enter an integer:-12integer:-12-absolute value :12语 言 程 序 设 计 选 择 结 构 程 序 设 计C#include main() float a,b,t;scanf(“%f,%f”,if (a main() char c;printf(“Enter a character:“);c=getchar();if(c=0else y=0;else y=-1;printf( “x = %dty = %dn”, x. y ); 方法二:运行:23X=23,y=1 条件运算符与表达式 一般形

7、式: expr1 ? expr2 : expr3 执行过程 功能:相当于条件语句,但不能取代一般if语句例 if (ab)printf(“%d”,a);elseprintf(“%d”,b);printf(“%d”,ab?a:b);例 求 a+|b|printf(“a+|b|=%dn”,b0?a+b:a-b);expr1取expr2值取expr3值非0=0例 (a=b)?Y:N(x%2=1)?1:0(x=0)?x:-x(c=a x0,表达式值为axy?1:1.5 /xy ,值为1.0; x60n”);break;例 switch(score) case 5: printf(“Very good!

8、”);case 4: printf(“Good!”);case 3: printf(“Pass!”);case 2: printf(“Fail!”);default : printf(“data error!”);运行结果:score为5时,输出:Very good! Good! Pass! Fail! data error!语 言 程 序 设 计 第 二 章 数 据 描 述C例 void main() int x=1,y=0,a=0,b=0;switch(x) case 1:switch(y) case 0: a+; break;case 1: b+; break;case 2: a+;b+

9、; break;case 3: a+;b+;printf(“na=%d,b=%d”,a,b);运行结果:a=2,b=1语 言 程 序 设 计 第 二 章 数 据 描 述C#include main() int c;printf(“Enter m or n or h or other:“);c=getchar();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?

10、n“); break; 例 根据输入字母输出字符串语 言 程 序 设 计 第 二 章 数 据 描 述C程序举例 例题5.5 c5_5.c 例题5.6 c5_6.c 例题5.7 c5_7.c5.5例题:判断是否为润年If (year%4=0 elseleap=0;Year被4整除真假leap=0Year不能被100整除 真leap=1假Year被400整除真假leap=1leap=0leap真假输出“闰年”输出“非闰年”开始Year被4整除Year不能被100整除Year被400整除leap=1;leap=0;假真真假真假leap=1输出闰年输出非闰年结束真假练习题单项选择题1、if语句的控制条

11、件 a.只能用关系表达式 b.只能用关系表达式或逻辑 表达式 c.只能用逻辑表达式 d.可以用任何表达式 2、以下程序的输出结果是 main() float x=2,y;if (x0) y=0;else if(x5else if (x10) y=1/x;else y=10; printf(“%fn”,y); a.0.000000 b.0.250000 c.0.500000 d.10.000000语 言 程 序 设 计 第 二 章 数 据 描 述C练习题3、执行以下程序段后,a,b,c的值分别是 int a,b=100,c,x=10,y=9; a=(-x=y+)?-x:+y; if(x9)b=x

12、+;c=y; a.9,9,9 b.8,8,10 c.9,10,9 d.1,11,10 4、执行下列程序段后,x、y和z的值分别是 int x=10,y=20,z=30; if (xy) z=x;x=y;y=z; a.10,20,30 b.20,30,30 c.20,30,10 d.20,30,20语 言 程 序 设 计 第 二 章 数 据 描 述C练习题5、若a和b均是整型变量,以下正确的switch语句是。 a.switch(a/b)case 1:case3.2:y=a+b;break;case 0;case 5:y=a-b; b.switch(a*a+b*b);case 3:case1:y

13、=a+b;break;case0:y=b-a;break; c.switch a default:x=a+b;case 10:y=a-b;break;case 11:y=a*d;break; d.switch(a+b) case 10:x=a+b;break;case 11:y=a-b;break; 语 言 程 序 设 计 第 二 章 数 据 描 述C练习题6、有一函数7、编写程序,输入3个实数,判断他们是否能 够构成三角形,若能够呈三角形,则输出三角 形的类型(等边、等腰或一般三角形)。分别用(1)简单if语句(2)嵌套的if语句(3)if_else语句(4)switch语句 语 言 程 序 设 计 第 二 章 数 据 描 述C

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

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

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