浙江大学“程序设计基础-C”试题卷
2001-2002学年秋季学期
考试时间: 2002年1月20日上午8:30-10:30
注意:答题内容必须写在答题卷上,写在本试题卷上无效
一.单项选择题(每题2分,共30分)
C语言源程序文件经过编译连接之后生成一个后缀为___C___的文件。
A.”.c”B.“.obj”C.“.exe”D.“.bas”___C__。
A. 12 B. -10 C. 1,900 D. 123___C___的值是0。
A.3%5B.3/5.0C.3/5D.3<5表达式 !(x>0||y>0) 等价于___D__。
A.!x>0||!y>0B.!(x>0)||!(y>0)C.!x>0&&!y>0D.!(x>0)&&!(y>0)___D___不符合C语言语法。
A.4&&3B.+aC.a=b=5D.int(3.14)scanf("%d%d%d ",&k1,&k2,&k3);时,___B___是正确的输入。
A.203040 B.20 30 40C.20, 40D.20, 30,40printf(" ___D___", 2); 将得到出错信息。
A.%dB.%oC.%xD.%f char s[ ]="hello\nworld\n";,则数组s中有___B__个元素。
A.12B.13C.14D.15若x是整型变量,表达式 (x=10.0/4.0) 的值是__D___ 。
A.2.5B.2.0C.3D.2 -k++ 等价于__A____。
A.-(k++)B.(-k)++C.-(k+1) D.-(++k)C 语言程序中,在函数内部定义的变量称为___C___。
A.B.C.D.设变量定义为 int a[2]={1,3}, *p=&a[0]+1;,则*p的值是___B__。
A.2B.3C.4D.&a[0]+1__A____是正确的。
struct node {
char s[10];
int k;
} p[4];
A.p->k=2B.p[0].s=“abc”C.p[0]->k=2D.p->s=‘a’__A___。
A.!,&&,||B.||,&&,!C.&&,||,!D.&&,!,||下列程序段的输出结果是__B___。
int *p, *q, k = 1, j=10 ;
p=&j; q = &k ; p = q ; (*p)++;
printf("%d",*q);
A.1B.2C.10D.11
二、填空题(每题2分,共20分)
设ch是字符型变量,判断ch为英文字母的表达式是__ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'__。
计算下列分段函数的 if 语句是__if(x>0) y=1; if(x==0) y=0;if(x<0)_y=0;___。
1 x>0
y= 0 x=0
-1 x<0
表达式 !!5的值是__1____。
下列程序段的输出结果是____12__。
printf("%x\n", (0x19 <<1) & 0x17);
下列程序段的输出结果是__k=4 s=6___。
int k, s;
for(k=0, s=0; k<10; k++)
if (s>k) break;
else s += k;
printf("k=%d s=%d", k, s);
下列程序段的输出结果是__100___。
#define MIN(x,y) (x)
printf("%d",10*MIN(10,15));
下列程序在运行时可能会出错,原因是__指针没有赋值____。
# include
void main( )
{ char *s;
gets(s);
puts(s);
}
下列程序的输出结果是__15 6___。
# include
int f(int m)
{ static int k=0;
int s=0;
for(; k<=m; k++) s++;
return s;
}
void main( )
{ int s=1;
s=f(5);
printf("%d %d\n", s, f(3));
}
下列程序段的输出结果是__fgn___。
char *st[ ]={"abcd"