- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 选择结构程序设计
4.1本章导学
一、教学目标
1.掌握关系运算符和逻辑运算符。
2.理解C语言中真与假的概念。
3.学会正确书写关系表达式和逻辑表达式。
4.能够区分关系等于运算符和赋值运算符。
5.掌握根据各种运算符的优先级计算表达式的值。
6.熟练掌握三种if语句和switch语句。
7.掌握选择结构的嵌套。
二、知识要点
1.关系运算符及表达式
表4.1 关系运算符
关系运算符 优先级 结合性 、 =、、= 高 自左至右 ==、!= 低 自左至右 (1)均为双目运算符,要求有两个操作数。
(2)在C语言中,“=”表示赋值,“==”表示比较等于。
(3)用关系运算符将两个操作数连接起来符合C语言语法规则的式子叫关系表达式。如:a+bc+d,(a=9)!=(bc)等。
(4)关系表达式的值为逻辑值,即“真”或“假”,在C语言中以1表示为真,以0表示假。如 98,值为1(真);89,值为0(假);设a=2,b=3,c=4,则ab!=c相当于(ab)!=c,值为1(真)。
2.逻辑运算符及表达式
表4.2 逻辑运算符
逻辑运算符 含义 结合性 ! 逻辑非 自左至右 逻辑与 自左至右 || 逻辑或 自左至右 (1)“!”为单目运算符,要求只能有一个操作数,如!a,运算结果是非0为真,0为假。
(2)“”和“||”为双目运算符,要求有两个操作数。
(3)三种逻辑运算符的优先级由高到低依次为:!、、||;
(4)“”运算,当两个操作数均为非0(真)时,结果为1(真),否则结果为0(假);
(5)“||”运算,当两个操作数均为0(假)时,结果为0(假),否则结果为1(真);
(6)在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行;
例:
abc,只有a为真时才需要判断b的值,只有a和b都为真时才需要判断c的值;
a||b||c,只要a为真时就不必判断b和c的值,只有a为假时才判断b的值,a和b都为假时才判断c的值。
(7)在C语言中,0x10并不能表示x大于0且小于10。
假设x=-1,按照优先级及结合性,应先计算0x ,结果为0;再计算010,则结果为1(真),但是-1显然不在0—10之间,因此,此计算结果是错误的,所以一定要用 (0x)(x10)表示x大于0且小于10。
3.条件表达式
表达式1 ?表达式2 :表达式3
(1)当表达式1的值为非0时,条件表达式的值是表达式2的值,当表达式1的值为0时,条件表达式的值是表达式3的值。
例:
max=23?2:3;由于23不成立,所以 max的值为3。
(2)条件表达式的结合性为自右至左。
如:ab?a:bc?b:c等价于ab?a:(bc?b:c)
4.各运算符的优先级
表4.3 部分运算符优先级
运算符 ! 算术运算符 关系运算符 || 条件运算符 赋值运算符 逗号运算符 优先级 高————————————————————?低 例:
(1)4 0 || 2+1,值为1(真);
(2)设a=3,b=4,c=5,则
a-bcb!=c 等价于((a-b)c)(b!=c),值为1(真);
!ab/3c%2!=1 等价于((!a)(b/3))||((c%2)!=1),值为0(假)。
5.在C语言中,用if实现选择结构,if 语句有以下三种最常用的格式:
(1)单分支
if (表达式) 语句
if(xy) printf(“%d”,x);
(2)双分支
if (表达式)
语句1
else
语句2
if (xy)
printf(“max=%d”,x);
else
printf(“max=%d”,y);
(3)多分支
if(表达式1 ) 语句1
else if(表达式2 ) 语句
……
else if(表达式m) 语句
else 语句m+1
例:
if(n=90 ) g=‘A’;
else if(n=80 ) g=‘B’;
else if(n=70 ) g=‘C’;
else if(n=60 ) g=‘D’;
else g=‘f’;
6.选择结构的嵌套
在if中又包含一个或多个if语句称为if语句嵌套。
if(表达式1 )
if( 表达式2) 语句块1
else 语句块2
else
if(表达式3 ) 语句块3
else 语句块4
(1)在if语句嵌套中,if与else既可以成对出现,也可以不成对出现;
(2)else与if的配对原则是:else总是与其上最近且未配对的if配对。
例:
if (score90)
printf(“very good”);
els
文档评论(0)