A)1 0 4 B)0 0 4 C)1 0 3 D)0 0 3 43.若已定义int a=25,b=14,c=19;以下三项运算符(?:)所构成的语句的执行结果是 D 。(1级)
a++<=25&&b--<=2&&c++?printf(\printf(\
A)(***a=25,b=14,c=19) B)(***a=26,b=13,c=19) C)(###a=25,b=14,c=19) D)(###a=26,b=13,c=19) 二、填空题
1.在C语言中,对于if语句,else子句与if子句的配对约定是 。(0级)
2.阅读下面程序,写出它的功能。(1级) #include
printf(\c=getchar(); while(c!='\\n') {if(c= ='.') label=1; c=getchar(); }
if(label= =1)
printf(\else printf(\}
3.以下两条if语句可合并成一条if语句为 。(1级) if(a<=b) x=1; else y=2;
if(a>b) printf(\else printf(\
4.以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。(2级) #include
float a,b,c,_abs,_derta,_doublea,part1,part2; printf(\scanf(\if( (1) )
if( (2) ) printf(\else printf(\else
{_derta=b*b-4*a*c; _doublea=2*a;
part1=-b/(2*a); _abs=abs(_derta); part2=sqrt(_abs)/_doublea; if( (3) )
printf(\else
printf(\
roots\\n
root1=%f
root2=%f\\n\} }
5.设有程序片段如下: switch(class)
{case 'A':printf(\case 'B':printf(\case 'C':printf(\case 'D':printf(\default:printf(\}
若class的值为'C',则输出结果是 。(1级) 6.以下程序段的运行结果是 。(1级) int x=1,y=0; switch(x)
{case 1:
switch(y) {
case 0:printf(\ case 1:printf(\ } case 2:printf(\}
7.根据以下if语句写出与其功能相同的switch语句(x的值在0~100之间)。(1级) if语句: if(x<60) m=1; else if(x<70) m=2; else if(x<80) m=3; else if(x<90) m=4;
else if(x<100) m=5; switch语句:
switch( (1) ) {
(2) m=1;break; case 6:m=2;break; case 7:m=3;break;
case 8:m=4;break; (3) m=5; }
8. 输入3个实数 a, b, c要求按从大到小的顺序输出三数。(01~02第二学期试题) main( ) { float a,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( ) { char ch; scanf(“%c”,&ch);