C语言的循环语句
C 语言 for循环
在编程中,循环用于重复代码块,直到满足指定条件为止。
C语言编程具有三种循环类型:
for 循环
while 循环
do… while 循环
for 循环(Loop)
for循环的语法为:
示例
for (initializationStatement; testExpression; updateStatement)
{
//循环体内的语句
}
for循环如何工作?
初始化语句(initializationStatement)仅执行一次。
然后,评估测试表达式(testExpression)。如果测试表达式(testExpression)的计算结果为false,则for循环终止。
但是,如果将测试表达式(testExpression)评估为true,则将for执行循环体内的语句,并更新update表达式(updateStatement)。
再次评估测试表达式(testExpression)。
这个过程一直进行到测试表达式(testExpression)为假。当测试表达式(testExpression)为false时,循环终止。
要了解有关测试表达式的更多信息(当测试表达式被评估为true和false时),请查看关系运算符和逻辑运算符。
示例:for循环
//打印从1到10的数字
#include <stdio.h>
int main() {
int i;
for (i = 1; i < 11; ++i)
{
printf("%d ", i);
}
return 0;
}
输出结果
1 2 3 4 5 6 7 8 9 10
i 初始化为1。
评估测试表达式i < 11。由于1小于11为true,因此for执行循环主体。这将在屏幕上打印1(i的值)。
并执行更新语句++i。现在,值i变为2。再次,评估测试表达式为true,并执行for循环的主体。这将在屏幕上打印2(i的值)。
同样,执行update语句++i 和评估测试表达式i < 11。此过程一直进行到i为11。
当i变为11时,i < 11将为false,并且for循环终止。
while循环
while循环的语法为:
示例
while (testExpression)
{
// 循环体中的语句
}
while循环如何工作?
while循环计算在括号内测试表达式(testExpression)。
如果测试表达式(testExpression)为true,则执行while循环体内的语句。然后,再次评估测试表达式(testExpression)。
该过程一直进行到测试表达式(testExpression)被评估为false为止。
如果测试表达式为假(false),则循环终止(结束)。
要了解有关测试表达式的更多信息(当测试表达式被评估为true和false时),请查看关系运算符和逻辑运算符。
示例:while循环
//打印从1到5的数字
#include <stdio.h>
int main()
{
int i = 1;
while (i <= 5)
{
printf("%d\n", i);
++i;
}
return 0;
}
输出结果
1
2
3
4
5
在这里,我们已初始化i为1。
当i为1时,测试表达式 i <= 5 为true。因此,while执行循环的主体。在屏幕上打印1,并将i其值增加到2。
现在i是2,测试表达式 i <= 5 再次为true。while循环主体将再次执行。在屏幕上打印2,并将i其值增加到3。
该过程一直进行到i为6时,此时测试表达式 i <= 5 为false,循环终止。
do… while 循环
do…while循环类似于while循环,但有一个重要区别。do…while循环主体至少执行一次。执行一次后,才对测试表达式求值。
do…while循环的语法为:
示例
do
{
//循环体内的语句
}
while (testExpression);
do… while循环如何工作?
do … while循环的主体执行一次。只有这样执行一次后,才对测试表达式求值。
如果测试表达式(testExpression)为true,则再次执行循环主体并评估测试表达式(testExpression)。
这个过程一直进行到测试表达式变为false。
如果测试表达式为false,则循环结束。
示例:do … while循环
//程序添加数字,直到用户输入零
#include <stdio.h>
int main()
{
double number, sum = 0;
//循环的主体至少执行一次
do
{
printf("输入一个数字: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("总和 = %.2lf",sum);
return 0;
}
输出结果
输入一个数字: 1.5
输入一个数字: 2.4
输入一个数字: -3.4
输入一个数字: 4.2
输入一个数字: 0
总和 = 4.70