c程序第5章-选择结构程序设计

c程序第5章-选择结构程序设计

ID:36291140

大小:989.31 KB

页数:75页

时间:2019-05-08

c程序第5章-选择结构程序设计_第1页
c程序第5章-选择结构程序设计_第2页
c程序第5章-选择结构程序设计_第3页
c程序第5章-选择结构程序设计_第4页
c程序第5章-选择结构程序设计_第5页
资源描述:

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

1、5.1关系运算符和关系表达式5.2逻辑运算符和逻辑表达式5.3if语句5.4switch语句5.5程序举例习题第5章选择结构程序设计在第3章中已介绍了选择结构,它是三种基本结构之一。在大多数程序中都会包含选择结构。它的作用是,根据所指定的条件是否满足,决定从给定的两组操作选择其一。在本章中介绍如何用c语言实现选择结构。在c语言中选择结构是用if语句实现的。if语句最常用的形式是if(关系表达式)语句1else语句2例如:if(x>0)y=1;elsey=-1;其中x>0是一个关系表达式。“>”是一个关系运算符。5

2、.1关系运算符和关系表达式关系运算是逻辑运算中比较简单的一种。所谓“关系运算”实际上是“比较运算”。将两个值进行比较,判断其比较的结果是否符合给定的条件。例如,a>3是一个关系表达式,大于号(>)是一个关系运算符,如果a的值为5,则满足给定的“a>3”条件,因此关系表达式的值为“真”(即“条件满足”);如果a的值为2,不满足“a>3”条件,则称关系表达式的值为“假”。5.1.1关系运算符及其优先次序C语言提供6种关系运算符:优先级相同(高):①<(小于)②<=(小于或等于)③>(大于)④>=(大于或等于)优先级相

3、同(低):⑤==(等于)⑥!=(不等于)关于优先次序:(1)前4种关系运算符(<,<=,>,>=)的优先级别相同,后两种也相同。前4种高于后2种。例如,“>”优先于“==”。而“>”与“<”优先级相同。(2)关系运算符的优先级低于算术运算符。(3)关系运算符的优先级高于赋值运算符。以上关系见图5.1。例如:c>a+b等效于c>(a+b)a>b==c等效于(a>b)==ca==b<c等效于a==(b<c)a=b>c等效于a=(b>c)图5.15.1.2关系表达式用关系运算符将两个表达式(可以是算术表达式或关系表达式

4、、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称关系表达式。例如,下面都是合法的关系表达式:a>b,a+b>b+c,(a=3)>(b=5),'a'<'b',(a>b)>(b<c)关系表达式的值是一个逻辑值,即“真”或“假”。例如,关系表达式“5==3”的值为“假”,“5>=0”的值为“真”。c语言没有逻辑型数据(Pascal语言以True表示“真”,以false表示“假”。PascaL和FORTRAN等语言都有逻辑型变量和逻辑型常量),以1代表“真”,以“0”代表“假”。例如,a=3,b=2,c=1,则:

5、关系表达式“a>b”的值为“真”,表达式的值为1。关系表达式“(a>b)==c”的值为“真”(因为a>b的值为1,等于c的值),表达式的值为1。关系表达式“b+c<a”的值为“假”,表达式的值为0。如果有以下赋值表达式:d=a>bd的值为1。f=a>b>cf的值为0(因为“>”运算符是自左至右的结合方向,先执行“a>b”得值为1,再执行关系运算“1>c”,得值0,赋给f)。用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。在basic和Pascal语言中有以下形式的逻辑表达式(AND是逻辑运算符):(

6、a>b)AND(x>y)如果a>b且x>y,则上述逻辑表达式的值为“真”。下面介绍c语言中的逻辑运算符和逻辑运算。5.2.1逻辑运算符及其优先次序C语言提供三种逻辑运算符:5.2逻辑运算符和逻辑表达式(1)&&逻辑与(相当于其他语言中的aND)(2)

7、

8、逻辑或(相当于其他语言中的OR)(3)!逻辑非(相当于其他语言中的NOT)“&&”和“

9、

10、”是“双目(元)运算符”,它要求有两个运算量(操作数),如(a>b)&&(x>y),(a>b)

11、

12、(x>y)。“!”是“一目(元)运算符”,只要求有一个运算量,如(a>b)。

13、逻辑运算举例如下:a&&b若a、b为真,则a&&b为真。a

14、

15、b若a、b之一为真,则a

16、

17、b为真。!a若a为真,则!a为假。在一个逻辑表达式中如果包含多个逻辑运算符,如!a&&b

18、

19、x>y&&c按以下的优先次序:(1)!(非)→&&(与)→(或),即“!”为三者中最高的。(2)逻辑运算符中的“&&”和“

20、

21、”低于关系运算符,“!”高于算术运算符。见图5.2。图5.2例如:(a>b)&&(x>y)可写成a>b&&x>y(a==b)

22、

23、(x==y)可写成a==b

24、

25、x==y(!a)

26、

27、(a>b)可写成!a

28、

29、a>b5

30、.2.2逻辑表达式如前所述,逻辑表达式的值应该是一个逻辑量“真”或“假”。c语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。即将一个非零的数值认作为“真”。例如:(1)若a=4,则!a的值为0。因为a的值为非0,被认作“真”,对它进行“非”运算,得“假”,“假”以0代表。(2)若a=4,

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

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

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