C语言中while循环和do...while循环
在实际生活中经常会将同一件事情重复做很多次,比如在走路时,会重复使用左右脚,打乒乓球时,会重复挥拍的动作等。同样在C语言中,也经常需要重复执行同一代码块,这时就需要使用循环语句。循环语句分为while循环语句、do…while循环语句和for循环语句三种。今天,我们将重点讲讲while循环和e循环语句。
C语言中while循环和e循环while循环语句
while循环语句和条件判断语句有些相似,都是根据条件判断来决定是否执行大括号内的执行语句。区别在于,while语句会反复地进行条件判断,只要条件成立, { } 内的执行语句就会一直执行,直到条件不成立,while循环结束。while循环语句的具体语法格式如下:
while (循环条件)
{
执行语句
………
}
在上面的语法格式中, { } 中的执行语句被称作循环体,循环体是否执行取决于循环条件。当循环条件为true时,循环体就会被执行。循环体执行完毕时会继续判断循环条件,如条件仍为true则会继续执行,直到循环条件为false时,整个循环过程才会结束。
while循环的执行流程如下图所示:
接下来通过while语句来实现1~4之间自然数的打印,如下例所示:
#include
int main()
{
int x = 1; //定义变量x,初始值为1
while (x <= 4) // 循环条件
{
printf("x = %d", x);// 条件成立,打印x的值
x++; // x进行自增
}
return 0;
}
运行结果如图3-14所示:
例中,x的初始值为1,在满足循环条件x <= 4的情况下,循环体会重复执行,打印x的值并让x进行自增。因此打印结果中x的值分别为1、2、3、4。值得注意的是,例3-7中的第8行代码用于在每次循环时改变变量x的值,直到循环条件不成立,如果没有这行代码,整个循环会进入无限循环的'状态,永远不会结束。
do-while循环语句
do…while循环语句和while循环语句功能类似,二者的不同之处在于,while语句需要先判断循环条件,然后根据判断结果来决定是否执行大括号中的代码,而do…while循环语句先要执行一次大括号内的代码再判断循环条件,其具体语法格式如下:
do
{
执行语句
………
} while(循环条件);
在上面的语法格式中,关键字do后面 { } 中的执行语句是循环体。do…while循环语句将循环条件放在了循环体的后面。这也就意味着,循环体会无条件执行一次,然后再根据循环条件来决定是否继续执行。
do…while循环的执行流程如图所示:
接下来使用do…while循环语句将例3-7进行改写,如例所示。
#include
int main()
{
int x = 1; //定义变量x,初始值为1
do
{
printf("x = %d", x);// 条件成立,打印x的值
x++; // x进行自增
} while (x <= 4); // 循环条件
return 0;
}
运行结果如图所示:
两个例题的运行结果一致,这说明do …while循环和while循环能实现同样的功能。然而在程序运行过程中,这两种语句还是有差别的。如果循环条件在循环语句开始时就不成立,那么while循环的循环体一次都不会执行,而do…while循环的循环体还是会执行一次。若将例中的循环条件x<=4改为x < 1,后一个例子会打印x=1,而前一个例子则什么也不会打印。
-
计算机等级考试二级C语言笔试精选习题
应届毕业生考试网提供了计算机等级考试二级C语言笔试精选习题,帮助考生锻炼解题思路,加深理解知识点。更多资料访问yjbys计算机等级考试网。1、C语言程序的基本单位是____A)程序行B)语句C)函数D)字符、C、12、C语言程序的三种基本结构是____A、顺序结构,选择结构,...
-
2017年计算机二级C语言对C语言的深入探讨知识点
引导语:它的应用范围广泛,具备很强的数据处理能力。以下是本站小编分享给大家的2017年计算机二级C语言对C语言的深入探讨知识点,欢迎阅读!【考点1】编译预处理凡以#开头的这一行,都是编译预处理命令行,编译预处理不加分号,不占运行时间。宏替换仅是简单的文本替换,如#...
-
C语言选择结构
引导语:选择结构用于判断给定的条件,根据判断的结果判断某些条件,根据判断的结果来控制程序的流程。以下是本站小编分享给大家的C语言选择结构,帮助大家巩固C语言基础,欢迎阅读学习!1.1用if语句实现选择结构1.在C语言中,if语句有两种形式:形式1:if(表达式)语句形式2:if(...
-
2017年计算机二级C语言考前训练题及答案
计算机二级对于很多考生来说还是比较有难度的,那么怎样顺利通过二级考试呢?这就需要大家平时多练习和找方法了。以下是本站小编整理的2017年计算机二级C语言考前训练题及答案,希望对大家有帮助!考前训练题一1:第1题m个人的成绩存放在score数组中,请编写函数fun,它...