《C语言程序设计基础》期中期末试卷及答案
- 格式:doc
- 大小:404.00 KB
- 文档页数:60
《C语言程序设计基础》试卷及答案
《C程序设计基础与实验》期中、期末试卷及答案目录
2009 - 2010学年第二学期期中考试试卷 ...................................................... 1
2009 - 2010 学年第二学期期中考试答案 ...................................................... 8
2008 - 2009学年第二学期期中考试试卷 ...................................................... 9
2008 - 2009学年第二学期期中考试答案 ..................................................... 18
2007 - 2008学年第二学期期中考试试卷 ..................................................... 20
2007 - 2008学年第二学期期中考试答案 ..................................................... 27
2009 - 2010 学年第二学期期末考试试卷 ..................................................... 29
2009 - 2010 学年第二学期期末考试答案 ..................................................... 37
2008 - 2009学年第二学期期末考试试卷 ..................................................... 39
2008 - 2009学年第二学期期末考试答案 ..................................................... 48
2007-2008学年第二学期期末考试试卷 ....................................................... 50
2007-2008学年第二学期期末考试答案 ....................................................... 58
2009 - 2010学年第二学期期中考试试卷
《C语言程序设计基础及实验》
开课单位: 计算分院 ; 考试形式:闭卷; 考试时间:_2010__年_ 4 _月;
一、单选题
1、设变量已正确定义并赋值,以下正确的表达式是 (1) 。
A、x+z*5=y B、int(15.8%5) C、x=y=z=5 D、x=25%5.0
2、表达式:(int)((double)9/2)-(9)%2的值是 (2) 。
A、0 B、3 C、4 D、5
3、若已知int x=20,下列关系表达式条件的值是 (3) 。
printf("%d ",0
printf("%d\n",0
A、0 0 B、1 0 C、0 1 D、1 1
4、当变量c的值不为2、4、6时,值也为“真”的表达式是 (4) 。
A、(c==2)‖(c==4)‖(c==6) B、(c>=2&&c<=6)‖(c!=3)‖(c!=5)
C、(c>=2&&c<=6)&&!(c%2) D、(c>=2&&c<=6)&&(c%2!=1)
5、下列程序段输出的结果是 (5) 。
int a=3,b=5,c=7;
if(a>b) a=b; c=a;
if(c!=a) c=b;
printf("%d,%d,%d\n",a,b,c);
A、5,5,7 B、3,5,3 C、3,5,5 D、3,5,7
6、下列正确的程序段是 (6) 。
程序段1: 程序段2:
float n,i=1; float n,i=1;
switch(i) switch(i)
{ case i==1: n=i+1; { case i>1&&i<=2: n=i+1;
case i==2: n=i+2; break; case i==2: n=i+2; break;
default: n=i+3; default: n=i+3;
} }
程序段3: 程序段4:
float n,i=1; float n,i=1;
switch(i) switch((int)i)
{ case i=1: n=i+1; { case 1: n=i+1;
case i=2: n=i+2; break; case 2: n=i+2; break;
default: n=i+3; default: n=i+3;
} }
A、程序段1 B、程序段2 C、程序段3 D、程序段4
7、若变量定义int i; double sum=0,下列1+2+…+10正确的程序段是 (7) 。
A、for(i=1; i<=10; i++); B、for(i=1; i<=10; i++); sum=sum+i; sum=sum+i;
printf("%lf ",sum); printf("%f",sum);
C、for(i=1; i<=10; i++) D、for(i=1; i<=10; i++)
sum=sum+i; sum=sum+i;
printf("%d",sum); printf("%f",sum);
8、执行下列程序段后,输出的结果是 (8) 。
int f,f1,f2,i=3;
f1=3;f2=5;
while(i<=5){
f=f1+f2;
printf("%d ",f);
f1=f2; f2=f;
i++;
}
A、8 12 21 B、8 13 22 C、8 12 21 D、8 13 21
9、执行下列程序段后,输出的结果是 (9) 。
int a=1,b=7;
do{
b=b/2;
a=a+b;
}while (b>1);
printf("%d\n",a);
A、4 B、5 C、6 D、7
10、以下正确的函数是 (10) 。
A、double fun(int x, y) B、double fun(int x, int y)
{ int z; {
z=x+y ; z=x+y;
return z; return z;
} }
C、double fun(x, y) D、double fun(int x, int y)
{ int x,y ; double z ; { double z;
z=x+y ; return z ; z=x+y; return z;
} }
二、填空题
1、程序功能是统计学生成绩,输入一个正整数 n,再输入 n 个学生的百分制成绩,统计各等级成绩的个数。成绩等级分为五级,分别为A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59)。,请填空。
#include
int main(void)
{
int i, mark, n;
int na, nb, nc, nd, ne;
scanf("%d",&n); na = nb = nc = nd = ne = 0;
for(i = 1; i <= n; i++){
scanf("%d", &mark);
if(mark>=90&&mark<=100)
na++;
(11) (mark>=80)
nb++;
else if(mark>=70)
nc++;
else if(mark>=60)
nd++;
(12) 。
ne++;
}
printf("%d%d%d%d%d\n", na,nb,nc,nd,ne);
return 0;
}
11、A、if else B、else if C、else D、switch
12、A、else B、else(mark<60)
C、else if(mark<60) D、else(mark<60&&(mark>=0))
2、程序功能是根据以下的近似公式,计算e的值,精度为eps(精确到最后一项的绝对值小于eps),请填空。
......!31!21!111e #include
#include
int main(void)
{ int i;
double item,sum,fact,eps;
(13)
scanf("%lf", &eps);
for(i=1; (14) ; i++){
sum=sum+item;
(15)
item=1/fact;
}
printf("%.2f\n",sum);
return 0;
}
13、A、item=0,sum=0,fact=1; B、item=1,sum=0,fact=1;
C、item=1,sum=1,fact=1; D、item=1,sum=0,fact=0;
14、A、fabs(item)>eps B、fabs(item)
C、fabs(item)>=eps D、fabs(item)>=1E-5
15、A、fact=fact*i; B、item=item*i; C、i=fact*i; D、i=item*i;
3、下列程序求输入一个整数 in,求它的位数以及各位数字之和。例如 123 的各位数字之和是6,位数是3。请在空白处选择正确的语句。
#include
int main(void)
{
int count, in, sum;
scanf("%d", &in);
sum=0;
count=0;
if(in<0) in=-in;
do{
sum=sum+in%10;
(16)
count++;
}while( (17) );
printf("count = %d, sum = %d\n", count, sum);
return 0;
}
16、A、in=in/count; B、in=in%10;
C、in=in%count; D、in=in/10;