2023年秋季C语言程序设计期末考试题A卷答案答案.doc

上传人:知****量 文档编号:58287150 上传时间:2022-11-07 格式:DOC 页数:21 大小:341.04KB
返回 下载 相关 举报
2023年秋季C语言程序设计期末考试题A卷答案答案.doc_第1页
第1页 / 共21页
2023年秋季C语言程序设计期末考试题A卷答案答案.doc_第2页
第2页 / 共21页
点击查看更多>>
资源描述

《2023年秋季C语言程序设计期末考试题A卷答案答案.doc》由会员分享,可在线阅读,更多相关《2023年秋季C语言程序设计期末考试题A卷答案答案.doc(21页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、卷20232023学年第二学期程序设计语言(C)试卷参考答案和评分标准 专业班级 姓 名 学 号 开课系室 软件工程系 考试日期 2023年7月3日 题 号一二三总分得 分阅卷人程序设计语言(C)试卷(A卷)答题卡说明:1选择题和判断题必须填在答题卡上才有效,综述题写在指定位置。得分 2本试卷连同封面共13页,不得拆开。一、 单项选择题(对的的答案涂黑或画圈,每题1分,共20分)1AgCD11AgCD2AgCD12AgCD3ABgD13ABgD4AgCD14ABCg5AgCD15gBCD6AgCD16AgCD7ABgD17gBCD8AgCD18AgCD9ABgD19AgCD10ABCg20AB

2、Cg得分二、 读程序填空题(在空格处填写对的答案,每空2分,共20分)q或q=q-1或-qx=0或x0fac/i或1.0/ireturn (x)或return -xsn/2或(n+1)/2!feof(fp)或ch!=EOF1fp1一、单项选择题(每题1分, 20分)1. 现有程序完毕a、b两个值的互换,空白处对的的答案应当是 _。main()int a,b,t; t=b; b=a; _;A. a=bB. a=tC. b=tD. t=a2. 假如程序中用到标准库函数log(),那么该程序应含下面哪条语句_。A. #include ”stdio.h” B. #include ”math.h“C.

3、#include ”string.h” D. #include ”stdlib.h” 3. int x=6;则下方程序段运营结果是_。switch(x) case 1: printf(“apple“);break; case 2: printf(“hello“);break; case 3: printf(“world “); default: printf(“thank you“); A. apple B. hello C. thank you D. world thank you4. 在C语言中,不合法的int型常量是_。A. 32767 B. 0578 C. 0XAAC D. 32768

4、L 5. 设x,y,z和k都是int型变量,则执行表达式:x=(y=2,z=15,k=30)后,x的值为_。A. 52 B. 30 C. 15 D. 26. 设x为int型变量,则执行以下语句后,x的值为_。x=10; x + = x - = x - x;A. 30 B. 20 C. 10 D. 407. 在下列运算符中,优先级最高的运算符是( )A= = B!= C%D|8. 设x,y,t均为int型变量,则执行语句:x=y=3;t=+x|-y;后y的值为_。 A. 4 B. 3 C. 2 D. 19. 语句 printf(“%n”); 的输出为_。A. # B. %n C. % D. %1

5、0. #include main() char a1,a2,a3,a4,a5,a6; scanf(“%c%c%c%c”,&a1,&a2,&a3,&a4); a5=getchar(); a6=getchar(); putchar(a1);putchar(a2); printf(“%c%cn”,a5,a6); 如:123回车 45678回车 结果是_。A. 1267 B. 1256 C.1278 D. 124511.若有int x, y, z ; scanf(%d%d%d,&x,&y,&z); 则运营时输入方式错误的是_。 A.4 5 6 B. 4, 5, 6 C. 4 D. 4 5 5 6 61

6、2. 下面程序段执行结果是_。 int y=25; while(y-); printf(“y=%d”,y); A. 0 B. -1 C. 1 D. 无限循环13. 不对的的字符串赋值或赋初值方式是 _。 A. char *str; str= string; B. char str7= s, t, r, i , n, g, 0 C. char str110; str1= string; D. char str1= string, str2= 12345678; 14. 对于int a =1,2,3,4,5,6, *p; p=a; *(p+3)+ = 2; 则程序段执行后*(p+3)的值为_。 A

7、. 5 B. 3 C . 4 D. 615. 若有说明语句:int a = 1,2,3,4,5,6,7,8,*p=a ; 且 0i7, 则_是对数组元素的错误表达。 A. p + i B.apa C. *(a + i) D.pi16.以下选项中不能对的把c1定义成结构体变量的是A. struct color B. struct color cl int red; int red;int green; int green;int blue; int blue; ;struct color c1;C. struct color D. struct int red; int red;int gree

8、n; int green;int blue; int blue; cl; cl ;17.对于int a32 = 1, 2, 3; 元素a11的值为_。 A.0 B. 1 C. 3 D. 不能拟定18. 设x和y均为int型变量,则执行下面的循环后,y的值为_。 for(y=1,x=1;y=20;y+) if(x=8)break; if(x%2=1) x+=5;continue; x-=3; A2 B4 C6 D819. 假定所有变量均已对的定义,则下列程序段运营后x的值是_。a=0;b=0;c=0;x=35;if(!a) x=x-1;else if(b) x=x+1;if(c) x=3; el

9、se x=4;A34 B4 C35D320. 现有一个文本文献,想以追加方式打开,下列方式对的的是_。if(fp=fopen(fname.dat,_)=NULL)printf(can not open file!n,num); exit(0);A. w B.ab C.b D.a二、读程序填空(每空2分,共20分)1判断一个字符串是否回文(顺读和逆读相同,如字符串“abcba”就是回文) /* 该函数返回值为1代表是回文,返回0代表不是回文 */int verse(char *p) char *q=p; while(*q!=0) q+; ; while(pq) if(*p+!=*q-) retu

10、rn 0; return 1; 2以下函数的功能是计算s=1+的值,请填空。double fun(int n) double s=0.0,fac=1.0; int i;for(i=1;i=n;i+)s=s+ ;return ;3下面的程序用来记录文本文献fname.dat中的字符数,将程序补充完整。#include stdio.hvoid main( ) FILE *fp; long num=0; char ch; if(fp=fopen(fname.dat,r)=NULL)printf(can not open file!n,num); exit(0); ch=fgetc(fp); whil

11、e( ) num+; ch=fgetc(fp) ; printf(num=%dn,num); fclose( ); 4. 设fun()是用户自定义函数,其功能是求一个数的绝对值,请填空。 #include #include math.h int fun(int x) if ; return(x) else ; main() int a; scanf(%d,&a); printf(绝对值是%dn, fun(a) ;5.将数组a中的n个整数按相反顺序存放。void inv(int x , int n) int t,k,j; for(k=0;k ;k+) t=xn-1-k; xn-1-k=xk; x

12、k=t; void main() int i,a6=3,7,9,11,0,6; inv(a,6); for(i=0;i6;i+) printf(%d,ai); printf(n);6.下列程序段运营后输出的结果是 a= ,b= 。int x=0,a=0,b=0;switch(x)case 0: b+;case 1: a+;break;case 2: a+;b+;printf(“a=%d,b=%dn”,a,b);得分三、编程题(60分,在下面的空白处编写程序)1、编程计算下面函数的值,其中x为实数,由键盘输入。(12分) -1 x-5 y= ( x-1)2 -5x5 x5参考答案:#includ

13、e main() float x,y; printf(请输入实数x:); scanf(%f,&x);if(x=-5) y=-1;else if(x5) y=(x-1)*(x-1); else y=1/x; printf(y=%f,y);评分标准:头文献、程序框架占2分;读入x值占1分;每个分支语句各占3分,共9分。2.设有一组数12,32,23,45,44,65,67,9,100,80, 编写一个完整的程序实现从小到大排序。(12分)参考答案:#include main() int a10=12,32,23,45,44,65,67,9,100,80; int i,j,t; for(i=0;i9

14、;i+) for(j=i+1;jaj) t=ai; ai=aj; aj=t; for(i=0;i10;i+) printf(%4d,ai);评分标准:头文献、程序框架占2分;数组a定义及初始化占2分;外层循环占2分;内层循环占2分;元素互换部分占4分。 3.编程将字符串s2的内容连接到字符串s1后,如s1中存放“hello”,s2中存放“world”,连接后s1的内容为“helloworld”(不能使用strcat函数,字符串结束标志为0)。(10分)参考答案:#include #include main() char str180,str280; int i=0,j=0; printf(输入

