本章分支结构的学习内容如下:
三、C语言中的分支与循环—switch语句(4)分支结构 完
本章循环结构的学习内容如下:
三、C语言中的分支与循环—break和continue语句(8)循环结构 完
1.基本语法
do while循环是一种后测试循环结构,在C语言中用于在至少执行一次循环体后,根据一个条件来决定是否继续循环。这与do while循环不同,后者是一种先测试循环结构,在执行循环体之前就检查条件。
在循环语句中
do while
语句的使⽤最少,它的语法如下:
do {
// 循环体:在这里编写要重复执行的代码
} while (条件表达式);
while
和
for
这两种循环都是先判断,条件如果满足就进入循环,执行循环语句,如果不满足就跳
出循环;
而
do while
循环则是先直接进⼊循环体,执⾏循环语句,然后再执行
while
后的判断表达式,表
达式为真,就会进行下⼀次,表达式为假,则不再继续循环。
在
do while
语句中循环体是至少执行一次的,这是
do while
循环比较特殊的地⽅。
2.代码示例
在屏幕上打印1~10的值
#include<stdio.h>
int main()
{
int i = 1;
do {
printf("%d\n", i);
i++;
} while (i <= 10);
return 0;
}
3.代码练习
输⼊⼀个正整数,计算这个整数是几位数?例如:输⼊:1234 输出:4输⼊:12 输出:2
解题思路:
-
- 循环开始执行时,
num
被除以 10 (num /= 10;
)。这个操作去掉了num
的最后一位数字。 - 每执行一次除法操作,计数器
i
就增加 1 (i++;
)。 - 这个
do-while
循环会一直执行,直到num
不再大于 0 (while (num > 0);
)。
- 循环开始执行时,
整数除以 10 会去掉其最低位。例如,如果 num
是 123,第一次 num /= 10
后,num
变为 12。这个过程重复进行,直到 num
降到 0,此时的循环次数 i
就是原始数 num
的位数。
#include<stdio.h>
int main()
{
int i = 0;
int num = 0;
scanf("%d", &num);
do {
num /= 10;
i++;
} while (num > 0);
printf("%d", i);
return 0;
}