编程技术文章分享与教程

网站首页 > 技术文章 正文

C语言的break、continue控制语法,让我们巧干,而不是死干

hmc789 2024-11-27 14:49:51 技术文章 2 ℃

break、continue控制语句

对于循环while(表达式)语句,当表达式的值为时,就结束while循环。那么,能否有其他机制,可以结束while循环的执行呢?

在学习switch-case语法的时候,可以使用break关键字,跳出switch-case语法结构,结束switch-case语句的执行。那么,同样,在while循环中,也可以使用break关键字来结束while循环的执行。如下是一个程序测试例子:

程序运行的结果如下:

可以看到,我们执行while(1)循环,由于while表达式是1值,为真值,所以,会一直循环,我们可以称为:死循环。

那么,在循环体中,我们判断变量i的值,当大于等于5的时候,就执行break语句,此时,就跳出了while循环体,结束while循环。

所以,我们知道:break关键字,就是跳出whlie循环。注意,如果多层循环嵌套,break关键字只能够跳出它所在的哪一个循环。如下是一个程序测试例子:

程序运行的结果如下:

可以看到,在第二个while循环中,执行的 break;语句只是跳出第二个while循环,结束第二个while循环的运行。然后,再执行第一个while循环后面的break;语句,才跳出第一个while循环。

C语言还提供了continue关键字,只能够配合while、for循环语句使用。它使用的格式如下:

while(表达式)

{

语句1;

continue;

语句2;

}

当碰到continue关键字的时候,就越过continue关键字后面的语句,回到while(表达式)语句,继续判断表达式,进行循环操作。

例如上面的例子,在while循环中遇到continue关键字,就是越过continue关键字后面的语句2代码;然后,回到while(表达式)进行判断,继续循环。如下是一个程序测试例子:

程序运行的结果如下:

可以看到,执行i%2运算,对变量i除以2取余数,如果余数是0,就执行continue语句。此时,在while循环体中,执行了continue语句之后,就越过continue后面的代码,所以,就没有执行:

printf("i = %d\n", i); //循环体

从输出结果可以看出,当变量i的值是奇数的时候,i除以2取余为1,不等于0,此时,不执行continue语句,才可以执行printf输出语句。所以,输出变量i的值都是奇数。

标签列表
最新留言