有时并不希望终止整个循环的操作,而只是希望提前结束本次循环,而接着执行下一次循环。C语言中提供了continue语句,一般格式为:
continue;
功能:在循环体中遇到continue语句,则结束本次循环,跳过continue语句后面尚未执行的其他语句,继续判断循环控制条件,以决定是否进入下一次循环。
【例4-10】要求输出100~100之间不能被3整数的数。
程序分析
显然要对100~200之间的每一个整数进行检查,如果不能被3整除,就将此数输出,若能被3整数,就不输出此数,无论是否输出此数,都要接着检查下一个数(直到200为止)。
程序代码如下:
从程序中可以看出,当n能被3整除时,执行continue语句,流程跳转到表示循环结束的右花括号的前面,结束本次循环,不再打印当前数据,然后进行变量的增加,执行n++,只要n<=200,就会接着执行下一次循环。如果n不能被3整除,就不会执行continue,就会执行打印当前数据的语句。
break语句和continue语句的区别:
(1)continue语句只结束本次循环,而不是终止整个循环的执行,而break语句则是结束循环,不再进行条件判断。
(2)continue语句只用于循环结构的内部,常与if语句联合起来使用,以便在满足条件时提前结束本次循环。
goto语句:
goto语句为无条件转向语句,它的一般形式为:
goto语句标号;(www.xing528.com)
例如:goto label_1;
格式说明:
(1)当执行到goto语句时,程序将转到语句标号指定的位置继续执行。
(2)语句标号用标识符表示,它的命名规则与变量相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线,不能用整数作为语句标号。
(3)标号必须与goto语句同处于一个函数中,但可以不在一个循环层中。
(4)结构化程序设计方法主张限制goto语句的使用。因为滥用goto语句将使程序流程无规律,可读性差。
一般来说,goto语句用于以下两种情况:
(1)与if语句一起构成循环结构。
(2)从深层循环中跳出。
【例4-11】用if语句和goto语句求1到100的和。
这里用的是“当型”循环结构,当满足“i<=100”时执行括号内的循环体。
由于goto语句不符合结构化程序设计的要求,并且goto语句既可以往前跳转页又可以往后跳转,break语句和continueyu语句只能往前跳转,使用过多的goto语句会使程序迅速退化为垃圾代码,使程序难以阅读,难以修改。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。