版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年全国计算机等级考试二级C笔试试题含答案一、选择题(共40小题,第1-10题为公共基础知识题,第11-40题为C语言程序设计题,每小题1分,共40分)1.下列数据结构中,属于非线性结构的是A.循环队列B.带链队列C.二叉树D.带链栈2.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front=rear=25,此后又正常插入一个元素,此时循环队列中的元素个数为A.1B.26C.25D.503.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为A.4B.5C.3D.24.下面不属于软件需求规格说明书内容的是A.算法的详细设计B.软件的性能需求C.软件的功能需求D.软件的运行环境5.下面属于白盒测试方法的是A.等价类划分法B.逻辑覆盖C.边界值分析法D.错误推测法6.软件生命周期中,确定软件系统“怎么做”的阶段是A.需求分析B.软件设计C.软件测试D.可行性研究7.数据库管理系统是A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统8.关系模型中,用来表示实体之间联系的是A.二维表B.树结构C.网结构D.属性9.有三个关系R、S和T如下:R:ABCa12b21c31S:ADEa34b56T:ABCDEa1234b2156则由关系R和S得到关系T的操作是A.自然连接B.交C.投影D.并10.下列选项中,不属于程序设计语言三种基本控制结构的是A.递归B.顺序C.选择D.循环11.以下关于C语言的叙述中正确的是A.C语言中的注释不可以夹在变量名或关键字中间B.C语言中的变量可以在使用之前的任何位置定义C.C语言程序的每行只能写一条语句D.C语言的标识符必须由字母开头12.以下选项中,合法的C语言常量是A.1.2e0.5B.'C++'C."\0"D.2eh13.若有定义:inta=3,b=2,c=1;以下选项中错误的赋值表达式是A.a=(b=4)=3B.a=b=c+1C.a=(b=4)+cD.a=1+(b=c=4)14.有以下程序:intmain(){inta=1,b=2,c=3,d=0;if(a==1)if(b!=2)if(c==3)d=1;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf("%d\n",d);return0;}程序运行后的输出结果是A.1B.2C.3D.415.以下选项中,与k=n++完全等价的表达式是A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+116.有以下程序段:intk=0;while(k=1)k++;则while循环执行的次数是A.无限次B.有语法错,不能执行C.一次也不执行D.执行1次17.若有定义语句:intx,y;要通过scanf("%d,%d",&x,&y);使变量x得到数值11,y得到数值12,以下输入形式中错误的是A.1112<回车>B.11,12<回车>C.11,12<回车>D.11,<回车>12<回车>18.有以下程序:intmain(){inta=0,i;for(i=1;i<5;i++){switch(i){case0:case3:a+=2;case1:case2:a+=3;default:a+=5;}}printf("%d\n",a);return0;}程序运行后的输出结果是A.31B.13C.10D.2019.若要定义一个具有5个元素的整型数组,以下错误的定义语句是A.inta[5]={0};B.intb[]={0,0,0,0,0};C.intc[2+3];D.intn=5,d[n];20.有以下程序:intmain(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);return0;}程序运行后的输出结果是A.16B.10C.8D.621.以下关于C语言函数的叙述中正确的是A.函数的形参是自动变量B.函数必须有返回值C.函数必须有参数D.函数可以嵌套定义22.有以下程序:voidfun(inta,intb){intt;t=a;a=b;b=t;}intmain(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i],c[i+1]);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");return0;}程序运行后的输出结果是A.1,2,3,4,5,6,7,8,9,0,B.2,1,4,3,6,5,8,7,0,9,C.0,9,8,7,6,5,4,3,2,1,D.0,1,2,3,4,5,6,7,8,9,23.以下选项中正确的字符常量是A.'\x41'B.'\081'C.'ab'D."\0"24.有以下程序:intmain(){chara[10]="abcd",b[10]="0123",c[10]="";strcpy(c,a+1);strcat(c,b+2);printf("%d\n",strlen(c));return0;}程序运行后的输出结果是A.5B.6C.7D.825.若有定义语句:ints[3][4]={0},(*p)[4];p=s;则以下选项中对s数组元素的引用错误的是A.p[0][0]B.*(p+1)[2]C.*(p[0]+1)D.*(*(s+1)+2)26.以下关于指针的叙述中错误的是A.任何类型的指针都可以赋值给void*类型的指针B.void*类型的指针可以直接赋值给任意类型的指针C.指针变量的值是内存单元的地址D.指针可以进行关系运算27.有以下程序:intfun(intn){if(n==1)return1;elsereturnn+fun(n-1);}intmain(){printf("%d\n",fun(5));return0;}程序运行后的输出结果是A.15B.10C.5D.328.以下选项中,合法的预处理命令是A.#defineN5B.defineN5C.#defineN=5D.#includestdio.h29.若有定义:typedefstruct{intnum;charname[10];}STU;则以下叙述中正确的是A.STU是结构体类型名B.STU是结构体变量名C.typedefstruct是结构体类型D.struct是结构体类型名30.有以下程序:uniondata{inti;charc;floatf;}a;intmain(){a.c='A';printf("%c\n",a.i);return0;}已知字符'A'的ASCII码是65,若int类型占4字节,char占1字节,程序运行后的输出结果是A.AB.65C.不确定D.031.以下关于C语言文件的叙述中正确的是A.文件由二进制序列组成,可按二进制或文本方式存取B.文件由字符序列组成,只能按文本方式存取C.文件由数据序列组成,只能按二进制方式存取D.文件由记录序列组成,按记录方式存取32.有以下程序段:FILE*fp;if((fp=fopen("test.txt","w"))==NULL){printf("不能打开文件!");exit(0);}则以下叙述中错误的是A.若test.txt文件不存在,则创建一个新文件B.若test.txt文件存在,则清空原有内容C.打开文件后可以从文件中读取数据D.打开文件后可以向文件中写入数据33.若有定义:intx=10,y=3;则表达式x%y的值是A.1B.0C.3D.234.以下选项中,合法的C语言标识符是A._123B.123_C.a-bD.int35.有以下程序:intmain(){intk=5,j=2;printf("%d\n",S(k+j));return0;}程序运行后的输出结果是A.33B.197C.41D.2536.以下关于数组的叙述中正确的是A.数组名是常量指针,指向数组首元素的地址B.数组名可以被赋值C.数组的长度可以动态改变D.数组元素的下标从1开始37.有以下程序:intmain(){chars[]="abcdef";s[3]='\0';printf("%s\n",s);return0;}程序运行后的输出结果是A.abcB.abcdC.abcdefD.abcdef\038.若有定义:inta=5,*p=&a;则以下叙述中错误的是A.p的值是变量a的地址B.*p的值是5C.&*p等价于pD.*&a的值是a的地址39.以下选项中,不属于C语言关键字的是A.typedefB.voidC.defaultD.include40.有以下程序:intmain(){inti,n=0;for(i=2;i<10;i++){if(i%3!=0)continue;n++;}printf("%d\n",n);return0;}程序运行后的输出结果是A.2B.3C.4D.5二、程序填空题(共3空,每空6分,共18分)给定程序的功能是用递归法计算n的阶乘,n由键盘输入。请在程序的下划线处填入正确的内容,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构。longfun(intn){if(____1____)return1;elsereturn____2____;}intmain(){intn;printf("请输入n的值:");scanf("%d",&n);if(n<0)printf("输入错误!\n");elseprintf("%d!=%ld\n",n,____3____);return0;}三、程序修改题(共2处错误,每处9分,共18分)给定程序中函数fun的功能是:将字符串s中的所有数字字符替换成对应的字母,数字'0'替换成'A','1'替换成'B',……,'9'替换成'J',其他字符保持不变。例如,字符串s为"abc123def45",替换后为"abcBCDdefEF"。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。voidfun(char*s){inti;for(i=0;i<strlen(s);i++)/*found*/if(s[i]>=0&&s[i]<=9)s[i]=s[i]-'0'+'A';/*found*/returns;}intmain(){chars[80];gets(s);fun(s);puts(s);return0;}四、程序设计题(共24分)请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a的十位和个位数依次放在c的千位和十位上,b的十位和个位数依次放在c的百位和个位上。例如,当a=45,b=12时,调用该函数后,c=4152。注意:请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。voidfun(inta,intb,long*c){/*请在此处编写代码*/}intmain(){inta,b;longc;printf("输入a和b的值:");scanf("%d%d",&a,&b);fun(a,b,&c);printf("结果是:%ld\n",c);return0;}参考答案及解析一、选择题1.C解析:线性结构除首尾结点外每个结点仅有一个前驱和后继,二叉树属于非线性结构,其余选项均为线性结构。2.A解析:front==rear时队列要么为空要么为满,可正常插入说明此前队列为空,插入1个元素后元素个数为1。3.A解析:根结点为A,左子树为DCB,深度3,加根结点总深度为4。4.A解析:算法详细设计属于软件设计阶段输出,不属于需求规格说明书内容。5.B解析:逻辑覆盖属于白盒测试方法,其余选项均为黑盒测试方法。6.B解析:软件设计阶段确定系统实现方案,即“怎么做”。7.B解析:数据库管理系统是运行在操作系统之上的系统软件。8.A解析:关系模型用二维表表示实体及实体间联系。9.A解析:自然连接按公共属性等值连接,去除重复列,符合题目操作特征。10.A解析:三种基本控制结构为顺序、选择、循环,递归不属于基本结构。11.A解析:注释不能拆分标识符或关键字;变量仅可在块内定义区域声明,不可在表达式中间定义;一行可写多条语句,用分号分隔;标识符可下划线开头。12.C解析:"\0"是合法字符串常量;浮点常量指数部分必须为整数,单引号只能括单个字符,2eh不属于合法常量。13.A解析:赋值表达式左侧必须为可修改左值,(b=4)是表达式不可作为左值。14.D解析:else与最近未匹配if配对,a==1成立、b!=2不成立、c!=3不成立,最终d赋值为4。15.A解析:后置自增先取值再自增,等价于先赋值k=n,再n自增1。16.A解析:条件k=1是赋值表达式,值恒为1,循环无限执行。17.A解析:scanf格式串中的普通字符需原样输入,逗号不可省略。18.A解析:i从1到4循环,switch无break时顺序执行,最终a累加为31。19.D解析:C89标准要求数组长度为常量表达式,n是变量,d[n]为非法定义。20.B解析:p指向a[3]值为4,q指向a[5]值为6,和为10。21.A解析:形参默认存储类别为auto;void函数无返回值,函数可无参数,不可嵌套定义。22.A解析:值传递不修改实参,数组元素保持不变。23.A解析:'\x41'是十六进制转义字符,对应'A';八进制转义不可出现8,单引号不可括多个字符,"\0"是字符串常量。24.A解析:strcpy后c为"bcd",拼接"23"后为"bcd23",长度为5。25.B解析:[]优先级高于*,*(p+1)[2]等价于*(p+3),访问越界。26.B解析:void*指针赋值给其他类型指针需强制类型转换,不可直接赋值。27.A解析:递归实现1到5累加,结果为15。28.A解析:宏定义需以#开头,无等号,包含命令需加尖括号或引号。29.A解析:typedef给结构体类型起别名STU,STU是类型名。30.A解析:共用体共享内存,a.c赋值为'A',低字节为65,输出对应字符为'A'。31.A解析:C语言文件是流式文件,可按二进制或文本方式存取。32.C解析:"w"模式为只写,不可读取文件内容。33.A解析:10除以3余数为1。34.A解析:标识符由字母、数字、下划线组成,首字符不可为数字,不可为关键字。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026事业单位工勤技能-新疆-新疆管道工五级(初级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-新疆-新疆工程测量工四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-新疆-新疆中式烹调师三级(高级工)历年参考题库含答案详解3套试卷
- 残疾预防健康行动
- 小儿疝气防治方法
- 2026年秋季开学高三营养保障主题班会课件
- 2026年秋季开学大学一年级新生军训战术基础活动课件
- 2026年秋季开学大学一年级新生军训军体拳活动课件
- 《笔底云烟》教学课件 - 2026-2027 学年沪教版(新教材)初中美术八年级上册
- 2026届沧州市南皮县中考联考数学试卷含解析
- 盘扣式脚手架搭设专项施工方案
- 监控系统调试报告
- 2026年下半年浙江金义人才集团有限公司公开招聘工作人员8人笔试备考题库及答案详解
- 2026年中国医师节主题宣传:以德立医魂+以技护生命
- 小学道德与法治学科教师专业素质考试试题及答案
- 2026年食品操作试题库及答案
- 2026年马鞍山花山区人民法院公开招聘劳务派遣制工作人员2名考试备考题库及答案详解
- 2026 文化馆文艺岗事业单位招聘考试参考题库 含答案
- 无人机飞手年度绩效考核表
- 陕西省土地资源现状剖析与退化防治策略探究
- 2026年关于征兵心理测试题及答案
评论
0/150
提交评论