2001~2002学年“C语言程序设计基础”试卷
试题一、单项选择题(每小题 2 分,共 20 分)
1.C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A、循环 B、递归 C、转移 D、嵌套
2.若x是单精度实型变量,表达式 (x = 10/4) 的值是_____ 。
A、2.5 B、 2.0 C、 3 D、 2
3. 表达式 !x 等价于_____。
A、x==0 B、x==1 C、x != 0 D、x != 1
4.若变量已正确定义且 k 的值是 4,计算表达式 ( j = k--) 后,_____。
A、j=3, k=3 B、j=3, k=4 C、j=4, k=4 D、j=4, k=3
5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。
A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算
C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算
6.C语言中,形参的缺省的存储类说明是______。
A、 auto B、static C、 register D、extern
7.下列语句定义pf为指向float类型变量f的指针,_____是正确的。
A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f;
8.表达式 sizeof(“key”) 的值是______。
A、1 B、2 C、3 D、4
9.将程序prog.c编译后运行:prog –nla hello world 则 *(*(argv+2)) 是______。
A、’p’ B、‘-‘ C、‘h’ D、‘w’
10.若a是整型变量,表达式 ~(a ^ ~a ) 等价于______。
A、~a B、1 C、0 D、2
?
试题二、填空题(每小题 3 分,共 24 分)
1.写出语句 printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。
?
2.写出下列程序段的输出结果。
#define F(x) x - 2
#define D(x) x*F(x)
printf("%d,%d", D(3), D(D(3))) ;
?
3.写出下列程序段的输出结果。
int k ; char *s = “ABC”;
for( k=10; k != 0; k-- ) ;
printf ( "%d", k );
while( *s++ ) putchar( *s );
4.写出下列程序的输出结果。
void fun(int k)
{ static int a;
printf(”%d,”, a);
a += k;
}
main()
{ int k;
for (k=1; k<=3; k++)
fun(k);
}
?
5.写出下列程序的输出结果。
main( )
{ struct st {
int x, y;
} a[4]={{10,20},{30,40},{50,60},{70,80}};
struct st *p=a;
printf("%d,", p++->x);
printf("%d,", ++p->y);
printf("%d\n", (a+3)->x);
}
?
6.写出下列程序的输出结果。
#include "stdio.h"
void main()
{ int k, j, m, n, a[6][6], b[6];
m=3, n=2;
for(k=0; k
for(j=0; j
a[k][j] = k*n+j+1;
for(k=0; k
b[k] = 0;
for(j=0; j
b[k] += a[k]