2024年3月12日发(作者:)

C语言阶段测试三

一、单项选择题

1、有以下定义:

int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}

int (*ptr)[3]=a,*p=a[0];

则下列能够正确表示数组元素a[1][2]的表达式是( A )。

A)*((*ptr+1)[2]) B)*(*(p+5))

C)(*ptr+1)+2 D)*(*(a+1)+2)

2、# include D

void main ( )

{ int a[3][3]={1,2,3,4,5,6,7,8,9};

int s=0,i;

for (i=0;i<3;i++)

s+=(*(a+i))[i];

printf("%d",s);

}

A)9 B)12 C)14 D)15

3、设有说明语句:char a= '123abc';则变量a ( A )

A) 包含7个字符 B) 包含6个字符 C) 包含5个字符 D) 包含4个字符

4、有以下程序段

int k=0

while(k=1)k++;

while 循环执行的次数是( C )

A) 无限次 B) 有语法错,不能执行 C) 一次也不执行 D) 执行1次

5、下面四个选项中,均是合法转义字符的选项是_C___。

a. ''' b. '' c. '018' d. '0'

'' '017' 'f' '101'

n' '"' 'xab' 'xlf'

6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是____。

a. 016 b. oabc c. 010 d. 0a12

0x8f 017 -0x11 7ff

018 0x8 0x16 -123

7、设int x;则执行printf(″%xn″,~x^x);的结果是( )

A.0 B.1

8、设int a=9,b=20;则printf(″%d,%dn″,a--,--b);的输出结果是( A )

A.9,19 B.9,20 C.10,19 D.10,20

9、对于while语句,错误的说法是(B )

A.用条件控制循环体的执行次数 B.循环体至少要执行一次

C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句

10、执行下列语句

int a=8,b=7,c=6;

if(ac){a=c;c=b;}

printf(″%d,%d,%dn″,a,b,c);

后输出的结果是( A )

A.6,7,7 B.6,7,8 C.8,7,6 D.8,7,8

11、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′0′};那么( A )

A.x数组的长度等于y数组的长度 B.x数组的长度大于y数组的长度

C.x数组的长度少于y数组的长度 D.x数组与y数组的存储区域相同

12、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句

for(i=0;i<3;i++)

printf(″%d″,x[i][2-i]);

的输出结果是( C )

A.147 B.159 C.357 D.369

13、设int b[ ]={1,2,3,4},y,*p=b;

则执行语句y=*p++;之后,变量y的值为( A )

A.1 B.2 C.3 D.4

14、假设int型变量占两个字节的存储单元,若有定义:

int x[10]={0,2,4};

则数组x在内存中所占字节数为____D__。

a. 3 b. 6 c. 10 d. 20

15、以下叙述中正确的是________.

a)在程序的一行上可以出现多个有效的预处理命令行 #define C R 045