C机考复习题(2012-12) 下载本文

printf(\}

A) 258 B) 741 C) 852 D) 369

40. 下面的程序中(C )有错误(每行程序前面的数字是行号)。 1 #include 2 main() 3 { float s[5]; 4 int i,sz=0; 5 for(i=0;i<5;i++) 6 scanf(\7 for(i=0;i<5;i++) 8 sz+=s[i];

9 printf(\10 }

A) 没有错误 B) 第4行错误 C) 第6行错误 D) 第9行错误

41.若有定义语句int a[3][6]; 按在内存中的存放顺序a数组的第10个元素是( B) A) a[0][4] B) a[1][3] C) a[0][3] D) a[1][4]

42.以下数组定义中不正确的是( D ) A) int a[2][3];

B) int b[][3]={0,1,2,3}; C) int c[100][100]={0};

D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; 43.以下程序的输出结果是( A)。 main() {

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

printf(\}

A) 0650 B) 1470 C) 5430

D) 输出值不定

44.若二维数组a有m列则在a[i][j]前的元素个数为( B A) j * m+i B) i * m+j C) i * m+j-1 D) i * m+j+1

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

{ char cf[3][5]={\ printf(\}

A) \B) \C) \D) \

46.设有数组定义: char array [ ]=\则数组 array所占的空间为( C )

A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节

47.以下选项中不能正确赋值的是( A )。 A) char s1[10];s1=\

B) char s2[]={'C','t','e','s','t'}; C) char s3[20]=\D) char *s4=\48.给出以下定义 char x[]=\

char y[]={'a','b','c','d','e','f','g'}; 则正确的叙述为( C )。 A) 数组x和数组y等价 B) 数组x和数组y长度相同

C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度

49.设有char str[]=\则执行

printf(\后的输出结果为( A )。 A) 5 B) 7 C) 12 D) 14

50.若要求从键盘读入含有空格字符的字符串应使用函数 ( B ) A) getc() B) gets() C) getchar() D) scanf() 51.有语句

char str1[10],str2[10]={\

则能将字符串books赋给数组str1的正确语句是( B )。 A) str1={\B) strcpy(str1,str2); C) str1=str2;

D) strcpy(str2,str1);

52.以下语句的输出结果是( A )

printf(\A) 5 B) 14 C) 8

D) 输出项不合法无正常输出

53.若有语句int *point, a=4; 和point=&a; 下面均代表地址的一组选项是( D )。

A) a, point, *&a B) &*a, &a, *point C) *&point, *point, &a D) &a, &*point, point

54.设已有定义float x;则以下对指针变量p进行定义且赋初值的语句中正确的是( D )

A) float *p = 1024; B) int *p = (float)x; C) float p = &x; D) float *p = &x;

55.设有语句int a=1,b=2,*p1=&a,*p2=&b; 以下可使指针p1指向变量b的赋值语句是( C )。 A) p1=*p2 B) *p1=p2 C) p1=p2 D) *p1=*p2 56.有以下程序 main() {

int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p

程序运行后的输出结果是( A ) A) 1,2,3,4,5,6,7,8,9,0, B) 2,3,4,5,6,7,8,9,10,1, C) 0,1,2,3,4,5,6,7,8,9, D) 1,1,1,1,1,1,1,1,1,1,

57.若已定义char s[10]; 则在下面表达式中不能表示s[1]的地址的是( B )。 A) s+1 B) s++ C) &s[0]+1 D) &s[1]

58.在以下选项中操作不合法的一组是(B )。 A) int x[6], *p; p=&x[0]; B) int x[6], *p; *p=x; C) int x[6], *p; p=x; D) int x[6],p; p=x[0]; 59.有以下程序 main()

{ char s[]=\ p=s;

printf(\ pritnf(\}

程序运行后的输出结果是 ( A )