文档介绍:该【C语言程序设计练习二学习资料 】是由【清晨】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【C语言程序设计练习二学习资料 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。1
《C语言程序设计》练习二
二、多项选择题
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。
a=3,b=-5;下面表达式值不等于1的有( ADE )
<0&&b<0 =fabs(b)-(a+1)
<b||b<0 D.(a,2,-5)= =(b,2,a)
E.! (a>0&&b<0)
:int u=1,v=3;下面表达式的值为3的是( ACD )
|u &v
^ v|1 |u>>1
&~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
: int u=1, v=3, w=7;下面表达式的值为3的有( AC )
>>1&v|u &v&w
|v&w &v<<1
^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
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
( ABCE )
A.\123 B.\xab
C.\\ D.\88
E.\n
:int u=0,v=l,z=2;
2
则下列表达式中结果为-l的有( AB )
=~u =u|~(v&z)
=(u|z)<<1 =~(u|z)
&=(~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++;
3
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
、goto、continue语句的说法中正确的是( ACE )
A. break语句能够用于循环语句中
B. break语句不能用于switch语句中
C. goto语句可以用于直接从多层循环中退出
D. continue语句可用于跳出循环体
E. continue语句不能用于switch语句中
( BCD )
—while语句
a[5];,则对a数组元素或地址的引用错误的有( AC )
A.&a[5] [2]
++ D.*a
[0]
19. 若定义 char c[11]; 可将字符串″I am a boy″ 赋给数组c,下面正确的选项有
( CE )
A. c=″I am a boy″; B. getchar(c);
C. gets(c); D. scanf(″%s″,c);
4
E. for(i=0;i<10;i++) scanf(″%c″,&c[i]);c[10]=’\0’;
20. 若有如下定义和语句,则能正确表示数组a首元素地址的表达式有( BD )
int a[10], *p;
p=a;
A. a[0] B. a
C. p+1 D. p
E. *p
,能正确进行字符串操作的有( ACE )
A. char s[ ]={′a′, ′b′, ′c′, ′d′, ′e′, ′\0′};
B. char s[10];s=″abcde″;
s[10];strcpy(s, ″abcde″)
s[10];getchar(s);
s[10];gets(s);
,则能正确表示数组a首元素地址的表达式有( AE )
double a[5],*p1
p1=a;
+1
C.*p1 D.&a[1]
23.设有定义:int a[2][3];下面关于数组元素引用正确的有( BD )
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]地址的有( CDE )
A.a[2] B.*a
C.*a+2 D.a[0]+2
E.&a[0][2]
25.设有定义及赋值:( ACDE )
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)
5
:int *p,a[4],i;p=a,则可以表示数组元素值的形式是( ADE )
A.*(a+i) +i
C.&a[i] [i]
E.*(p+i)
:int y[4][4],( p)[4];及赋值p=y;则下列语句中可以输出数组元数y[2][0]的值的语句是( BCE )
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));
,则下列关系表达式的值为1的有( BD )
==&inV ==* inV
==* Vo5 ==&Vo5
==inV
( ABC )
,则在函数内局部变量无效
:( )
struct food
{
char name[20];
int kind;
}myfood,*p;
下面各个选项中语句都正确的是
=&myfood; =&myfood;
p->kind=5; strcpy(p->name,〃rice〃);
=&myfood; (myfood. name, 〃pie〃);
=7; p=&myfood;
=&myfood,p->kind=6;
strcpy(, 〃apple pie〃);
31.设有关于结构体类型的定义:( )
struct car
{
char*name;
6
float price;
struct car *next;
}*p,*head=NULL;
下面各选项中正确的有
A.p=(struct car*)MALLOC(sizeof (struct car);
B.p=(struct car*)malloc (sizeof (struct car);
C.=head;
D.p->next=head;
E.p=(struct car *)malloc (sizeof(car);
32.设有关于结构体类型的定义:( )
struct data
{
int num;
struct data *next;
} *p,* head=NULL;
下列语句中正确的有
A.p=(struct data *)malloc(sizeof(struct data));
B.p=(struct data )malloc(sizeof(struct data));
C.p=(struct data *)malloc(sizeof(data));
D.p->next=head;
E.=head;
:
struct worker
{
int id;
char name;
float salary;
} wl={102035,″Lihua″,}, p;
下列选项中语句语法正确的有( )
A. p=wl; B. p=&wl;
C. p->id=wl->id D. p->id=;
E. =;
34. 在C语言中,关于符号FILE下面说法正确的有( )
A. FILE是C的关键字
B. FILE表示一种关于文件参数的结构体类型
7
C. FILE表示一种关于文件参数的结构体变量
D. FILE*可以用来说明文件指针
E. 文件指针指向的变量的数据类型是FILE
,下面关于文件说法正确的有( )
,可分为文本文件和二进制文件
( )函数打开