C语言从入门到精通(视频实战版)
上QQ阅读APP看书,第一时间看更新

5.3.2 使用continue终止循环

除了可以使用关键字break实现终止循环功能外,还可以使用关键字continue实现相似的功能。但是,continue的具体功能比较丰富,即终止用户所指定的本次循环,但不会跳出循环结构,从而可以继续执行下一个循环。在本小节中,将主要讲解关键字continue的使用方法。

关键字continue一般需要用于多个循环结构中,才能够发挥其作用,具体的使用代码如下:

main()//主函数
{
    ……//省略部分代码
    for(int i=0;i<10;i++)//for循环结构
    {
        ……//省略部分循环代码
        continue;//终止并跳出循环结构
            }
        for(int i=0;i<10;i++)//for循环结构
        {
            ……//省略部分代码
            }
……//省略部分代码
}

上面的代码分别使用了两个for循环结构体来表示关键字continue的功能。在代码中,可以省略的部分添加上自定义代码,例如输出一些提示语等。并可编译程序,在运行结果中,就可以看到关键字continue的作用并体会其中的使用原理。

例如,用户在实例程序中,同样是使用两个for循环结构来验证关键字continue的使用。其中,在第一个for循环结构中,对循环次数进行判断,若已经循环了4次,则将输出字符串“continue前循环了4次”。否则,将继续循环。这样,当程序循环4次以后,关键字continue就会使程序跳出第一个for循环,而执行第二个for循环中的代码,即输出提示语“continue后的循环”。具体代码如下:

#include <stdio.h>//包含头文件
main()//主函数
{
    char ch[]={"continue前循环了4次"};//定义并初始化字符数组
    char ch1[]={"continue后的循环"};
    for(int i=0;i<10;i++)//第一个for循环结构
    {
        if(i==4)//判断循环次数是否为4
    {
        printf("%s ",ch);//输出提示语
        continue;//终止但不跳出循环结构
        printf("%s ","执行continue后的提示");//输出提示语
        }
    else//若循环次数不为4
    {
        printf("%s ","继续输出字符串");//输出字符串
        }
    }
        for(int i1=0;i1<10;i1++)//第二个for循环结构
        {
        printf("%s ",ch1);//输出字符串
                }
return 0;//程序正常结束
}

在代码中,程序会将第一个for循环结构中的循环次数和功能代码全部执行。这是因为关键字continue只会跳出本次循环,而不会跳出整个循环。所以,当循环4次以后,程序将跳出并且继续执行循环代码。为了使用户能够深入理解continue的作用,所以在程序中将输出提示语“执行continue后的提示”来验证其具体的作用,如图5.18所示。

如图5.18所示,在程序的运行结果中,用户没有看到输出字符串“执行continue后的提示”,这也就说明了continue的功能只是终止本次循环,而不是整个循环。

图5.18 程序运行结果

注意 在实例程序中,可以利用continue的特殊功能实现一些重要的功能。例如,在一些重要操作中,终止某些特定的动作或者功能循环等。