C语言二级考复习资料(1)

更新时间:2024-04-07 15:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 下述循环的循环次数是() int k=2;

while(k=0)printf(\,k); k--;printf(\);

A、无限次 B、0次

C、1次 D、2次

2. 在下列选项中,没有构成死循环的程序段是() A、int i=100; B、for(;;) while(1) {i=i0+1; if(i>100)break; }

C、int k=1000; D、int s=36; do {++k;} while(k>=10000); while(s);--s; 3. 若有以下定义和语句,且0<=i<10,则对数组元素的错误引用是() int a[]={0,1,2,3,4,5,6,7,8,9},*p,i; p=a;

A、*(a+i) B、a[p-a] C、p+i D、*(&a[i])

4. 下面能正确将字符串\进行完整赋值操作的语句是() A、char s[3]={'B','o','y'}; B、char s[ ]=\; C、char s[3]={\; D、char s[3];

s[0]='B';s[1]='o';s[2]='y';

5. 以下程序段的输出结果是( ) char arr[ ]=\; char*ptr;

for(ptr=arr;ptr

A、ABCD B、 A C、 6. C语言的auto型变量是() A、存储在动态存储区中。 B、存储在静态存储区中。

C、存储在计算机CPU的寄存器中。 D、存储在外存储器中。

7. 测试文件是否结束函数的函数名是() A、feof B、EOF C、eof D、FEOF 8. 下面程序段的输出结果是()

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

printf(“%d\\n”,*(*(p)+2));

D D、 ABCD BCD CD D A、1 B、5 C、3 D、7

9. C语言规定:在一个源程序中,main函数的位置是()

A、必须在最开始 B、必须在系统调用的函数的后面 C、可以任意 D、必须在最后 10. 一个C程序的执行是从()

A、 本程序的main函数开始,到main函数结束

B、 本程序的第一个函数开始,到本程序文件的最后一个函数结束 C、 本程序的main函数开始,到本程序文件的最后一个函数结束 D、 本程序文件的第一个函数开始,到本程序main函数结束 11. 下面的四个选项中,均是不合法的用户标识符的选项是() A、A B、float C、b-a D、_123

P_0 la0 goto temp do _A int INT 12. 下面四个选项中,均是合法转义字符的选项是() A、’\\’ B、’\\’ C、’\\018’ D、’\\\\0’

‘\\\\’ ‘\\017’ ‘\\f’ ‘\\101’ ‘\\n’ ‘\\’” ‘xab’ ‘x1f’ 13. sizeof(float)是()

A、一个双精度型的表达式 B、一个整型表达式 C、一种函数调用 D、一个不合法的表达式 16. 若二维数组a有m列,则在a[i][j]前的元素个数为()

A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+1 17. 对两个数组a和b进行如下初始化

char a[ ]=”ABCDEF”;

char b[ ]={‘A’,’B’,’C’,’D’,’E’,’F’}; 则以下叙述正确的是( )

A、a与b 数组完全相同 B、a 与b 长度相同 C、a 和b中都存放字符串 D、a数组比b 数组长度长 18. C语言中有关全局变量的说法,正确的是() A、在使用到它的所有文件中均需定义 B、在函数体外定义一次 C、在main函数中定义

E、 在main函数外定义19. 若有数组名作为函数调用时的实参,则传递给该函数形参的是()

A、数组的首地址 B、数组的第一个元素的值 C、数组中全部元素的值 D、数组元素的个数20. 下面程序段的输出结果是()

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

printf(“%d\\n”,*(*(p+1)+2));

A、3 B、4 C、6 D、7 21. 不属于C语言程序基本结构的是( )

A)顺序结构 及赋值:

B)选择结构 C)函数结构 D)循环结构22. 若有定义

int a[6][6],*p;p=*a;

则下列各式中能表示元素a[1][0]行地址的表达式是 。 A)&a[0]+1

B)a[0]+1

C)*(p+1) D)p+1

23. 十进制数123转换成十六进制数是 。 A) 7AH

B) 7BH

C) 7CH

D) 7DH 24. C语言

中合法的字符常量是 。 A) '\\058'

B) 'ab'

C) '\\xab'

D) ”\\0”

25. 下列字符中,ASCⅡ码值最小的是 。 A) A

B) a

C) 0

D) 空格

26. 下面程序输出结果是__________ main()

{int k=0; char c='A'; do

{ switch( c++ )

{ case 'A': k++; break; case 'B': k--;

case 'C': k+=2; break; case 'D': k=k%2; continue; case 'E': k=k*10; break; default: k=k/3;

} k++; }while( c<'G' ); printf( \}

A)k=3

B)k=4

C)k=2

D)k=0

27. 设有如下定义:int x=l,y=-1;,则语句:printf(\,(x--&++y));的输出结果是( )

