这是一份配有答案的试卷 质量也很高
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;