- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 循环控制 循环结构 goto语句 while语句 while语句举例 do…while语句 do…while语句举例 for语句 for语句举例 几种循环的比较 循环的嵌套 break语句 continue语句 循环结构程序举例 循环结构程序举例 循环结构程序举例 循环结构程序举例 * 到目前为止,如果要求同学们写一段程序来计算 1+2+3+…+9+10 的值,那么有的同学可能这样写(exc\ch6\intro_1.c): #include stdio.h void main() { int s; s=1+2+3+4+5+6+7+8+9+10; printf(\nsum is %d,s); } 也有的同学可能这样写(exc\ch6\intro_2.c): #include stdio.h void main() { int s=0; s=s+1; /*把1加到s上,s的值为1*/ s=s+2; /*把2加到s上,s的值为3,为前两项之和*/ s=s+3; s=s+4; s=s+5; s=s+6; s=s+7; s=s+8; s=s+9; s=s+10; printf(\nsum is %d,s); } 可以看出,在这种实现方法中,反复进行如下操作: s=s+i; 其中,i 代表累加项, i 由1增到10 显然,当累加的项数较多时,这两种方法的局限性就凸现出来。我们可以借助于C语言的循环结构来加以实现。 循环结构作为3个基本结构之一,它的作用是反复执行某些操作。 P A 成立 不成立 a b 当型循环结构 P A 成立 不成立 a b 直到型循环结构 在C语言中,可以用以下4种方式实现循环结构: ① goto语句 ②while语句 ③ do…while语句 ④for语句 goto语句的一般形式为: goto 语句标号; … … goto ABC; … … … … ABC: … … … … 其中,语句标号是一种标识符,它用来标示程序中的某个语句,请不要忘记冒号。另外,语句标号对所标示的语句没有影响。 当程序执行到goto语句时,goto语句会使得程序跳转到语句标号所标示的位置继续执行。 有时,人们把goto语句与if语句配合使用,来实现某些操作的重复执行。例如,求 1+2+…+10 的值(exc\ch6\goto_sum.c)。 因此,goto语句与if语句相配合,是实现循环结构的一种手段。 但是,由于goto语句的滥用会导致程序的可读性变坏,所以结构化程序设计主张限制使用goto语句,除非使用goto语句能大大提升程序的执行效率。 while语句可用来实现当型循环结构,其一般形式为: while(表达式)语句 while(x=0) { y=y+x*x; x--; } 例如, while(j=0j=6)j+=2; while语句的执行过程是: 首先求解表达式,如果值为真,则执行语句;然后再来求解表达式,如果值为真,则执行语句,…,如此重复,直到某一次表达式的值为假,while语句结束。 表达式 语句 真 假 循环体 循环体 while语句的特点是:先判断、后执行。 其中,语句部分被称为循环体,循环体既可以是单条语句,也可以是复合语句。 例一、用while语句来实现的累加求和(exc\ch6\whilesum.c)。 例二、 int x=3; while(x5)x=x/6; printf(”x=%d”,x); 例三、 int k=4,s=0; while(k0)s+=k; 注意:循环体一次也不执行 注意:循环体中缺乏使循环趋于结束的 语句,造成死循环。 注意:若循环体包含多个语句,必须用复合语句。 int k=4,s=0; while(k0)s+=k; --k; int k=4,s=0; while(k0); { s+=k; --k; } 注意:分号多余 do…while语句可用来实现直到型循环结构,其一般形式为: do 语句 while(表达式); 注意:while后要有分号。 例如, do { s=j*8; --j; }while(j=0); do…while语句执行过程是,首先执行语句,然后求解表达式,如果值为真,则再次执行语句;然后再来求解表达
文档评论(0)