- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c语言日学课——循环控制
1.1 概述 5 s. G; t _7 M什么是循环? + o- }) N f. H% Z为什么要使用循环? . ~5 P8 c( V+ J# o问题1: 5 L* R0 E# ]( o, r??A) \??Z u7 w# u问题2:求学生平均成绩??分数相加后除以课数 + {. o$ \) n V1 `( N在许多问题中需要用到循环控制。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。 3 L* v( A# C% j2 j/ _1.2goto语句以及用goto语句构成循环 ! R# W0 W9 f ^3 K; u3 j6 V??goto语句为无条件转向语句,它的一般形式为goto 语句标号; 语句标号用标识符表示,它的定名规则与变量名相同,即由字母、数字和下划线组成,其第一个字符必须为字母或下划线。 . n$ Z* Y W. j( i( I \6 f5 ]例如:goto??label_1; 合法; 8 ]; Q C3 A+ V; H* x? ???goto??123;? ? 不合法. ! p0 U5 l4 P2 _4 j4 g结构化程序设计方法主张限制使用goto语句,因为滥用goto语句将使程序流程无规律、可读性差.一般来说,可以有两种用途: $ I4 P5 Y( Q% S% `1 f(1) 与if语句一起构成循环结构; ( d- x# T `* Z??G9 A; j, o(2) 从循环体中跳转到循环体外。 0 O2 l: ?% P1 E# _* g??O? ? 但是这种用法不符合结构化原则,一般不宜采用,只有在不得已时(例如能大大提高效率)才使用. 4 e5 m, X6 g- U/ y例1.1??用if语句和goto语句构成循环,求1到100的和
void main( )
{? ?? ?
? ???int i, sum=0;
? ???i=1;
? ???loop:? ?
? ?? ? if(i=100)
? ?? ? { sum=sum+i;
? ?? ?? ? i++;
? ?? ?? ?goto loop;
? ?? ? }
? ???printf(%d\\n″,sum);
}
复制代码
运行结果:5050 ( J+ S. y A9 }/ f4 _/ N说明:这里用的是“当型”循环结构,当满足“i=100” 时执行花括弧内的循环体。 1 B4 r: I6 A??a U u1.3??用while语句实现循环 v8 v6 i7 b R3 S* ~5 C K1 e Z6 t9 f( M7 q( v. ?9 F??u1 l h3 u! awhile语句用来实现“当型”循环结构。 {1 @4 w4 _: I7 }! T一般形式: ( ^2 t( O; I) @? ?? ? while (表达式) 语句 2 d U% p9 q% J+ M9 @- g/ |% s当表达式为非0值时,执行while语句中的内嵌语句。其特点是:先判断表达式,后执行语句。 7 h j0 c, D3 i- q C: ]* N7 Y??{7 v6 h% t* B0 K1 c: A; x, F E例1.2??求1到100的和
#include stdio.h
void main()
{
? ? int i,sum=0;
? ? i=1;
? ? while (i=100)
? ? {
? ?? ? sum=sum+i;
? ?? ? i++;
? ???}
? ? printf(″%d\\n″,sum);
}
复制代码
运行结果:5050 : |# r4 I/ k: i6 ]; `8 M! t说明:(1)循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现.(2)在循环体中应有使循环趋向于结束的语句 X. P) U4 r/ a. B4 @: Z注意: M/ j6 c i# R) `(1)循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。 3 v! m A4 ] R% R$ |% n+ k3 w: T9 K/ m(2)在循环体中应有使循环趋向于结束的语句。如果无此语句,则i的值始终不改变,循环永不结束。 / a+ K5 d% f4 a5 I b q1.4 用do-while语句实现循环 ( F! ^4 _0 T. `: T9 k/ M1 B9 Y* Rdo-while语句的特点:先执行循环体,然后判断循环条件是否成立。 W2 I. P }1 W7 B* U- q一般形式:? ?do 7 ^3 Y( B3 W. I8 E( j??E7 Q/ S; g5 a?
文档评论(0)