在本教程中,您将在示例的帮助下学习在C语言编程中创建while和do ... while循环。
在编程中,循环用于重复代码块,直到满足指定条件为止。
C语言编程具有三种类型的循环。
while循环
do... while循环
在上一教程中,我们了解了for循环。在本教程中,我们将学习while和do..while循环。
while循环的语法为:
while (testExpression) { // 循环体中的语句 }
while循环计算在括号内测试表达式(testExpression)。
如果测试表达式(testExpression)为true,则执行while循环体内的语句。然后,再次评估测试表达式(testExpression)。
该过程一直进行到测试表达式(testExpression)被评估为false为止。
如果测试表达式为假(false),则循环终止(结束)。
要了解有关测试表达式的更多信息(当测试表达式被评估为true和false时),请查看关系运算符和逻辑运算符。
//打印从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循环类似于while循环,但有一个重要区别。do...while循环主体至少执行一次。执行一次后,才对测试表达式求值。
do...while循环的语法为:
do { //循环体内的语句 } while (testExpression);
do ... while循环的主体执行一次。只有这样执行一次后,才对测试表达式求值。
如果测试表达式(testExpression)为true,则再次执行循环主体并评估测试表达式(testExpression)。
这个过程一直进行到测试表达式变为false。
如果测试表达式为false,则循环结束。
//程序添加数字,直到用户输入零 #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