收藏 分销(赏)

第学期C语言程序设计期末考试题B卷答案.doc

上传人:精*** 文档编号:4674710 上传时间:2024-10-09 格式:DOC 页数:12 大小:324KB
下载 相关 举报
第学期C语言程序设计期末考试题B卷答案.doc_第1页
第1页 / 共12页
第学期C语言程序设计期末考试题B卷答案.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述
资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。 B卷 — 第二学期 《程序设计语言(C)》 参考答案和评分标准 专业班级 姓 名 学 号 开课系室 软件工程系 考试日期 7月3日 题 号 一 二 三 总分 得 分 阅卷人 程序设计语言(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 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++或 *(q+i)=*(p+i)或 b[i]=a[i] ⑼ >0 ⑸ q=b ⑽ i 得分 三、 编程题( 60分, 在下面的空白处编写程序) 1、 编程计算下面函数的值, 其中x由键盘输入。( 12分) -1 x≤-1 y= -1<x<1 (x+1)2 x≥1 参考答案: #include <math.h> main() { int x; float y; printf("input x \n"); scanf("%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 <stdio.h> main( ) { float sn=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; /*变量声明*/ for(k=0;k<M;k++) for(n=k;n<M;n++) s+=a[k][n]; /*求和*/ return s; /*返回结果*/ } [评分标准]: 函数头4分(返回类型、 数组说明各占2分);返回语句占3分; 内层循环占3分; 外层循环占1分; 元素求和占1分。 4. 从键盘上输入数组str(长度不大于100), 再从键盘上输入一个字符, 从数组str中删除该字符, 并输出删除字符后的字符串。( 12分) 参考答案: #include <stdio.h> void main() { char str[100],ch; /*下标从0到99*/ int m=0,k=0; while((str[m]=getchar())!='\n') m++; str[m]= '\0'; ch=getchar(); for(m=0;str[m]!=‘\0’;m++) if(str[m]!=ch) {str[k]=str[m];k++;} str[k]=‘\0’; puts(str); } [评分标准]: 头文件、 程序框架占2分; 变量定义及初始化部分占2分; str结束条件判断占2分; for循环占2分; 删除指定字符( 符合条件的保留) 占2分; str赋字符串结束标记占1分; 输出字符串占1分。 5. 找出数组a[N]中的最大数及其下标。( 10分) 参考答案: #define N 10 #include <stdio.h> main() { int a[N]={ 3,1,8,5,11,23,9,6, 4, 7}; int k,max,i; max=a[0];k=0; for(i=1;i<N;i++) if(a[i]>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。要求: 不允许使用全局变量。 主程序部分源代码如下。( 8分) 参考答案: #include<stdio.h> int search(char str[], char ch, int *p) { int i,j=0,a[10]; for(i=0;i<strlen(str);i++) { if(str[i]= =ch) { a[j++]=i; } } *p=j; return (a[0]+1); } [评分标准]: 头文件、 程序框架占2分; 形参定义占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); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服