要设计选择结构程序

要设计选择结构程序

ID:33969052

大小:62.00 KB

页数:6页

时间:2019-03-02

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

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

1、5.3if语句要设计选择结构程序,要考虑两个方面的问题:一是在C语言中如何来表示条件,二是在C语言中实现选择结构用什么语句。在C语言中表示条件,一般用关系表达式或逻辑表达式,实现选择结构用if语句或switch语句。5.3.1if语句的三种形式1.if语句的一般格式if(表达式){语句组1;}[else{语句组2;}](1)if语句中的“表达式”必须用“(”和“)”括起来。(2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。2.if语句的执行过程(1)缺省else子句

2、时当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,否则直接转向执行下一条。(2)指定else子句时当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,然后转向下一条语句;否则,执行语句组2。3.if语句的嵌套与嵌套匹配原则if语句允许嵌套。所谓if语句的嵌套是指,在“语句组1”或(和)“语句组2”中,又包含有if语句的情况。if语句嵌套时,else子句与if的匹配原则:与在它上面、距它最近、且尚未匹配的if配对。为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,一律用花括号括起来。[例5.1]输入任意三个整数num1、num2、num3,求三个数中的

3、最大值。/*功能:说明if语句的格式。*/main(){intnum1,num2,num3,max;printf("Pleaseinputthreenumbers:");scanf("%d,%d,%d",&num1,&num2,&num3);if(num1>num2)max=num1;elsemax=num2;if(num3>max)max=num3;printf("Thethreenumbersare:%d,%d,%d",num1,num2,num3);printf("max=%d",max);}程序运行情况如下:Pleaseinputthreenumbers:11,22,18↙

4、Thethreenumbersare:11,22,18max=22本例中的第1个if语句,可优化为如下不带else子句的形式:max=num1;if(num2>max)max=num2;这种优化形式的基本思想是:首先取一个数预置为max(最大值),然后再用max依次与其余的数逐个比较,如果发现有比max大的,就用它给max重新赋值,比较完所有的数后,max中的数就是最大值。这种方法,对从3个或3个以上的数中找最大值的处理,非常有效。请读者仔细体会。[例5.2]输入任意三个数num1、num2、num3,按从小到大的顺序排序输出。main(){intnum1,num2,num3,temp;p

5、rintf("Pleaseinputthreenumbers:");scanf("%d,%d,%d",&num1,&num2,&num3);if(num1>num2){temp=num1;num1=num2;num2=temp;}if(num2>num3){temp=num2;num2=num3;num3=temp;}if(num1>num2){temp=num1;num1=num2;num2=temp;}printf("Threenumbersaftersorted:%d,%d,%d",num1,num2,num3);}程序运行情况如下:Pleaseinputthreenumbers

6、:11,22,18↙Threenumbersaftersorted:11,18,22[例5.3]写一程序,从键盘上输入1年份year(4位十进制数),判断其是否闰年。闰年的条件是:能被4整除、但不能被100整除,或者能被400整除。算法设计要点:(1)如果X能被Y整除,则余数为0,即如果X%Y的值等于0,则表示X能被Y整除!(2)首先将是否闰年的标志leap预置为0(非闰年),这样仅当year为闰年时将leap置为1即可。这种处理两种状态值的方法,对优化算法和提高程序可读性非常有效,请读者仔细体会。参考程序如下:main(){intyear,leap=0;/*leap=0:预置为非闰年*/

7、printf("Pleaseinputtheyear:");scanf("%d",&year);if(year%4==0){if(year%100!=0)leap=1;}else{if(year%400==0)leap=1;}if(leap)printf("%disaleapyear.",year);elseprintf("%disnotaleapyear.",year);}利用逻辑运算能描述复杂条件的特点,可将

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

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

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