欢迎来到天天文库
浏览记录
ID:43343310
大小:499.00 KB
页数:20页
时间:2019-10-08
《C语言程序设计 第3章 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第3章选择结构程序设计关系运算、逻辑运算、if语句、条件运算符、switch语句本章要点首先要了解关系运算及逻辑运算的相关知识,理解什么是选择结构,然后再学习实现选择结构的各语句,各语句的语法结构,实现过程均需要记忆,只有这样才能学会选择结构程序的编写方法。学习方法建议本章内容3.5程序举例3.1关系运算符和关系表达式3.2逻辑运算符和逻辑表达式3.3if语句3.4switch语句3.1关系运算符及其表达式1.关系运算符关系运算实质就是两个算术量比较大小,其结果是一个逻辑值。逻辑值只有两个,分别用“真”和“假”来表示。在C语言中,没有专门的“逻辑值”,
2、而是用非0表示“真”,用0表示“假”。因此,对于任意一个表达式,如果值为非零,就代表一个“真”值;如果值为0,就代表一个“假”值。上一页下一页返回关系运算符共有以下6种:>大于<小于>=大于等于<=小于等于==等于!=不等于具有自左至右的结合性。以上运算符中,前四种关系运算符(<、<=、>、>=)的优先级别相同,后两种(==、!=)优先级相同,且前四种高于后两种。关系运算符的优先级低于算术运算符。2.关系表达式小测验:假设变量a=3、b=2、c=1,执行赋值语句f=a>b>c;后,变量f的值是多少?关系表达式的形式为:表达式1关系运算符表达式2例如:a
3、>b、a+b>c、x!=y等都是合法的关系表达式。关系表达式的值有两种情况:(1)当关系成立时,表达式的值为逻辑真,程序中用1表示。(2)当关系不成立时,表达式的值为逻辑假,用0来表示。例如,有关系表达式b4、5、(逻辑或)、!(逻辑非)。优先级与结合性(1)优先级从高到低为:!(非)、&&(与)、6、7、(或)。(2)逻辑运8、算符中的“&&”和“9、10、”的优先级低于关系运算符,“!”的优先级高于算术运算符。(3)“&”和“11、12、”的结合性为左结合,“!”的结合性为右结合。返回2.逻辑表达式上一页下一页逻辑表达式的形式为:表达式1&&表达式2表达式113、14、表达式2!表达式与关系表达式相同,逻辑表达式的值也有两种情况:1和0。运算规则如下:逻辑运算的规则表。xy!x!yx&&yx‖y非0非00011非0001010非01001001100返回小测验用关系或逻辑表达式描述下列条件:x是3的倍数且x是偶数。在特定的情况下会产生“短路”现象,即“&&”运算时左边运算对象的值为假(即0)时,15、系统完全可以确定逻辑表达式的结果为0,因此不再对右侧的运算对象求值。同样对于“16、17、”运算,当左边运算对象的值为真(即1)时,系统完全可以确定逻辑表达式的结果为1,同样不再对右侧的运算对象求值。例如,设有a=3,b=4,c=5。则有:a+b>c&&b==c的值为0a18、19、b+c&&b-c的值为1!(a>b)&&!c20、21、1的值为1(a>b)&&b++的值为0(b>c)22、23、a++的值为1上一页下一页返回3.3if语句和条件运算符1.单选择型if语句3.3.1if语句语法格式为:if(表达式)语句if子句在语法上只能是一条语句,若想执行多条语句,则必须用一对大括24、号“{}”括起来,以复合语句的形式出现。输入两个整数,分别存入a和b中,若两数不等,则输出其中的小数,若相等,则输出字符串a==b和a的值。【程序代码】#include"stdio.h"main(){inta,b;printf("Inputa&b:");scanf("%d%d",&a,&b);printf("a=%d,b=%d",a,b);if(a>b)printf("min=%d",b);if(b>a)printf("min=%d",a);if(a==b)printf("a==b%d:",a);}【例3.1】上一页下一页返回上一页下一25、页2.双选择型if语句语法格式为:if(表达式) 语句1else语句2输入任意三个整数给变量a、b、c,求三个数中的最大值。【程序代码】#include"stdio.h"main(){inta,b,c,max;printf("Pleaseinputthreenumber:");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a;elsemax=b;if(c>max)max=c;printf("Thethreenumberare:%d,%d,%d",a,b,c);printf("max=%d",max);}【例3.2】返回26、3.多选择型if语句上一页下一页语法格式为:if(表达式1) 语句1elseif(表达式2)
4、
5、(逻辑或)、!(逻辑非)。优先级与结合性(1)优先级从高到低为:!(非)、&&(与)、
6、
7、(或)。(2)逻辑运
8、算符中的“&&”和“
9、
10、”的优先级低于关系运算符,“!”的优先级高于算术运算符。(3)“&”和“
11、
12、”的结合性为左结合,“!”的结合性为右结合。返回2.逻辑表达式上一页下一页逻辑表达式的形式为:表达式1&&表达式2表达式1
13、
14、表达式2!表达式与关系表达式相同,逻辑表达式的值也有两种情况:1和0。运算规则如下:逻辑运算的规则表。xy!x!yx&&yx‖y非0非00011非0001010非01001001100返回小测验用关系或逻辑表达式描述下列条件:x是3的倍数且x是偶数。在特定的情况下会产生“短路”现象,即“&&”运算时左边运算对象的值为假(即0)时,
15、系统完全可以确定逻辑表达式的结果为0,因此不再对右侧的运算对象求值。同样对于“
16、
17、”运算,当左边运算对象的值为真(即1)时,系统完全可以确定逻辑表达式的结果为1,同样不再对右侧的运算对象求值。例如,设有a=3,b=4,c=5。则有:a+b>c&&b==c的值为0a
18、
19、b+c&&b-c的值为1!(a>b)&&!c
20、
21、1的值为1(a>b)&&b++的值为0(b>c)
22、
23、a++的值为1上一页下一页返回3.3if语句和条件运算符1.单选择型if语句3.3.1if语句语法格式为:if(表达式)语句if子句在语法上只能是一条语句,若想执行多条语句,则必须用一对大括
24、号“{}”括起来,以复合语句的形式出现。输入两个整数,分别存入a和b中,若两数不等,则输出其中的小数,若相等,则输出字符串a==b和a的值。【程序代码】#include"stdio.h"main(){inta,b;printf("Inputa&b:");scanf("%d%d",&a,&b);printf("a=%d,b=%d",a,b);if(a>b)printf("min=%d",b);if(b>a)printf("min=%d",a);if(a==b)printf("a==b%d:",a);}【例3.1】上一页下一页返回上一页下一
25、页2.双选择型if语句语法格式为:if(表达式) 语句1else语句2输入任意三个整数给变量a、b、c,求三个数中的最大值。【程序代码】#include"stdio.h"main(){inta,b,c,max;printf("Pleaseinputthreenumber:");scanf("%d%d%d",&a,&b,&c);if(a>b)max=a;elsemax=b;if(c>max)max=c;printf("Thethreenumberare:%d,%d,%d",a,b,c);printf("max=%d",max);}【例3.2】返回
26、3.多选择型if语句上一页下一页语法格式为:if(表达式1) 语句1elseif(表达式2)
此文档下载收益归作者所有