概述:
C语言语句可以分为一下五大类:
1.表达式语句 2.控制语句
3.函数调用语句 4.复合语句
5.空语句
控制语句包括以下三大类:
1.条件判断语句,也叫分支语句,包括 if 语句,switch 语句;
2.循环执行语句,包括 while 语句,do while 语句,for语句;
3.转向语句,包括 break 语句,goto 语句,continue 语句,return 语句;
这里我们主要学习控制语句中的循环执行语句。
一.while循环语句:
下图是while循环流程
循环变量初始化后进行循环判断,判断为真后,执行循环体,再回到循环判断步骤,若判断为假,跳过循环体,跳出循环。
示例:
#include<stdio.h>
int main()
{
int a = 5;
while (a)
{
printf("%2d", a);
a--;
}
return 0;
}
声明变量 a 并初始化为5,然后进行循环判断,判断表达式为 a ,因为 a 的值为5,不等于零为真,进入循环并执行循环体,打印a的值并 使a自减 ,结束后返回循环判断,此时a的值为4,再次进入循环并执行循环体,往复循环,直到a自减到0 。
代码执行结果如上图。
注:要注意循环判断的改变,调整循环次数,防止发生死循环。
二. do while 循环语句:
由图可知,while 循环与 do while 循环的差距是:循环变量初始化后,do while首先进入循环体,再进行循环判断,而 while 首先进入判断,再进入循环体。
示例:
#include<stdio.h>
int main()
{
int a = 5;
do
{
printf("%2d", a);
} while (a--);
return 0;
}
此代码中,先声明变量 a ,并赋值为 5 ,进入首先循环体,再进行判断,继续循环。
结果如下:
三.for循环语句
对于上述两种循环,我们不难看出,循环变量的声明在循环外,而循环变量的判断在循环的开头或者末尾,循环变量的改变在循环体中,分散的很开,这不利于我们写较长的代码。而for循环完美的解决了这个问题。
for循环流程如下所示:
对比while循环的流程,这里循环变量的声明可以在循环内执行。
#include<stdio.h>
int main()
{
for (int i = 0; i < 10; i++)
{
printf("%2d", i);
}
return 0;
}
不难看出for 后三个表达式分别是 循环变量的声明, 循环判断, 循环变量的变化。
代码结果是:
注:for循环不强制在循环中声明、初始化循环变量,并且的初始化部分、判断部分、调整部分都是可以省略的。