《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 D.x+(int)y
E.x*y
6.设有说明:int u=1,v=5;则下列表达式的值为1的有( ABE )
A.u&v B.v>>2
C.u^u D.u¦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=0,v=l,z=2;
则下列表达式中结果为-l的有( AB )
A.v=~u B.u=u|~(v&z)
C.v=(u|z)<<1 D.u=~(u|z)
E.v&=(~u)
10.设有说明:int u=1,v=3,w=7;下列表达式的值为7的有( )
A.u&v|w B.u|v|w C.u^v|w D.w&v|u E.u^w|v
11.下面基本结构和特性中符合结构化程序设计的要求的有( ABCE )
A.选择结构 B.循环结构
C.顺序结构
D.各结构之间只有一个入口,至多两个出口
E.各结构之间只有一个入口,一个出口
12.下列语句中正确的有( ACD )
A.if(x>y);
B.if(x=y)&&(x!=0)x+=y;
C.if(x! =y)scanf(“%d,&x);else scanf(“%d”,&y);
D.if(x<y){x+ +;y+ +;}
E.if(x<y)x+ +;y+ +;else x――;y――;
13.下列循环将会产生死循环的有( ACDE )
A.while(1); B.do{ }while(0);
C.do{ }while(1); D.for(k=1;k>―10;k+ +);
E.for(k=1;k=10;k+ +,k――);
14.以下if语句中没有语法错误的有( AC )
A.if(x>0)printf(″%f″,x);
else printf(″%f″,x);
B.if(x>0){x=x+y;printf(″%f″,x)}
else printf(″%f″,x)
C.if(x>0){x=x+y;printf(″%f″,x);}
else printf(″%f″,x);
D.if(x>0)x=x+y;printf(″%f″,x);
else printf(″%f″,x)
E.if x>y
x++;
else
x--;
15.设有程序如下:
main()
{ int i,j,a[]={1,3,5,7,9,11,13,15};
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 )
A.5 B.7 C.9 D.11 E.13
16.下列关于break、goto、continue语句的说法中正确的是( 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];下面关于数组元素引用正确的有( )
A.a[0][3] B.a[0][0]
C.a[2][1] D.a[1][2]
E.a[2][3]
24.设有二维数组int a[4][3];下列表示数组元素a[0][2]地址的有( )
A.a[2] B.*a
C.*a+2 D.a[0]+2
E.&a[0][2]
25.设有定义及赋值:( )
int a[10]={0,1,2,3,4,5,6,7,8,9},*p;
p=a;
则引用a中值为5的元素的正确形式是
A.a[5] B.a[4] C.*(a+5) D.p[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小时内删除。
发表评论