还是接着学习流程控制,并继续上一篇的编号。
7、break语句
break 语句有两种用法。一种是与 switch 语句配套使用,前面已经学习过了。另一种用法
是在循环体内部跳出循环,不再进行后面的循环了,这种用法一般和 if 语句结合,即使在无限循环情况下,也可以有条件的跳出。
8、continue 语句
continue 语句用于在循环内部终止本轮循环,进入下一轮循环。只要遇到 continue 语句,
循环内部位于continue后面的语句就不执行了,回到循环开始执行下一轮循环。continue与break类似,一般也需要与 if 语句配合使用。break是彻底退出循环,continue是结束一轮循环再开始一轮新循环。
举一个例子进一步说明break、continue的使用方法。这个小程序的功能分成两部分:a.输入部分:每次循环输入一个字符,当输入回车符"\n"时,利用break语句跳出循环;b.显示部分:依次显示输入的字符,遇到字符 "0" 执行 continue 进入下一次循环 ( 不显示 "0" ) ;退出循环的条件与输入相同。输入时请加上几个 "0" 验证效果。具体代码如下:
#include<stdio.h>
int main(void)
{
char ch[1024]; //定义一个字符数组
int n = 0; //定义一个整形变量并赋初值
printf("请开始输入字符:(回车结束)\n");
while (1) //使用while循环语句
{
char c = getchar(); //从键盘接收一个字符并赋给字符变量c
ch[n] = c; //字符数组依序存储输入的字符
if (c == '\n') { break; } //检查到输入回车符时利用break退出while循环
n++; //n做自增运算
}
printf("显示输入的内容:\n");
for (int i = 0; i < 1024; i++) //根据声明的字符数组长度进行for循环
{
if (ch[i] == '\n') break; //遇到数组中的回车符时利用break退出for循环
if (ch[i] == '0') continue; //当遇到字符0时,不显示直接进入下一循环
printf("%c", ch[i]);
}
getchar(); //阻塞程序运行
return 0;
}
9、goto 语句
goto 语句用于跳到指定的标签名。许多教程介绍编程知识时,都讲尽量不用goto语句,容易出错。它的用法非常简单,我们可以在任意一个语句前(不能在语句中间)做一个标记(一般是几个字母加冒号),这样,我们在程序的其它地方只要写上"goto 标记;"(这里的标记不用冒号),程序就跑到标记处开始运行了。
注意:goto只能在同一函数中跳转,不能转到其它函数中。
还是听人劝吃饱饭,能不用尽量不用吧。