第4章 选择结构程序设计【C语言程序设计】

第4章 选择结构程序设计【C语言程序设计】

ID:38311660

大小:910.00 KB

页数:41页

时间:2019-06-09

第4章 选择结构程序设计【C语言程序设计】_第1页
第4章 选择结构程序设计【C语言程序设计】_第2页
第4章 选择结构程序设计【C语言程序设计】_第3页
第4章 选择结构程序设计【C语言程序设计】_第4页
第4章 选择结构程序设计【C语言程序设计】_第5页
资源描述:

《第4章 选择结构程序设计【C语言程序设计】》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4选择结构程序设计第4章【本章导读】选择结构是结构化程序中基本结构之一。选择结构是根据判定所给条件是否满足,从而决定程序执行哪些语句。C语言中,通常用if语句或switch语句来实现选择结构。本章主要介绍关系运算符与关系表达式、逻辑运算符与逻辑表达式、if语句、switch语句。通过本章节的学习,读者要掌握关系表达式和逻辑表达式的组成及运算,理解分支程序设计的概念,掌握if语句、switch语句的基本结构及执行过程,理解if语句的嵌套概念,能正确选择分支结构进行程序设计。选择结构程序设计§4.14.1.1关系运算符<小于<=小于或等于>大于>=大于或等于==等于!=等于优先

2、级和结合性:关系运算符的优先级低于算术运算符,关系运算符中>、>=、<、<=优先级相同;==和!=的优先级低于前四种。结合性:左结合关系运算符与关系表达式4.1.1关系运算符都是双目运算符,要求两个操作数是同一种数据类型,其结果为逻辑值。按C语言的习惯,值为真(true)时用非0值(一般用1)表示;值为假(false)时用0表示。关系运算符4.1.2关系表达式是用关系运算符将两个表达式(可以是算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式等表达式)连接起来的式子。 例如:3+2==2*3; 表示判断3+2的结果和2*3的结果是否相等关系表达式的一般形式为:表达式

3、关系运算符表达式关系表达式§4.24.2.1逻辑运算符&&与运算

4、

5、或运算!非运算其中,与运算符&&和或运算符

6、

7、均为双目运算符,非运算符!为单目运算符逻辑运算符与逻辑表达式a&&b当且仅当a,b都为真时,结果为真a

8、

9、b当且仅当a,b都为假时,结果为假!a当a为真时,结果为假;当a为假时,结果为真逻辑运算的真值表表4.1ab!a!ba&&ba

10、

11、b真真假假真真真假假真假真假真真假假真假假真真假假4.2.2优先级:逻辑运算符中,非运算符(!)和单目的算术运算符同级,高于双目的算术运算符,优先于关系运算符,优先于逻辑运算符与(&&)和或(

12、

13、)a>b

14、

15、c>d等价于(a>b)

16、

17、

18、(c>d)!a==b&&c>d等价于((!a)==b)&&(c>d)结合性:逻辑运算符中,非运算符(!)的结合性为右结合;与运算(&&)和或运算(

19、

20、)的结合性为左结合。逻辑运算符的优先级和结合性4.2.3逻辑表达式类似于关系表达式,是用逻辑运算符把两个表达式连接起来的式子。例如:a+b&&a;表示判断a+b和a的值是否为真,若都为真表达式为真逻辑表达式的一般形式为:表达式逻辑运算符表达式逻辑表达式【例4-1】分析下面程序段的运行结果/*EX4-1.C*/main(){inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');printf("

21、a=%d,b=%d",a,b);printf("x=%d",x);}【注意】由于&&和

22、

23、运算的左结合性及运算特点,若&&运算符左边的表达式为假(或0),则其右边的表达式将不再运算,整个表达式的值必然为假;同理,若

24、

25、运算符左边的表达式为真(或非0值),则其右边的表达式将不再运算,整个表达式的值必然为真。例如:a=0&&b=b-1由于表达式a=0的值为0,因此&&运算符右边的式子将不再运算(即b的值不变),整个逻辑表达式的值为0。同理:a=1

26、

27、b=b-1由于表达式a=1的值为1,因此

28、

29、运算符右边的式子将不再运算(即b的值不变),整个逻辑表达式的值为1。逻辑运算符的“短路

30、”现象§4.3【问题】我们在求解数学问题中常会遇到这样的问题:计算一个分段函数:y=0x<=01x>0单分支if语句双分支if语句多分支选择结构if语句4.3.1单分支if语句的基本形式为:if(表达式)语句;其语义是:首先判断表达式的值是否为真,若表达式的值非0,则执行其后的语句;否则不执行该语句单分支if语句4.3.1/*EX4-2.C*/main(){floata;printf("pleaseinputthescore:");scanf("%f",&a);if(a>=60)printf("pass");}【例4-2】从键盘输入学生成绩并判断是否及格,若及格输出“p

31、ass”表达式语句非00单分支if语句控制流程双分支if语句4.3.2双分支if语句为if-else形式,语句的结构为:if(表达式)语句1;else语句2;其语义是:当表达式的值为真,则执行语句1,否则执行语句2双分支if语句的控制流程非0表达式语句1语句204.3.2/*EX4-3.C*/main(){inta,b;printf("inputthetwonumbers:");scanf("%d,%d",&a,&b);if(a>b)printf("max=%d",a);elseprintf(""max=%d

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。