while循环
while作为循环语句的一种,可以执行循环
实例如下:
#include<stdio.h>
#include <stdlib.h>
//while
int main(){
int i = 0;
while(i < 30000){
printf("%d. I miss you \n", i + 1);
i++;
}
}
在while之后输入要循环的次数,30000次就输入30000,需求多少输入多少,演示如下:
此种称为循环变量,定一个变量i并进行循环,直至不再满足while循环条件则停止循环.
while死循环
while不止可以被条件限制循环次数,同样也能进行无限循环,也就是死循环。
while(1){
int year;
printf("\n请输入一个要判断的年份: ");
scanf("%d",&year);
if((year % 100 != 0 && year % 4 == 0)|| year % 400 == 0){
printf("%d 是闰年",year);
} else{
printf("%d 不是闰年\n",year);
}
}
可以在如上代码中看出,while的条件变成了1,也就是真条件,那么此时就会死循环判断年份,演示如下:
此时不能进行退出,只能主动将其关闭
而要实现关闭也很简单,只需要加入break语句
#include<stdio.h>
//两种循环
//while
//程序一直为true,程序一直进行.
int main(){
//int i = 0;
//while(i < 30000){
//printf("%d. I miss you \n", i + 1);
//i++;
//}
//死循环
//跳出循环使用break
while(1){
int year;
printf("\n请输入一个要判断的年份(0表示退出): ");
scanf("%d",&year);
if(year == 0) {
break;
}
if((year % 100 != 0 && year % 4 == 0)|| year % 400 == 0){
printf("%d 是闰年",year);
} else{
printf("%d 不是闰年\n",year);
}
}
printf("此次判断已结束进程,按任意键退出判断!");
}
break语句为终止效果,只需要再加入一个if语句进行判断,即可使其停止循环,效果如下:
同理:也会存在输入负数年份的情况,同样可以输入一个if语句判断如果输入负数年份则输出你输入的年份有误!
演示如下:
#include<stdio.h>
int main(){
while(1){
int year;
printf("\n请输入一个要判断的年份(0表示退出): ");
scanf("%d",&year);
if(year == 0) {
break;
}
if(year < 0){
printf("你输入的年份有误,请重新输入!\n");
}
else if((year % 100 != 0 && year % 4 == 0)|| year % 400 == 0){
printf("%d 是闰年",year);
} else{
printf("%d 不是闰年\n",year);
}
}
printf("此次判断已结束进程,按任意键退出判断!");
}
效果如下:
使用while循环进行累加
就像循环变量,定义一个变量并进行循环,直到满足条件则停止循环
求累加1 + 2 + 3 + ... + 100
演示如下:
#include<stdio.h>
//求累加 1 + 2 + 3 + 4 + 5
int main(){
int s = 0;
int i = 1;
while(i <= 100){
printf("%d \n", i);
s += i;
i++;
}
printf("%d \n", s);
}
演示如下:
练习: 求累加1 + 3 + 5 + ... + 99
#include<stdio.h>
//求累加 1 + 3 + 5 + ... + 99
int main(){
int s = 0;
int i = 1;
while(i < 100){
printf("%d \n", i);
s += i;
i += 2;
}
printf("%d \n", s);
}
效果如下:
练习: 求累加2 + 4 + 6 + ... + 100
#include<stdio.h>
//求累加 2 + 4 + 6 + ... + 100
int main(){
int s = 0;
int i = 2;
while(i <= 100){
printf("%d \n", i);
s += i;
i += 2;
}
printf("%d \n", s);
}
效果如下: