版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年武汉纺织大学专升本c语言试题及答案一、单项选择题(本大题共15小题,每小题2分,共30分。在每小题给出的四个选项中,只有一项是符合题目要求的)1.以下选项中,正确的C语言字符常量是()。A."a"B.'ab'C.'\101'D.'\x3G'2.若定义inta=5,b=7;,则表达式(a+++++b)的结果是()。A.12B.13C.14D.153.已知intx=3,y=5;,执行语句if(x>y)x++;elsey--;后,x和y的值分别为()。A.3,4B.4,5C.3,5D.4,44.若有循环结构for(inti=0,j=5;i<=j;i++,j--),则循环体的执行次数是()。A.2B.3C.4D.55.定义charstr[]="hello\0world";,则strlen(str)的返回值是()。A.5B.6C.10D.116.若intarr[3][4]={{1,2},{3,4,5},{6}};,则arr[1][2]的值是()。A.0B.4C.5D.67.以下关于指针的描述,错误的是()。A.指针变量存储的是内存地址B.未初始化的指针不能直接解引用C.charp="test";中p指向的字符串可以修改D.intq=&a;表示q是指向整型变量a的指针8.函数调用时,若采用值传递方式,以下说法正确的是()。A.形参和实参占用不同的内存单元B.形参的改变会影响实参的值C.只能传递基本数据类型D.函数不能返回多个值9.定义structStudent{charname[10];intage;}s1,s2;,则sizeof(s1)的值是()(假设int占4字节,char占1字节,无内存对齐)。A.10B.14C.18D.2010.若有定义FILEfp;,要以追加写方式打开文件"info.txt",正确的打开方式是()。A.fp=fopen("info.txt","w");B.fp=fopen("info.txt","a+");C.fp=fopen("info.txt","r+");D.fp=fopen("info.txt","wb");11.以下程序段的输出结果是()。intk=0;while(k++<2);printf("%d",k);A.2B.3C.0D.112.若intp,a[5]={1,3,5,7,9};p=a;,则(p+2)+3的值是()。A.5B.8C.7D.1013.以下能正确计算1+2+…+n的递归函数是()。A.intsum(intn){if(n==1)return1;elsereturnsum(n-1);}B.intsum(intn){if(n==1)return1;elsereturnn+sum(n-1);}C.intsum(intn){if(n==0)return0;elsereturnsum(n)+sum(n-1);}D.intsum(intn){returnn+sum(n-1);}14.若输入3和5,以下程序的输出结果是()。intmain(){inta,b;scanf("%d%d",&a,&b);if(a<b){a=a+b;b=a-b;a=a-b;}printf("%d%d",a,b);}A.35B.53C.8-2D.5815.以下关于预处理指令的描述,错误的是()。A.define宏定义不进行类型检查B.include可以包含自定义头文件C.条件编译指令可以提高代码可移植性D.所有预处理指令必须以分号结尾二、填空题(本大题共10小题,每空2分,共20分)1.若intx=7,y=3;,则表达式x%y+y%x的值是______。2.执行以下程序段后,输出结果是______。inti=5;switch(i%3){case0:printf("A");case1:printf("B");break;case2:printf("C");}3.定义inta[10]={1,2,3,4,5};,则a[5]的默认值是______。4.若chars[]="abc",t[]="abcde";,则strcmp(s,t)的返回值是______(填正数/负数/0)。5.函数intfunc(intx){returnxx;}的功能是计算x的平方,若用指针函数调用该函数,应定义指针变量为______。6.以下程序的输出结果是______。voidfun(intx){x=(x)++;}intmain(){inta=5;fun(&a);printf("%d",a);}7.定义structNode{intdata;structNodenext;}node;,则结构体成员next的类型是______。8.若要将数组a的首地址赋给指针p(inta[10],p;),应使用语句______。9.以下程序的输出结果是______。intmain(){inti,sum=0;for(i=1;i<=5;i++){if(i%2==0)continue;sum+=i;}printf("%d",sum);}10.若文件操作中需要将文件位置指针移动到文件开头,应使用函数______。三、程序改错题(本大题共2小题,每小题5分,共10分。指出错误并给出正确代码)1.以下程序试图计算两个整数的和,但存在错误。include<stdio.h>intmain()inta,b,sum;scanf("%d%d",a,b);sum=a+b;printf("sum=%d",sum);}错误1:______________________改正:______________________错误2:______________________改正:______________________2.以下程序试图输出数组的最大值,存在逻辑错误。intmain(){intarr[]={3,1,8,5,2};intmax=0,i;for(i=0;i<5;i++){if(arr[i]>max)max=arr[i];}printf("max=%d",max);}错误:______________________改正:______________________四、程序分析题(本大题共2小题,每小题10分,共20分。写出程序的运行结果)1.分析以下程序的输出结果。include<stdio.h>voidfun(intx,inty){intt;if(x<y){t=x;x=y;y=t;}printf("%d%d",x,y);}intmain(){inta=3,b=5;fun(a,b);printf("%d%d",a,b);return0;}2.分析以下程序的输出结果。include<stdio.h>intmain(){charstr[]="wtu_2025";inti,count=0;for(i=0;str[i]!='\0';i++){if(str[i]>='0'&&str[i]<='9')count++;}printf("count=%d",count);return0;}五、编程题(本大题共2小题,每小题15分,共30分)1.编写一个C语言程序,从键盘输入一个字符串(长度不超过50),统计其中大写字母、小写字母、数字字符和其他字符的个数。要求:使用循环遍历字符串,不能使用字符串库函数(如isalpha()等)。2.定义一个结构体类型Student,包含以下成员:学号(长整型,num)、姓名(字符数组,name[20])、成绩(浮点型,score)。编写程序实现:(1)从键盘输入3名学生的信息;(2)输出成绩最高的学生的完整信息;(3)计算3名学生的平均成绩(保留2位小数)。参考答案一、单项选择题1.C2.C3.A4.B5.A6.C7.C8.A9.B10.B11.B12.B13.B14.B15.D二、填空题1.7%3=1,3%7=3,1+3=4→42.i%3=5%3=2,执行case2,输出C→C3.未初始化的数组元素默认值为0→04."abc"比"abcde"短,strcmp返回负数→负数5.int(p)(int);或int(p)(intx);→int(p)(int)6.函数中x=(x)++等价于x=x;x=x+1;但赋值后原值被覆盖,最终a=5+1=6?不,实际(x)++是先取值再加1,所以x被赋值为原值(5),然后自增为6,但赋值操作是x=5,所以最终a=5?错误,正确分析:x=(x)++→先计算(x)++得到5,然后将5赋给x,所以x变为5,而原来的x是5,++后是6?不,++是后缀,所以表达式(x)++的值是5,然后x自增为6。但赋值语句是x=表达式结果,即x=5,所以最终x被覆盖为5,自增被覆盖。因此a=5。但实际运行中,这条语句是未定义行为(对同一变量多次修改),正确结果应为5。→57.structNode→structNode8.p=a;或p=&a[0];→p=a9.i=1(sum+1),i=2(跳过),i=3(sum+3),i=4(跳过),i=5(sum+5),总和1+3+5=9→910.rewind(fp);或fseek(fp,0,SEEK_SET);→rewind(fp)三、程序改错题1.错误1:main函数缺少大括号起始符{;改正:在intmain()后添加{错误2:scanf的参数缺少取地址符;改正:scanf("%d%d",&a,&b);2.错误:max初始化为0,当数组全为负数时无法正确比较;改正:max初始化为数组第一个元素,即intmax=arr[0];四、程序分析题1.fun函数中交换的是形参x和y,不影响主函数的a和b。fun输出53,主函数输出35→输出:53352.字符串"wtu_2025"中的数字字符是'2','0','2','5',共4个→输出:count=4五、编程题1.参考代码:include<stdio.h>intmain(){charstr[51];intupper=0,lower=0,digit=0,other=0,i=0;printf("请输入字符串(不超过50字符):");gets(str);//实际应使用fgets,此处简化while(str[i]!='\0'){if(str[i]>='A'&&str[i]<='Z')upper++;elseif(str[i]>='a'&&str[i]<='z')lower++;elseif(str[i]>='0'&&str[i]<='9')digit++;elseother++;i++;}printf("大写字母:%d,小写字母:%d,数字:%d,其他:%d\n",upper,lower,digit,other);return0;}2.参考代码:include<stdio.h>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消控室培训教学课件
- 我国财政支农支出的现状、问题与优化路径研究
- 我国证券投资基金治理结构的法律完善路径探析
- 我国证券内幕交易认定的理论与实践探究:基于典型案例的深度剖析
- 瑞丽市职业中学招聘真题
- 栈桥板安装承包制度规范
- 医院档案室人员休息制度
- 幼儿园规范办学奖惩制度
- 患者安全管理规范与制度
- 学校营业厅值班制度规范
- 全膝关节置换术患者心理因素关联探究:疼痛信念、自我效能与睡眠质量
- T-HAS 148-2025 工厂化菌糠栽培双孢蘑菇技术规程
- 高中数学北师大版讲义(必修二)第04讲1.4正弦函数和余弦函数的概念及其性质7种常见考法归类(学生版+解析)
- 储能电站建设项目审批流程
- 2024年健康体检服务投标文件 健康体检医疗服务投标书
- GA 2116-2023警用服饰礼服钮扣
- 中国机器人可靠性信息报告 2022
- 堇青蜂窝陶瓷微观结构及热膨胀系数的研究
- 心理咨询师考试培训之咨询心理学知识
- GB/T 18948-2017内燃机冷却系统用橡胶软管和纯胶管规范
- 中建八局简历模板
评论
0/150
提交评论