《C语言程序设计与数据结构》课件第04章.ppt
《《C语言程序设计与数据结构》课件第04章.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计与数据结构》课件第04章.ppt(19页珍藏版)》请在三一办公上搜索。
1、C语言程序设计与数据结构,第四章 选择结构,学习重点l if语句及switch语句的执行流程;l if语句及switch语句的灵活运用。,C语言程序设计与数据结构,4.1关系运算和逻辑运算,C语言编译系统在给出逻辑运算结果时,会得出两个逻辑值(“真”和“假”)中的一个。以数值1代表“真”,以数值0代表“假”。但在判决一个量是否为真时,以非代表“真”,以0代表“假”。如已知x值为5,则x8不成立,表达式x8的值为“假”.4.1.1关系运算符和关系表达式4.1.1.1 关系运算符及其结合性关系运算是逻辑运算中比较简单的一种。所谓关系运算实际上是“比较运算”,将两个数进行比较,判断比较的结果是否符合
2、指定的条件。比较两个量的运算符称为关系运算符。语言提供了以下6种关系运算符:1)大于 4)=大于或等于5)=等于 6)!=不等于注意:由两个字符组成的运算符之间不能有空格,如:=不能写成=。关系运算符都是双目运算符,其结合性均为自左至右。在六个关系运算符中,前4个(,=)的优先级相同,并高于后两个(=和!=,=和!=的优先级相同)。关系运算符、算术运算符和赋值运算符的优先级次序从高到低分别是:算术运算符、关系运算符、赋值运算符。,C语言程序设计与数据结构,4.1.1.2关系表达式 用关系运算符将两个表达式连接起来的式子称为关系表达式。关系表达式的一般形式为:表达式 关系运算符 表达式说明:关系
3、运算符两边的两个表达式自身可以是C语言中的任意合法表达式(如算术表达式,赋值表达式,也可以是关系表达式和马上就要学到的逻辑表达式)。例如:a+bc-d、x3/2、a+1(bc)、a!=(c=d)等。关系表达式的值是逻辑值“真”和“假”,用整数值1和0表示。如:50的值为“真”,即为1。(a=3)(b=5)由于35不成立,故其值为假,即为0。,C语言程序设计与数据结构,【例4.1】main()char c=k;int i=1,j=2,k=3;float x=3e+5,y=0.85;printf(%d,%dn,a+5=k+1);printf(%d,%dn,1j5,x-5.25=x+y);print
4、f(%d,%dn,i+j+k=-2*j,k=j=i+5);解析:在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。对于含多个关系运算符的表达式,如k=j=i+5,根据运算符的左结合性,先计算k=j,该式不成立,其值为0,再计算0=i+5,也不成立,故表达式值为0。,C语言程序设计与数据结构,4.1.2逻辑运算符和逻辑表达式4.1.2.1逻辑运算符及其结合性语言中提供了三种逻辑运算符:(1)&逻辑与(2)|逻辑或(3)!逻辑非其中,“&”和“|”为双目运算符,即作用在前、后两个运算对象上,如a&b,a|b。具有“左”结合性。“!”是单目运算符,作用在单个运算对象上,如
5、,!a,具有“右”结合性。三种运算符的优先级由高到低为:!(非)&(与)|(或)逻辑表达式的值是逻辑“真”或逻辑“假”,用“1”或“0”来表示。例如:a&b:当a和b都为“真”时,a&b的运算结果为“真”。a|b:只要a,b中一个为“真”,a|b的结果就为“真”。!a:如果a为“真”,则!a为“假”,如果a为“假”,则!a为“真”。a和b的逻辑运算真值表如表4-1所示。,C语言程序设计与数据结构,4.1.2.2逻辑表达式逻辑表达式的一般形式为:表达式 逻辑运算符 表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如:(a 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。
6、由于x为非0,故!x的逻辑值为0。对x|i&j-3式,先计算j-3的值为非0,再求i&j-3的逻辑值为1,故x|i&j-3的逻辑值为 1。对ij&xy式,由于ij的值为1,而xy为0故表达式的值为1,0相与,最后为0,对i=5&c&(j=8)式,由于i=5为假,即值为0,该表达式由两个与运算组成,所以整个表达式的值为0。对于式x+y|i+j+k由于x+y的值为非0,故整个或表达式的值为1。,C语言程序设计与数据结构,4.2 if语句,用if语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。语言的if语句有三种基本形式。4.2.1 if语句的三种形式1.第一种形式为基本形
7、式:if 格式:if(表达式)语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。【例4.3】输入两个整数,输出其中的大数。main()int a,b,max;printf(n input two numbers:);scanf(%d%d,解析:本例程序中,输入两个数a,b。把a先赋予变量max,再用if语句判别max和b的大小,如max小于b,则把b赋予max。因此max中总是大数,最后输出max的值。,C语言程序设计与数据结构,2.第二种形式为:if-else格式:if(表达式)语句1;else 语句2;其语义是:如果表达式的值为真,则执行语句1,否则执行语句2。【例4.
8、4】输入两个整数,输出其中的大数(改用if-else语句实现)。main()int a,b;printf(input two numbers:);scanf(%d%d,解析:用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。,C语言程序设计与数据结构,3.第三种形式为:if-else-if形式前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else if(表达式m)语句m;else 语句n;其语义是:依次判断表达式的值,当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计与数据结构 语言程序设计 数据结构 课件 04

链接地址:https://www.31ppt.com/p-6525813.html