2015.9未来教育计算机C语言二级题库(选择题) 下载本文

#include <stdio.h>

main()

{ int a=1,b=1;

while(a--)

b--;

printf("%d,%d\n", a,b);

}

程序的运行结果是

A) -1,0

B) 0,0

C) -1,-1

D) 1,1

参考答案:A

20.有以下程序

#include <stdio.h>

main()

{ int a=1, b=0;

for(;a<5; a++)

{ if (a%2==0) break;

b += a;

}

printf("%d \n", b);

}

程序的运行结果是

A) 1

B) 10

C) 0

D) 4

参考答案:A

21.以下能正确输出字符a 的语句是

A) printf("%s", "a");

B) printf("%s", 'a');

C) printf("%c", "a");

D) printf("%d", 'a');

参考答案:A

22.有以下程序

#include <stdio.h>

main()

{ char c;

do {

c=getchar();

putchar(c);

} while(c != '#');

printf("\n");

}

执行时如输入:abcdefg##<回车> , 则输出结果是

A) abcdefg#

B) abcdefg

C) abcdefg##

D) ##

参考答案:A

23.以下关于C语言函数参数传递方式的叙述正确的是

A) 数据只能从实参单向传递给形参

B) 数据可以在实参和形参之间双向传递

C) 数据只能从形参单向传递给实参

D) C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用

参考答案:A

24以下关于指针的叙述正确是

A) 所有类型的指针变量所占内存的大小是一样的

B) 指针变量所占内存的大小与其类型有关,char型指针变量只占1个字节,double型指针变量占8个字节

C) 指针变量可直接指向任何类型的变量,而不会出现编译或运行错误

D) 指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误

参考答案:A

25.有以下程序

#include <stdio.h>

int k=5;

void f(int *s)

{ s=&k; }

main()

{ int m=3,*p=&m;

f(p);

printf("%d,%d\n", m, *p);

}

程序的运行结果是

A) 3,3

B) 5,5

C) 3,5

D) 5,3

参考答案:A

26.有以下程序

#include <stdio.h>

int *f(int *s,int *t)

{ if (*s < *t)

*s=*t;

return s;

}

main()

{ int i=3, j=5, *p=&i, *q=&j, *r;

r=f(p,q);

printf("%d,%d,%d,%d,%d\n", i, j, *p, *q, *r);

}

程序的运行结果是

A) 5,5,5,5,5

B) 3,5,5,5,5

C) 5,3,3,3,5

D) 3,5,3,5,5

参考答案:A

27.有以下程序

#include <stdio.h>

#define N 4

void fun(int a[][N])

{ int b[N][N],i,j;

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

for(j=0; j<N; j++)

b[i][j] = a[N-1-j][i];

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

for(j=0; j<N; j++)

a[i][j] = b[i][j];

}

main()

{ int x[N][N]={ {1, 2, 3, 4},

{5, 6, 7, 8},

{9,10,11,12},

{13,14,15,16}

}, i;

fun(x); fun(x);

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

printf("%d,", x[i][i]);

printf("\n");

}

程序的运行结果是

A) 16,11,6,1,

B) 1,6,11,16,

C) 4,7,10,13,

D) 13,10,7,4,

参考答案:A

28.有以下程序

#include <stdio.h>

void fun(int a[ ], int n)

{ int i,j=0,k=n/2, b[10];

for (i=n/2-1; i>=0; i--)

{ b[i] =a[j];

b[k] =a[j+1];

j+=2; k++;

}

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

a[i] = b[i];

}

main()

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

fun(c, 10);

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

printf("%d,", c[i]);

printf("\n");

}

程序的运行结果是

A) 2,4,6,8,10,9,7,5,3,1,

B) 10,8,6,4,2,1,3,5,7,9,

C) 1,2,3,4,5,6,7,8,9,10,

D) 1,3,5,7,9,10,8,6,4,2,

参考答案:A

29.有以下程序

#include <stdio.h>

#include <string.h>

main()

{ int i;

char a[]="How are you!";

for (i=0; a[i]; i++)

if (a[i] == ' ')

{ strcpy(a, &a[i+1]);

i=0;

}

printf("%s\n",a);

}

程序的运行结果是

A) you!

B) Howareyou!

C) areyou!

D) are you!

参考答案:A

30.有以下程序(其中的strstr()函数头部格式为:char *strstr(char *p1, char *p2) 确定p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址)

#include <stdio.h>