编程⽤for和while语句编写10以内相加的c语⾔程序,C语⾔循环
结构程序设计
内容详解
while语句
do—while语句
for语句
循环嵌套
break和continue语句
实例展⽰
热⾝⼩练:打印6⾏6列的 “ * ”矩阵,两个“ * ”之间⽤空格隔开
#include
int main()
{
for(int i=1;i<=6;i++)
{
for(int j=1;j<=6;j++)
{
printf("* ");
}
printf("\n");
}
return 0;
}
while语句
解释说明:
①while语句可以是单语句,也可以是复合语句
②循环体中应有使循环趋于结束的语句
举个栗⼦:求解前100项和
#include
int main()
{
int i = 1; //设置循环初值
int sum = 0;
while(i<=100)
{
sum+=i; //循环主体,累加求和
i++; //修改循环的控制变量
}
printf("前100项和为:%d",sum);
return 0;
}
注意点:
while语句的作⽤范围
循环体如果包含⼀个以上的语句,应当⽤花括号括起来作为复合语句,否则while循环体的作⽤范围只到while后⾯的第⼀个分号处。例如:
while(a>1);
{a++
}
复合语句{a++;}不是循环体,while(a>1);后的分号所代表的空语句才是这⾥的循环体内嵌语句。
算法实例:
1.求解300~800之间7的倍数和
#include
int main()
{
int num = 300; //循环初值
int sum = 0;
while(num<=800)
{
if(num%7==0) //筛选7的倍数
{
sum+=num; //对筛选的数据进⾏求和
}
num++; //修改循环变量
}
printf("300~800间7的倍数和为:%d",sum);
return 0;
}
2.依次输⼊⼀批正数,并求所有输⼊的正数之和,当输⼊负数或0时结束。#include
int main()
{
float num,sum = 0.0;
scanf("%f",&num);
while(num>0.0)
{
sum+=num;
scanf("%f",&num);
}
printf("这批正数的和为:%f",sum);
return 0;
}
do—while语句
解释说明:
①do—while先执⾏循环体,后判断循环条件
②do—while作为⼀个整体,while后必须加“;”
栗⼦依旧:求解前100项和
#include
int main()
{
int i = 1;
int sum = 0;
do
{
sum+=i;
i++;
}while(i<=100);
printf("前100项和为:%d",sum);
return 0;
}
1.依次输⼊⼀批正数,并求所有输⼊的正数之和,当输⼊负数或0时结束。
#include
int main()
{
float num,sum = 0.0;
do
{
scanf("%f",&num);
sum+=num;
}while(num>=0.0);
printf("这批正数的和为:%f",sum);
return 0;
}
2.
#include
#include
int main()
{
float t,pi,n,s;
t=1;pi=0;n=1.0;s=1;
do
{
pi = pi+t;
n+=2;
s=-s; //符号位,正负号变换
t=s*1./n;
}while((fabs(t))>1e-6); //fabs(t)为绝对值函数pi=pi*4;
printf("pi=%f\n",pi);
c语言斐波那契数列
return 0;
}
for语句
解释说明:
⽹罗到的新栗⼦:
#include
#include
int main()
{
int a,s,k;
scanf("%d",&a);
s = 0;
for(k=1;k<=100;k++)
{
s+=(k+a);
}
if(s>0)
printf("s=%d\n",sqrt(s));
else
printf("s=0\n");
}
2.打印斐波那契数列:1,1,2,3,5,8····的前20个数,并按每⾏打印5个数的格式输出#include
int main()
{
int f1 = 1,f2 = 1,f3;
printf("%d %d ",f1,f2);
for(int i = 3;i <= 20;i++)
{
f3 = f1+f2;