C语言第4章选择结构.docx
《C语言第4章选择结构.docx》由会员分享,可在线阅读,更多相关《C语言第4章选择结构.docx(6页珍藏版)》请在冰豆网上搜索。
第四章选择结构
选择:
1.以下关于运算符优先级的描述中,正确的是()。
A)!
(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
2.逻辑运算符的运算对象的数据类型()。
A)只能是0或1 B)只能是.T.或.F.
C)只能是整型或字符型 D)任何类型的数据
3.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。
A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)
C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)
D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)
4.判断字符型变量ch为数字的表达式是()。
A)0<=ch<=9 B)(ch>=0)&&(ch<=9) C)'0'<=ch<='9' D)(ch>='0')&&(ch<='9')
5.若有以下函数关系
x<0→y=2x
x>0→y=x
x=0→y=x+1
下面程序段能正确表示以上关系的是()。
A) y=2x;B) y=2x;
if(x!
=0) if(x<=0)
if(x>0)y=x; if(x==0)y=x+1;
elsey=x+1; elsey=x;
C) if(x>=0) D)y=x+1;
if(x>0)y=x; if(x<=0)
elsey=x+1; if(x<0)y=2x;
elsey=2x; elsey=x;
6.以下不正确的if语句形式是()。
A)if(x>y&&x!
=y);
B)if(x==y)x+=y;
C)if(x!
=y)scanf(“%d”,&x)elsescanf(“%d”,&y);
D)if(x7.设有如下定义:
charch=’z’,则执行下面语句后变量ch是值为:
()。
ch=(‘A’<=ch&&ch<=‘Z’)?
(ch+32):
ch
A)A B)a C)Z D)z
8.已知intx=30,y=50,z=80;以下语句执行后变量x、y、z的值分别为:
()。
if(x>y||xz)z=x;x=y;y=z;
A)x=50,y=80,z=80 B)x=50,y=30,z=30
C)x=30,y=50,z=80 D)x=80,y=30,z=50
9.C语言中,要求运算对象必须是整型的运算符是:
()。
A)> B)++ C)% D)!
=
10.在C语言中,多分支选择结构语句为:
()。
switch(c)
{
case常量表达式1:
语句1;
……
case常量表达式n-1:
语句n-1;
default语句n;
}
其中括号内表达式c的类型:
()。
A)可以是任意类型 B)只能为整型
C)可以是整型或字符型 D)可以为整型或实型
11.下面的程序片段所表示的数学函数关系是()。
y=-1;
if(x!
=0)if(x>0)y=1;elsey=0;
A. B. C. D.
12.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是()。
A、if(u>s)t=u;t=s;B、t=s;if(u>s)t=u;
C、if(u>s)t=s;elset=u;D、t=u;if(u>s)t=s;
13.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )
A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B.(x>=1)||(x<=10)||(x>=200)||(x<=210)
C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)
14.以下不正确的if语句形式是()
A.if(x>y&&x!
=y);
B.if(x==y)x+=y;
C.if(x!
=y)scanf(“%d“,&x)elsescanf(“%d”,&y);
D.if(x15.请阅读以下程序,该程序( )
main()
{inta=5,b=0,c=0;
if(a+b+c)printf(“***\n”);elseprintf(“$$$\n”);}
A.有语法错误不能通过编译
B.可以通过编译但不能通过连接
C.输出***
D.输出$$$
16.为了避免在嵌套的条件语句if--else中产生二义性,C语言规定:
else子句总是与( )配对。
A.缩进排位置相同的if
B.其之前最近的if
C.其之后最近的if
D.以上说法都不准确
17.判断字符型变量ch为大写字母的表达式是()
A)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)
C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)
18.若有以下变量定义:
()
floatx;inta,b;
则正确的switch语句是。
(1级)
A)switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("**\n");
}
B)switch(x)
{case1,2:
printf("*\n");
case3:
printf("**\n");
}
C)switch(a+b)
{case1:
printf("*\n");
case2*a:
printf("**\n");
}
D)switch(a+b)
{case1:
printf("*\n");
case1+2:
printf("**\n");
}
19.设有如下定义:
charch=’z’,则执行下面语句
后变量ch是值为:
()。
ch=(‘A’<=ch&&ch<=‘Z’)?
(ch+32):
ch
A)AB)aC)ZD)z
20.在C的if语句中,可用作判断的表达式是:
()。
A)关系表达式B)逻辑表达式
C)算术表达式D)任意表达式
21以下if语句语法正确的是()。
A)if(x>0)
printf(“%f”,x)
B)if(x>0)
{x=x+y;printf(“%f”,x);}
elseprintf(“%f”,-x);
C)if(x>0)
{x=x+y;printf(“%f”,x);};
elseprintf(“%f”,-x);
D)if(x>0)
{x=x+y;printf(“%f”,x)}
elseprintf(“%f”,-x);
填空:
:
1.设y为int型变量,请写出描述“y是奇数”的表达式:
___。
2.在C语言中提供的条件运算符"?
:
"的功能是___。
3.用C语言描述“a
___。
4.当a=3,b=2,c=1时,表达式f=a>b>c的值是___。
5.当a=5,b=4,c=2时,表达式a>b!
=c的值是___。
6.C语言提供的三种逻辑运算符是___。
7.设x,y,z均为int型变量写出“x或y中有一个小于z”的表达式___。
8.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。
请在空格内填入缺省的内容。
if(___)ch=ch+32;
elseif(ch>=’a’&&ch<=‘z’);
9.switch-case语句的执行流程是:
若表达式的值与常量表达式i值一致,则从语句i开始执行,直到___。
10.程序中有一个输入语句:
scanf("%d%d%c",&a,&b,&c)。
在程序运行的时候输入___可以给使a=2,b=3,c='*'。
判断:
:
1.在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。
2.关系运算符的优先级高于算术运算符并且低于赋值运算符。
3.若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"
4.在执行switch语句时,default和各个case的出现次序不影响执行结果
5.在C语言中,else子句总是与和它最近的if子句配对。
6.switch后面括号里的表达式,可以是整型、字符型或者浮点型表达式。
7.表示多分支选择结构只能使用if-else-if-else语句和if语句的嵌套。
8.intx=2,y=-1,z=2;
if(xif(y<0)z=0;
elsez+=1;
printf("%d\n",z);}
以上程序的输出结果为0
9.在c程序中,else子句可以单独使用。
10.在c程序中else的个数不能多于if的个数。
编程:
:
1.编写一个程序,要求从键盘输入三个数,程序判断这三个数能否构成一个三角形。
如果能,判断该三角形是否直角三角形。
2.输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;当k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。
用if-else语句实现以上功能。
3.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值
。
x<0时,y=x*2
0<=x<=10,y=-0.5x+10
x>10,y=x-1
4.编写一个程序,输入a、b、c三个数,按从大到小的顺序将它们输出。
5.编写一个程序,用户输入运算数1、四则运算符和运算数2,输出计算结果。
如,输入“4+3”,输出7。
6.编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为‘A’;
7.输入一个整数,判断是奇数还是偶数,输出判断结果。
8.输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;但k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。
用switch语句实现以上功能。
9.输入一个字符,判断它是字母,还是数字,还是其他符号。
并输出判断的结果。
10.输入一个字母,如果它是大写的,就输出对应的小写形式;如果它是小写的,就输出对应的大写形式。
答案:
ADBDCCDABCCCBCCCBDCD
填空:
y%2!
=0根据条件表达式