- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
*3.5循环结构2.continue语句continue语句的一般形式为:continue;其作用为结束本次循环。对于while和do-while循环,跳过循环体中其余语句,转向循环终止条件的判断;而对for循环,跳过循环体中其余语句,转向循环变量增值表达式的计算。continue语句对循环控制的影响如图3-19所示。continue语句只能用于循环语句中,并常常与if语句一起使用。在嵌套循环时,continue语句只对包含它的循环层有作用,与其他层循环无关。continue语句和break的区别是:continue语句只结束本次循环,而不是终止整个循环的执行,并没有增加循环的出口;而break语句则是结束循环,不再进行条件判断,可能增加循环的出口。*3.5循环结构例3-24输出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是“水仙花数”,因为153=13+53+33。分析:首先确定水仙花数n可能存在的范围,因为n是一个三位数,所以范围确定为n从100变化到999,分离出的百位i、十位j、个位k后,只要判断n是否等于i*i*i+j*j*j+k*k*k即可知道n是否水仙花数。源程序如下:#includestdio.hmain(){inti,j,k,n; printf(narcissusnumbersare:);for(n=100;n=999;n++){i=n/100;j=n/10-i*10;k=n%10;if(n!=i*i*i+j*j*j+k*k*k)continue; printf(%d,n);} printf(\n);}运行结果如下:narcissusnumbersare:153370371407说明:(1)本例中的两个语句:if(n!=i*i*i+j*j*j+k*k*k)continue;printf(“%d”,n);可以改用if语句完成:if(n==i*i*i+j*j*j+k*k*k)printf(“%d”,n);事实上,continue语句的功能常常可以由其他的语句来代替实现。根据continue语句的功能:if(条件A)continue;语句序列B;可以改写为:if(!(条件A))语句序列B;(2)求3位数的百位、十位及个位还有多种方法,如十位j还可以用下列方法来求:j=n/10%10;或j=n%100/10;或j=(n-i*100)/10;请读者思考如何求一个4位数的各位数字?*3.5循环结构3.goto语句goto语句是无条件转移语句,可用来实现程序的任意转移。它的一般形式为:goto语句标号;语句标号:语句;…或…语句标号:语句;goto语句标号;其中“语句标号”是一个有效的标识符,这个标识符加上一个“:”一起出现在函数内某处,执行goto语句时,程序将无条件跳转到标号处并执行其后的语句。另外,标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。通常goto语句与if分支语句连用,当满足某一条件时,程序跳到标号处运行,比如它们可用来构成循环。例3-25用goto语句求n!=1*2*3*…*n的值。源程序如下:#includestdio.hmain(){inti=1,n;longintfac=1;printf(Pleaseinputn:);scanf(%d,n);loop:if(i=n)/*其中“
文档评论(0)