C语言中的两种循环
while循环
while循环打印10次我爱你
循环就是可以重复同一件事情
代码:
#include<stdio.h>
int main()
{
int data=0;//控制循环条件的变量,变量初始值最好是0
while(data<10)//while括号里面的条件只要一直满足就会执行直到条件不满足
{
printf("data=%d\n",data);
printf("我爱你\n");
data++;//data=data+1的简便写法
}
return 0;
}
运行结果:
whlie循环的流程图
理解上面代码的流程图,理解while是怎么回事
while循环的练习1-100之间的数相加的和是多少
- 要进行100次循环
- 一个初始值为0的变量,用来存放最终的结果
- 一个循环条件
代码:
#include<stdio.h>
int main()
{
int data=0;//控制循环次数的变量
int sum=0;//用来计算1-100之间和的变量
while(data<=100)
{
sum=sum+data;//从0开始计算一直加data的值
data++;//改变data的值从0直到100
}
printf("1-100之间的和是%d\n",sum);
return 0;
}
运行结果:
do while循环
就是先执行里面的代码,然后判读是否满足条件,满足就会继续执行里面的东西,不满足就是执行一次
先执行后判断
代码:
#include<stdio.h>
int main()
{
int data=0;
do{//先执行
puts("this is data\n");
data--;
}while(data!=0);//后判断
return 0;
}
上面代码是用do while写了一个死循环
想要执行一次就把data的变量改成1就好了
运行结果:
for循环的使用
for循环和while循环差不多,while循环的控制语句是分开写的,for是写在了一起
代码:
#include<stdio.h>
int main()
{
//for循环的使用
int data;
// 条件初始值;条件临界值;条件改变
for(data=0;data<10;data++)
{
puts("我爱你");
printf("data=%d\n",data);
}
return 0;
}
运行结果:
循环中的continue和break
break的就是直接停止全部循环
例子:捐款100000万元,一共是100个人捐款,如果捐款数到了100000停止捐款
代码:
int main()
{
//break结束所有循环
//捐款10万元,1-100人进行捐款,到了10万元退出循环
int human;//捐款的人数
int money=0;//捐款的总数
int danjia;//每个人捐款多少钱
for(human=1;human<=100;human++)//一共是100个人进行捐款,循环100次
{
puts("请问你捐款多少钱");
scanf("%d",&danjia);
money=money+danjia;//计算总共捐款多少钱
if(money>=100000)
{
puts("捐款到了100000元");
break;//直接退出整个循环
}
}
printf("一共捐款是%d\n",money);
printf("平均每个人捐款是%.2f\n",(float)money/human);//强制专换成为小数
return 0;
}
运行结果:3次循环捐款就到了100000万,直接退出循环
continue是提前结束单次循环
例子:找到100-200之间不能被3整除的数
#include<stdio.h>
int main()
{
//100-200之间不被三整除的数
int data;
for(data=100;data<=200;data++)
{
if(data%3==0)//data%3是取余数的意思
{
continue;//如果满足==0就直接提前结束本次循环,直接进行下次循环
}
printf("%d\t",data);
}
return 0;
}
运行结果:
for循环的嵌套
就是在循环里面加入新的循环,和if里面的嵌套差不多
代码:
#include<stdio.h>
int main()
{
int i;
int j;//控制循环的条件
int data=0;//初始化data的值
for(i=0;i<5;i++)
{
for(j=0;j<3;j++)
{
data++;
printf("%d\t",data);
printf("i=%d,j=%d\n",i,j);
}
}
return 0;
}
运行结果:一共是循环了15次,外面i循环3次,每次i循环里面的j循环5次,
练习输出一个4x5的矩阵
代码:
#include<stdio.h>
int main()
{
int i;
int j;
int data=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
printf("%d\t",i*j);
}
printf("\n");
}
return 0;
}
运行结果: