4.7 若执行以下程序时从键盘上输入3和4,则输出结果是
A) 14
B) 16
C) 18
D) 20
main()
{ int a,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a<b) s=b;
s*=s;
printf("%d\\n",s);
}
答案:B
4.8 下面的程序片段所表示的数学函数关系是
-1(x<0)
A) y= 0(x=0)
1(x>0)
1(x<0)
B) y= -1(x=0)
0(x>0)
0(x<0)
C) y= -1(x=0)
1(x>0)
-1(x<0)
D) y= 1(x=0)
0(x>0)
y=-1;
if(x!=0) y=1;
if(x>0) y=1;
else y=0;
答案:本题没有正确答案。程序片段所表示的数学函数关系应该是
0(x<0)
y= 0(x=0)
1(x>0)
4.9 运行以下程序后,输出
A) ****
B) &&&&
C) ####&&&&
D) 有语法错误不能通过编译
main()
{ int k=-3;
if(k<=0) printf("****\\n")
else printf("&&&&\\n");
}
答案:D
4.10 若a和b均是正整型变量,以下正确的switch语句是
A) switch(pow(a,2)+pow(b,2))
{ case 1: case 3: y=a+b; break;
case 0: case 5: y=a-b;
}
B) switch(a*a+b*b);
{ case 3:
case 1: y=a+b; break;
case 0: y=b-a; break;
}
C) switch a
{ default: x=a+b;
case 10: y=a-b; break;
case 11: x=a*d; break;
}
D) switch (a+b)
{ case10 : x=a+b; break;
case11 : y=a-b; break;
}
答案:没有正确答案。如果C选项改为:
switch(a)
{ default: x=a+b;
case 10: y=a-b; break;
case 11: x=a*b; break;
}
则答案可以选择C