概述
C语言学习笔记——循环结构
1.求1+2+3+…+100
#include<stdio.h>
int main()
{
int i=1,sum=0; //定义变量i的初值为1,sum的初值为0
while(i<=100) //当i>100,条件表达式i<=100的值为假,不执行循环体
{ //循环体开始
sum=sum+i; //第1次累加后,sum的值为1
i++; //加完后,i的值加1,为下次累加做准备
} //循环体结束
printf("sum=%dn",sum); //输出1+2+3…+100的累加和
return 0;
}
1.1 while语句:只要当循环条件表达式为真(即给定的条件成立),就执行循环体语句。
(1) 循环体如果包含一个以上的语句,应该用花括号括起来,作为复合语句出现。
(2) 不要忽略给i和sum赋初值,否则它们的值是不可预测的,结果显然不正确。
(3) 在循环体中应有使循环趋向于结束的语句。如本例中的“i++;”语句。如果无此语句,则i的值始终不改变,循环永远不结束。
#include <stdio.h>
int main()
{
int i=1,sum=0;
do
{
sum=sum+i;
i++;
}while(i<=100);
printf("sum=%dn",sum);
return 0;
}
1.2 do while语句:do…while语句的特点是,先无条件地执行循环体,然后判断循环条件是否成立。
在一般情况下,用while语句和用do…while语句处理同一问题时,若二者的循环体部分是一样的,那么结果也一样。
但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。当条件一开始为假时,while语句一次也不执行,do while语句至少执行一次
#include <stdio.h>
int main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("%d",sum);
}
1.3 for语句——
格式:for(表达式1;表达式2;表达式3)
其中,三个表达式皆可省略,但分号不可省略,表达式1用于对循环变量赋初值,表达式1只执行一次;表达式2为循环条件表达式;表达式3一般用于使循环正常结束,也可以存放循环中所有的操作。
1.4 循环的嵌套
- 计算 1+1/2-1/3+1/4-1/5+1/6-……+1/n
#include <stdio.h>
main()
{
double i,n;
scanf("%lf",&n);
double sum=1;
int flag=1;
for(i=2;i<=n;i++)
{
sum=sum+1/i*flag;
flag=-flag;
}
printf("%.3lf",sum);//保留三位小数输出
}
- 奇偶归一猜想
——对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。 如n = 11,得序列:11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1。(步骤中最大数是52)
题目:输入正整数n,求这个n归一过程中的最大值。
#include <stdio.h>
main()
{
int i,n,max=1;
scanf("%d",&n);
for(i=n;i>1;)
{
if(i%2==0)
i=i/2;
else if(i%2!=0)
i=i*3+1;
if(i>max)
{max=i;}
}
printf("%d",max);
}
- 有一分数序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13 …
求出这个数列的前n项之和,保留两位小数。
#include <stdio.h>
main()
{
int n,i;
double a=1,b=2,c,sum=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
sum=sum+b/a;
c=b;
b=a+b;
a=c;
}
printf("%.2f",sum);
}
最后
以上就是简单羊为你收集整理的Lawliet|C语言学习笔记5——循环结构的全部内容,希望文章能够帮你解决Lawliet|C语言学习笔记5——循环结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复