2.1.6分支结构程序设计 - 分支结构程序设计-专题辅导课件_第1页
2.1.6分支结构程序设计 - 分支结构程序设计-专题辅导课件_第2页
2.1.6分支结构程序设计 - 分支结构程序设计-专题辅导课件_第3页
2.1.6分支结构程序设计 - 分支结构程序设计-专题辅导课件_第4页
2.1.6分支结构程序设计 - 分支结构程序设计-专题辅导课件_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

C程序设计专题辅导课

分支结构程序设计

内容提要:分支结构2.1if语句一般形式:

if(表达式)

语句1else

语句2注意:if语句是一个整体,中间不能被打断;语句1/语句2必须是一条语句(或复合语句)语句向右缩进对齐;2.1if语句表达式:关系、逻辑、任意表达式关系表达式的值:True/False逻辑表达式的值:True/False任意表达式的值:非0—True/0—FalseC语言没有布尔常量(逻辑常量):True用1表示,False用0表示printf(“%d,%d”,3>2,3<2);1,0if(3.14)if(1)if(True)2.1if语句简化形式:

if(表达式)

语句即语句2为空语句:

if(表达式)

语句1else

;/*空语句*/

2.1if语句复杂形式:

if(表达式1)

语句1elseif(表达式2)

语句2

。。。elseif(表达式n-1)

语句n-1else

语句n

可以理解为:

if(表达式1)

语句1else{

if(表达式2)

语句2

。。。elseif(表达式n-1)

语句n-1else

语句n}

各表达式之间应互斥!2.1if语句嵌套形式:语句1、语句2本身也是if语句

if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4由于if语句的多样性,可能会产生if和else的个数不同,导致if和else之间配对的歧义2.1if语句嵌套if歧义:

if(x<2)if(x<1)y=x+1;elsey=x+2;理解1:

if(x<2){if(x<1)y=x+1;}elsey=x+2;理解2:

if(x<2){if(x<1)y=x+1;elsey=x+2;}C规定:else与最靠近它的、没有与别的if匹配过的if相匹配!(理解2正确)2.2switch语句一般形式:switch(表达式){case常量表达式1:语句段1;break;case常量表达式2:语句段2;break;。。。。。case常量表达式n:语句段n;break;default:语句段n+1;break;}Case常量表达式

:相当于语句标号作用break:阻止语句的顺序执行

与if语句的等价形式:

if(表达式==常量表达式1){语句段1;}elseif(表达式==常量表达式2){语句段2;}

。。。。。。elseif(表达式==常量表达式n){语句段n;}else

{语句段n+1;}

2.2switch语句无break形式:switch(表达式){case常量表达式1:语句段1;case常量表达式2:语句段2;。。。。。case常量表达式n:语句段n;default:语句段n+1;}

与if语句的等价形式:

if(表达式==常量表达式1){语句段1;语句段2;。。。语句段n+1;}elseif(表达式==常量表达式2){语句段2;语句段3;。。。语句段n+1;}

。。。。。。elseif(表达式==常量表达式n){语句段n;语句段n+1;}else

{语句段n+1;}

2.3if和switch语句的比较两者都能实现分支结构;两者分别适用于不同特点的场合:if适用于连续条件的场合:

if(x>=1&&x<=100)switch适用于离散条件的场合

switch(ch){case‘+’:…case‘-’:…}2.4举例(1)【例2.1】输入一个整数成绩score,请输出其对应的五级制成绩,即:成绩为【90,100】,等级为A;成绩为【80,89】,等级为B;成绩为【70,79】,等级为C;成绩为【60,69】,等级为D;成绩为【0,59】,等级为E;成绩为其它值,输出错误。2.4举例(2)【解法1】用if语句:if(score>=90)printf(“A”);elseif(score>=80)printf(“B”);elseif(score>=70)printf(“C”);elseif(score>=60)printf(“D”);elseif(score>=0)printf(“E”);elseprintf(“Error!”);2.4举例(3)【解法2】用swicth语句:switch(score){case(score>=90):printf(“A”);break;case(score>=80):printf(“B”);break;case(score>=70):printf(“C”);break;case(score>=60):printf(“D”);break;case(score>=0):printf(“E”);break;default:printf(“Error!”);}×2.4举例(4)【解法2】用swicth语句:switch(score/10){case10:case9:printf(“A”);break;case8:printf(“B”);break;case7:printf(“C”);break;case6:printf(“D”);break;case5:case4

温馨提示

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

评论

0/150

提交评论