2016年3月全国计算机等级考试二级《C语言》真题二及详解

上传人:lqh1****020 文档编号:88763413 上传时间:2019-05-09 格式:DOC 页数:11 大小:72.50KB
返回 下载 相关 举报
2016年3月全国计算机等级考试二级《C语言》真题二及详解_第1页
第1页 / 共11页
2016年3月全国计算机等级考试二级《C语言》真题二及详解_第2页
第2页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《2016年3月全国计算机等级考试二级《C语言》真题二及详解》由会员分享,可在线阅读,更多相关《2016年3月全国计算机等级考试二级《C语言》真题二及详解(11页珍藏版)》请在金锄头文库上搜索。

1、2016年3月全国计算机等级考试二级C语言真题二(总分100, 考试时间120分钟)一、选择题(每小题1分,共40分)1. 设有以下程序段:struct book float price;char language;char title20; rec,*ptr;ptr = &rec;要求输入字符串给结构体变量rec的title成员,错误的输入语句是( )。A seanf(”s”Ptrtitle);B scanf(”s”,rectitle);C scanf(s”,(*pu)title);D scanf(”s”,ptr-title);该问题分值: 1答案:A符号“_”是指针特用的,符号“”用于指定

2、元素的成员。ptr是指针,只能用符号“一”,因此选项A错误。+P是指定元素(Fee)可以使用“”运算,因此选项D正确。选项B,Feetitle代表数组title,同理选项C正确。答案为A选项。2. 有以下程序:执行时输入:aBeDefG#,则输出结果是( )。A AbCdEFgB ABCDEFGC BCDEFGHD bedefgh该问题分值: 1答案:C循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。putchar(+C),表示将字符变量C加1后输出。因此,输入aBcDefG#,得到的结果是BCDEFGH。故答案为

3、c选项。3. 以下与存储类别有关的四组说明符中,全部属于静态类的一组是( )。A extem和staticB auto和staticC register和staticD register和excerl该问题分值: 1答案:Aauto用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字通常会被省,因为所有的变量默认就是aut0的。register定义的变量告诉编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。static变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持

4、原来的赋值。这一点是它与堆栈变量和堆变量的区别。变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。当static用来修饰全局变量时,它就改变了全局变量的作用域。extern限制在了当前文件里,但是没有改变其存放位置,还是在全局静态储存区。extem外部声明,该变量在其他地方有被定义过。因此,答案为A选项。4. 设有定义:int x,Y,z;,且各变量已赋正整数值,则以下能正确表示代数式的C语言表达式是( )。A 10x。y,zB 1x * Y * zC 1(x * Y * z)D 1xy(double)z该问题分值: 1答案:A代数表达式1(XYz)是小

5、数,转为cf语言的表达式必须是小数。A选项由于l0为浮点数,计算结1果自动转换为浮点数,故A选项正确。选项B,C,D的表达式均为0。答案为A选项。5. 若有定义:double x;,则表达式IX=0,x+10,x+十的值是( )。A 110B 100C 00D 10该问题分值: 1答案:Cc语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运笑结束后才进行右边的子表达式的运算。也麓是辽,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的

6、值。后置自增运算:k+表示先运算,后自:曹置自增运算:+k表示先自加,后运算。因此,表达式l;O,I+10。x+的计算过程为首先赋值x=0,然后将x加l0,包是并不对x进行赋值,最后计算x+,并,根据后置自增运算的计算结果,即为x=00。故答案为C选项。6. 有以下程序:执行时输入:0后,则输出结果是( )。A 5,B 0,0,0,0,0,C 0,1,2,3,4,D 0,1,该问题分值: 1答案:C”anf(”c”,c),输入的字符,题目中输入了0,字符0,对应于ASCIl码为48,因此for循环中,i的范围从05,均小于48,if条件不成立,直接执行下一条语句,执行语句prinff,因此得到

7、的结果是0,1,2,3,4。故答案为C选项。7. 以下程序拟实现计算sum=1+12+13+150。程序运行后,不能得到正确结果,出现问题的语句是( )。A sum+=1i;B while(i50);C sum=10;D i+;该问题分值: 1答案:A选项A中,8111111+=1i;i为整型,因此li是整型类型,当1i有小数时,小数部分会被截断。因此li结果始终为0,导致结果出错,应改为8111m+=10i。因此答案为A选项。8. 下列处理中与队列有关的是( )。A 操作系统中的作业调度B 执行程序中的过程调用C 执行程序中的循环控制D -X树的遍历该问题分值: 1答案:A队列是指允许在一端

8、进行插入,而在另一端进行删除的线性表。由于最先进入队列的元素将最先出队,所以队列具有“先进先出”的特性,体现了“先来先服务”的原则。作业调度是指根据一定信息,按照一定的算法,从外存的后备队列中选取某些作业调入内存分配资源并将新创建的进程插入就绪队列的过程。执行程序中的过程调用一般指函数调用,需要调用时候转入被调用函数地址执行程序,与队列无关。执行程序中的循环控制是指算法的基本控制结构,包括对循环条件的判定与执行循环体,与队列无关。二叉树是一个有限的结点集合,二叉树的遍历是指不重复地访问二叉树中的所有结点,与队列无关。故本题选择A选项。9. 非空循环链表所表示的数据结构( )。A 有根结点也有叶

