2014春参考答案及评分细则程序设计C语言模块一试卷.docx
第PAGE1页共NUMPAGES5页
上海建桥学院2013-2014学年第二学期模块测验一(2014年4月)
《程序设计基础C语言》
(本卷测验时间:45分钟)
本科13级计算机、数媒、软件专业班学号姓名
题号
一
二
三
四
五
六
七
八
总分
得分
一、单选题(每小题4分,共24分)
1.以下用户标识符中,合法的是B。
A.int
B.nit
C.123
D.a+b
2.有以下程序
voidmain()
{inta=0,b=0;
a=10;/*给a赋值
b=20;给b赋值*/
printf(a+b=%d\n,a+b);/*输出计算结果*/
}
程序运行后输出结果是____A____。
A.a+b=10B.a+b=30C.30D.出错
3.若有代数式(3ae)/(bc),则下面不正确的C语言表达式是___C___。
A.a/b/c*e*3
B.3*a*e/b/c
C.3*a*e/b*c
D.a*e/c/b*3
4.if(x)语句中,关系表达式x表示__D____。
A.x==0
B.x0
C.x0
D.x!=0
5.要求以下程序的功能是计算:s=1+1/2+1/3+…+1/10。
voidmain()
{intn;floats;
s=1.0;
for(n=10;n1;n--)
s=s+1/n;
printf(%6.4f\n,s);
}
程序运行后输出结果错误,导致错误结果的程序行是___C___。
A.s=1.0;
B.for(n=10;n1;n--)
C.s=s+1/n;
D.printf(%6.4f\n,s);
6.有定义语句:intx,y;。若要通过scanf(%d,%d,x,y);语句使变量x得到数值11,变量y得到数值12,
下面四组输入形式中,错误的是___A___。
A.1112↙
B.11,12↙
C.11,12↙
D.11,↙12↙
二、填空题(每空6分,共18分)
1.以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
intfun(intn)
{intm=0,f=1,i;
for(i=1;i=n;i++)
{m+=i*f;
f=______;//填:-f
}
returnm;
}
voidmain()
{printf(m=%d\n,______);}//填:fun(10)
2.以下程序的输出结果是_____。//填:1
#includestdio.h
voidmain()
{inti,sum;
for(i=3;i=1;i--)
{sum=0;
sum=sum+i;
}
printf(%d\n,sum);
}
三、程序完善题(20分)
请编写一个函数fun,它的功能是:对给定的数判定是否为奇数。
写出函数类型、形参得8分
给出判断式得8分
返回语句得4分
#includestdio.h
intfun(intm)
{if(m%2==1)
return1;
else
return0;
}
voidmain()
{
intx,f;
printf(“inputx\n”);
scanf(“%d”,x);
f=fun(x);
if(f==1)
printf(“%disodd\n”,x);
else
printf(“%disnotodd\n”,x);
}
四、程序改错(每改正一行5分,共20分)
计算xn。(注:/******fund*****/下行为错误行,正确语句写在错误行右边。)
#includestdio.h
/*******fund******/
intmian()//intmain()
{inti,n;
doublex,power;
printf(Enterx,n:\n);
/*******fund******/
scanf(%d%d,x,n);//scanf(%lf%d,x,n)
power=1;
/*******fund******/
for(i=1;in;i++)//for(i=1;i=n;i++