循环结构程序设计(5).pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第六章循环结构程序设计;表达式;6.2goto语句及用goto语句构成的循环

一、无条件转移语句——goto语句

一般格式:goto语句标号;

其中语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto语句配合使用。

如:label:i++;

gotolabel1;

C语言不限制程序中使用标号的次数,但各标号不得重名。

goto语句的语义是改变程序流向,转去执行语句标号所标识的语句。;二、用goto语句与if语句实现循环

用goto语句与if语句实现循环的形式:;例1:编程序求:s=1+2+3+……+100;例2:统计从键盘输入一行字符的个数。

#includestdio.h

voidmain()

{intn=0;

printf(inputastring\n);

loop:if(getchar()!=\n)

{n++;

gotoloop;

}

printf(%d,n);

};6.3while语句;例1:编程序求:s=1+2+3+……+100;6.4Do—while语句

do-while语句的一般形式为:

do

{语句;

}while(表达式);

其中:语句是循环体,

表达式是循环条件。;例1:编程序求:s=1+2+3+……+100;使用while和do-while语句应注意以下几点:

1.在if语句,while语句中,表达式后面都不能加分号,而在do-while语句的表达式后面那么必须加分号。

2.do-while语句也可以组成多重循环,而且也可以和while语句相互嵌套。

3.当循环体由多个语句组成时,也必须用{}括起来组成一个复合语句。

4.如果循环至少要执行一次,while和do-while语句可以相互替换。;6.5for语句;for语句的执行过程:

1.首先计算表达式1的值。

2.再计算表达式2的值,假设值为真(非0)那么执行循环体一次,否那么跳出循环。

3.然后再计算表达式3的值,转回第2步重复执行。

在整个for循环过程中,表达式1只计算一次,表达式2和表达式3那么可能计算屡次。循环体可能屡次执行,也可能一次都不执行。;例:用for语句计算s=1+2+3+...+99+100

main()

{intn,s=0;

for(n=1;n=100;n++)

s=s+n;

printf(s=%d\n,s);

}

本例for语句中的表达式3为n++,实际上也是一种赋值语句,相当于n=n+1,以改变循环变量的值。;二、在使用for语句中要注意以下几点:

1.for语句中的各表达式都可省略,但分号间隔符不能少

如:for(;表达式2;表达式3)省去了表达式1。

for(表达式1;;表达式3)省去了表达式2。

for(表达式1;表达式2;)省去了表达式3。

for(;;)省去了全部表达式。

2.在循环变量已赋初值时,可省去表达式1。如省去表达式2或表达式3那么将造成无限循环,这时应在循环体内设法结束循环。

例:;main()

{intn=1,s=0;

for(;n=100;n++)

s=s+n;

printf(s=%d\n,s);

};main()

{intn=1,s=0;

for(;;)

{s=s+n;n++;}

printf(s=%d\n,s);

}

您可能关注的文档

文档评论(0)

mend45 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档