33.在C语言中,多分支选择结构语句为:
switch(c)
{case常量表达式1:
语句1;
……
case常量表达式n-1:
语句n-1;
default语句n;}
其中括号内表达式c的类型:
。
(往届试题)
A)可以是任意类型B)只能为整型
C)可以是整型或字符型D)可以为整型或实型
34.以下if语句语法正确的是:
。
(往届试题)
A)if(x>0)
printf(“%f”,x)
elseprintf(“%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);
35.为了表示关系x>=y>=z,应使用C语言表达式。
(1级)
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
36.若欲表示在if后a不等于0的关系,则能够正确表示这一关系的表达式为。
(1级)
A)a<>0B)!
aC)a=0D)a
37.下面程序的输出结果是。
(1级)
main()
{intx,y,z;
x=y=1;
z=x++-1;
printf(“%d,%d\t”,x,z);
z+=-x+++(++y||++z);
printf(%d,%d”,x,z);
}
A)2,03,-1B)2,13,0
C)2,02,1D)2,10,1
38.下面程序的输出结果是。
(1级)
main()
{intx=40,y=4,z=4;
x=y==z;
printf(“%d”,x);
x=x==(y-z);
printf(%d”,x);
}
A)40B)41C)11D)10
39.若x=3,y=z=4,则下列表达式的值分别为。
(1级)
(1)(z>=y>=x)?
1:
0
(2)z>=y&&y>=x
A)01B)11C)00D)10
40.若x=3,y=z=4,则下列表达式的值分别为。
(1级)
(1)(z>=y>=x)?
1:
0
(2)y+=z,x*=y
A)024B)18C)08D)112
41.在以下一组运算符中,优先级最高的运算符是。
(1级)
A)<=B)=C)%D)&&
42.以下程序的输出结果是。
(1级)
main()
{
inta=-1,b=4,k;
k=(++a<=0)&&!
(b--<=0);
printf("%d%d%d",k,a,b);
}
A)104B)004C)103D)003
二、填空题
1.在C语言中,对于if语句,else子句与if子句的配对约定是。
(0级)
2.阅读下面程序,写出它的功能。
(1级)
3.以下两条if语句可合并成一条if语句为。
(1级)
if(a<=b)x=1;
elsey=2;
if(a>b)printf("****y=%d\n",y);
elseprintf("####x=%d\n",x);
4.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。
(2级)
#include
main()
{
floata,b,c,_abs,_derta,_doublea,part1,part2;
printf("entera,b,c:
");
scanf("%f%f%f",&a,&b,&c);
if(
(1))
if(
(2))printf("noanswerduetoinputerror\n");
elseprintf("thesinglerootis%f\n",-c/b);
else
{_derta=b*b-4*a*c;
_doublea=2*a;
part1=-b/(2*a);
_abs=abs(_derta);
part2=sqrt(_abs)/_doublea;
if((3))
printf("complexroot\nrealpart=%fimagepart=%f\n",part1,part2);
else
printf("realroots\nroot1=%froot2=%f\n",part1+part2,part1-part2);
}
}
5.设有程序片段如下:
switch(class)
{case'A':
printf("GREAT!
\n");
case'B':
printf("GOOD!
\n");
case'C':
printf("OK!
\n");
case'D':
printf("NO!
\n");
default:
printf("ERROR!
\n");
}
若class的值为'C',则输出结果是。
(1级)
6.以下程序段的运行结果是。
(1级)
intx=1,y=0;
switch(x)
{case1:
switch(y)
{
case0:
printf("x=1y=0\n");break;
case1:
printf("y=1\n");break;
}
case2:
printf("x=2\n");
}
7.根据以下if语句写出与其功能相同的switch语句(x的值在0~100之间)。
(1级)
if语句:
if(x<60)m=1;
elseif(x<70)m=2;
elseif(x<80)m=3;
elseif(x<90)m=4;
elseif(x<100)m=5;
switch语句:
switch(
(1))
{
(2)m=1;break;
case6:
m=2;break;
case7:
m=3;break;
case8:
m=4;break;
(3)m=5;
}
8.输入3个实数a,b,c要求按从大到小的顺序输出三数。
(01~02第二学期试题)
main()
{floata,b,c,t;
scanf(“%f,%f,%f”,&a,&b,&c);
if(a
{t=a;__
(1)__b=t;}
if(__
(2)__)
{t=a;a=c;c=t;}
if(b{__(3)__b=c;c=t;}
printf(“%f,%f,%f”,a,b,c);
}
9.输入一个字符,如果是大写字母,则把其变成小写字母;如果是小写字母,则变成大写字母;其它字符不变。
请在()内填入缺省的内容。
(03试题)
main()
{charch;
scanf(“%c”,&ch);
if(___
(1)____)ch=ch+32;
elseif(ch>=’a’&&ch<=‘z’)(__
(2)___);
printf(”%c\n”,ch);}
10.以下程序的运行结果是:
_________。
(03试题)
main()
{inta=2,b=3,c;
c=a;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-1;
printf(“%d\n”,c);
}
11.以下程序的运行结果是:
_________。
(04~05第二学期试题)
main()
{intx;
x=5;
if(++x>5)printf(“x=%d”,x);
elseprintf(“x=%d”,x--);}
12.在C语言中提供的条件运算符"?
:
"的功能是.(1级)
13.条件表达式a?
b:
c,其中a,b,c是三个运算分量.当运算分量a的值为真,则,否则.(1级)
14.在C语言中的逻辑运算符的优先级是高于高于.(1级)
15.main()
{inta,b,c;
a=b=c=1;
a+=b;
b+=c;
c+=a;
printf("
(1)%d\n",a>b?
a:
b);
printf("
(2)%d\n",a>c?
a--;c++);
(a>=b>=c)?
printf("AA");printf("CC");
printf("\na=%d,b=%d,c=%d\n",a,b,c);
}
运行结果为
(1)。
(2)。
(1级)
16.用C语言描述下列命题(1级)
(1)a小于b或小于c,
(2)a和b都大于c
(3)a或b中有一个小于c
(4)a是奇数。
17.main()
{intx=1,y=1,z=1;
y=y+z;x=x+y;
printf("%d,",xy:
x);
printf("%d,",xx++:
y++);
printf("%d,",x);
printf("%d",y);
}
运行结果为。
(1级)
18.main()
{intx,y,z;
x=3;,y=z=4;
printf("%d",(y==x)?
1:
0);
printf("%d",z>=y&&y>x);
}
运行结果为。
(1级)
19.若x=3,y=2,z=1,求下列表达式的值
(1)xy:
x
(2)xx++:
y++
(3)z+=xx++:
y++
表达式的值分别是
(1);
(2);(3)。
(1级)
20.表示条件:
10<100或x<0的C语言表达式是。
(1级)
21.分析下列程序
main()
{
printf("%d",1<4&&4<7);
printf("%d",1<4&&7<4);
printf("%d",(2<5));
printf("%d",!
(1<3)||(2<5));
printf("%d",!
(4<=6)&&(3<=7));
}
程序的输出结果是。
(1级)
三、编程题
1.编写一个程序,要求有键盘输入三个数,计算以这三个数为边长的三角形的面积。
(1级)
2.输入圆的的半径r和一个整型数k,当k=1时,计算圆的面积;但k=2时,计算圆的周长,当k=3时,既要求求圆的周长也要求出圆的面积。
编程实现以上功能。
(1级)
3.编写程序,判断某一年是否是闰年。
(1级)
4.有一函数,其函数关系如下,试编程求对应于每一自变量的函数值。
(03试题)
x2(x<0)
y=-0.5x+10(0
x<10)
x-
(x
10)
5.编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩。
设:
90分以上为‘A’;80~89分为‘B’;70~79分为‘C’;60~69分为‘D’;60分以下为‘E’。
(往届试题)
6.试