资源描述:
《05-《高级语言程序设计(c)》选择结构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第三章:选择结构程序设计第三章:选择结构程序设计福州大学·软件学院·软件工程系·王灿辉电子邮件:wangcanhui@fzu.edu.cnCopyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Øif语句格式1(注意缩进排列的写法)if(条件){//条件为逻辑表达式〈语句(组)〉}//多条语句必须用{}括起来或者if(条件){〈语句(组)〉}Ø其语义是:如果条件(表达式)的值为真(非0值),则执行其后的语句(组),否则不执行该(组)语句。Copyright©2000-2011王灿辉.AllRightsReserve
2、d.选择结构程序设计选择结构程序设计Øif语句格式2(注意缩进排列的写法)if(条件)//条件为逻辑表达式〈语句1〉//多条语句必须用{}括起来else〈语句2〉//多条语句必须用{}括起来或者if(条件)〈语句1〉else〈语句2〉Ø其语义是:如果条件(表达式)的值为真(非0值),则执行语句1,否则执行语句2。Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Øif语句格式3(注意缩进排列的写法)if(条件1)//条件为逻辑表达式〈语句1〉//多条语句必须用{}括起来elseif(条件2)〈语句2〉//多条
3、语句必须用{}括起来//……elseif(条件n)〈语句n〉//多语句必须用{}括住else〈语句n+1〉//多语句必须用{}括住Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Ø三目运算符:<表达式1>?<表达式2>:<表达式3>Ø先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果,如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。Ø例如:max=a>b?a:b;Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Ø使用
4、最合理的表达方式,如:Ømax=(max>=a?max:a);不如改写为:if(maxvoidmain(){floata,b,max;printf("InputValueAandB:");scanf("%f%f",&a,&b);if(a>b)max=a;elsemax=b;printf("a=%f,b=%f,MAX=%f",a,b,max);}Copyright©2000
5、-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Ø实例1:输入两个数,输出其大者。#includevoidmain(){floata,b,max;printf("InputValueAandB:");scanf("%f%f",&a,&b);max=a;//或:max=b;if(ab)max=a;printf("a=%f,b=%f,MAX=%f",a,b,max);}Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Ø实
6、例1:输入两个数,输出其大者。#includevoidmain(){floata,b,max;printf("InputValueAandB:");scanf("%f%f",&a,&b);max=(a>b?a:b);printf("a=%f,b=%f,MAX=%f",a,b,max);}Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Ø实例1:输入两个数,输出其大者。#includevoidmain(){floata,b;printf("InputValueAandB
7、:");scanf("%f%f",&a,&b);printf("a=%f,b=%f,MAX=%f",a,b,(a>b?a:b));}Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计Ø实例2:计算y=sgn(x),即-1x<0y=0x=01x>0Ø类似上一个实例,可以写出n个完成上述功能的程序。Copyright©2000-2011王灿辉.AllRightsReserved.选择结构程序设计选择结构程序设计#include//实例2voidm