C语言练习题第二章

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第二章 常见题型
一.选择题:
1.设变量定义为int A=5,B=6,表达式(++A==B--)?++A:--B的值是________。
A.5
B.6
C.7
D.8
2.下列程序的输出为________?
#inclde
main()
{
int m=7,n=4;
float a=38.4,b=6.4,x;
x=m/2+n*a/b+1/2;
printf("%f\n",x);
}
A.27.000000
B.28.000000
C.27.500000
D.28.500000
3.下列运算符其优先级最高的是________。
A.?:
B.&&
C.+
D.'=
4.C语言中各种基本数据类型的存储空间长度排列为________。
A.char≤long≤int≤float≤double
B.double≤float≤long≤int≤char
C.char≤int≤long≤float≤double
D.float≤int≤long≤char≤double
5.对两个静态函数A和B进行如下初始化。
static char A[]="ABCDEF";
static char B[]={'A','B','C','D','E','F'};
则下列叙述正确的是________。
A.A和B完全相同
B.A和B只是长度相等
C.A和B不相同,A是指针数组
D.A数组长度比B数组长
6.说明语句char s='\092';使s包含了几个字符?
A.1个
B.3个
C.4个
D.说明不合法,s值不确定
7.若int类型占两个字节,则以下语句输出为________。
int k=-1;
printf("%d,u%\n",k,k);
A.-1,-1
B.-1,65536
C.-1,32768
D.-1,65535
8.当int类型长度为2字节时,则类型unsigned int的值域范围为________。
A.0至255
B.-256至255
C.-32768至32676
D.0至65535
9.以下程序的输出是:
#include
main()
{ printf("%d",NULL);}

A.-1
B.0
C.NULL
D.出错误信息
10.若a为整型变量则以下语句________。
a=-2L;
printf("%d\n",a);
A.赋值不合法
B.输出值为-2
C.输出为不确定值
D.输出值为2
11.当int类型长度为2字节时,则类型unsigned int的值域范围为________。
A.0至255
B.-256至255
C.-32768至32676
D.0到65535
12.类型定义:
char S[3]="AB";
char *p;
执行了语句p=S以后,*(p+2)的值是________。
A.'B'
B.'\0'
C.不确定
D.字符'B'的地址
13.在C中,设X为任意整数,下列表达式的值是________。
(i)X&~0 (ii)~x^x (iii)!!x (iv)!x|x
A.(i)0
(ii)1
(iii)1(当x=0)
(iv)x(当x=0)
0(当x<>0)
1(当x<>0)

B.(i)-1
(ii)0
(iii)0(当x=0)
(iv)1(当x=0)
1(当x<>0)
0(当x<>0)

C.(i)1
(ii)0
(iii)1(当x=0)
(iv)x(当x=0)
0(当x<>0)
1(当x<>0)

D.(i)X
(ii)-1
(iii)0(当x=0)
(iv)1(当x=0)
1(当x<>0)
x(当x<>0)

二.填空题:
1.类型定义:int a[10];
int *p;
执行赋值语句p=a;之后,那么p+5是________,*(p+5)是________。
A.a[5]的值
a[5]的值
B.a[5]的地址
a[5]的地址
C.a[5]的地址
a[5]的值

D.a[5]的值
a[5]的地址
2.分析下面C语言程序:
#include
main()
{
static char s1[50]={"some string*"};
static char s2[]={"test*"};
char s3[15];
printf("s2 lenth=%d\n",strlne(s2));
strcat(s1,s2);
printf("%s\n",s1);
printf("%s\n",strcat(s1,"again"));
printf("%s\n",strncat(s1,"again",3));
str

cpy(s3,s2);
strcat(s3,"test");
if(!strncmp(s3,s2,4))
printf("s3=%s\n",s3);
}
产生的输出是:________。
A.s2 length=5
some string *test*
some string *test* againaga
s3=test*test
B.s2 length=5
some string *test*
some string *test* again
some string *test* againaga
s3=test*test

C.s2 length=5
some string *test*
some string *test*
some string *test* againaga
s3=test*test

D.s2 length=5
some string *test*
some string *test* again
some string *test* agaub
s3=test

3.在C语言中,设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是________。
A.264
B.-265
C.-264
D.260
4.C语言中静态变量和外部变量的初始化是在________阶段完成的。
A.程序执行过程中
B.编译
C.运行
D.程序外部
5.在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为________。
A.54
B.3
C.18
D.21








答案
一.选择题:
1.C

2.A

3.C

4.C

5.D

6.D

7.D

8.D

9.D

10.B

11.D

12.B


二.填空题:
1.C

2.B

3.C

4.B

5.C



相关文档
最新文档