- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 循环结构;6.1 概述 ;6.2 while语句 ;2.举例应用;加数使用,也作为循环变量,其取值范围是1到100。对于每个i值,要进行一次sum=sum+i的计算。如,当i=1时,sum=0+1=1;当i=2时,sum=1+2=3;当i=3时,sum=3+3=5;……依此类推下去,就可以得到结果sum 。;例 6.2 将输入的一串字符显示在屏幕上,遇到字符“$”时停止。 ;6.3 do while语句 ;个;的语句)或复合语句,如果是复合语句,则必须括在{}之中。
3) do-while作为一个语句,必须以分号(;)结束,所以在while(表达式)后一定要有分号。
(2)、执行顺序:
执行“循环体语句”,计算表达式的值,如果表达式的值非零(真),继续执行“循环体语句”,直到表达式的值为零(假),循环结束。程序结构流程图如图 :
;例 6.3 用do while语句求s=1+2+3+....+100 ;例 6.4 计算sin(x)= ,直到最后一项的绝对值小10-7。;scanf(%lf,x);
t=x;
n=1;
s=x;
do
{
n=n+2;
t=t*(-x*x)/((n-1)*n);
s=s+t;
} while (fabs(t)=1e-7);
printf(sin(%lf)=%lf,x,s);
}
运行结果如下:
please input x:1.5753
sin(1.575300)=0.999990;2. do while与while语句的区别 ;putchar(c=getchar());
} while (c!=$);
}
但是,若将上例的do while语句写成:
do
putchar(c=getchar());
while (c!=$);
容易产生歧义和误解。 ;例6.5 求平均值的错误程序。
#include stdio.h
void main()
{
int sum,i,a;
sum=0;
i=0;
do
{
scanf(%d,a);
sum=sum+a;
i++;
} while (a!=-1);
printf(aver=%f\n,1.0*sum/i);
} ;6.4 for 语句;例 6.6 用for语句求s=1+2+3+....+n ;for 循环使用说明:;如:for(i=1,sum=0;i=100;sum+=i,i++) ;
(3)表达式2一般是关系表达式(如i=100)或逻辑表达式(如ab xy),但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。
如:for(i=0;(c=getchar())!=\n;i+=c);
在表达式2中先从终端接收一个字符赋给c,然后判断此赋值表达式的值是否不等于‘\n’(回车换行符),如果不等于‘\n’,就执行循环体。
又如:for( ;(c=getchar())!=\n;)
printf(%c,c);
只有表达式2,而无表达式1和表达式3。其作用是每读入一个字符后立即输出该字符,直到输入一个“换行”为止。 ;例 6.8 求Fibonacci数列的前40个数。该数列的生成方法为:F1=1,F2=1,Fn=Fn-1+Fn-2(n=3),即从第3个数开始,每个数等于前2个数之和。这是一个有趣的古典数学问题:有一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假设所有兔子都不死,问每个月的兔子总数为多少?;程序流程如图 :;例 6.9求s=aa…aa-a…a-…-aa-a,即第一项由n个a组成,第二项由n-1个a组成,依次类推,最后一项为a,a为1~9的任一数。例如:当n=4,a=2,则表达式:s=2222-222-22-2。 ;源代码如下:;6.5 循环嵌套 ;例 6.10输出10~100之间的全部素数。 ;源程序如下:
#include stdio.h
#include math.h
void main(){int i=11, j, counter=0,k,flag;
for( ; i=100; i+=2)
{ k=sqrt(i);flag=1;
for(j=2; j=kflag; j++)
if(i%j= =0)
flag=0;
if(counter%10= =0)
printf(“\n”);
if( flag )
{ printf(“%
您可能关注的文档
- 草籽娃娃案例分析.pptx
- 单手肩上投篮PPT课件.pptx
- 第七章 气敏传感器(应加快离子导体).pptx
- 创伤评分系统.pptx
- 非谓语之With+宾语+宾补结构.pptx
- 常用仪器课件.pptx
- 超市营采数字化经营报表解析-梅老师.pptx
- 胆道疾病的特殊检.pptx
- 大学语文与人文精神.pptx
- 测量滑轮组机械效率.pptx
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)