欢迎来到天天文库
浏览记录
ID:52279121
大小:871.01 KB
页数:29页
时间:2020-04-03
《《择结构实践》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计辅导及实验指导书第四章选择结构4.1本章内容一、关系运算符和关系表达式;二、逻辑运算符和逻辑表达式;三、if语句;四、条件运算符和条件表达式;五、switch语句。4.2重点难点一、关系运算符和逻辑运算符优先级;二、if语句三种形式的格式和使用方法;三、switch、break语句的格式和使用方法;四、if语句的嵌套,if和switch语句的混合应用。4.3知识点解析1.关系运算符C语言提供6种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、!=(不等于)。1)关系运算符都是双目运算符;2)关系运算符中<、<=、>、
2、>=优先级相同,==、!=优先级相同,且前四种关系运算符的优先级高于后两种关系运算符,其结合方向为自左向右;3)关系运算符的优先级高于赋值运算符,低于算术运算符。2.逻辑运算符C语言提供3种逻辑运算符:!(逻辑非)、&&(逻辑与)、
3、
4、(逻辑或)。1)运算符!是单目运算符,结合方向自右向左,运算符&&和
5、
6、是双目运算符,结合方向自左向右。2)优先级由高到低的顺序为:!、&&、
7、
8、;3)!运算符的优先级高于算术运算符。&&和
9、
10、运算符低于关系运算符,高于赋值运算符。3if语句三种形式if语句有三种基本形式。单分支if语句:if(表达式)语句双分支if-else语句:if(表
11、达式)语句1else语句2多分支if语句:if(表达式1)语句1elseif(表达式2)语句2……elseif(表达式n)语句nelse语句n4条件运算符和条件表达式条件运算符是C语言提供的唯一的三目运算符,其一般形式为:表达式1?表达式2:表达式3运算规则:首先求表达式1的值,若为真(非0),则将表达式2的值作为条件表达式的值;若为假(0),将表达式3的值作为条件表达式的值。优先级:条件运算符的优先级仅高于赋值运算符和逗号运算符,结合性是自右向左。5switch语句switch语句是一种多分支选择语句,语句格式为:switch(表达式){case常量表达式1:语句序列1
12、;[break;]case常量表达式2:语句序列2;[break;]case常量表达式3:语句序列3;[break;].......case常量表达式n:语句序列n;[break;][default:语句序列n+1;]}说明:1)每一个case的常量表达式的值必须互不相同。2)表达式与case分支进行一次匹配后不再判断,执行后面的语句直到结束,可以用break语句来终止switch语句的执行。3)case后面允许有多个语句,可以不用“{}”括起来。4.4案例分析1.正确表示判断x的值在10到20之间的C语言表达式的是。A)(x>=10)AND(x<=20)B)x>=10&
13、&x<=20C)20>=x>=10D)(x>=10)&(x<=20)答案:B2.下列程序输出结果为。#includeintmain(){intx=0,y=0;if(x>0)if(y>0)printf("x>0,y>0");elseprintf("x>0,y<=0");printf("end!");return0;}答案:end!3.以下程序的输出结果为。#includeintmain(){inta=2,b=1,c=4,d=3;printf("%d",(a14、下面程序,其运行结果为。#includeintmain(){intx=2,a=0,b=0;switch(x){case1:a++;b++;case2:a++;b++;case3:a++;b++;break;case4:a++;b++;case5:a++;b++;}pintf("a=%d,b=%d",a,b);return0;}答案:a=2,b=24.4案例分析(3)5.“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身(例如:13+53+33=153),编程实现输入一个3位数的整数,判断该数是否是“水仙花数”,是则输出“是”,否则输出“否”。#i15、ncludeintmain(){intnum,a,b,c;printf(“请输入一个3位数的整数:");//输入一个3位数的整数scanf("%d",&num);a=num%10;//求个位数b=num%100/10;//求十位数c=num/100;//求百位数//判断是否相等if(a*a*a+b*b*b+c*c*c==num)printf("是");elseprintf("否");return0;}4.6习题1.下列运算符优先级最高的是()。A)>B) !=C)16、17、D) !2.已知intx=3,
14、下面程序,其运行结果为。#includeintmain(){intx=2,a=0,b=0;switch(x){case1:a++;b++;case2:a++;b++;case3:a++;b++;break;case4:a++;b++;case5:a++;b++;}pintf("a=%d,b=%d",a,b);return0;}答案:a=2,b=24.4案例分析(3)5.“水仙花数”是指一个3位数,其各位数字的立方和等于该数本身(例如:13+53+33=153),编程实现输入一个3位数的整数,判断该数是否是“水仙花数”,是则输出“是”,否则输出“否”。#i
15、ncludeintmain(){intnum,a,b,c;printf(“请输入一个3位数的整数:");//输入一个3位数的整数scanf("%d",&num);a=num%10;//求个位数b=num%100/10;//求十位数c=num/100;//求百位数//判断是否相等if(a*a*a+b*b*b+c*c*c==num)printf("是");elseprintf("否");return0;}4.6习题1.下列运算符优先级最高的是()。A)>B) !=C)
16、
17、D) !2.已知intx=3,
此文档下载收益归作者所有