第5章选择结构.ppt课件_第1页
第5章选择结构.ppt课件_第2页
第5章选择结构.ppt课件_第3页
第5章选择结构.ppt课件_第4页
第5章选择结构.ppt课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

1、第第5章章 选择构造程序设计选择构造程序设计 简单简单if分支构造分支构造 ifelse 两路分支构造两路分支构造 ifelse ifelse 多路分支构造多路分支构造 条件运算符与条件表达式条件运算符与条件表达式 switch-case开关语句开关语句 选择构造的嵌套选择构造的嵌套 5.1 if条件分支构造条件分支构造 5.1.1简单简单if分支构造分支构造 if语句的简单方式为:语句的简单方式为: if (表达式表达式) 语句语句 例例5.1输入两个数分别赋给变量输入两个数分别赋给变量a和和b,假设,假设a的值大于的值大于b的值,那么交换两个变量值。的值,那么交换两个变量值。main (

2、)float a,b,t; printf(ninput two real number: ); scanf (%f,%f,&a,&b); if (ab)/*判别判别ab 的值,假设的值,假设为真,那么执行下面的语句为真,那么执行下面的语句*/ t=a;a=b;b=t; printf (na=%5.2f, b=%5.2fn,a,b); 5.1.2 ifelse 两路分支构造两路分支构造ifelse两路分支构造的两路分支构造的if语句普通写为:语句普通写为:if(表达式表达式)语句语句1;else语句语句2; 5.1.3 ifelse ifelse 多路分支构造多路分支构造ifel

3、se ifelse多路分支构造的多路分支构造的if语句普通写为:语句普通写为:if(表达式表达式1)语句语句1;else if(表达式表达式2) 语句语句2; else if(表达式表达式3) 语句语句3;else if(表达式表达式n) 语句语句n; else 语句语句n + 1; ifelse ifelse语句执行过程语句执行过程 5.2 条件运算符与条件表达式条件运算符与条件表达式 条件运算符是一个三目运算符,即有三个参条件运算符是一个三目运算符,即有三个参与运算的量。由条件运算符组成的表达式称为与运算的量。由条件运算符组成的表达式称为条件表达式。其普通方式为:条件表达式。其普通方式为:

4、表达式表达式1 ? 1 ? 表达式表达式2 2:表达式:表达式3 3 5.3switch-case开关语句开关语句 switch-case语句又称多分支选择语句,它是另一种语句又称多分支选择语句,它是另一种方式的多分支判别。运用方式的多分支判别。运用switch-case语句可以实现多语句可以实现多分支选择构造,其普通方式为:分支选择构造,其普通方式为: switch(表达式表达式) case 常量表达式常量表达式1:语句:语句1; case 常量表达式常量表达式2:语句:语句2; case 常量表达式常量表达式n:语句:语句n; default: 语句语句n + 1; 图图5.9 switc

5、h5.9 switch语句执行过程语句执行过程 例例5.6根据输入的数字来输出对应的星期几的英文根据输入的数字来输出对应的星期几的英文单词,如输入单词,如输入“1,那么输出,那么输出“Monday。 根据题意可运用一个多分支的程序构造。根据题意可运用一个多分支的程序构造。可以画出其流程图可以画出其流程图5.10如下:如下: 5.4 选择构造的嵌套选择构造的嵌套 选择构造可以嵌套运用,如选择构造可以嵌套运用,如ifelse ifelse构造实构造实践上就是践上就是if语句的嵌套方式。当需求处置问题语句的嵌套方式。当需求处置问题的判别条件更为复杂时,可以用各种构造方式的判别条件更为复杂时,可以用各

6、种构造方式的的if语句中相互镶嵌,可以是一个,也可以是语句中相互镶嵌,可以是一个,也可以是多个多个if语句,构成相应的层层嵌套,但留意嵌语句,构成相应的层层嵌套,但留意嵌套关系不能交叉。套关系不能交叉。 5.5选择构造程序运用实例选择构造程序运用实例 程序一:运用程序一:运用if方式的方式的if语句来实现选择构语句来实现选择构造。造。 main ( ) float x,y; printf(input x=); scanf (%f,&x); if (x0) y=x+1; printf (x=%f,y=%fn,x,y); 程序二:运用程序二:运用ifelse ifelse方式的方式的if语

7、句来语句来实现选择构造,算法实现选择构造,算法N-S图如图图如图5.15所示。所示。 源程序如下:源程序如下: main ( ) float x,y; printf(input x=); scanf (%f,&x); if (x0) y=x-1; else if (x=0) y=0; else y=x+1; printf (x=%f,y=%fn,x,y); 程序三:运用嵌套的程序三:运用嵌套的if语句来实现选择构语句来实现选择构造,算法如图造,算法如图5.16所示。所示。 源程序如下:源程序如下: main ( ) float x,y; printf(input x=); scanf

8、(%f,&x); if (x=0)if (x=0) y=0;else y=x+1; elsey=x-1; printf (x=%f,y=%fn,x,y); 例例5.11 试编程求一元二次方程试编程求一元二次方程ax2+bx+c=0的解。其算法的解。其算法N-S图如图图如图5.18所示。所示。 源程序如下:源程序如下:#include math.hmain ( )float a,b,c,disc,x1,x2,realpart,imagpart;printf(Enter a,b,c:n);scanf (%f,%f,%f,&a,&b,&c);printf (the e

9、quation ); if (fabs(a)=1e-6 & fabs(b)=1e-6)printf(is not a legal equationn);else if (fabs(a)1e-6) printf (has one root:%8.4fn,-c/b);elsedisc=b*b-4*a*c; if (fabs(disc)1e-6) x1=(-b+sqrt(disc)/(2*a); x2=(-b-sqrt(disc)/(2*a); printf (has distinct real roots:%8.4f and %8.4fn,x1,x2); else realpart=-b/

10、(2*a); imagpart=sqrt(-disc)/(2*a); printf (has complex roots:n); printf (%8.4f+%8.4fin,realpart,imagpart); printf (%8.4f-%8.4fin,realpart,imagpart); 5.6 本章小节本章小节 条件分支构造是程序设计流程控制的重要条件分支构造是程序设计流程控制的重要组成部分,其中简单的组成部分,其中简单的ifif分支构造可以实现一分支构造可以实现一路流程的分支;路流程的分支;ifelse ifelse 两路分支构造可以实两路分支构造可以实现二选一分支;现二选一分支;ifelse ifelse ifelse ifelse 多路分支构多路分支构造可以实现从多种情况条件中选择一路执行程造可以实现从多种情况条件中选择一路执行程序流程;条件运算符可以更加简约地实现条件序流程;条件运算符可以更加简约地实现条件分支运算

温馨提示

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

评论

0/150

提交评论