C语言while循环和do while循环
C语言中最基本的循环是while循环,它的用途是重复一段代码。while循环有一个控制表达式(特定条件),只要给定的表达式为真,就会执行。do...while 循环与 while 循环几乎相同,除了条件是在循环结束时而不是在开始时检查。因此,do-while 循环中的代码将始终至少执行一次,语法如下:
C语言while循环
句法:
while (condition)
{
statement(s);
}
在 while 循环中,首先测试条件(布尔表达式);如果为 false,则循环结束而不执行语句。如果条件为真,则执行语句,并且循环不断执行,直到条件为假。
如果只有一条语句,大括号可以省略;然而,最好始终包含大括号。
参见流程图:
一个简单的 While 循环
示例 -1
以下程序打印 n 个星号。
示例 - 2:
以下程序打印两个数字。
#include <stdio.h>
main()
{
int m = 5;
int n = 0;
while (m > n)
{
printf("m = %d n = %d\n",m,n );
m--;
n++;
}
}
输出:
m = 5 n = 0
m = 4 n = 1
m = 3 n = 2
解释
当 m 等于或小于 n 时,循环将终止,因此 m <= n 是 while 循环的终止条件。
循环已执行3次。
条件 m>n 已检查 4 次。
第一次:m = 5且n = 0,这次条件为真,因此执行循环。
第二次:m = 4,n = 1。条件再次为真,因此执行循环。
第三次:m = 3 且 n = 2。条件再次为真,因此执行循环。
第四次:m = 2 且 n = 3。现在条件为 false,因此不执行循环。
因此,这是程序中最后一次检查条件 m>n。
这是上面程序的流程图
C语言do while循环
操作顺序如下:
1.执行大括号内的代码
2. 检查条件(布尔表达式),如果为真,则转到步骤 1 并重复
3. 重复此操作,直到条件(布尔表达式)计算结果为 false。
参见流程图:
嵌套do while循环
下面的程序将打印出数字 1,2,…,n 的乘法表。外部 do-while 循环是负责迭代乘法表的行的循环。对于 colnm 的每个值,内部循环将打印 colnm 乘以 rownm 对应的行。这里我们在 printf() 函数中使用特殊的“\t”字符来获得清晰的输出。
#include <stdio.h>
main()
{
int rownm,nrow,colnm;
rownm=1;
colnm=1;
printf("Input number of rows for the table : ");
scanf("%d",&nrow);
do
{
colnm=1;
do
{
printf("%d\t",rownm*colnm);
colnm++;
}
while(colnm<=nrow);
rownm++;
printf("\n");
}
while(rownm<=nrow);
}
输出:
版权所属:SO JSON在线解析
原文地址:https://www.sojson.com/blog/519.html
转载时必须以链接形式注明原始出处及本声明。
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。