第四课-流程控制_第1页
第四课-流程控制_第2页
第四课-流程控制_第3页
第四课-流程控制_第4页
第四课-流程控制_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

这节讲解分支和循环大家注意了,这是重点:分支就是说选择执行某些语句,而循环就是不停地工作,直到完成这次任务。注意语法规则,这是最后一节了。本章算是结束了,后续我会发出本章总结和大量练习题。分支语句1.if 语句if 语句允许程序通过测试表达式的值从两种选项中选择一种。If语句的最简单格式如下:用法:if(表达式)语句 描述:如果表达式为“真”,则执行语句;否则执行if后面的语句。例子: if(a1) b=10;用法:if(表达式) 语句1 else语句2 描述:如果表达式的结果为“真”,则执行语句1;否则执行语句2。例子:if (a1) b=10;elseb=100; 用法:if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 。 。 。else if(表达式m) 语句m else 语句n描述:如果表达式1的结果为“真”,则执行语句1,退出if语句;否则去判断表达式2, 如果表达式2的结果为“真”,则执行语句2,退出if语句;否则去判断表达式3, 如果表达式3的结果为“真”,则执行语句3,退出if语句;否则去判断表达式3后面的表达式, 。 如果表达式m的结果为“真”,则执行语句m,退出if语句; 否则去执行语句n。例子:if (a1) b=10; else if(a2) b=20; else if(a3) b=30; else if(a4) b=40; else b=100;if语句的嵌套if语句的嵌套是指if语句中又包含了一个或多个if语句main()float score;读取你的分数:scanf(score=%lf,&score);if(score=0)else if(score=90&score=80&score=70&score=60&score=69)printf(D);elseprintf(E);2. switch语句switch语句可以产生具有多个分支的控制流程。它的格式是:switch(控制表达式)case常量表达式:语句列表case常量表达式:语句列表.default:语句列表例如以下程序根据传入的参数17分别打印MondaySunday:switch语句如果传入的参数是2,则从case 2分支开始执行,先是打印相应的信息,然后遇到break语句,它的作用是跳出整个switch语句块。C语言规定各case分支的常量表达式必须互不相同,如果控制表达式不等于任何一个常量表达式,则从default分支开始执行,通常把default分支写在最后,但不是必须的。使用switch语句要注意几点:1. case后面跟表达式的必须是常量表达式,这个值和全局变量的初始值一样必须在编译时计算出来。2. 浮点型不适合做精确比较,所以C语言规定case后面跟的必须是整型常量表达式。3. 进入case后如果没有遇到break语句就会一直往下执行,后面其它case或default分支的语句也会被执行到,直到遇到break,或者执行到整个switch语句块的末尾。通常每个case后面都要加上break语句,但有时会故意不加break来利用这个特性,例如:缺break的switch语句switch语句不是必不可缺的,显然可以用一组if . else if . else if . else .代替,但是一方面用switch语句会使代码更清晰,另一方面,有时候编译器会对switch语句进行整体优化,使它比等价的if/else语句所生成的指令效率更高。循环语句1. while语句while循环和for循环类似,其格式为: while (条件语句) 语句1 ; 语句2 ; . 语句n ; 执行while时,先测试“条件语句”,如果条件成立,则执行语句1到语句n,直至条件不成立时调处循环。 int i=0 ; while (i10) i+ ; printf(i的值%dn”,i); 2.dowhile do . while 循环语句的格式为: do 语句1 ; 语句2 ; . 语句n ; while (条件语句) ; do .while 语句的功能是首先执行语句1到语句n,然后进行条件测试,如果条件成立,则继续执行语句1到语句n,否这跳出循环。如: int test=0; do test+; while(test10); 这种控制并不是很常用,但有时却非常重要,使用时注意结尾处while语句后的分号。 3.for 循环for语句的格式为: for (初始化语句; 条件语句; 控制语句) 语句1 ; 语句2 ; . 语句n ; for 语句的执行顺序是:首先执行“初始化语句”;然后测试“条件语句”;若条件成立,则执行语句1到语句n;然后执行“控制”语句;接着再测试条件语句是否成立,如果成立则重复执行以上过程,直至条件不成立时才结束for循环。如: for(i=0;i10;i+).printf(“%d”,i); 你可以在for循环的头部说明你的变量,而且最后一个表达式可以省略,不过要确定在语句中对变量的值有所改变,如: for(int i=0;i10 break ; i = i +1 ; for循环中省略“条件语句”时,在for语句中必须包换转句语句控制程序在某个条件满足时跳出for循环,否则将形成死循环4.break和continue语句continue语句也会终止当前循环,和break语句不同的是,continue语句终止当前循环后又回到循环体的开头准备执行下一次循环。对于while循环和do/while循环,执行continue语句之后测试条件语句,如果值为真则继续执行下一次循环;while (条件语句) 语句1 ; int i=0;while(i10)i+;if(i=5)continue;printf(%dn,i);对于for循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论