C语言基础

    返回首页    发表留言
本文作者:李德强
          第六节 break与continue
 
 

一、跳出循环语句:break

        在前面我们已经学习了关于循环程序的几种写法:while、do while、for等语句,我们知道,这些循环语句都有着一个特点,就是在每次循环时都要去检查循环的条件表达式是否成立,如果成立则继续循环,如果不成立则停止循环。但是在很多实际情况中我们需要程序在循环条件还成立的情况下就结束循环,对于这种情况C语言提供了一个关键字叫作break专门用于这种情况,例如我们定义一个长度为10的数组,并通过循环查找这个数组中值为7的数的下标,当找到这个数时结束循环,于是我们需要编写一个程序,为了让循环时数组下标不越界,我们需要指定循环条件为下标小于10,并在循环体中通过if语句来判断是否找到了7这个数,程序如下:

int array[10] = {5,3,2,6,4,7,9,8,0,1};
int i;
for (i = 0; i < 10; i++)
{
    if (array[i] = 7)
    {
        printf("%d\n", i);
        break;
    }
}

        大家可以看到在这个循环中为了使数组下标不越界,我们把循环的条件设定为小于10,而在循环体中通过if语句找到数组中值为7的下标并显示其值,当然后通过break语句跳出循环,也就是说当程序执行break语句时将结束整个循环,而本应该继续循环的内容将不会被执行。上面程序中执行6次循环,i的值为5,然后剩下的内容不执行,直接结束。

        当然break语句也同样可以使用在while和do while语句当中。

    

二、直接进入下一次循环:continue

        与跳出循环的break语句不同,continue的作用是结束本次循环,使程序在本次循环时不再执行其后的程序,而直接返回到循环开始时,执行程序,例如我们将上面和程序修改一下,改为只显示大于等于5的数:

int array[10] = {5,3,2,6,4,7,9,8,0,1};
int i;
for (i = 0; i < 10; i++)
{
    if (array[i] < 5)
    {
        continue;
    }
    printf("%d\n", i);
}

        注意,在上面程序中我们并没将printf语句写到if分支里,而是直接写在了循环体中,所以每次循环时都应该显示这个i的值,但是在if中我们判断如果数组中变量的值小于5时则执行continue语句,于是结束本次循环,进入下一次循环,所以只有当大于等于5时都会执行printf语句,所以结果为:

0
3
5
6
7

 

    返回首页    返回顶部
  看不清?点击刷新

 

  Copyright © 2015-2018 问渠网 辽ICP备15013245号