二 循环
while 循环
循环语句可以在满足条件时,不断地重复执行一些动作。
重复执行的语句(循环语句)可以多次执行其他语句,它检查一个逻辑条件是否满足,只在满足的时候执行它的循环体。
while语句是一个循环语句
判断一个条件是否满足
条件满足 ---------------执行后面紧跟着的语句或语句括号
再次判断条件是否满足
条件满足则再次执行---------------执行后面紧跟着的语句或语句括号
直到条件不满足为止。后面紧跟的语句或语句括号,就是循环体。
do-while循环和while循环很像,唯一的区别是我们在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环。
整数的位数
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int x=0;
int n = 0;
scanf("%d", &x);
n++;
x /= 10;
while (x > 0) {
n++;
x /= 10;
}
printf("%d\n", n);
return 0;
}
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int x=0;
int n = 0;
//scanf("%d", &x);
x = 100;
while (x > 0) {
n++;
x /= 10;
printf("x=%d,n=%d\n", x,n);
}
printf("%d\n", n);
return 0;
}
循环体内要有改变条件的语句
do-while循环
\#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int x = 0;
scanf("%d", &x);
int n = 0;
do {
x /= 10;
n ++;
printf("x=%d,n=%d\n", x, n);
} while (x > 0); //此处有分号
printf("%d", n);
return 0;
}
for循环
(初始条件 ;循环继续条件 ;循环每一轮要做的动作)
int main()
{
int n;
scanf("%d", &n);
int fact = 1;
int i = 1;
//i = 1 初始条件
//i <= n 循环继续条件
//i++ 循环每一轮要做的动作
for (i = 1; i <= n; i++) {
fact *= i;//fact=fact*i
printf("i=%d\n", i);
printf("fact=%d\n", fact);
}
printf("%d!=%d\n", n, fact);
return 0;
}
n=4时
求和 结果的变量应该初始化为0
求积 结果的变量应该初始化为1
固定次数 用for
执行一次 用 do while
其他情况 用while