欢迎来到天天文库
浏览记录
ID:1768646
大小:48.52 KB
页数:6页
时间:2017-11-13
《第五章 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第五章选择结构程序设计选择结构的作用是,根据所指定的条件是否满足,决定从给定的两组操作选择其一。在C语言中选择结构是用if语句实现的。5.1关系运算符和关系表达式1.关系运算符实际上是比较运算符。2.C的关系运算符有:①<(小于)②<=(小于或等于)优先级相同(高)③>(大于)④>=(大于或等于)⑤==(等于)⑥!=(不等于)优先级相同(低)3.关于优先次序:①前4种关系运算符(<,<=,>,>=)的优先级别相同,后两种也相同。前4种高于后两种。例如,“>”优先于“==”。而“>”与“<”优先级相同。
2、②关系运算符的优先级低于算术运算符。③关系运算符的优先级高于赋值运算符。例如:c>a+b等效于c>(a+b)a>b==c等效于(a>b)==ca==bc等效于a=(b>c)4.关系表达式(1)用关系运算符将两个表达式(可以是算术表达式或关系表达式、逻辑表达式、赋值表达式、字符表达式)连接起来的式子,称为关系表达式。例如:a>b,a+b>b+c,(a==3)>(b==5),′a′<′b′,(a>b)>(b3、系表达式“5==3”的值为“假”,“5>=0”的值为“真”。(3)在C中都用数值1代表“真”,用0代表“假”。如果有以下赋值表达式:假定a=3,b=2,c=1d=a>b则d得到的值为1f=a>b>cf得到的值为0(4)关系运算符的运算方向为:由左向右5.2逻辑运算符和逻辑表达式1.用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。2.C提供3种逻辑运算符:&&逻辑与4、5、逻辑或!逻辑非逻辑运算举例如下:a&&b若a,b为真,则a&&b为真。a6、7、b若a,b之一为真,则a8、9、b为真。!a若a为10、真,则!a为假。2.优先次序:(1)!(非)→&&(与)→11、12、(或),即“!”为三者中最高的。(2)逻辑运算符中的“&&”和“13、14、”低于关系运算符,“!”高于算术运算符。例如:(a>b)&&(x>y)可写成a>b&&x>y(a==b)15、16、(x==y)可写成a==b17、18、x==y(!a)19、20、(a>b)可写成!a21、22、a>b3.逻辑表达式将两个关系表达式用逻辑运算符连接起来就成为一个逻辑表达式,逻辑表达式的值是一个逻辑量“真”或“假”。采取的标准是:如果其值是0就认为是“假”,如果其值是非0就认为是“真”。例23、如:(1)若a=4,则!a的值为0。因为a的值为非0,被认作“真”,对它进行“非”运算,得“假”,“假”以0代表。(2)若a=4,b=5,则a&&b的值为1。因为a和b均为非0,被认为是“真”。(3)a,b值同前,a-b24、25、a+b的值为1。因为a-b和a+b的值都为非零值。(4)a,b值同前,!a26、27、b的值为1。(5)4&&028、29、2的值为1。4.对&&运算符来说,只有前面的表达式为真,才继续进行右面的运算,例如:a&b&c。对30、31、运算符来说只有前面的表达式为假,才继续进行右面的运算,例如:a32、33、b34、35、36、c。5.3if语句1.if语句是用来判断所给定的条件是否满足,根据判断的结果(真或假)决定执行给出的两种操作之一。2.if语句的3种形式(1)if(条件表达式)语句;if(x>y)printf(“%d”,x);if(条件表达式){复合语句;}例如:求x的绝对值#includevoidmain(){intx,absx;printf("pleaseinputx=");scanf("%d",&x);absx=x;if(x<0)absx=-x;printf("x=%dt37、x38、=%d",39、x,absx);}(2)if(条件)语句1;else语句2;例如:求x的绝对值#includevoidmain(){intx,absx;printf("pleaseinputx=");scanf("%d",&x);if(x>=0)absx=x;elseabsx=-x;printf("x=%dt40、x41、=%d",x,absx);}(3)在if语句中又包含一个或多个if语句,形式为:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……else语42、句n+1;语句2,……n可以是复合语句,每层的if与else配对,或者用{}来确定层次关系。表达式1语句1表达式2语句2表达式3语句3表达式4语句5语句4即:注意:(1)3种形式的if语句中在if后面都有表达式,一般为逻辑表达式或关系表达式。(2)第二、第三种形式的if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。(3)else语句不能单独使用,它必须是if语句的一部分,与if配对使用。3.If语句的嵌套在if语句中又包含一个或多个if
3、系表达式“5==3”的值为“假”,“5>=0”的值为“真”。(3)在C中都用数值1代表“真”,用0代表“假”。如果有以下赋值表达式:假定a=3,b=2,c=1d=a>b则d得到的值为1f=a>b>cf得到的值为0(4)关系运算符的运算方向为:由左向右5.2逻辑运算符和逻辑表达式1.用逻辑运算符将关系表达式或逻辑量连接起来的式子就是逻辑表达式。2.C提供3种逻辑运算符:&&逻辑与
4、
5、逻辑或!逻辑非逻辑运算举例如下:a&&b若a,b为真,则a&&b为真。a
6、
7、b若a,b之一为真,则a
8、
9、b为真。!a若a为
10、真,则!a为假。2.优先次序:(1)!(非)→&&(与)→
11、
12、(或),即“!”为三者中最高的。(2)逻辑运算符中的“&&”和“
13、
14、”低于关系运算符,“!”高于算术运算符。例如:(a>b)&&(x>y)可写成a>b&&x>y(a==b)
15、
16、(x==y)可写成a==b
17、
18、x==y(!a)
19、
20、(a>b)可写成!a
21、
22、a>b3.逻辑表达式将两个关系表达式用逻辑运算符连接起来就成为一个逻辑表达式,逻辑表达式的值是一个逻辑量“真”或“假”。采取的标准是:如果其值是0就认为是“假”,如果其值是非0就认为是“真”。例
23、如:(1)若a=4,则!a的值为0。因为a的值为非0,被认作“真”,对它进行“非”运算,得“假”,“假”以0代表。(2)若a=4,b=5,则a&&b的值为1。因为a和b均为非0,被认为是“真”。(3)a,b值同前,a-b
24、
25、a+b的值为1。因为a-b和a+b的值都为非零值。(4)a,b值同前,!a
26、
27、b的值为1。(5)4&&0
28、
29、2的值为1。4.对&&运算符来说,只有前面的表达式为真,才继续进行右面的运算,例如:a&b&c。对
30、
31、运算符来说只有前面的表达式为假,才继续进行右面的运算,例如:a
32、
33、b
34、
35、
36、c。5.3if语句1.if语句是用来判断所给定的条件是否满足,根据判断的结果(真或假)决定执行给出的两种操作之一。2.if语句的3种形式(1)if(条件表达式)语句;if(x>y)printf(“%d”,x);if(条件表达式){复合语句;}例如:求x的绝对值#includevoidmain(){intx,absx;printf("pleaseinputx=");scanf("%d",&x);absx=x;if(x<0)absx=-x;printf("x=%dt
37、x
38、=%d",
39、x,absx);}(2)if(条件)语句1;else语句2;例如:求x的绝对值#includevoidmain(){intx,absx;printf("pleaseinputx=");scanf("%d",&x);if(x>=0)absx=x;elseabsx=-x;printf("x=%dt
40、x
41、=%d",x,absx);}(3)在if语句中又包含一个或多个if语句,形式为:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;……else语
42、句n+1;语句2,……n可以是复合语句,每层的if与else配对,或者用{}来确定层次关系。表达式1语句1表达式2语句2表达式3语句3表达式4语句5语句4即:注意:(1)3种形式的if语句中在if后面都有表达式,一般为逻辑表达式或关系表达式。(2)第二、第三种形式的if语句中,在每个else前面有一个分号,整个语句结束处有一个分号。(3)else语句不能单独使用,它必须是if语句的一部分,与if配对使用。3.If语句的嵌套在if语句中又包含一个或多个if
此文档下载收益归作者所有