诚信考试 沉着应考 杜绝违纪
浙江大学20 08 –20 09 学年 秋冬 学期
《程序设计基础及实验》课程期末考试试卷(A)
开课学院: 计算机学院 ,考试形式: 闭 卷,允许带 / 入场 考试时间: 2009 年 1月 15 日,所需时间: 120 分钟,任课教师 ________ 考生姓名: 学号: 专业:
(注意:答题内容必须写在答题卷上,写在本试题卷上无效)
试题一、单选题(每小题2分,共20分)
1.
2.
3.
4.
5.
下列运算符中优先级最低的是_____。 A.|| B .>= C .!= D.~
若变量已正确定义并赋值,符合C语言语法的表达式是 。 A.a=2++ B.a=3,5 C.a=a+1=3 D.12.3%4
表达式____不能用于判断“x和y不同时为零”。 !(x==0 && y==0) x!=0 || y!=0 x || y
A.x!=0 || y!=0 B.x || y C.!( x==0 || y==0) D.!( x==0 && y==0)
表达式5>3>1值是_____。 A.0 B.1 C.3 D.表达式语
法错
下列程序段执行后s值为_____。 int i=5, s=0;
while(i--) if (i%2) continue; else s+=i;
《程序设计基础及实验》课程期末考试试卷, 2009年1月15日 1 / 8
int i=5, s=0;
while(i--)
if (i%2) //i不是2的倍数 continue; else
s+=i;
A.15
6.
B.10 C.9
D.6
已知字母A的ASCII码为十进制数65,且ch为字符型变量,则执行语句ch=?A?+?6?-?3?;后,ch中的值为_____。 A.D B.68 D与?D?的区 别
C.C
D.不确定
7.
以下不正确的定义语句是_______。
Adouble B.char x[5]={2.0,4.0,6.0,8.0,10.0c2[]={?\\x10?,?\\xa?,?\\x8?}; };
Cchar D.int y[5]={0,1,3,5,7,9}; c1[]={?1?,?2?,?3?,?4?,?5?};
下列语句定义pf为指向float类型变量f的指针,_____是正确的。
A.float f, *pf = f; B.float f, *pf = &f; C.float *pf = &f, f; D.float f, *pf =0.0; float f, *pf =0; //OK
8.
《程序设计基础及实验》课程期末考试试卷, 2009年1月15日 2 / 8
假设scanf语句执行时输入ABCDE<回车>,能使puts(s)语句正确输出ABCDE字符串的程序段是______。 A.char B.char s[5]={\s[5]={?A?,?B?,?C?,?D?,?E?};
puts(s);
C.char D.char *s; *s;scanf(“%s”,s);puts(s); s=\
10. 以下scanf函数调用语句中不正确的是______。
9.
struct pupil {
char name[20]; int age; int sex; } pup[5], *p=pup;
A.scanf(“%s”,pup[0].naB.scanf(“%d”,&pup[0].ame); ge); C.scanf(“%d”, p->age); D.scanf(“%d”,&(p->sex));
试题二、填空题(每小题2分,共30分)
1. 若有定义:int x=2, y=5; 则表达式x*=y-3的值为____。
2. 若有定义:int a=3, b=6; 则表达式(a^b)<<2的值为____。
0 1 1 1 1 0 3^6: 1 0 1 10100
《程序设计基础及实验》课程期末考试试卷, 2009年1月15日 3 / 8
3. 输入abcde#<回车>,下列程序段的输出结果是_____。 char c;
for(c=getchar(); getchar()!=?#?; c=getchar())
putchar(c);
4. 下列程序段的输出结果是_____。
int k=3, s=0; switch (k) {
case 3: s++; k++; case 4: s+=1; switch(s){ case 1:s+=2; default:k++;break; }
default: s+=3; break; }
printf(\
5. 下列程序的输出结果是_____。 # include
int f(int x) { static int k=0;
《程序设计基础及实验》课程期末考试试卷, 2009年1月15日 4 / 8
return ++k+x; } main( ) { int k;
for(k=0;k<3;k++) printf(\}
6. 下列命令行参数程序生成的执行程序为test.exe, 执行test 123 abc<回车>,输出结果是_____。 # include
while(--argc)
printf(\}
下列函数strcpy实现将字符串t拷贝到s,请填写完整。void strcpy(char*s,char*t) { while(_______); }
《程序设计基础及实验》课程期末考试试卷, 2009年1月15日 5 / 8