第5讲 选择结构程序设计

第5讲 选择结构程序设计

ID:24836943

大小:530.50 KB

页数:22页

时间:2018-11-16

第5讲 选择结构程序设计_第1页
第5讲 选择结构程序设计_第2页
第5讲 选择结构程序设计_第3页
第5讲 选择结构程序设计_第4页
第5讲 选择结构程序设计_第5页
资源描述:

《第5讲 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第四讲 选择结构程序设计C语句概述选择结构程序设计4.1C语句概述C语句:以“;”作分隔符,编译后产生机器指令C语句分类表达式语句:表达式加分号构成如:total=total+limit;a=3;a>b;func();printf(“Hello,world!”);分支if()~else~switch循环for()~while()~do~while()辅助控制continuebreakgotoreturn空语句:;程序控制语句(9种)复合语句:用{…}括起来的一组语句一般形式:{[数据说明部分;]执行语句部分;}说明:“}”后不加分号语

2、法上和单一语句相同复合语句可嵌套main(){inta,b;a=10;printf(“%d,%d”,a,b);}4.2选择结构程序设计if语句(条件选择语句)if语句的三种形式形式一:格式:if(exp)statement形式二:格式:if(exp)statement1elsestatement2执行过程执行过程expstatement非0=0expstatement1statement2非0=0if(x>y)max=x;elsemax=y;例:if(x>y)printf(“%d”,xz);例:形式三格式:执行过程:if(exp1)sta

3、tement1elseif(exp2)statement2elseif(exp3)statement3…[elsestatement]exp1statement1非0=0exp2exp3statementstatement3statement2非0非0=0=0if(salary>1000)index=0.4;elseif(salary>800)index=0.3;elseif(salary>600)index=0.2;elseif(salary>400)index=0.1;elseindex=0;例:说明:第二、第三种形式的if语句中,在

4、每个else前面有一个分号,整个语句结束出有一个分号。If(x>0)printf(“%f”,x);elseprintf(“%f”,-x);在if和else后面如果有多个操作语句,此时用“{}”将几个语句括起来形成一个复合语句If(a+b>c&&b+c>a&&c+a>b){s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“area=%6.2f”,area);}elseprintf(“itisnotatrilateral”);说明:if后面的表达式类型任意语句可以是复合语句考虑下面程序的

5、输出结果:/*EX5-1.C*/main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}CompileError!if(a==b&&x==y)printf(“a=b,x=y”);if(3)printf(“OK”);if(a=2)printf(“%d”,’a’);Error…9:Misplacedelseinfunctionmain/*ex5-2.c*/main(){floata,b,t;scanf("%f,%f",&a,&b)

6、;if(a>b){t=a;a=b;b=t;}printf(“%5.2f,%5.2f",a,b);}3.6,-3.2-3.20,3.60例5-2输入两个实数,按代数值由小到大输出例5-3输入三个数,要求按由小到大顺序输出分析:Ifa>b将a和b对换Ifa>c将a和c对换Ifb>c将b和c对换需要定义几个变量??才能完成对换??在有“变量对换”这一类的操作中,都要定义一个暂存变量,常起名为temp或者t/*ex5-3.c*/main(){floata,b,c,t;scanf(“%f,%f,%f”,&a,&b,&c);if(a>b){t=a

7、;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf(“%5.2f,%5.2f,%5.2f”,a,b,c);}3,7,11.00,3.00,7.00例5-3输入三个数,要求按由小到大顺序输出例5-4写程序,判断某一年是否是闰年判断闰年的条件是:能被4整除,且不能被100整除 或 能被400整除/*ex5-4.c*/main(){intyear,leap;scanf("%d",&year);leap=0;if((year%4==0&&year%100!=0)

8、

9、(yea

10、r%400==0))leap=1;if(leap==1)printf(“%disaleapyear”,year);elseprintf(“%disnotaleapyear”,year);}20

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。