15、两个字符串:); gets(str1); gets(str2); i=strlen(str1); while(str1i+=str2j+!=0); printf(连接之后的字符串为:%s,str1); 评分标准:头文献、程序框架占2分;字符数组str1、str2初始化占3分;求出str1长度占2分;str2内容赋值到str1中占3分。4.编一个名为average的函数,其功能是求形参数组的平均值。调用average的主函数部分源代码如下。(10分)float average(float score,int n) int i; floar ave=0; for(i=0;in;i+) ave+=s

16、corei; return ave/n; main()float score10,aver;int i;printf(input 10 scores:n); for(i0;i10;i+) scanf(%f,&scorei);printf(n);averaverage(score,10);printf(average score is %5.2f,aver);评分标准:函数头对的定义占4分;ave初始化及返回值 占2分;循环求累加和占4分。5. 编写一个函数fun,其功能是:将一个字符串str1(元素起始下标为0)中的所有偶数位上的小写字母复制成为一个新字符串str2。如str1串为“abCDe

17、fgh123”,则新串str2为“aeg”。主函数部分源代码如下。(10分) #include#includefun(char str1, char str2) /*请填写函数主体内容*/ int i=0,j=0;while(str1i!=0) if(str1i=a&str1i=z) str2j+=str1i; i+=2; str2j=0;main() char str120,str210; printf(input a stringn); gets(str1); fun(str1,str2); puts(str2);评分标准: 变量i、j定义及初始化部分占1分;str1结束条件判断占2分;偶

18、数位及小写字母判断占4分;str2赋字符串结束标记占1分;str2中符合条件的字符赋值到str1中占2分。6.编写一个函数,函数的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数, 求满足这样规定的素数的组数。(6分)/* isp是求素数的函数,返回1代表m是素数,返回0代表m不是素数 */isp(int m)int i;for(i=2;im;i+)if(m%i=0) break;if(i=m) return 1;else return 0;fun(int n,int count) /* n是偶数,count是符合条件的组数 */int i;count=0 for(i=2;in/2;i+) if(isp(i)&isp(n-i) count+; 评分标准:count初始化占1分;循环控制占2分,函数调用判断是否为素数及两个素数的和为n部分占2分;符合条件的数记录占1分。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com