9、子结点B 没有根结点但有叶子结点C 有根结点但没有叶子结点D 没有根结点也没有叶子结点该问题分值: 1答案:A在单链表的第一个结点前增加一个表头结点,队头指针指向表头结点,最后一个结点的指针域的值由NULL改为指向表头结点,这样的链表称为循环链表。循环链表是线性结构,有且只有一个根结点,每一个结点最多有一个前件,也最多有一个后件。循环链表表头结点为根结点,链表的最后一个结点为叶子节点,虽然它含有一个指向表头结点的指针,但是表头结点并不是它的一个后件。故选择A选项。10. 将c语言的整数设为整数类1,则下面属于类I实例的是( )。A -103B 10E3C 103D “0103”该问题分值: 1

10、答案:A整数类实例包括:十进制常量用09表示,不能以0开头;k进制常量用0-7表示,必须用0开头;十六进制常量用09和AF(af)表示,必须以0x或OX开头。本题中B选项是科学计数法表示的浮点数实例,c选项是浮点数实例,D选项是字符串实例。故选A选项。11. 有以下程序:程序运行后的输出结果是( )。A 7B 0C 3D 8该问题分值: 1答案:C题意统计字符s中阿拉伯数字的个数。char s=012xy08s34f4w2;元素是字符型。0=48;而0=0;因此可以计算出、0之前阿拉伯数字的个数,由字符串s可知,有3个阿拉伯数字。答案为C选项。12. 有以下程序:程序运行后的输出结果是( )。

11、A 6.5.4.3.3,2,1,B 1,2,3,4,5,6,C 1,1,1,1,1,1D 6,6,6,6,6,6,该问题分值: 1答案:Afopen(”datachit“,”w+”);W+打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件存在则建立该文件。rewind(fp);使文件fp的I位置指针指向文件开始。fprintf(fp,”dn”,a5一i);将8i输出到fp指向的文件中。fseanf(fp,”d”,&k);将fp读I入到变量k中,第一个for循环将数组中元素倒着输入到fp指l向的文件中,rewind()则指向文件开始,因此打印是数组a的I倒叙。故打印为6,5,

12、4,3,2,1。答案为A选项。13. 软件开发中需求分析的主要任务是( )。A 定义和描述目标系统“做什么”B 获取需求C 给出软件解决方案D 需求评审该问题分值: 1答案:A需求分析阶段的工作可以分为4个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求分析的任务是发现需求、求精、建模和定义需求的过程,是描述“做什么”的软件开发阶段。故选A选项。14. 若有定义:char c;double d;程序运行时输入:1 2,能把字符1输入给变量c、数值2输入给变量d的输入语句是( )。A scanf(%d%lf,&c,&d);B scanf(%c%lf,&c,&d);C scanf(%c

13、%f,&c,&d);D scanf(%d%f,&c,&d);该问题分值: 1答案:Blf是针对double类型,如果仅用f,输入的数据可能没有被完全接收,数据的精度可能不足,选项C,D错误。f主要针对float类型的变量的输入。d主要针对整型数据的输入,c主要针对字符类型的数据的输入,选项A错误。故答案为B选项。15. 有以下程序:程序运行后的输出结果是( )。A Beijing!B toBeijingC WelcomeyoutoBeijingID youtoBeijingI该问题分值: 1答案:Afor循环的作用是每次遇到空格,将空格后面的移动到数组的最前面。因此数组最后的状态是“Bei-j

14、ing!、Og!0ng!、neijing!、O”,但是pfinff(“s”)打印遇到、0自动结束。因此,打印Beijing!。故答案为A选项。16. 有以下程序:程序运行后的结果是( )。A 有运行错误B 输出1110C 输出1210D 输出2110该问题分值: 1答案:Acalloe(n,sizeof(type)在内存的动态存储区中分配n个长度为size的连续空间,函数返回一个指向分配起始地址的指针,如果分配不成功,返回NULL。s在函数fun()申请了内存空间,但是在调用fun()函数后会释放掉,因此,最后q指向NULL,因此运行是打印出错。答案为A选项。17. 有以下程序程序运行后的输出结果是( )。A 15B 12C 16D 20该问题分值: 1答案:B#define命令是C语言的宏定义命令,标识符一般使用大写,为了区分其他标识符,将标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。宏定义不进行其他操作,仅仅只是替换标识符。后置自增运算:k+表示先运算,后自加。意思是遇到k+了,先把当前的k的值拿来参加运算,后面再去管它的自加。SUB(a+,b+)一(a+)t(b+)d4。故答案为B选项。18. 若文件指针fp已正确指向文件,ch为字符型变量,以下不能把字符输出到文件中的语句是( )。A fget(f

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

当前位置:首页 > 资格认证/考试 > 公务员考试

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号