- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二 c51基本结构程序设计
2.3.3 for语句 for语句的一般格式 for([变量赋初值];[循环继续条件];[循环变量增值]) { 循环体语句组;} 执行过程如图2-3-2所示。 图2-3-2 for语句执行流程图 for语句的执行过程 1)求解“变量赋初值”表达式1。 2)求解“循环继续条件”表达式2。如果其值非0,执行3);否则,转至4)。 3)执行循环体语句组,并求解“循环变量增值”表达式3,然后转向2)。 4)执行for语句的下一条语句。 应当注意的问题 1) “变量赋初值”、“循环继续条件”和“循环变量增值”部分均可缺省,甚至全部缺省,但其间的分号不能省略。 2)当循环体语句组仅由一条语句构成时,可以不使用复合语句形式; 3)“循环变量赋初值”表达式1,既可以是给循环变量赋初值的赋值表达式,也可以是与此无关的其它表达式(如逗号表达式)。 4) “循环继续条件”部分是一个逻辑量,除一般的关系(或逻辑)表达式外,也允许是数值(或字符)表达式。 应当注意的问题 for语句中的各表达式都可省略,但分号间隔符不能少。 如: for(;表达式;表达式) 省去了表达式1; for(表达式;;表达式) 省去了表达式2; for(表达式;表达式;) 省去了表达式3; for(;;) 省去了全部表达式。 在循环变量已赋初值时,可省去表达式1。如省去表达式2或表达式3则将造成无限循环, 这时应在循环体内设法结束循环。 void main() { int a=0,n; printf(\n input n: ); scanf(%d,n); for(;n0;) { a++;n--; printf(%d ,a*2); } } 2.3.4 循环嵌套 (1)循环语句的循环体内,又包含另一个完整的循环结构,称为循环的嵌套。循环嵌套的概念,对所有高级语言都是一样的。 (2)for语句和while语句允许嵌套,do-while语句也不例外。 三种循环(while循环、dowhile循环和for循环)可以互相嵌套。例如,下面几种都是合法的形式: (1) while( ) {… while( ) {…} } (2) do {… do {… } while( ); } while( ); (3) for(;;) { for(; ;) {…} } (4) while( ) {… do {…} while( ); … } (5) for(; ;) {… while( ) { } … } (6) do { … for (; ;) { } } while( ); 2.4 转移语句 如果需要改变程序的正常流向, 可以使用本小节介绍的转移语句。 C51提供了4种转移语句: goto,break, continue和return。 其中的return语句只能出现在被调函数中, 用于返回主调函数, 2.4.1 goto语句 goto语句也称为无条件转移语句, 其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。 如: label: i++; loop: while(x7); 在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱, 例2-4-1 统计从键盘输入一行字符的个数。 #includestdio.h void main() { int n=0; printf(input a string\n); loop: if(getchar()!=\n) { n++; goto loop; } printf(%d,n); } 2.4.2 循环语句中的break语句 break语句只能用在switch 语句或循环语句中, 其作用是跳出switch语句或跳出本层循环,转去执行后面的程序。 由于break语句的转移方向是明确的,所以不需要语句标号与之配合。 break语句
原创力文档


文档评论(0)