文档详情

流程控制与-转移语句 .ppt

发布:2017-09-29约1.88千字共11页下载文档
文本预览下载声明
功能是无条件转向。格式如下: goto 标号; 语句块 ; 标号:语句n; 标号在一个函数中必须唯一。 4.3.4. return语句 用来使程序从函数中返回。 C++语言的函数可以有返回值,也可以没有返回值。 return语句格式有两种: return; //不带返回值 return(表达式); //带返回值 其中表达式的值为函数的返回值。 注意: 在KR C中,main()函数可以不带有return语句。 在C++语言中,main()函数必须有return语句。 在一个函数中,return语句的数量不限,但程序一但遇到第一个return语句就立刻从函数中返回。 * * C++中的转移语句 C++语言中有四种无条件转移语句,它们是:return、goto、break和continue语句;另外,还有一个用于结束程序的exit()函数;其中,goto和return可以用在程序的任何地方,break和continue一般与循环语句联用。 4.3 转移语句与算法 4.3.1. break语句 break语句有两个用途 : 在switch....case语句中,用于终止某个case条件,继续执行switch语句下面的一个语句。 在循环语句中,绕过正常的循环测试条件,迫使循环立即结束,接着执行循环下面的语句。 4.3.2.continue语句 break语句提前结束循环,continue语句不是立即终止程序,而是跳过循环结束前的剩余语句,回到循环条件测试部分,重新开始执行。 表达式1 语句块 表达式2 语句块 While循环的 下一个语句 表达式1 语句块 表达式2 语句块 While循环的 下一个语句 TRUE FALSE break FALSE TRUE FALSE FALSE TRUE TRUE break 与 continue 对照 continue 1. 在for循环语句中,遇到continue后,首先跳过循环体中下面尚末执行的语句,执行循环的增量部分,然后进行条件判断,决定是否进行下一轮的循环。 2. 在while和do...while循环语句中,continue语句使控制直接回到条件测试部分,决定是否进行下一轮的循环。 注意: void main(void) { int n; for(n=100; n=200; n++) { if(n%3 == 0) continue; coutn; } } 例:把100~200之间的不能被3整除的数输出。 // if(n%3 != 0) coutn; #includeiostream.h void main(void) { int i, a, n = 0; float s = 0.0; cout“input 10 int_num: \n”; for(i =0; i10; i++) { cina; if(a=0) continue; s += a; n++; } coutn“sum = ”s; cout“aver = ”s/n; } 例:计算输入的10个整数中正数的个数及其平均值。 注意:在多重循环语句中,break只能跳出最内层的循环。 例:说出下例程序的运行结果。 #includeiostream.h void main(void) { int t, count; for(t=0; t100; ++t) { count = 1; for(; ;) { coutcount; count++; if(count==10) break; } } } 在C++中对goto语句的使用做了限制 : 只限于在一个函数体内进行无条件转向,而不能在函数之间进行。 不允许goto从循环体外部转向循环体内部,因为这样会造成循环体运行的混乱。 4.3.3. goto语句 #includeiostream.h void main(void) { int x = 0; Loop1: x++; if(x 100) goto Loop1; cout“x= ”x); } 例:利用goto和一个标号实现从1到100的循环。
显示全部
相似文档