文档介绍:专升本C语言程序设计试卷〔二〕
一、单项选择题〔1~30题每题1分,31~45题每题2分,共60分〕
1.  以下合法的用户自定义标识符是〔D〕。
A、 b-b      B、float          C、<fr>  if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main0
{ printf(“%d\n〞,fib(3));
该程序的输出结果是 (B)
A} 2 B} 4 C} 6 D} 8
19. 有如下定义
struct person{char name[9]; int age;};
strict person class[10]={“Johu〞, 17,
“Paul〞, 19
“Mary〞, 18,
“Adam 16,};
根据上述定义,能输出字母M的语句是 (D)
A) prinft(“%c\n〞,class[3].mane);
B) pfintf(“%c\n〞,class[3].name[1]);
C) prinft(“%c\n〞,class[2].name[1]);
D) printf(“%^c\n〞,class[2].name[0]);
20. 以下所列的C语言常量中,错误的选项是 (B)
A) 0xFF B) C) 2L D) ‘\72’
21. 有以下程序段
int k=0
while(k=1)k++;
while 循环执行的次数是 (A)
A) 无限次 B) 有语法错,不能执行
C) 一次也不执行 D) 执行1次
22. 以下程序的输出结果是 (C)
A) 0 B) 29 C) 31 D) 无定值
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
  fun(5,2,a);
  printf(“%d〞,a);
}
23. 以下程序段的输出结果是 (A)
A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2
void fun(int *x, int *y)
{ printf(“%d %d〞, *x, *y); *x=3; *y=4;}
main()
{ int x=1,y=2;
  fun(&y,&x);
  printf(“%d %d〞,x, y);
}
24. 当调用函数时,实参是一个数组名,那么向函数传送的是 (B)
A) 数组的长度 B) 数组的首地址
C) 数组每一个元素的地址 D) 数组每个元素中的值
25. 以下程序的输出结果是 (A)
A) 1 B) 2 C) 3 D) 4
long fun( int n)
{ long s;
  if(n= =1 || n= =2) s=2;
  else s=n-fun(n-1);
  return s;
}
main()
{ printf(“%ld\n〞, fun(3)); }
26. 以下程序的输出结果是 (B)
A) 16 B) 2 C) 9 D) 1
#define SQR(X) X*X
main()
{ int a=16, k=2, m=1;
  a/=SQR(k+m)/SQR(k+m);
  printf(“d\n〞,a);
}
27. 有以下程序
  main()
  { int m=3,n=4,x;
  x=-m++;
  x=x+8/++n;
  printf("%d\n",x);
  }
  程序运行后的输出结果是:〔D〕
  A)3 B)5 C)-1 D)-2
28. 以下表达中正确的选项是:〔A〕
A) 构成C程序的根本单位是函数
B) 可以在一个函数中定义另一个函数
C) main()函数必须放在其它函数之前
D) 所有被调用的函数一定要在调用函数之前进行定义
29. 以下选项中非法的表达式是 :〔  D   〕
A〕0<=x<100                  B〕i=j==0
C〕(char)(65+3)               D〕x+1=x+1
30. 以下条件语句中,功能与其他语句不同的是:〔D〕
  A) if(a) printf("%d\n",x); else printf("%d\n",