北京理工大学珠海学院
答案及评分标准
2009 ~ 2010学年第二学期《C语言程序设计B》期末试卷(A)
一、选择题(每题1分,共20分)
1-5 BCDDC 6-10 BAACC 11-15 DBBDC 16-20 BABCB 评分标准:答错不给分
二、填空题(每空1分,共10分) 1. 整型、实型、字符型 2. printf 3. void
4. int array[5]={2,4,6}; 5. 非0 6. 6
7. b=i+1; c-11;
评分标准:每空一分,答错不给分
三、程序阅读题(每题4分,共20分) 1. x=6,y=1 2. 1344 3. *#*#
4. 10.0或者10.000000 5. 84
四、简答题(每题5分,共20分) 1、编写程序,编译,连接,执行
2、顺序程序结构,选择(分支)程序结构,循环程序结构 3、‘s’是字符型数据,在内存中只占一个字节
“s”是字符串,除了字符s占用一个字节外,还有一个结束符号’\\0’,一共占用两个字节的内存空间。 4、值传递 和 地址传递
值传递:函数调用时,为形参分配内存单元,并将实参的值复制到形参中,调用结束,形参所占的内存单元被释放,实参的内存单元仍然保留并维持原值。 地址传递:将实参数据的存储地址作为参数传递给形参。形参与实参占用同样的内存单元,函数中对形参值的改变也会改变实参的值。 评分标准:按表述
评分标准:按知识点给分。
五、编程题(每题15分,共30分)
1.参考程序
#include
float a[10],ave=0.0,sum=0.0; int i;
for(i=0;i<10;i++) {
scanf(\ sum+=a[i]; }
ave=sum/10;
printf(\ for(i=0;i<10;i++) {
if(a[i] printf(\ } } 2、参考程序: #include int i,j,sum; for(i=1;i<1000;i++) { sum=0; for (j=1;j if(i%j==0) sum+=j; } if(sum==i) printf(\ } } 3、参考程序: #include #include int fun1(float a,float b,float c) { if(a+b<=c) return 0; else if(a+c<=b) return 0; else if(b+c<=a) return 0; else return 1; } int fun2(float a,float b,float c, float s,float p) { p=(a+b+c)/2.0; s=sqrt(p*(p-a)*(p-b)*(p-c)); return s; } void main() { float a,b,c,p,s; p=0; s=0; printf(\ scanf(\ if(fun1(a,b,c)==0) printf(\ else { s=fun2(a,b,c,s,p); printf(\ } }
C语言程序设计(B)期末考试A卷-答案



