- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言条件控制语句
在程序的三种基本结构中,第二种即为选择结构,其基本特点是:程序的流程由多路分支组成,在程序的一次执行过程中,根据不同的情况,只有一条支路被选中执行,而其他分支上的语句被直接跳过。C语言中,提供if语句和switch语句选择结构,if语句用于两者选一的情况,而switch用于多分支选一的情形。3.3.1if语句1.if语句的两种基本形式首先,我们看一个例子,由此了解选择结构的意义及设计方法。[例3-5]输入三个数,找出并打印其最小数。分析:设三个数为A、B、C,由键盘读入,我们用一个变量MIN来标识最小数,A、B、C与MIN皆定义为int型变量。每次比较两个数,首先比较A和B,将小的一个赋给MIN,再把第三个数C与MIN比较,再将小的一个赋给MIN,则最后MIN即为A、B、C中最小数。算法如下:1)输入A、B、C。2)将A与B中小的一个赋给MIN。3)将MIN与C中小的一个赋给MIN。4)输出MIN。将第2)步细化为:若AB,则MIN==A,否则:MIN==B;其流程图见图3-1。第3)步细化为:若CMIN,则MIN==C;其流程图见图3-2。对应图3-1和图3-2,正是if语句的两种基本形式,与图3-2对应的if语句的格式为:if表达式语句当表达式为真时,执行语句,表达式为假时跳过语句。与图3-1对应的if语句的格式为:if〈表达式〉语句1else语句2当表达式为真时,执行语句1,表达式为假时执行语句2。无论如何,语句1与语句2每次只能有一个被执行。要注意的是:if或if...else,包括后面要讲到的嵌套if,即if...elseif...被看成是一条语句,即使其中的语句是包含多条语句的复合语句,仍然如此。下面是例3-5的源程序:main(){inta,b,c,min;printf(inputa,b,c:);scanf(%d%d%d,a,b,c);if(ab)min=a;elsemin=b;if(cmin)min=c;printf(Theresultis%d\n,min);}执行情况如下:RUNinputa,b,c:3 5 2Theresultis:2这里顺便提一下程序书写的缩排问题,所谓缩排,就是下一行与上一行相比,行首向右缩进若字符,如上例的min=a、min=b等。适当的缩排能使程序的结构、层次清晰、一目了然,增加程序的易读性。应该从一开始就养成一个比较好的书写习惯,包括必要的注释、适当的空行以及缩排。2.复合语句if语句中,有时需要执行的语句不止一条,这就要用到复合语句。复合语句,就是用一对花括号括起来的一条或多条语句,形式如下:{语句1;语句2;.......语句n;}无论包括多少条语句,复合语句从逻辑上讲,被看成是一条语句。复合语句在分支结构、循环结构中,使用十分广泛。[例3-6]读入两个数x、y,将大数存入x,小数存入y。 分析:x、y从键盘读入,若x=y,只需顺序打出,否则,应将x,y中的数进行交换,然后输出。两数交换必须使用一个中间变量t,定义三个浮点数x、y、t。算法:1)读入x、y;2)大数存入x,小数存入y;3)输出x、y。第2)步求精:若xy,则交换x与y;再求精,x与y交换;①t==x②x==y③y==t算法的流程图见图3-3,程序如下:#includestdio.hmain(){floatx,y,t;printf(inputx,y:);scanf(%f%f,x,y);if(xy){t=x;x=y;y=t;}printf(result:%7.3f\t%7.3f\n,x,y);}执行结果:inputx,y:43.256.7result:56.70043.200
3.if...elseif语句实际应用中常常面对更多的选择,这时,将if...else扩展一下,就得到if...elseif结构,其一般形式为:if表达式1
语句1elseif表达式2语句2elseif表达式3语句3else语句4对应的流程图见图3-4。
[例3-7]货物征税问题,价格在1万元以上的征5%,5000元以上1万元以下的征3%,1000元以上5000以下的征2%,1000元以下的免税,读入货物价格,计算并输出税金。分析:读入price,计算tax,这是一个较复杂的分支结构程序设计(应注意避免重复征税)。假定货物的价格在1万元以上,征税应分段累计,各段采用不同税率进行征收。算法:若price=10000则tax=0.05*(price-10000);price=10000;否则,若price=5000则tax=0.03*(pri
文档评论(0)