- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章循环结构-27
第六章 循环型程序设计
6.1概述
C语言可实现循环的语句:
用goto 和 if 构成循环——不要求
while 语句
do ~ while 语句
for 语句
6.2goto语句及用goto构成循环,不提倡
一般格式:
goto 语句标号;
….…..
标号:语句; ;6.3 while语句 记忆:先判条件,执行循环体一次,再判条件。不满足退出。关键:条件为非0;特点:先判断表达式,后执行循环体
说明:
循环体有可能一次也不执行
循环体可为任意类型语句
下列情况,退出while循环
条件表达式不成立(为零)
循环体内遇break,return,goto
无限循环: while(1)
循环体;
求1+2+3…+100=?
;P114例6.2 用while循环求 ;例 显示1~10的平方;6.4 do~while语句
一般形式:
;特点:先执行循环体,后判断表达式
说明:
至少执行一次循环体
do~while可转化成while结构;P115例6.3 用do~while循环求 ;P117例6.4 while和do~while比较;6.5 for语句
一般形式:;for语句一般应用形式:
;例:#includestdio.h
main( )
{ int i=0;
for(i=0;i10;i++)
putchar(‘a’+i);
};main()
{ int i,j,k;
for(i=0,j=100;i=j;i++,j--)
{ k=i+j;
printf(%d+%d=%d\n,i,j,k);
}
};6.6 循环的嵌套
三种循环可互相嵌套,层数不限
外层循环可包含两个以上内循环,但不能相互交叉
嵌套循环的执行流程
嵌套循环的跳转
禁止:
从外层跳入内层
跳入同层的另一循环
向上跳转
如:
for(i=1;i10;i++)
for(j=1;j10;j++)
{
第一句;
第二句;
};例 循环嵌套,输出九九表;i10; ;;expr2;例 break举例:输出圆面积,面积大于100时停止;例 break举例:小写字母转换成大写字母,直至输入非字母字符;continue语句
功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断
仅用于循环语句中;例 求输入的十个整数中正数的个数及其平均值
main()
{ int i,num=0,a;
float sum=0;
for(i=0;i10;i++)
{ scanf(%d,a);
if(a=0) continue;
num++;
sum+=a;
}
printf(%d plus integers sum :%6.0f\n,num,sum);
printf(Mean value:%6.2f\n,sum/num);
}
sum、num、a之间运算的原理是什么?;程序举例
;P125例6.7 求Fibonacci数列:1,1,2,3,5,8,……的前10个数;P127例6.9求100以内素数
main()
{int m,k,i,j=0;clrscr();
for(m=1;m=100;m+=2)
{k=m;
for(i=2;i=k;i++)
if(m%i==0)
break;
if (i=k)
{printf(%d ,m);j++;}
}
printf(\n%d,j);}
1 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97;P128例6.10译密码China!
main()
{char c;clrscr();
while((c=getchar())!=\n)
{if((c=ac=z)||(c=Ac=Z))
{c=c+4;
if(c=Zc=Z+4||c=z)
c=c-26;}
printf(%c,c);
}
printf(\n);
sleep(3);
}
输入China!
输出Glmre!;记忆要点
原创力文档


文档评论(0)