- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
C语言基础能力测试题及答案
一、选择题(每题5分,共30分)
以下关于C语言变量声明的说法,正确的是()
A.变量声明必须放在函数开头
B.同一作用域内,变量名可以重复定义
C.声明inta;后,a的初始值是随机值
D.变量声明时必须赋值
执行以下代码,输出结果是()
#includestdio.h
intmain(){
intx=5,y=3;
printf(%d,(x++y--)?x:y);
return0;
}
A.5B.6C.3D.2
关于数组的描述,错误的是()
A.数组名本质是常量指针,不能被赋值
B.数组在内存中是连续存储的
C.可以通过数组名+下标访问元素,如arr[2]等价于*(arr+2)
D.定义intarr[5];后,arr[5]是合法访问
以下函数调用中,属于值传递的是()
A.调用函数时传递数组名
B.调用函数时传递变量地址
C.调用函数时传递int类型变量
D.调用函数时传递指针变量
执行以下代码,输出结果是()
#includestdio.h
intfun(inta){
staticintb=2;
b+=a;
returnb;
}
intmain(){
printf(%d,fun(3));
printf(%d,fun(4));
return0;
}
A.59B.55C.58D.37
关于指针的用法,正确的是()
A.int*p;*p=10;(未初始化指针直接赋值)
B.inta=5;int*p=a;printf(%d,*p);
C.inta[3]={1,2,3};int*p=a;p++;*p=4;(数组元素被修改为4)
D.int*p=NULL;if(p){printf(非空);}
二、填空题(每空3分,共15分)
若要定义一个能存储10个字符串(每个字符串最长20个字符)的二维数组,声明方式为:__________。
执行代码inta=6,b=4;intc=a^b;,c的值是__________(二进制异或运算)。
函数声明intsum(intx,inty);中,sum是__________,(intx,inty)是__________。
定义int*p=(int*)malloc(4*sizeof(int));后,若要释放该动态内存,语句为:__________。
三、编程题(共55分)
编写程序,输入10个整数,求其中的最大值、最小值和平均值(保留2位小数)。(15分)
编写函数voidreverse(char*str),实现字符串的逆序(如输入abcde,输出edcba),在main函数中测试。(20分)
编写程序,用冒泡排序对一个包含8个整数的数组进行升序排序,并输出排序前后的数组。(20分)
答案及解析
一、选择题
答案:C
解析:A选项变量声明可在函数内任意位置(C99标准);B选项同一作用域不能重复定义;D选项声明时可赋值(初始化)也可不赋值,未初始化的局部变量值随机。
答案:B
解析:x++先使用后自增(判断时x=5),y--先使用后自减(判断时y=3),53为真,执行x(此时x已自增为6)。
答案:D
解析:数组下标从0开始,intarr[5]的合法下标是0-4,arr[5]越界访问。
答案:C
解析:值传递是传递变量的副本,函数内修改不影响原变量;A、B、D均为地址传递(指针传递)。
答案:A
解析:static变量只初始化一次,生命周期贯穿程序。第一次调用fun(3):b=2+3=5;第二次调用fun(4):b=5+4=9。
答案:B
解析:A选项未初始化指针指向随机地址,赋值会崩溃;C选项p初始指向a[0],p++后指向a[1],*p=4会将a[1]改为4(原a[1]是2),表述“数组元素被修改为4”不明确(未指定哪个元素),错误;D选项p=NULL时条件为假,不输出。
二、填空题
charstr[10][21];(每个字符串需留1个字节存结束符\0)
2(6二进制110,4二进制100,异或后10→十进制2)
函数名;参数列表
free(p);p=NULL;(释放后置空避免
您可能关注的文档
最近下载
- 感恩父母老师同学主题班会PPT课件.pptx VIP
- FLUKE Calibration福禄克计量校准8808A Digital Multimeter 8808A Users (Fre) (2.04 MB(兆))说明书用户手册.pdf
- 中国工商银行国际化发展:历程、挑战与战略转型.docx
- 起重吊装事故应急处置措施.docx VIP
- 统编2024版七年级上册道德与法治第八课生命可贵8.1《认识生命》教学设计.docx VIP
- 2024-2025学年初中信息技术(信息科技)川教版(2024)七年级上册教学设计合集.docx
- 春节开展困难企业和困难人员慰问活动方案.pptx VIP
- 湘教版科学小学四年级上册期中检测试题(含答案).doc VIP
- 升平煤矿安全生产事故综合应急救援预按及流程图.doc VIP
- 2026浙江交通集团校园招聘(919人)笔试模拟试题及答案解析.docx VIP
原创力文档


文档评论(0)