- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.4 程序中的重复 Loop Iteration Repetition;
;通过与if语句的对比可准确理解while循环语句;(1)循环体可以是一个单语句,也可以是一个复合语句。如果不加{ }的话,系统只识别while下面的一个单语句为循环体。
(2)while中的表达式若为非0常量,则循环为无限循环;若为常量0,则循环体不会被执行。
(3)while的表达式中一般应含有变量,并且在循环体中有改变变量值的语句,使循环最终能够趋于结束。
(4)遇下列情况,退出while循环:
表达式不成立
循环体内执行break语句、return语句。
(5)while结构的循环是先判断条件再决定是否执行循环体,这就是所谓的“当型”循环。;【例3- 14】求 ;【例3- 15】计算一个正整数中各位数的和;main(){
int n, dsum=0;
printf(This program sums the digits in an integer.\n);
printf(Enter a positive integer: );
scanf(%d,n);
while(n0) {
dsum+=n%10; //将整数中的各位数字加入dsum
n/=10;
}
printf(The sum of the digits is %d,dsum);
getch();
};3.4.2 do-while循环结构(Do-While Repetition Structure);【例】s=1+2+3+…+100 用do-while语句可描述成:;实例1:字符的输入确认(Input Validation);实例1:字符的输入确认;实例2:数字的输入确认;3.4.2 for循环结构(for Repetition Structure);for语句等价形式的while语句:;【例3- 23】求s=1-1/2+1/3-1/4+ … +1/99-1/100。;【例3- 25】输出Fibonacci数列的前30项。;main(){
int f0=0,f1=1,f2,i;
printf(%8d%8d,f0,f1);
for(i=3;i=30;i++){
f2=f0+f1;
printf(%8d,f2);
if(i%6==0)
printf(\n);
f0=f1;
f1=f2;
}
getch();
};main(){
int f0=0, f1=1, i;
for(i=1;i=15;i++){
printf(%8d%8d, f0, f1);
if(i%3==0)
printf(\n);
f0+=f1;
f1+=f0;
}
getch();
};;[例] 梯形法求数值积分;main(){
float a,b,h,n1,n2,s=0;
int i;
printf(请输入积分下限a:);
scanf(%f,a);
printf(请输入积分上限b:);
scanf(%f,b);
h=(b-a)/1000;
for(i=0;i1000;i++){
n1=4-(a+i*h)*(a+i*h);
n2=4-(a+(i+1)*h)*(a+(i+1)*h); s+=(n1+n2)*h/2;
}
printf(s=%10.2f\n,s);
getch();
};牛顿迭代法(牛顿切线法)求解;[例] 给定α,用牛顿迭代法求 x= ;取变量 x=0,x1=1为初值,f,f1为f(x)和f’(x)
a为输入;循环中几种常见的变量 ;* for语句中浮点型数据的使用问题;3.4.4 break和continue语句;main(){
int i;
for(i=1;i=5;i++){
printf(\n%5d,i);
if(i==3)
continue;
printf(%5d,i);
}
getch();
}
运行后输出:;【例3- 29】输出显示1~20中不是3倍数的整数;3.4.5 多重循环结构(Nested Loops);关于嵌套循环结构的几点说明:;【例3- 31】利用循环结构编程,在屏幕的第21列处显示下列图案。;for(i=1;i=5;i++){
for(j=1;ji;j++)
printf( ); }
for(j=1;j=5-i+1;j++){
printf( * );
printf(\n“); };用循环语句编程,如何显示下列两个图案?;【例】试编写一个程序,输出以下形式的乘法表;【例3
原创力文档


文档评论(0)