欢迎来到天天文库
浏览记录
ID:43344148
大小:427.50 KB
页数:25页
时间:2019-10-08
《C语言第四章选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第四章选择结构程序设计第四章选择结构程序设计通常,计算机按在程序中书写的顺序执行语句。然而,在许多情况下,语句的执行顺序依赖于输入数据或中间运算结果。在这种情况下,必须根据某个变量或表达式的值作出判定,以决定执行哪些语句和跳过哪些语句不执行。我们称这种程序结构为选择结构(或称分支结构)。为了实现选择结构程序设计,C语言引入了if语句和switch语句。本章将介绍这两个语句及选择结构程序设计的方法。《C语言程序设计》第四章选择结构程序设计本章主要内容:4.1关系运算符及其表达式4.2逻辑运算符及其表达式4.3if语句4.4switch语句4.5综合应用举例本章重点:熟练掌握
2、关系、逻辑运算;深刻理解if语句的执行过程及在程序设计中的作用;熟练掌握if语句的变化和switch语句的功能和作用。《C语言程序设计》4.1关系运算符及其表达式关系运算符:<<=>>===!=关系表达式5>25<=2比较的结果是一个逻辑量,即“真”或“假”,分别用整数1和0表示。关系运算符的优先级低于算术运算符,高于赋值运算符。如:a=2*2<8(b=2)>5-1[例4.1]关系运算符的应用选择结构程序设计成立,为“真”(1)不成立,为“假”(0)《C语言程序设计》4.2逻辑运算符及其表达式逻辑运算符!(逻辑非)、&&(逻辑与)、
3、
4、(逻辑或)逻辑表达式!(a>b)10<
5、x&&y<100p==q
6、
7、x!=y逻辑表达式的结果还是逻辑值,即“真”或“假”,分别用1和0表示。[例4.2]逻辑运算典型的运算量是关系表达式选择结构程序设计《C语言程序设计》运算量是算术表达式时,如果算术表达式的值为0则认为“假”,非0认为“真”。[例4.3]在一个逻辑表达式中可以包含多个逻辑运算和其它各种运算符,这时将按它们的优先级进行运算:选择结构程序设计()!、++、--、+、-*、/、%+、-<、<=、>、>===、!=&&
8、
9、=、+=、-=、*=、/=、%=等高低《C语言程序设计》如表达式“5>3&&2
10、
11、8<4-!0”的运算顺序如下:短路运算:由于逻辑运算的
12、特殊性,逻辑表达式求值不一定必须求到底。如:a&&b&&ca
13、
14、b
15、
16、c选择结构程序设计只有a为真时才判断b,只有a&&b为真时才判断c。亦即:若a为假,表达式的值已经肯定为假,不必再往下判断了。只要a为真,就不必再继续判断,结果一定为真。《C语言程序设计》用来判定所给定的条件是否满足,根据判定的结果(真或假)决定要执行的语句。if语句的格式:格式1:if(表达式)语句如:if(a
17、程序设计》格式2:if(表达式)语句1else语句2如:if(a>b)c=a;elsec=b;printf(“c=%d”,c);[例4.5-1]将输入的两个数中最大的打印出来。[例4.5-2]将输入的两个数先大后小输出。选择结构程序设计表达式真假语句1语句2《C语言程序设计》嵌套的if语句在if语句中的“语句”处又是if语句,则称为if语句的嵌套。一般格式如下:if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4在嵌套的if语句中,人们习惯将它写成锯齿形,以增加程序的可读性。选择结构程序设计《C语言程序设计》内层的if语句如果
18、是简化的if,如:if(表达式1)if(表达式2)语句1else语句2从最内层开始,else总是与它上面最近的、未曾配对的if配对。选择结构程序设计{}?《C语言程序设计》[例4.6]求分段函数的值main(){intx,y;scanf(“%d”,&x);printf(“y=%d”,y);}选择结构程序设计if(x<0)y=-1;elseif(x==0)y=0;elsey=1;if(x<=0)if(x<0)y=-1;elsey=0;elsey=1;y=-1;if(x>=0)if(x>0)y=1;elsey=0;y=0;if(x>=0){if(x>0)y=1;}elsey
19、=-1;√《C语言程序设计》else-if格式if(表达式1)语句1elseif(表达式2)语句2elseif(表达式3)语句3……else语句n它实际上是if语句在else中有if嵌套的格式变化。如:选择结构程序设计if(x<0)y=-1;elseif(x==0)y=0;elsey=1;《C语言程序设计》[例4.7]输入考试成绩的等级,打印出百分制分数段(A等:85分以上,B等:70~84,C等:60~69,D等:60分以下)。main(){chargrade;scanf(“%d”,&grade);if(grad
此文档下载收益归作者所有