2007―2008学年度第二学期
期末考试《C语言》(计算机科学系)A卷
一、选择题(共15个小题,每小题2分,共30分;本题为单项选择题,多选或错选均不能: 题号 答案 1 A 2 C 3 A 4 D 5 D 6 A 7 B 8 B 9 C 10 A 11 C 12 C 13 D 14 B 15 C 二、填空题(共5个小题,每小题2分,共10分)。 标准答案如下:
1、 11
2、 a 4、 long s=0; s=s+i; 或 s+=i; 三、程序阅读题(共3个小题,每小题5分,共15分)。 1.2 2. 8 9 10 3 .7 5 四、编程题(说明:编程答案不唯一,以下答案仅供参考)(共5个小题,共45分) 1、(总分7分) #include \ main( ) …………………………………………………………………………………1分 {float x,y; ……………………………………………………………………………1分 printf(\ scanf(\………………………………………………………………………1分 if(x<-1) y=2*x+3; ……………………………………………………………………1分 else if(x>=-1&&x<=1) y=5*x+10; ………………………………………………1分 else y=12*x; ……………………………………………………1分 printf(\………………………………………………………1分 } 2、((总分8分)) main()…………………………………………………………………………………1分 { int x; ……………………………………………………………………………1分 printf(\ scanf(\…………………………………………………………………1分 switch (x) ………………………………………………………………………2分 { case 1: printf(\…………………………………………0.5分 case 2: printf(\………………………………………………0.5分 case 3: printf(\………………………………………………0.5分 case 4: printf(\………………………………………………0.5分 default : printf(\……………………………………………………1分 } } 3、(总分10分) void yz(int n) ……………………………4分(写出void得2分,写出参数n得2分) 第1页共2页 { int i; ………………………………………………………………………1分 for(i=1;i<=n;i++)…………………………………………………………2分 I f(n%i==0) printf(\……………………………………………3分 return ; } 4、(总分8分) main()……………………………………………………………………………1分 {int a[3][3]; ……………………………………………………………………1分 int i,j; …………………………………………………………………………1分 long s; …………………………………………………………………………1分 printf(\ for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\………………………………………………1分 printf(\ for(i=0,s=0;i<3;i++) {for(j=0;j<3;j++) {printf(\ if(i==j||i+j==2)s=s+a[i][j]; …………………………………………2分 } printf(\ } printf(\………………………………………………………1分 } 5、 (总分12分) #define N 8 int find(int a[],int n,int x); main()……………………………………………………………………………1分 {int a[N],i,x,k; …………………………………………………………………1分 printf(\ for(i=0;i scanf(\……………………………………………………………1分 printf(\ scanf(\………………………………………………………………1分 k=find(a,N,x); …………………………………………………………………2分 if(k==-1) printf(\…………………………………………0.5分 else printf(\………………………………………………0.5分 } int find(int a[],int n,int x) ……………………2分(函数返回值0.5分,一个参数0.5分) {int i; ……………………………………………………………………………1分 for(i=0;i if(a[i]==x) return i; ………………………………………………………1分 if(i==n) return -1; ……………………………………………………………1分 } 第2页共2页