C语言程序设计》练习二
二、多项选择题
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。
1.设有int a=3,b=-5;下面表达式值不等于1的有( ADE 
A.a<0&&b<0                    B.a=fabs(b)-(a+1)
C.a<b||b<0                    D.(a,2,-5)= =(b,2,a)
E.! (a>0&&b<0)
2.设有说明:int u=1,v=3;下面表达式的值为3的是( ACD 
A.v|u                    B.u&v
C.u ^ v|1                    D.v|u>>1
E.v&~u
3. 设有说明:int  x=1, y=3; 下面表达式的值为2的有(  ABE 
A. y&~x                    B. x^y
C. x|y                    D. y|x>>1
E. x<<1|y>>2
4.设有说明: int u=1, v=3, w=7;下面表达式的值为3的有( AC  
A.w>>1&v|u    B.u&v&w
C.u|v&w    D.w&v<<1
E.v^w|u
5.若有int x;float;y下面结果为整型数的表达式有( ACD  )
A(int)(x+y)    B(int)x+y
C´a´+x    Dx+(int)y
Ex*y
6.设有说明:int u=1,v=5;则下列表达式的值为1的有( ABE   )
Au&v    Bv>>2
Cu^u    Du¦v
E(u<<3)/5
7.设有int  a=3,b=-5;下列表达式的值等于1的有(  ABCE 
A. a&&b<0    B. fabs(b)-a-1>0
C. a>b&&b<0    D. (a,2,-5)==(b,2,a)
E. a+b<0
8.下面合法的C语言转义字符有(  ABCE     
A.\123    B.\xab
C.\\    D.88
E.n
9.设有说明:int u=0v=lz=2
则下列表达式中结果为-l的有( AB     
A.v=u    B.u=u|~(vz
C.v=u|z<<1    D.u=~(u|z
E.v=(~u
10.设有说明:int u=1v=3w=7;下列表达式的值为7的有(    )
Au&v|w        Bu|v|w      Cu^v|w      Dw&v|u        Eu^w|v
11.下面基本结构和特性中符合结构化程序设计的要求的有(  ABCE  )
A.选择结构    B.循环结构
C.顺序结构
D.各结构之间只有一个入口,至多两个出口
E.各结构之间只有一个入口,一个出口
12.下列语句中正确的有( ACD   )
Aif(x>y);
Bif(x=y)&&(x!=0)x+=y;
Cif(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);
Dif(x<y){x+ +;y+ +;}
Eif(x<y)x+ +;y+ +;else x――y――;
13.下列循环将会产生死循环的有(   ACDE   )
Awhile(1);    Bdo{ }while(0);
Cdo{ }while(1);    Dfor(k=1;k>―10;k+ +);
Efor(k=1;k=10;k+ +,k――);
14.以下if语句中没有语法错误的有(  AC   )
Aif(x>0)printf(%f″,x);
else printf(%f″,x);
Bif(x>0){x=x+y;printf(%f″,x)}
else printf(%f″,x)
Cif(x>0){x=x+y;printf(%f″,x);}
else printf(%f″,x);
Dif(x>0)x=x+y;printf(%f″,x);
else printf(%f″,x)
Eif x>y
x++;
else
x--;
15.设有程序如下:
main()
{ int ija[]={13579111315};
i=5;
switch(i)
{ default;printf(%d\n″,a[i]);
case 1:printf(%d\n″,a[3]);
case 2:printf(%d\n″,a[++i]);break;
case 3:printf(%d\n″,a[--i]);
}
}
上述程序的输出结果不包括(  AC  )
A5      B7      C9        D11      E13
16.下列关于breakgotocontinue语句的说法中正确的是( ACE   
A. break语句能够用于循环语句中   
B. break语句不能用于switch语句中
C. goto语句可以用于直接从多层循环中退出
D. continue语句可用于跳出循环体
E. continue语句不能用于switch语句中
17.下面能执行循环结构的语句有(    BCD6 
A.if语句    B.while语句
C.do—while语句    D.for语句
E.switch语句
18.若有定义int a[5];,则对a数组元素或地址的引用错误的有(      
A.&a[5]                    B.a[2]
C.a++                    D.*a
E.a[0]
19. 若定义 char c[11]; 可将字符串″I am a boy 赋给数组c,下面正确的选项有
(        
A. c=I am a boy;                    B. getchar(c);
C. gets(c);                    D. scanf(%s,c);printf函数括号内参数的构成解说
E. for(i=0;i<10;i++) scanf(%c,&c[i];c[10])=’\0’;
20. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有(    
int  a[10], *p;
p=a;
A. a[0]                    B. a
C. p+1                    D. p
E. *p
21.下面各选项中,能正确进行字符串操作的有(     
A. char s[ ]={a, b, c, d, e, \0};
B. char s[10];s=abcde;
C.char s[10];strcpy(s, abcde)
D.char s[10];getchar(s);
E.char s[10];gets(s);
22.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有(    
double a[5],*p1
p1=a;
A.a    B.p1+1
C.*p1    D.&a[1]
E.p1
23.设有定义:int a[2][3];下面关于数组元素引用正确的有(    )
Aa[0][3]    Ba[0][0]
Ca[2][1]    Da[1][2]
Ea[2][3]
24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有(      )
Aa[2]    B*a
C*a+2    Da[0]+2
E&a[0][2]
25.设有定义及赋值:(      )
int a[10]={0123456789}*p;
p=a;
则引用a中值为5的元素的正确形式是
Aa[5]          Ba[4]      C*(a+5)        Dp[5]      E*(p+5)
26.若有定义及赋值:int  *p,a[4],i;p=a,则可以表示数组元素值的形式是(      
A.*(a+i)                    B.a+i
C.&a[i]                    D.a[i]
E.*(p+i)
27.若有定义:int  y[4][4],( p)[4];及赋值p=y;则下列语句中可以输出数组元数y[2][0]的值的语句是(     
A. printf (″%d\n″,&y[2][0]);    B. printf (″%d\n″, y[2][0]);
C. printf (″%d\n″,p[2][0]);    D. printf (″%d\n″, y[2]);
E. printf (″%d\n″, ((y+2));
28.设变量Vo5的地址已赋给指针变量inV,则下列关系表达式的值为1的有(     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。