while循环基本形式如下:
while(表达式)
{
.......;
}
1.圆括号里面的表达时为真时,执行花括号里面的代码。(0为假,非0为真)
此时,表达式的结果可以是整型、字符型、实型。花括号括起来的代码叫做循环体。
可既然是循环,那就得停下来啊,不然整个程序不就陷进这个循环啦?如下:
我没有加入跳出循环的条件,于是程序运行之后一直打印“haha"-----”根本停不下来“
这就是我们常说的死循环,大家写代码的时候是需要避免的。
言归正传:
跳出循环,我们可以使用两个关键字:”break“和”continue“.
1.从英文释义上来讲,break有终止的意思,而continue有停顿之后继续的意思
所以显而易见,break比continue程度更深。
图1:在程序执行遇到break之前,按次序输出了1 2,遇到break之后就直接跳出循环了
图2:在程序执行遇到continue之前,同样按次序输出1 2,但是遇到continue之后,程序直接跳过continue之后的语句,又重新验证表达式”a<5",然后进入循环体,执行相应代码。
当然,c语言不止有while循环还有do-while循环,for循环。
for循环下一节讲,我先讲讲do-while循环
基本形式如下:
do
{
...;
} while(表达式);
1.程序执行到do-while语句时,会先执行循环体,再去判断表达式
如果表达式结果为真就继续执行循环体,否则就跳出循环
2.上述的“break”和“continue”对do-while循环同样适用
那这两种循环有什么异同呢?
此时,程序输出结果一致,好像是一样的嘞!
仅仅将表达式修改一下,
图1: 程序无输出
图2:“根本停不下来”
原来,图一中a初始值为0,表达式判别为假,不执行循环体。
图二中a虽然初始值也为0,但根据结果倒推可知,’++a‘显然被执行过,然后才导致死循环
综上,while循环与do-while循环的最大差别就是,do-while循环至少要执行1次,而while循环得看表达式脸色
关注加点赞,下一期讲一讲for循环!