1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 B卷 — 第二学期 《程序设计语言(C)》 参考答案和评分标准 专业班级 姓 名 学 号 开课系室 软件工程系 考试日期 7月3日 题 号 一 二 三
2、 总分 得 分 阅卷人 程序设计语言(C)试卷( B卷) 答题卡 说明: 1.选择题和判断题必须填在答题卡上才有效, 综述题写在指定位置。 得分 2.本试卷共13页, 不得拆开。 一、 单项选择题( 正确的答案涂黑或画圈,20分) 1 A B ● D 11 A B ● D 2 A ● C D 12 ● B C D 3 ● B C D 13 A ● C D 4 A ● C D 14 A B C ● 5 ● B C D 15 ● B C
3、D 6 A ● C D 16 A ● C D 7 A B C ● 17 A B C ● 8 A B ● D 18 A ● C D 9 A B ● D 19 A ● C D 10 A ● C D 20 A B C ● 得分 二、 读程序填空题 ( 在空格处填写正确答案, 20分) ⑴ 12 ⑹ a[10]或a[] ⑵ &a[i] ⑺ a [i-1] ⑶ i%4==0 ⑻ a[10-1-i ] ⑷ *q++ = *p++或
4、
*(q+i)=*(p+i)或
b[i]=a[i]
⑼
>0
⑸
q=b
⑽
i
得分
三、 编程题( 60分, 在下面的空白处编写程序)
1、 编程计算下面函数的值, 其中x由键盘输入。( 12分)
-1 x≤-1
y= -1
5、"%d",&x);
if(x<=-1) y=-1;
else if(x>-1 && x<1) y=exp(x);
else y=(x+1)*(x+1) ;
printf("%f",y);
}
[评分标准]: 头文件、 程序框架占2分; 读入x值占1分; 每个分支语句各占3分, 共9分。
2. 一球从200米高度自由落下, 每次落地后反跳回原高度的一半再落下, 求它在第15次落地时, 共经过多少米? 第15次反弹多高? (6分)
参考答案:
#include
6、200.0,hn=sn/2; int n; for(n=2;n<=15;n++) { sn=sn+2*hn; hn=hn/2; } printf(”第15次落地共经过%f米\n”,sn); printf(”第15次反弹%f米\n”, hn); } [评分标准]: 头文件、 程序框架占2分; 变量初始化占1分; for循环占3分。 3.编写一函数sum,求二维数组(M*M)上三角(含对角线)之和。( 12分) 参考答案: int sum(int a[M][M]) { int s=0,k,n;
7、 /*变量声明*/
for(k=0;k 8、参考答案:
#include 9、标准]: 头文件、 程序框架占2分; 变量定义及初始化部分占2分; str结束条件判断占2分; for循环占2分; 删除指定字符( 符合条件的保留) 占2分; str赋字符串结束标记占1分; 输出字符串占1分。
5. 找出数组a[N]中的最大数及其下标。( 10分)
参考答案:
#define N 10
#include 10、]>max) {max=a[i];k=i;}
printf("max=a[%d]=%d\n", k,max);
}
[评分标准]: 头文件、 程序框架占2分; 变量定义及初始化部分占2分; 数组定义及初始化部分占2分 ; for循环占2分;找出最大值比占1分; 找出下标占1分。
6.编写子函数search, 从字符串str中查找某字符ch( str、 ch由主函数提供) 第一次出现的位置和出现的次数; 函数返回字符的位置, 若串str中没有字符ch, 则返回-1。比如: 当str为"abmcmnkt",ch为'm'时, 位置为3, 次数为2。要求: 不允许使用全局 11、变量。
主程序部分源代码如下。( 8分)
参考答案:
#include 12、1分; 变量定义及初始化部分占1分; for循环及找出字符串中与所给字符相同的字符占3分; 返回值占1分。
main()
{
int k,m;
char string[20] ,ch;
printf("input a string and a character\n");
gets(string);
ch=getchar();
k=search(string,ch,&m);
printf("the first position is %d and the number of this character is %d\n",k,m);
}






