2008/2009一学期C程序设计试卷
说明:考生应将所有答案填写在答卷上,否则无效。
一、填空题 (每小题2分,共20分)
⑴ 判断变量a、b是否绝对值相等而符号相反的逻辑表达式为 。
⑵ 执行语句 “for(s 0,i 1;i<11;i++) { if(i 6)break; s+ i;}”后,s值为 。
⑶ 程序中使用了内存分配函数malloc,则必须包含的头文件名为 。
⑷ 声明 “char a[20] "Office 2000";”后执行下列语句的输出结果为 。
a[6] '\0'; puts(a);
⑸ 若声明“char a[] "hangzhou",*p a;”,执行语句 “for(i 0;*p! '\0'; p++,i++);”
后i的值为 。
⑹ 自定义函数sort对float类型的数组排序,函数原型为 。
⑺ 自定义函数sum求二维数组全体元素之和,函数原型为 。
⑻ x、y均为指针变量,语句 “x y;”在 的条件下可以执行。
⑼ 若int类型变量a 的当前值是23,执行 “a a>>2;”后,a 的值为 。
⑽ 打开g盘根目录下文本文件aaa.txt用于写数据的语句是 fp ;。
二、程序阅读题 (每小题8分,共24分)
阅读下列程序,将运行时的输出结果写在答卷纸相应题号下。
1. #include
void main()
{ int i,j,k, a[4][4] {{2,-1,2,7},{2,4,3,5},{1,4,-2,3},{4,-2,8,3}};
for(i 0;i<4;i++) {
k a[i][i]; for(j 0;j<4;j++) a[i][j]/ k;
}
for(i 0;i<4;i++) {
for(j 0;j<4;j++) printf("%4d",a[i][j]);putchar('\n');
}
}
2. #include
#include
void del(char *a,int k)
{ int i, n strlen(a);
for(i 1;i< k;i++) {a[n-1] a[n];n--;puts(a); }
}
void main()
{ char a[10] "abcdef"; del(a,4); }
3. #include
void f(float a,float b,float* c)
{ static float x 0; float y;
1
x (y a>b?a:b)>x?y:x;
*c x;
}
void main()
{ float a[5] {2.5,-1.5,7.5,4.5,6.5},x;
for(int i 0;i<4;i++) {
f(a[i],a[i+1],&x);printf("%.1f\n",x);
}
}
三、程序填空题 (每空2分,共24分)
阅读下列程序说明和程序,将答案填写在答卷纸相应题号