循环语句
1.while和do-while
2.contine 语句和break语句
3.for循环
4.循环的嵌套
1.while(表达式)循环体
【例子1】输出10*
k = 10;
while(k<10)
{
printf(" * ");
k++;
}
2.do循环体 whlie(表达式);
【例子2】输出10*
k = 10
do
{
printf(" * ");
k++;
}while(k<10);
3.while和do-while区别
while(表达式)循环体
do循环体 whlie(表达式);
1.可以相互转换
2.do- while至少循环一次
while不满足条件不循环
【例子3】累加和累成
1+2+3+4+…+n,n为100
#include<stdio.h>
int main()
{
int n = 1,sum = 0;//初始化
while(n<=100)
{
sum = sum + n;
n++;
}
printf("sum = %d\n",sum);
}
【例子4】正负号处理
1-2+3-4…n,n为100
#include<stdio.h>
int main()
{
int n = 1,sum = 0;//初始化
i =1;//正负号
while(n<=100)
{
sum = sum + i*n;
n++;
i = -i;
}
printf("sum = %d\n",sum);
}
【例子5】小数的处理
1-1/2+1/3…1/n,n为100
#include<stdio.h>
int main()
{
int n = 1;
double sum = 0。0;//初始化,浮点数为0
i =1;//正负号
while(n<=100)
{
sum = sum + i*(1.0/n);//此处不可为1
n++;
i = -i;
}
printf("sum = %d\n",sum);
}
【例子6】
π/4 = 1-1/3+1/5-1/7…, ·求π近似值(最后一项绝对值小于10-6次方)
[fabs()取绝对值]
#include<stdio.h>
#include<math.h>
main()
{
double pi = 0;
while(fabs(1.0/n)>1e-6)
{
pi = pi + 1*(1.0/n);
n = n+2;
i = -1;
}
printf("π的近似值:%if",pi)
}
【例子7】斐波那契序列问题
0.1.1.2.3.5.8…fn
#include<stdio.h>
main()
{
int f1 = 0,f2 =1;
while(f2<=1000)
{
f = f1 + f2;
f1 =f2;
f2 = f;
}
printf("输出fn(>1000 )= %d/n",f2)
}
4.for语句循环
for(表达式1;表达式2;表达式3)
【例子1】输出10*
for(k = 0;k<10;k++)
{
printf(" * ");
}
【例子2】判断质数
能和被1和自身整除的数
2为最小质数
求2-100以内的质数
#include(stdio.h)
main()
{
int i = 2;
for(i = 2;i<=100;i ++)
{
int tag = 0;//标志位
for(k = 2;k < i;k++)
{
if(i%k==0) tag=1;
}
if(tag==0) printf("%d",i);
}
}
5.break和continue区别
1.break跳出switch,往下继续循环
2.continue结束本次循环,继续下次循环