for循环
for(;;){}
while语句 先判断表达式后执行
do-while语句 先执行语句后判断表达式
goto语句 实现程序转跳(尽量少使用)
break语句和continue语句的区别
break语句用于跳出本层循环
continue用于结束本次循环
for(初始语句;循环条件;步进条件)
{
//循环语句;
}
//初始语句:只在循环开始时执行一次
//循环条件:每次循环都要执行 如果循环条件为真 进入循环体,如果为假 退出循环
//步进条件:每次循环结束的时候 要执行的语句
案例:
求1~100的和
#include<stdio.h>
void test01()
{
int sum = 0;
int i = 0;
for(i = 1;i <= 100;i++)
{
sum = sum +i;
}
printf("sum = %d\n",sum);//5050
}
int main(int argc,char *argv[])
{
test01();
return 0;
}
案例:
#include<stdio.h>
void test02()
{
int sum = 0;
//1+2+3+4+.....+100
int i = 0;
//如果变量 提前初始化了, for循环的初始化语句 可以省略
for(;;)//建议别这么做
{
//如果for省略掉 循环条件 必须在循环语句中实现 退出循环的条件
if(i > 100)
{
break;//跳出循环
}
sum = sum +i;
i++;//如果for循环省略步进条件 必须在循环语句中实现步进动作
}
printf("sum = %d\n",sum);//5050
}
int main(int argc,char *argv[])
{
test02();
return 0;
}
案例:
void test03()
{
for(;;)
{
for(;;)
{
break;//只能跳出离他最近的一层循环
}
}
}
continue案例:
#include<stdio.h>
void test04()
{
int i=0;
int sum = 0;
for(i=1;i<=100;i++)
{
if(i==50)
continue;//结束本次循环 立即从当前位置直接进入下一次循环
sum += i;
}
printf("sum = %d\n",sum);//5000 仅仅是少加了一个50
}
int main(int argc,char *argv[])
{
test04();
return 0;
}
作业1:求出0~100的所有偶数的和
#include<stdio.h>
void test05()
{
int i = 0;
int sum = 0;
for(;i<=100;i=i+2)
{
sum = sum + i;
}
printf("sum = %d\n",sum); //2550
}
int main(int argc,char *argv[])
{
test05();
return 0;
}
作业2:求出1~100中能被7整除的数
#include<stdio.h>
void test06()
{
int i = 1;
for(;i<=100;i++)
{
if(i%7 == 0)
{
printf("%d\n",i);
}
}
}
int main(int argc,char *argv[])
{
test06();
return 0;
}
嵌套循环,问:会输出一次?
void test07()
{
int i = 0;
int j = 0;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
printf("i = %d, j = %d\n",i,j);//会输出100次
}
}
}
int main(int argc,char *argv[])
{
test07();
return 0;
}
|