首页 > 编程笔记 > C语言笔记 阅读:9

C语言break和continue的用法(附带实例)

在多路分支的 switch 语句中,break 语句表示跳出整个 switch 语句块。break 语句的这个功能,在 for、while、do while 语句块中,主要用于中断目前的循环。

continue 语句的作用与 break 语句类似,主要用于循环,不同的是 break 语句会结束整个程序循环的执行,而 continue 语句只会结束其之后的循环语句,并跳回循环的开头继续下一个循环,而不是离开循环。

简而言之,二者的区别是:continue 语句只结束本次循环,而不是终止整个循环;break 语句则是结束整个循环,不再判断执行循环的条件是否成立。

continue 语句只能在循环语句中使用,即只能在 for、while 和 do while 循环中使用,除此之外,continue 语句不能在任何语句中使用。

【实例 1】判断一个数是不是素数。
所谓素数(也称质数),是指在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。因此,判断一个整数 m 是否是素数,只需用 m 除以 2~m−1 之间的每一个整数,如果都不能被整除,那么 m 就是一个素数。但实际如果 m 能被 2~m−1 之间任一整数整除,其两个因数必定有一个小于或等于,另一个大于或等于。

程序代码如下:
#include <stdio.h>
#include <math.h> //需包含math数学库,通过sqrt()函数进行开平方计算
 
int main()
{
    int i_m,i,i_k;
 
    printf("请输入一个整数: ");
    scanf("%d",&i_m);
    i_k=(int)sqrt(i_m);
    for(i=2;i<=i_k;i++)
        if(i_m%i==0)
            break; //能整除则跳出整个循环
    if(i<=i_k)
        printf("%d 不是素数。\n",i_m);
    else
        printf("%d是素数。\n",i_m);
 
    return 0;
}
编译运行,结果如下:

请输入一个整数: 11
11是素数。


【实例 2】输入字符并输出,如果是回车就退出循环,按 Esc 键则不输出,继续输入下一个字符,程序代码如下:
#include <stdio.h>
 
int main( )
{
    char c_a;
 
while(c_a!=13) /*如果回车就退出循环,其中13是回车字符对应的ASCII码*/
{   
        c_a=getch(); //输入字符
        if(c_a==0X1B) //0X1B是ESC键对应的ASCII码
            continue; /*若按Esc键则不输出,否则进行下一次循环*/
        printf("%c\n",c_a); //输出该字符
    }
 
    return 0;
}
编译运行,结果如下:

1 2

相关文章