C语言3、4、5、6章课后练习题答案 谭浩强版本
第5章课后练习题
一 单选题
1.假定所有变量均已正确说明,下列程序段运行后x的值是:
int a=0,b=0,x=35;
if(!a) x--;
if(b) x=3;
else x=4;
A) 34
B) 4
C) 35
D) 3
2.与 y=(x>0?1:x<0?-1:0);的功能相同的if语句是:
A) if (x>0) y=1;
else if(x<0)y=-1;
else y=0;
B) if(x)
{if(x>0)y=1;
else if(x<0)y=-1;
else y=0; }
C) y=-1;
if(x)
{ if(x>0)y=1;
else if(x==0)}
else y=-1;
D) y=0;
if(x>=0)
{ if(x>0)y=1;
else y=-1;}
3.为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。
A) 缩排位置相同的if
B) 在其之前未配对的if
C) 在其之前未配对的最近的if
D) 同一行上的if
4.能将变量 u 、s中的最大值赋给变量t 的是:
A) if(u>s) t=u;t=s;
B) t=u; if(t ) t=s;
C) if(u>s) t=s;else t=u;
D) t=s; if(u ) t=u;
5.对下面三条语句(其中s1和s2为内嵌语句),正确的论断是
(1)if (a) s1;else s2; (2) if (a==0) s2;else s1;
(3)if (a!=0) s1;else s2;
A) 三者相互等价