欢迎来到天天文库
浏览记录
ID:59009923
大小:217.50 KB
页数:34页
时间:2020-09-26
《第四章.选择结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章选择结构程序设计本章内容:1.关系运算符和关系表达式2.逻辑运算符和逻辑表达式3.if语句的使用4.条件运算符和条件表达式5.switch语句的使用顺序结构语句1语句2条件语句1语句2YN选择结构选择结构--根据某些条件决定执行或不执行某组操作关系运算符和表达式1.关系运算符及优先次序比较两个量的运算符称为关系运算符。在C语言中有以下关系运算符:<小于<=小于或等于>大于>=大于或等于==等于!=不等于关系运算符的优先级别:(1)>、>=、<、<=优先级相等,==、!=优先级相等,前者高于后者。(2)关系运算符的优先级低于算术运算符。(3
2、)关系运算符的优先级高于赋值运算符。关系表达式的一般形式为:表达式1关系运算符表达式2例如:a+b>c-dx>3/2'a'+10的值为“真”,即为1。(a=3)>(b=5)由于3>5不成立,其值为0。关系表达式是表达式,因此也允许出现嵌套的情况。如:a>(b>c),a!=(c==d)等。2.关系表达式1.逻辑运算符C语言中提供了三种逻辑运算符!非运算&&与运算
3、
4、或运算运算符&&、运算符
5、
6、均为双目运算符
7、,具有左结合性。非运算符!为单目运算符,具有右结合性。1)逻辑运算符优先级如下:(1)!高于&&高于
8、
9、(2)&&,
10、
11、低于关系运算符,!高于算术运算符(*,/)逻辑运算符和表达式按照运算符的优先顺序可以得出:a>b&&c>d等价于(a>b)&&(c>d)!b==c
12、
13、d14、15、(dc&&x+yc)&&((x+y)16、”的数值代表“真”。(1)与运算&&参与运算的两个量都为真时(非0),结果才为真(值为1),否则为假(值为0)。例如:5>0&&4>2,由于5>0为真,4>2也为真,其结果也为“真”,表达式的值为1。3)逻辑运算的规则:(2)或运算17、18、参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:5>019、20、5>8,结果也就为真(值为1)。(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(5>0)的结果为假,即为0。2.逻辑表达21、式逻辑表达式的一般形式为:表达式&&表达式表达式22、23、表达式!表达式逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。3)逻辑运算的规则:在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。(1)表达式1&&表达式2&&……a+b>0&&b++(a=1,b=-2)如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式124、25、表达式226、27、……a+b>028、29、b++(a=1,b=2)如果:表达式1的值是130、,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。说明:(3)若a=1,b=2,c=3,d=4,m和n原值为1(m=a>b)&&(n=c>d)则m=0,而n仍保持原值说明:1.if语句有三种基本形式1)第一种形式,基本形式:if(表达式)语句;如果表达式的值为真,则执行其后语句,否则不执行该语句。语句表达式非00if语句voidmain(){inta,b,max;scanf("%d,%d",&a,&b);max=a;if(max31、2;如果表达式的值为真,则执行语句1,否则执行语句2。voidmain(){inta,b;scanf("%d,%d",&a,&b);if(a>b)printf("max=%d",a);elseprintf("max=%d",b);}例:语句1表达式非00语句22)第二种形式,if-else形式前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;elseif(表达式2)语句2;…elseif(表达式m)语句m;else语句n;语句n语句1表达式1非00语句32、2非00表达式2表达式m非00语句mif…elseif结构的执行过程3)第三种形式,if-else-if形式voidmain(){intresult;
14、
15、(dc&&x+yc)&&((x+y)16、”的数值代表“真”。(1)与运算&&参与运算的两个量都为真时(非0),结果才为真(值为1),否则为假(值为0)。例如:5>0&&4>2,由于5>0为真,4>2也为真,其结果也为“真”,表达式的值为1。3)逻辑运算的规则:(2)或运算17、18、参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:5>019、20、5>8,结果也就为真(值为1)。(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(5>0)的结果为假,即为0。2.逻辑表达21、式逻辑表达式的一般形式为:表达式&&表达式表达式22、23、表达式!表达式逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。3)逻辑运算的规则:在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。(1)表达式1&&表达式2&&……a+b>0&&b++(a=1,b=-2)如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式124、25、表达式226、27、……a+b>028、29、b++(a=1,b=2)如果:表达式1的值是130、,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。说明:(3)若a=1,b=2,c=3,d=4,m和n原值为1(m=a>b)&&(n=c>d)则m=0,而n仍保持原值说明:1.if语句有三种基本形式1)第一种形式,基本形式:if(表达式)语句;如果表达式的值为真,则执行其后语句,否则不执行该语句。语句表达式非00if语句voidmain(){inta,b,max;scanf("%d,%d",&a,&b);max=a;if(max31、2;如果表达式的值为真,则执行语句1,否则执行语句2。voidmain(){inta,b;scanf("%d,%d",&a,&b);if(a>b)printf("max=%d",a);elseprintf("max=%d",b);}例:语句1表达式非00语句22)第二种形式,if-else形式前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;elseif(表达式2)语句2;…elseif(表达式m)语句m;else语句n;语句n语句1表达式1非00语句32、2非00表达式2表达式m非00语句mif…elseif结构的执行过程3)第三种形式,if-else-if形式voidmain(){intresult;
16、”的数值代表“真”。(1)与运算&&参与运算的两个量都为真时(非0),结果才为真(值为1),否则为假(值为0)。例如:5>0&&4>2,由于5>0为真,4>2也为真,其结果也为“真”,表达式的值为1。3)逻辑运算的规则:(2)或运算
17、
18、参与运算的两个量只要有一个为真(非0),结果就为真(值为1)。两个量都为假(值为0)时,结果为假(值为0)。例如:5>0
19、
20、5>8,结果也就为真(值为1)。(3)非运算!参与运算量为真(非0)时,结果为假(值为0);参与运算量为假(值为0)时,结果为真(值为1)。例如:!(5>0)的结果为假,即为0。2.逻辑表达
21、式逻辑表达式的一般形式为:表达式&&表达式表达式
22、
23、表达式!表达式逻辑表达式的值:各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。3)逻辑运算的规则:在逻辑表达式的求解中,并不是所有的逻辑运算符都执行,只有在必须执行下一个逻辑运算符才能求出表达式的值时,才执行下一个运算符。(1)表达式1&&表达式2&&……a+b>0&&b++(a=1,b=-2)如果:表达式1的值是0,无论表达式2的值是什么,整个表达式的值都为0,因此表达式2就不计算了。(2)表达式1
24、
25、表达式2
26、
27、……a+b>0
28、
29、b++(a=1,b=2)如果:表达式1的值是1
30、,无论表达式2的值是什么,整个表达式的值都为1,因此表达式2就不计算了。说明:(3)若a=1,b=2,c=3,d=4,m和n原值为1(m=a>b)&&(n=c>d)则m=0,而n仍保持原值说明:1.if语句有三种基本形式1)第一种形式,基本形式:if(表达式)语句;如果表达式的值为真,则执行其后语句,否则不执行该语句。语句表达式非00if语句voidmain(){inta,b,max;scanf("%d,%d",&a,&b);max=a;if(max
31、2;如果表达式的值为真,则执行语句1,否则执行语句2。voidmain(){inta,b;scanf("%d,%d",&a,&b);if(a>b)printf("max=%d",a);elseprintf("max=%d",b);}例:语句1表达式非00语句22)第二种形式,if-else形式前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:if(表达式1)语句1;elseif(表达式2)语句2;…elseif(表达式m)语句m;else语句n;语句n语句1表达式1非00语句
32、2非00表达式2表达式m非00语句mif…elseif结构的执行过程3)第三种形式,if-else-if形式voidmain(){intresult;
此文档下载收益归作者所有