版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年大一c语言半期考试题及答案一、单项选择题(每小题2分,共20分)1.以下关于C语言数据类型的描述,正确的是()。A.char类型变量一定占1字节,因为C标准规定char的大小为1字节B.int类型在32位系统中占4字节,在64位系统中一定占8字节C.float类型变量的精度高于double类型D.用sizeof计算数组名时,返回的是数组元素的总字节数2.若定义inta=5,b=3;则表达式(a++--b)的值是()。A.2B.3C.4D.53.执行以下代码后,输出结果是()。intx=0,y=2;while(x++<2)y+=x;printf("%d",y);A.6B.7C.8D.94.以下关于switch语句的描述,错误的是()。A.case后的表达式必须是整型常量或常量表达式B.每个case分支可以没有break语句C.switch的条件表达式可以是浮点型变量D.default分支可以放在switch语句的任意位置5.若有定义intarr[3][4]={{1,2},{3,4,5},{6}};则arr[1][2]的值是()。A.0B.4C.5D.随机值6.以下函数声明正确的是()。A.voidfunc(inta,b)B.intfunc(inta;intb)C.doublefunc(charstr)D.floatfunc(inta),intfunc2();7.若定义intp,a=10;则以下操作合法的是()。A.p=a;B.p=a;C.p=&a;D.p=&a;8.执行以下程序段后,输出结果是()。charstr[]="hello\0world";printf("%d",strlen(str));A.5B.6C.10D.119.以下关于函数参数传递的描述,正确的是()。A.数组作为参数传递时,函数内部修改数组元素会影响原数组B.实参和形参的类型可以不同,系统会自动转换C.函数的形参在未调用时不占用内存空间D.传递指针时,函数内部修改指针指向的内容不会影响原变量10.以下循环结构中,循环体执行次数与其他不同的是()。A.for(inti=0,j=5;i<j;i++,j--){}B.inti=0;while(i++<5){}C.inti=5;do{i--;}while(i>0);D.inti=1;for(;i<=5;i+=2){}二、填空题(每空2分,共20分)1.若inta=3,b=2;则表达式(a>b?a:b)+(a++b--)的值为______。2.执行以下代码后,x的值是______。intx=1;for(inti=1;i<=3;i++){if(i%2==0)continue;x=i;}3.若有定义intarr[5]={1,3,5,7,9};则(arr+3)的值是______,arr[2]+1的值是______。4.编写函数计算n!(n的阶乘),递归终止条件是______。5.若定义charstr="CLanguage";则str[2]的值是______(用ASCII码表示),(str+5)的值是______(用字符表示)。6.执行以下代码后,输出结果是______。intfunc(intn){if(n==0)return0;elsereturnn+func(n-1);}printf("%d",func(3));三、程序改错题(每小题5分,共10分。指出错误位置并给出修改意见)1.以下程序试图计算1到10的累加和,但存在错误。include<stdio.h>intmain(){inti=1,sum=0while(i<10){sum+=i;i++;}printf("Sum=%d",sum);return0;}2.以下程序试图交换两个整数的值,但运行后未达到预期效果。include<stdio.h>voidswap(inta,intb){inttemp=a;a=b;b=temp;}intmain(){intx=5,y=10;swap(x,y);printf("x=%d,y=%d",x,y);return0;}四、程序分析题(每小题6分,共12分。写出程序运行结果)1.include<stdio.h>intmain(){inti,j;for(i=1;i<=3;i++){for(j=1;j<=i;j++)printf("%d",ij);printf("\n");}return0;}2.include<stdio.h>voidfunc(intp){p=p+5;p=p+5;}intmain(){intarr[]={1,2,3,4,5};intptr=arr;func(ptr);printf("%d,%d",ptr,arr[4]);return0;}五、编程题(共38分)1.(8分)编写程序:输入一个整数n(n≥2),判断其是否为素数(只能被1和自身整除的数)。2.(10分)编写函数voidsort(intarr,intn),实现对长度为n的整型数组进行升序排序(要求用冒泡排序算法),主函数中输入10个整数,调用该函数后输出排序结果。3.(10分)编写程序:输入一个字符串(长度不超过50),统计其中大写字母、小写字母、数字字符和其他字符的数量。4.(10分)编写函数intmax_common_divisor(inta,intb),计算两个正整数的最大公约数(要求用递归实现),并在主函数中输入两个数,调用该函数输出结果。答案一、单项选择题1.D2.B3.C4.C5.C6.C7.C8.A9.C10.D二、填空题1.52.33.7;64.n==0||n==1(或n<=1)5.67('C'的ASCII码);'u'6.6三、程序改错题1.错误1:第3行末尾缺少分号,应改为“inti=1,sum=0;”错误2:while循环条件错误(i<10导致只计算1-9的和),应改为“while(i<=10)”2.错误:swap函数使用值传递,无法修改主函数中的x和y。应将参数改为指针类型,修改如下:voidswap(inta,intb){inttemp=a;a=b;b=temp;}主函数调用改为swap(&x,&y);四、程序分析题1.输出:1243692.输出:6,5五、编程题1.参考代码:include<stdio.h>include<math.h>intmain(){intn,i,flag=1;scanf("%d",&n);for(i=2;i<=sqrt(n);i++){if(n%i==0){flag=0;break;}}if(flag&&n!=1)printf("%d是素数",n);elseprintf("%d不是素数",n);return0;}2.参考代码:include<stdio.h>voidsort(intarr,intn){inti,j,temp;for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(arr[j]>arr[j+1]){temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}intmain(){intarr[10],i;printf("输入10个整数:");for(i=0;i<10;i++)scanf("%d",&arr[i]);sort(arr,10);printf("排序后:");for(i=0;i<10;i++)printf("%d",arr[i]);return0;}3.参考代码:include<stdio.h>include<ctype.h>intmain(){charstr[51];intupper=0,lower=0,digit=0,other=0;gets(str);for(inti=0;str[i]!='\0';i++){if(isupper(str[i]))upper++;elseif(islower(str[i]))lower++;elseif(isdigit(str[i]))digit++;elseother++;}printf("大写字母:%d\n小写字母:%d\n数字:%d\n其他:%d",upper,lower,digit,other);return0;}4.参考代码:include<stdi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年云计算在虚拟货币交易中的角色题集
- 2026年外贸业务员英语口语实战模拟题及应对策略
- 2026年物流配送路线规划模拟题含优化算法应用
- 2026年医生临床诊断与治疗方案测试题含医学技术标准
- 2026年环保与可持续发展知识测试
- 2026年海洋垃圾处理与资源利用实务操作题库
- 2026年旅游目的地管理与规划专业知识题库
- 2026年英语四级考试模拟题库与答案详解
- 2026年软件工程师晋升技术能力与团队管理能力考核题目
- 2026年物联网应用实践题库
- 猪肉儿童营养食品创新创业项目商业计划书
- 危险性较大的钢结构分部分项工程清单和安全管理措施
- 四川省卫生事业单位招聘《卫生公共基础》历年考试真题试题库(含答案)
- 2025至2030年中国干葡萄酒行业发展研究报告
- 北京市建设工程施工现场安全生产标准化管理图集(2019版)
- 模拟政协培训课件
- 人教版七年级上册数学有理数计算题分类及混合运算练习题(200题)
- 建筑工人解除劳动合同协议
- 电力行业网络与信息安全管理办法
- 兰州彤辉商贸有限公司肃南县博怀沟一带铜铁矿矿产资源开发与恢复治理方案
- (高清版)DZT 0430-2023 固体矿产资源储量核实报告编写规范
评论
0/150
提交评论