C程序设计基础题(带答案) 下载本文

{int y=3,x=3,z=1;

printf(\输出结果为:

A) 3 4 B) 4 2 C)4 3 D) 3 3 24 以下程序的运行结果是( ). (C程序设计) #include “string.h” main()

{ char a[11],b[10]; scanf(“%s %s”,a,b); strcat(a,b);

printf(“a+b=%s\\n”,a);} 输入:list pack

A) listpack B) list pack C)list D) packlist

25. 以下程序的运行结果是( ). (C程序设计) main()

{int x=2,y=5; replace(x,y);

printf(\getch();}

replace(int a,int b) { int t;

t=a;a=b;b=t;

printf(\}

A) a=2,b=5 B) a=2,b=5 C)a=5,b=2 D) a=5,b=2 x=2,y=5 x=5,y=2 x=2,y=5 x=5,y=2

26. 以下程序的运行结果是( ). (C程序设计) main()

{int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++;

case 2: a++;b++;}

printf(\

A) a=1,b=0 B) a=2,b=1 C)a=0,b=0 D) a=1,b=1

第 5 页 共 9 页

27. 以下程序的运行结果是( )。 int a;

void f(void) {a=3;} main() {a=1;

printf(“a=%d\\n”,a); f();

printf(“a=%d\\n”,a);}

A) a=1 B) a=1 C)a=3 D) a=3 a=3 a=1 a=1 a=3

28. 以下程序的运行结果是( ). (C程序设计) int power(int n) {static int f=1; f=f*n; return(f);} main() {int i,n=3;

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

printf(\ }

A) 3 3 3 B) 1 2 3 C) 3 9 27 D) 1 1 1

29. 有以下程序,若输入3,输出结果为( ). (C程序设计) main() {int n,i=-1;

scanf(\ if(n>0){ int i;

for(i=0;i

A) i=3 B) i=0 C)i=4 D) i=-1

30.有以下程序,执行后的输出结果是( ). (C程序设计) void main()

第 6 页 共 9 页

{int a=1,b=3,c=5;

int *p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf(\}

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

31.有以下程序,执行后的输出结果是( ). (C程序设计) #include void main()

{ int i,s=0,t[]={l,2,3,4,5,6,7,8,9}; for(i=0;i<9;i+=2)s+=*(t+i); printf(\; }

A)45 B)20 C)25 D)36

32.有以下程序,执行后的输出结果是( ). (C程序设计) #include

void swap(char *x,char *y) {char t; t=*x; *x=*y; *y=t; }

void main()

{ char *s1=\swap(s1,s2);

printf(\}

A)123,abc B)abc,123 C)1bc,a23 D)321,cba

33.有以下程序,执行后的输出结果是( ). (C程序设计) #include void f(int *q) { int i=0;

for( ;i<5;i++)(*q)++; }

void main()

第 7 页 共 9 页

{ int a[5]={1,2,3,4,5},i; f(a);

for(i=0;i<5;i++)printf(\}

A)2,2,3,4,5, B)6,2,3,4,5, C)1,2,3,4,5, D) 2,3,4,5,6,

34. 若有定义:int a[5];则a数组中首元素的地址可以表示为 ( ). (C程序设计) A)&a B)a+1 C)a D)&a[1] 35. 若有以下定义:(C程序设计) int a[10], *p=a; 则 *(p+5)表示( )。

A) 元素a[5]的地址 B)元素a[6]的值 C) 元素a[6]的地址 D) 元素a[5]的值

36.下面程序段的运行结果是( ) . (C程序设计) char str[]=\ *p=str; printf(\

A) 67 B) 0 C) 字符'C'的地址 D)字符'C'

37. 有以下程序, 程序运行后的输出结果是( ). (C程序设计) #include void main()

{ char ch[]=“uvwxyz”,*pc; pc=ch; printf(\}

A)z B)0 C)元素ch[5]的地址 D)字符y的地址

38. 有下面的程序段,输出结果为( ). (C程序设计) char a[3],b[ ]= \ a=b;

printf(\

A)运行后将输出China B)运行后将输出Ch C)运行后将输出Chi D)编译出错

39. 有以下程序, 程序运行后的输出结果是( ). (C程序设计) #include #include void main()

第 8 页 共 9 页

{ har p[20]={'a','b','c','d'},q[]=\strcpy(p+strlen(q),r); strcat(p,q);

printf(\ %d\\n\}

A)20 9 B)9 9 C)20 11 D)11 11

40.有以下程序, 程序运行后的输出结果是( ) . (C程序设计) #include

void change(int k[]){k[0]=k[5];} void main()

{int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4){change(&x[n]);n++;} for(n=0;n<5;n++)printf(\ printf(\}

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

41.有以下程序,若运行时输入:2 4 6<回车>,则输出结果为 ( ) . (C程序设计)

#include void main()

{int x[3][2]={0},i;

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

printf(\}

A) 2 0 0 B) 2 0 4 C) 2 4 0 D) 2 4 6 42.若有定义:int w[3][5];,则以下不能正确表示该数组元素的表达式是( ). (C程序设计) A) *(*w+3) B) *(w+1)[4] C) *(*(w+1)) D) *(&w[0][0]+1)

第 9 页 共 9 页