当前位置:首页 > 《c语言程序设计基础》单元总结与练习题及答案()
*********
习题答案:
一.选择题
1.A 2.D 3.B 4.A 5.C
二.填空题
1.A
3.n1=d\\nn2=d 4.n1=1,n2=12 5.空格,TAB键,回车
*******************************************************************************
单元四 选择结构程序设计
单元总结提升
在选择结构程序设计中,条件判断表达式和选择结构实现语句是两个核心内容。通过本单元的学习,我们应该知道:
1.条件判断表达式由关系运算符及其表达式、逻辑运算符及其表达式构成,其中:
(1) 关系运算符有: > 、 < 、 >= 、 <= 、 !=、 == (2) 逻辑运算符有: &&、||、 ! 2.选择结构实现语句有三种方式: (1) 单分支if选择结构,一般格式为: if ( 表达式 )
{ 语句;} (2) 双分支if-else选择结构,一般格式为:
if ( 表达式 ) { 语句1;}
else { 语句2;}
(3) 多分支 switch选择结构,一般格式为:
switch( 表达式 )
{ case 常量表达式1: [语句序列1;] [break;] }
3.在应用选择结构时,应注意以下问题:
(1)在if嵌套语句中,要弄清else与if的匹配关系,书写if语句嵌套时一般采用缩进的阶梯式写法,在实际编程中,为了表明编程者的意图,也常常通过“{}”来强制if和else的配对关系。
(2)switch语句中,“表达式”和“常量表达式”的类型只能是整型或字符型数据,且“常量表达式”只能由常量构成,通过“表达式”与“常量表达式”之间的对等关系构造出多分支选择结构。
(3)在某些多分支选择结构程序设计中,既可使用if-else语句实现,也可以使用switch语句实现。switch语句与if语句的不同之处在于:switch语句仅能判断一种逻辑关系,即“表达式”和指定“常量表达式”的值是否相等,而不能进行大于,小于某一个值的判断,不能表达区间数据的概念;if语句可以计算和判断各种表达式。所以switch语句不能完全替代if语句。
总之,通过本单元的学习,应该掌握C语言选择结构程序设计的思路和语句的基本用法。
case 常量表达式2: [语句序列2;] [break;]
case 常量表达式n: [语句序列n;] [break;]
……
default: 语句序列n+1;
单元练习
一.选择题
1.以下选项中,当x为大于1的奇数时,值为0的表达式( )。
A.x%2==1???? B.x/2???
?? C.x%2!=0???
D.x%2==0
2.在C语言中,if语句后的一对圆括号中有一个用以决定分支走向的表达式,该表达式( )。
A.只能是关系表达式 B.只能是逻辑表达式
C.只能是关系或逻辑表达式 D.可以是任何合法表达式 3.读下面程序段,当x=-3时,输出y的值为( )。
int x,y; y=0;
scanf(“%d”,&x); if(x>=0)
if(x>0) y=1; else y=-1;
printf(“y=%d”,y);
A.1 B.-1 C.0 D.不确定 4.下列语句将小写字母转化为大写字母,正确的语句为( )。
A.if(’z’>=ch>=’a’) ch=ch-32; B.if(ch>=’a’&&ch<=’z’) ch=ch-32; C.ch=(’z’>=ch>=’a’)?ch-32:ch; D.ch=( ch>=’a’&&ch<=’z’)?ch:ch-32;
5.关于与switch语句配套的case语句中所使用的表达式,说法正确的是( )。
A.可以是变量 B.可以是常量或变量 C.只能是常量或常量表达式
D.无论是何种表达式,只要在执行时有确定的值就行
二.填空题
1.在算术运算符、关系运算符、逻辑运算符和赋值运算符中,运算优先级最高的运算符是 ,最低的是 。
2.正确表示数学关系“1 char ch; ch= ; if(ch>=’A’&& ) else if( ) putchar(ch); 5.以下程序段功能是根据学生考试成绩,确定其成绩等级,成绩与等级对应情况与【例4-7】中表格相同,请将程序段补充完整。 char level; //成绩等级 float score; //考试成绩 scanf(“%f”,&score); switch( ) { :level=’A’; ; } printf(“考试成绩等级为: .”,level); ******************************************************************************* case 8: level=’B’;break; case 7: level=’C’; break; case 6: level=’D’; break; default: ; 习题答案: 一.选择题 1.D 2.D 3.C 4.B 5.C 二.填空题 1.!(非) = 2.a>1&&a<4 3.n%3!=0 4. char ch; ch= getchar() ; if(ch>=’A’&& ch<='T' ) ch=ch+6; else if(ch>='U'&&ch<='Z' )
共分享92篇相关文档