前言与概述
生活中许多事情的完成都需要日复一日的循环,如老师教课、学生学习。C语言也提供while关键字用于实现循环功能。接下来,让我们了解while循环语句吧!
基本语法结构与注意事项
while(条件表达式)
{
循环语句;
}
注意:
①:条件表达式是使循环可以持续进行的表达式,不是让循环中止的表达式。
②:如果循环语句有二条甚至更多,需要给循环语句加上花括号{}。
③:在没有添加break语句的情况下,一定要设置语句,能使条件表达式不成立,要不然程序可能会陷入死循环。
实战检验出真知
请输出1-10所有的整数
分析:
如果想要输出1-10所有的整数,就需要一个一个整数的输出,可以通过while循环实现功能。当然我们需要定义一个变量number,这个变量的值就是我们需要输出的整数。循环成立的条件就是变量number的值小于等于10。我们可以初始化变量number的值为1,当循环条件成立的时候,进入循环语句,输出变量number的值,并将变量number的值加一,返回条件表达式,判断循环条件是否成立,如果条件成立,继续进入循环语句,如果条件不成立,离开循环语句。
示例代码:
//输出1-10的整数
#include <stdio.h>
int main()
{
int number = 1;
while (number <= 10) {
printf("%d ", number);
number++;
}
return 0;
}
运行结果:
break语句
怎么理解break语句呢?打个比方,你向你心爱的女孩表白,你发誓:要在未来100天,每天都给她发消息“我爱你!❤”那么循环条件就是发消息的总天数小于等于100。但是,如果在这100天内,她被你真情实意打动了,回复一句“我也爱你!”。那你就不需要再发消息“我爱你!❤”了。那位女孩发的消息就类似于break语句,可以永久终止循环的剩余语句。当然下面的代码并不使用这个例子哈!
问题:请输入1-10的整数,但第四个数输出以后就不再输出。
分析:
题目要求输出1-10的整数,那我们可以使用上次的代码。题目还要求”第四个数输出以后就不再输出”,那我们可以使用break语句,当变量number的值等于5时(输出第四个数后),就停止循环。
示例代码:
//输出1-10的整数,但第四个数输出后就不再输出
#include <stdio.h>
int main()
{
int number = 1;
while (number <= 10) {
if (number == 5) {
break;
}
printf("%d ", number);
number = number + 1;
}
return 0;
}
运行结果:
continue语句
如何理解continue语句呢?还是举那个例子:你每天都向心爱的公主表白,直到她也爱你。那么她不爱你,就是循环成立条件,表白的话就是循环语句。如果有一天她回复你:“我也爱你”。那天你就不需要表白了。第二天,你去试探她,是不是真心爱你,如果不是真心爱你,那循环条件成立,还得继续表白;如果她是真心爱你,循环条件不成立,你们俩就可以幸福在一起了。在这里,那句“我也爱你”,类似于continue语句,用于中止当前循环,返回到条件表达式,判断条件是否成立,如果成立,执行循环语句块,如果不成立,离开循环语句。
问题:如果将上个代码的break改为continue,那程序运行结果是什么呢?
题目代码:
//continue循环语句
#include <stdio.h>
int main()
{
int number = 1;
while (number <= 10) {
if (number == 5) {
continue;
}
printf("%d", number);
number = number + 1;
}
return 0;
}
A:1 2 3 4
B:1 2 3 4 6 7 8 9 10
C:1 2 3 4 无限循环
D:代码出错,程序无法运行
答案:C
运行结果:
分析:
通过终端,我们可以看到白色的光标在不停的闪烁,这说明程序陷入无限循环,原因是:number = number + 1;在continue语句的下方,当变量number的值为5时,if条件成立,continue语句执行,跳过当前循环剩余语句,而且循环条件成立,会再次进入循环语句,但是变量number的值没有改变,还是5,就会再次执行continue语句,以此往复,程序就在continue语句与条件表达式之间跳来跳去,却不会终止。
笔者有话说
相信读者看到这里,也大概学会while循环语句,生活中有许多循环,虽然这些循环可能很无聊,但只要坚持下去,就一定能收获满满。相信大家在学习中,经过无数次的重复听讲、重复练习,一定能突飞猛进、取得艳人的成绩。在工作中,经过无数次兢兢业业的工作,一定能年薪百万、早日暴富。在恋爱中,也能俘获公主、王子的芳心,步入幸福的殿堂。关注我,下期内容更精彩!
注意:本文章教你学会while语句,不是教如何表白哦!别真的给ta发n个表白呀!