A)1

B)0

C)-1

D)2

28. C语言规定,函数返回值的类型是由 。 A) return语句中的表达式类型所决定 B) 调用函数时的主调函数类型所决定 C) 调用函数时系统临时决定

D) 在定义该函数时所指定的函数类型所决定

29. 下列定义中,不是指针数组定义的是 。 A)int *p[5]; C)int (*r)[6];

B)float *q[4];

D)char *w[7];

30. 以下程序运行结果为__________ #define PT 3.5 #define S(x) PT*x*x main() { int a=1, b=2;

printf(\}

A)14.0

B)31.5

C)7.5

D)10.5

31. 下面程序输出结果是( ) main()

{ char a[]=\ fun(a, 0, 2); fun(a, 4, 6); printf(\}

fun(char *s, int p1, int p2) { char c; while(p1

{c=s[p1]; s[p1]=s[p2]; s[p2]=c; p1++; p2--; } }

A)ABCDEFG B)DEFGABC C)GFEDCBA D)CBADGFE32. 以下程序的输出结果是( ) main() { int a=1,i; for(i=0;i<4;i++) printf(\

} func(a) int a;

{ int b=0; static int c=1; b++;c++; return(a+b+c); } A)4444

B)4455

C)4567

D)5678

33. 执行下面的程序后, y 的值是__________ main()

{ int a[]={2,4,6,8,10}; int y=1, x, *p=a+1;

for( x=0; x<3; x++ ) y+=*(p+x); printf( \} A)17

B)18

C)19

D)20

34. 若使用下述程序段将整数30和浮点数5.5分别赋给变量a和b,那么输入应该是( ) int a; float b;

scanf(\

A) 30 5.0 B) a=30,b=5.5 C) 30,5.5 D) a=30 b=5.5

35. 设有如下定义: int (*ptr)();

则以下叙述中正确的是( ) A)ptr是指向一维数组的指针变量 B)ptr是指向int型数据的指针变量

C)ptr是指向函数的指针,该函数返回一个int型数据

D)ptr是一个函数名,该函数的返回值是指向int型数据的指针 36. 设有以下定义:

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)*(*ptr+1)[2] B)*(*(p+5)) C)(*ptr+1)+2 D)*(*(a+1)+2) 38. 执行下面的程序后,a的值是( ) #define SQR(X) X*X main()

{ int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(\}

A)10 B)1 C)9 D)0 39. 表达式18/4*sqrt(4.0)/8的值的数据类型为( )

A)int C)double

B)float D)不确定

40. 当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 ( ) if (a

x=2;

else x=3; else x=6; else A)1

x=7;

B)2

C)3

D)6

41. 判断char 型变量ch 是否为大写字母的正确表达式 ( ) A) ’A’<=ch<=’Z’

B) (ch>=’A’)and (ch <=’z’)

C) (ch >= ‘A’)&&(ch <=’Z’) D) (‘A’<=ch )||(‘Z’>=ch)

42. 以下程序的输出结果是 ( ) main()

{ int i, k, a[10], p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf(\

} A)20

B)21

C)22

43. 下面程序的运行结果是( ) main()

{ char ch[7]={\ int i,s=0;

for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf(\A)12ba56

B)6521

C)6

44. 以下程序运行后的结果是( )。 main()

{ char s[]=\ for (k=0; s[k];k++) {switch (s[k])

{case'1': i=0; case'2': i=1; case'3': i=2; case'4': i=3; }

v[i]++;

}

for(k=0;k<4;k++) printf(\ } A)0 1 2 3 B)0 1 1 8

C)5 6 7 8

D)23

D)62

D)0 2 4 6

46. 二进制数1110111B转换成十六进制数是 ( ) A)77H

B)37H

C)73H

D)E7H

47.能正确表示a和b同时为正或同时为负的逻辑表达式是 ( ) A)(a>=0‖b>=0)&&(a<0‖b<0) C)(a+b>0)&&(a+b<=0)

B)(a>=0&&b>=0)&&(a<0&&b<0) D)a*b>0

48. 要把高级语言编写的源程序转换为目标程序,需要使用 ( ) A) 编辑程序

B) 驱动程序

C) 诊断程序

D) 编译程序

49.英文小写字母d的ASCII码为100(十进制),英文大写字母D的ASCII码为 ( ) A)50

B) 66

C) 52

D) 68

50. 下面程序输出结果是 ( ) void prtv(int *x) { printf(\} main()

{ int a=25;prtv(&a); } A)23

B)24

C)25

D)26

1. B 2. C 3. C 4. B 5. D 6. A 7. A 8. C 9. C 10. A

11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C

21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C

31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B

41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D

本文来源:https://www.bwwdw.com/article/n18r.html

Top