§三转向语句一、break语句:又称为跳出语句break语句用于强制退出循环语句以及switch语句的执行。当程序遇到这一语句后,将直接执行循环体后面的语句。for(i=0;i10;i++){if(i3)break;//跳出循环,执行cout}cout“break”;例§三转向语句二、continue语句:又称为继续语句continue语句用在循环语句中,作用为结束本次循环,即跳过循环体中尚未执行的语句接着进行下一次是否执行循环的判定。for(n=100;n=200;n++){if(n%3==0)continue;coutnendl;}//输出100-200之间不能被3整除的数例§三转向语句表达式1表达式2表达式3continueft循环体表达式1表达式2表达式3breakft循环体#includeiostream.hintmain(){intx;for(x=1;x=10;x++){if(x==5)break;coutx“”;}cout“\nBrokeoutofloopatxof”xendl;return0;}输出结果:1234Brokeoutlfloopatxof5#includeiostream.hintmain(){for(intx=1;x=10;x++){if(x==5)continue;coutx“”;}cout“\Usecontinuetoskipprinting5”endl;return0;}输出结果:1234678910Usecontinuetoskipprinting5§三转向语句三、return语句:又称为返回语句。其功能:1.改变语句顺序voidmessage(intn){if(a10)return;//跳出函数体//…}例§三转向语句三、return语句:又称为返回语句。其功能:2.返回函数值intf(){return3.5;}voidmain(){inta=f();coutaendl;//输出3}例§三转向语句四、goto语句:又称为转向语句。功能:令程序跳转至程序指定的某标号处。i=1;sum=0;loop:sum+=i++;{if(i=100)gotoloop;cout“sumis”sumendl;}例§三转向语句i=1;sum=0;loop:sum+=i++;{if(i=100)gotoloop;cout“sumis”sumendl;}说明1.语句标号用标志符表示,它的命名规则与变量名相同。§三转向语句i=1;sum=0;loop:sum+=i++;{if(i=100)gotoloop;cout“sumis”sumendl;}说明2.一个函数体内的goto语句不可转向函数体外。3.一个块语句外的goto语句不可转向该程序之内。§三转向语句i=1;sum=0;loop:sum+=i++;{if(i=100)gotoloop;cout“sumis”sumendl;}说明4.用goto语句实现的循环完全可以用while或for循环来实现。§三转向语句说明5.一般说来goto语句可以用于以下两个方面:①.与if语句一起构成循环语句②.从循环体中跳转到循环体外,尤其是在从多层嵌套循环的内层直接跳到循环的外层。§三转向语句for(inti=1;i10;i++)for(intj=1;j10;j++)if(i*j==50)gotoEnd;End:couti“*”j“50\n”;例习题#includeiostreamusingnamespacestd;voidmain(){ints=0,k;for(k=7;k=0;k--){switch(k){case1:case4:case7:s++;break;case2:case3:case6:break;case0:case5:s+=2;break;}}cout“s=”sendl;}练习1分析下列程序的执行结果:答:s=71选择出合法的if语句(设有intx,a,b,c;)。Aif(a==b)x++;Bif(a=b)x++;Cif(ab)x++;Dif(a=b)x++;A练习22下列关于switch语句的描述中,正确的是Aswitch语句中default子句可以没有,也可有一个Bswitch语句中每个语句序列中必须有break语句Cswitch语句中default子句只能放在最后Dswitch语句中case子句后边可以是整型表达式A3下面程序的功能为:从键盘读入若干整数,计算并输出所读入数中正整数的平均值,忽略输入的负数。当输入的值为0时,结束输入。比如从键盘输入以下数:1―4―23460则输出内容为:Theaverageofnon-negativenumberis3.5仔细阅读程序,填充其中没有完成的部分。注意:(1)输入数中的负数被忽略(2)输出的平均值不能省略小数部分A___voidmain(){intiValue;∥当前输入的整数值intsum=0;∥输入的正整数的和B;∥统计输入的正整数的个数while(1){ciniValue;if(C)continue;if(iValue==0)D;sum+=iValue;∥计算和num++;}cout“\nTheaverageofnon-negativenumberis”E;}A#include<iostream>usingnamespacestd;Bintnum=0CiValue<0DbreakE1.0*sum/num4编写一个程序求出所有的“水仙花数”。“水仙花数”是指一个三位数,其各位数字的立方和恰好等于该数本身。例如:153=1*1*1+5*5*5+3*3*3。从100到999循环查找“水仙花数”即可。析5一百万富翁遇到一陌生人,陌生人找他谈一个换钱的计划,该计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我再给你十万元,你给我四分钱,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁欣然接受了这个契约。请编写一个程序计算这一个月中陌生人和百万富翁各给了对方多少钱。设置两个long型变量分别记录他们互相给对方的钱,并设初值。用for语句:2—30控制循环。析6百鸡问题:鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?编写一个程序求解。7鸡兔共有30只,脚共有90只,编写一个程序计算鸡兔各有多少只。