-
C语言的while循环
-
一般形式
while ( 条 件 )
{
<循环体>
}
-
形式例解
- 当条件为真,则执行下面的循环体;循环体里包含了迭代量的更,语句执行完之后再判断表达式是否为真,如果为真,再次执行下面的语句;然后再判断表达式是否为真……就这样一直循环下去,直到表达式为假,跳出循环。当然也可以是break跳出循环。
- 条件的形式:既可以是一个非零的数字,也可以是个表达式。其实常量也是一个表达式。一定要注意条件的判断,不能缺少迭代量的更新。
-
例子学习
C语言
//打印直角三角形,使用while循环
#include<stido.h>
#include<stdlib.h>
void main(){
int k = 1;
int j = 1;
while(k<=j){
printf("*");
while(j<=5){
printf(" ");
j++;
}
k++;
}
system("pause");
}
//C语言
//示例
#include<stdio.h>
#include<stdlib.h>
void main(){
while(1){
printf("C语言");
break;
}
system("pause");
}
//只会打印一次
-
while循环的另一种形式——do while
do {
循环体
}while(条件);
do while的运用目前较少,所以多补充和完善了while的例子
//C语言
#include <stdio.h>
int main()
{
int i = 10;
do
{
printf("%d\n", i);
}while(i<10);
return 0;
}
- while的例子补充
- //求任意一个数的阶乘。注意!!阶乘的递增可能产生溢出
//c语言
#include<stdio.h>
#include<stdlib.h>
void factor(int num) {
int i = 1;
int fac=1;
while(i<=num) {
fac*= i;
i++;
}
printf("%d的阶乘是:%d\n",num,fac);
}
void main() {
int number;
printf("请输入一个数:");
scanf_s("%d",&number);
factor(number);
system("pause");
}
- //num的阶乘之和计算;需要计算小于num的数的阶乘;然后相加
//C语言
#include<stdio.h>
#include<stdlib.h>
void sum(int num) {
int sum = 0;
int i = 1;
while (i <= num) {
int j=1;
int fac = 1;
while(j<=i){
fac *= j;
j++;
}
sum += fac;
i++;
}
printf("%d的阶乘之和是:%d\n",num,sum);
}
void main() {
int number = 0;
printf("请输入一个数:");
scanf_s("%d",&number);
sum(number);
system("pause");
}