欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】全国计算机等级考试二级C语言真题题库3+2014年9月及答案解析.doc

    • 资源ID:1329742       资源大小:149KB        全文页数:14页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】全国计算机等级考试二级C语言真题题库3+2014年9月及答案解析.doc

    1、全国计算机等级考试二级 C语言真题题库 3+2014年 9月及答案解析(总分:43.00,做题时间:120 分钟)一、选择题(每小题 1分,共 40分)(总题数:40,分数:40.00)1.下列关于算法复杂度叙述正确的是( )。(分数:1.00)A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关2.设有栈 S和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出三个元素依次入队,再将 X,Y,Z 入栈后,将栈中所有元素退出并依次入

    2、队,最后将队列中所有元素退出,则退队元素的顺序为( )。(分数:1.00)A.DEFXYZABCB.FEDZYXCBAC.FEDXYZCBAD.DEFZYXABC3.下列叙述中正确的是( )。(分数:1.00)A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表4.某二叉树共有 845个节点,其中叶子节点有 45个,则度为 1的节点数为( )。(分数:1.00)A.400B.754C.756D.不确定5.软件需求分析阶段的主要任务是( )。(分数:1.00)A.确定软件开发方法B.确

    3、定软件开发工具C.确定软件开发计划D.确定软件系统的功能6.下面对软件测试描述错误的是( )。(分数:1.00)A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据C.软件测试可以任何条件下进行操作,以发现程序错误D.软件测试是保证软件质量的重要手段7.结构化程序的 3种基本控制结构是( )。(分数:1.00)A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移8.数据库中对概念模式内容进行说明的语言是( )。(分数:1.00)A.数据定义语言B.数据操纵语言C.数据控制语言D.数据宿主型语言9.某个工厂有若干个仓库,每个仓库存放有不同的零件,相

    4、同零件可能放在不同的仓库中。则实体仓库和零件间的联系是( )。(分数:1.00)A.多对多B.一对多C.多对一D.一对一10.有 3个关系 R、S 和 T如下 (分数:1.00)A.交B.差C.并D.选择11.关于 C语言标识符,以下叙述错误的是( )。(分数:1.00)A.标识符可全部由数字组成B.标识符可全部由下划线组成C.标识符可全部由小写字母组成D.标识符可全部由大写字母组成12.以下叙述正确的是( )。(分数:1.00)A.只使用 3种基本结构即可解决任何复杂问题B.C语言程序并不是必须要定义 main()函数C.只要程序包含了任意一种基本结构,就肯定是结构化程序D.程序中的语法错误

    5、只能在运行时才能显现13.以下选项中,合法的数值型常量是( )。(分数:1.00)A.32B.XC.099D.0xEH14.有以下程序: (分数:1.00)A.INT:14B.INT:13C.INT:12D.INT:2015.设有定义:int x7,y12;,则以下表达式值为 3的是( )。(分数:1.00)A.(yx)-(x5)B.y(x5)C.yxx5D.y(x-x5)16.以下不是合法 C语言转义字符的是( )。(分数:1.00)A.cB.aC.bD.r17.有如下程序 (分数:1.00)A.xYZWVB.VWXYZC.ZYXWVD.ABCDE18.字符数组 a和 b中存储了两个字符串,

    6、判断字符串 a和 b是否相等,应当使用的是( )。(分数:1.00)A.if(strcmp(a,b)=0)B.if(strcpy(a,b)C.if(ab)D.if(ab)19.以下程序段中,与其他 3个功能不同的程序段是( )。(分数:1.00)A.B.C.D.20.有以下程序: (分数:1.00)A.DB.CC.BD.A21.有语句:kxy?(yz?1:0):0;,以下选项中,与此语句功能相同的是( )。(分数:1.00)A.if(xy | yz)k1;else k0;B.if(xy)k0;else if(yz)k1;C.if(xy)if(yz)k1;else k0;D.if(xyyz)k1

    7、;else k0;22.有如下程序: (分数:1.00)A.1,1,-1,-1,-1,B.1,0,-1,1,-1C.1,1,1,1,1,D.1,-1,1,-1,1,23.有以下程序: (分数:1.00)A.1,4,8B.4,4,4C.1,2,4D.1,1,424.有以下程序段: (分数:1.00)A.5B.10C.12D.无法确定25.以下叙述中错误的是( )。(分数:1.00)A.基类型不同的指针可以直接相互赋值B.函数可以通过指针形参向所指单元传回数据C.字符型指针可以指向一个字符串D.一般情况下,指针的运用可使程序代码效率更高26.有以下程序: (分数:1.00)A.HayB.Howar

    8、eyouC.weD.ay27.有以下程序; (分数:1.00)A.ekpuzB.agmrwC.flqvzD.djoty28.有以下程序: (分数:1.00)A.weB.Howareyou!C.ayD.we!29.以下涉及字符串数组、字符指针的程序段,没有编译错误的是( )。(分数:1.00)A.B.C.D.30.有如下程序: (分数:1.00)A.DCDCB.DCBAC.BABAD.ABCD31.有以下程序: (分数:1.00)A.ST#B.STR#C.STR#0D.STRO32.有以下函数: (分数:1.00)A.计算字符串的长度B.实现字符串的赋值C.将字符串逆序存放D.计算字符串所占字节

    9、数33.有以下函数: void fun(char *p,char *q) while(*p+ *q+); 该函数的功能是( )。(分数:1.00)A.计算字符串的长度B.计算字符串所占字节数C.将字符串逆序存放D.实现字符串的复制34.以下叙述错误的是( )。(分数:1.00)A.未经赋值的全局变量值不确定B.未经赋值的 auto变量值不确定C.未经赋值的 register变量值不确定D.未经赋值的静态局部变量值为 035.有以下程序: (分数:1.00)A.103,13B.13,13C.10,13D.9,1336.有以下程序: (分数:1.00)A.Zhao,m,290,Qian,f,350

    10、B.Qian,m,290,zhao,m,290C.Zhao,m,290,Zhao,m,290D.Zhao,m,290,Qian,m,29037.有如下程序: (分数:1.00)A.9,1B.4,0C.4,3D.9,338.有如下定义: (分数:1.00)A.psbirthyB.sbirthyC.ps-birthyD.(*ps)birthy39.函数 rewind(fp)的作用是( )。(分数:1.00)A.函数 rewind(fp)的作用是使文件读写指针指向文件开始位置B.使文件位置指针指向文件的末尾C.使文件位置指针移至前一个字符的位置D.使文件位置指针移至下一个字符的位置40.以下选项中错

    11、误的是( )。(分数:1.00)A.ab 与 aab 等价B.ab 与 aab 等价C.a|b 与 aa|b 等价D.a!b 与 aa! b 等价二、程序填空题(总题数:1,分数:1.00)41.给定程序中,函数 fun的功能是:将形参 std所指结构体数组中年龄最大者的数据作为函数值返回,并在 main函数中输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: (分数:1.00)_三、程序修改题(总题数:1,分数:1.00)42.下列给定程序中,函数 fun的功能是:实现两个整数的交换。

    12、例如,给 a和 b分别输入 60和 65,输出为:a=65 b=60。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: (分数:1.00)_四、程序设计题(总题数:1,分数:1.00)43.请编一个函数 void fun(int ttMN,int ppN),tt 指向一个 M行 N列的二维数组,求出二维数组每列中最大元素,并依次放入 pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题

    13、程序: (分数:1.00)_全国计算机等级考试二级 C语言真题题库 3+2014年 9月答案解析(总分:43.00,做题时间:120 分钟)一、选择题(每小题 1分,共 40分)(总题数:40,分数:40.00)1.下列关于算法复杂度叙述正确的是( )。(分数:1.00)A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度B.时间复杂度与所用的计算工具无关 C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的D.时间复杂度与采用的算法描述语言有关解析:解析算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关,B 选项正确,D

    14、选项错误。最坏情况下的时间复杂度可以与平均情况的时间复杂度相同,A 选项错误。不同的算法时间复杂度一般不相同,故 C选项错误。2.设有栈 S和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F 入栈,然后从栈中退出三个元素依次入队,再将 X,Y,Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为( )。(分数:1.00)A.DEFXYZABCB.FEDZYXCBA C.FEDXYZCBAD.DEFZYXABC解析:解析栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。队列是指允许在一端进行插入,而在另一端进行删除的线性表。将 A,B,

    15、C,D,E,F 入栈后,栈中元素为 ABCDEF,退出 3个元素入队,队列元素为 FED,将 X,Y,Z 入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故 B选项正确。3.下列叙述中正确的是( )。(分数:1.00)A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.节点中具有多个指针域的链表称为多重链表 解析:解析双向链表与二叉链表均是有两个指针域的链表,A 选项错误。在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,最后一个节点的指针域的值由 NULL改为指向表头节点,这样的链

    16、表称为循环链表。循环队列是队列的一种顺序存储结构。循环链表与循环队列是两种存储结构,B 选项错误。双向链表节点有两个指针域,指向前一个节点的指针和指向后一个节点的指针,而带链的栈是单链表形式,C 选项错误。故正确答案为 D选项。4.某二叉树共有 845个节点,其中叶子节点有 45个,则度为 1的节点数为( )。(分数:1.00)A.400B.754C.756 D.不确定解析:解析在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。对任何一棵二叉树,度为 0的节点(即叶子节点)总是比度为 2的节点多一个。二叉树共有 845个节点,度为 0的节点有 45个,度为 1的

    17、节点数为 n1,度为 2的节点数为 n2,则 84545+n1+n2,且 45n2+1,则n1756,C 选项正确。5.软件需求分析阶段的主要任务是( )。(分数:1.00)A.确定软件开发方法B.确定软件开发工具C.确定软件开发计划D.确定软件系统的功能 解析:解析需求分析阶段的工作可以分为 4个方面:需求获取、需求分析、编写需求规格说明书和需求评审,包括确定软件系统的功能,D 选项正确。A、B、C 选项均为开发阶段工作。6.下面对软件测试描述错误的是( )。(分数:1.00)A.严格执行测试计划,排除测试的随意性B.随机地选取测试数据 C.软件测试可以任何条件下进行操作,以发现程序错误D.

    18、软件测试是保证软件质量的重要手段解析:解析在测试之前制定测试计划,并严格执行,测试用例的选择不可随意,应选择有代表性的,尽可能发现迄今为止尚未发现的错误,A 选项叙述正确,B 选项叙述错误。测试根本目的是尽可能多地发现并排除软件中隐藏的错误,C 选项叙述正确。软件测试是保证软件质量、可靠性的关键步骤,D 选项叙述正确。故正确答案为 B选项。7.结构化程序的 3种基本控制结构是( )。(分数:1.00)A.顺序、选择和重复(循环) B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析结构化程序的 3种基本控制结构:顺序、选择和重复,故 A选项正确。8.数据库中对概念模式内容

    19、进行说明的语言是( )。(分数:1.00)A.数据定义语言 B.数据操纵语言C.数据控制语言D.数据宿主型语言解析:解析数据库管理系统为完成主要功能提供了相应的数据语言,它们是:数据定义语言,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言,该语言负责数据的操纵,包括查询与增、删、改等操作;数据控制语言,该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。故 A选项正确。9.某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是( )。(分数:1.00)A.多对多 B.一对多C.多对一D.一对一解析:解析一般来说,实

    20、体集之间必须通过联系来建立连接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。每个仓库存放有不同的零件,相同零件可能放在不同的仓库中,故实体仓库和零件间的联系是多对多,A 选项正确。10.有 3个关系 R、S 和 T如下 (分数:1.00)A.交 B.差C.并D.选择解析:解析用于查询的 3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡尔积。常用的扩充运算有交、除、连接及自然连接等。选择:从关系中找出满足给定条件的元组的操作称为选择,题目中无给定条件,故 D选项错误。差:RS 结果是属于 R但不属于 S的记录组成的集合,T 中元组“c 3

    21、2”同时属于 R和 S,B 选项错误。并:RS 是将 S中的记录追加到 R后面,T 中元组少于 R,故 C选项错误。交:RS 结果是既属于 R又属于 S的记录组成的集合,与题目中结果相符,故 A选项正确。11.关于 C语言标识符,以下叙述错误的是( )。(分数:1.00)A.标识符可全部由数字组成 B.标识符可全部由下划线组成C.标识符可全部由小写字母组成D.标识符可全部由大写字母组成解析:解析标识符只能由字母、数字、下划线组成,且标识符的第一个字符只能是字母或下划线。所以,B、C、D 选项正确,答案为 A选项。12.以下叙述正确的是( )。(分数:1.00)A.只使用 3种基本结构即可解决任

    22、何复杂问题 B.C语言程序并不是必须要定义 main()函数C.只要程序包含了任意一种基本结构,就肯定是结构化程序D.程序中的语法错误只能在运行时才能显现解析:解析C 语言程序必须要定义 main()函数,B 选项错误;只有同时包含 3种基本结构时,程序才是结构化程序,C 选项错误;程序中的语法错误在编译时能显现,排除 D选项,答案选 A。13.以下选项中,合法的数值型常量是( )。(分数:1.00)A.32 B.XC.099D.0xEH解析:解析以 0开头,表示八进制,但八进制的每位小于 8,C 选项错误;D 选项,0x 和 H冲突都是表示十六进制,排除 D选项;X为字符型常量不是数值型常量

    23、,B 选项错误,故答义选 A。14.有以下程序: (分数:1.00)A.INT:14B.INT:13C.INT:12D.INT:20 解析:解析0x13 是十六进制数,d 需要输出十进制数,换算成十进制:161+16 316+319,输出 INTx+120,因此答案为 D选项。15.设有定义:int x7,y12;,则以下表达式值为 3的是( )。(分数:1.00)A.(yx)-(x5) B.y(x5)C.yxx5D.y(x-x5)解析:解析ab 表示 aa(b),故 A选项可改写成 yyx,xx5,再计算 y-x计算的结果为3,满足题意,因此答案为 A选项,B 选项为 0,C 选项为 2,D

    24、 等同于 C。16.以下不是合法 C语言转义字符的是( )。(分数:1.00)A.c B.aC.bD.r解析:解析C 语言中,a表示响铃,b表示退格,r表示回车不换行,故答案为 A选项。17.有如下程序 (分数:1.00)A.xYZWVB.VWXYZC.ZYXWV D.ABCDE解析:解析putchar 表示输出单个字符,putchar(Z-i)表示输出Z转换成 ASCII码后减去 i后再转化成字符型数输出,在 for循环中,i0,1,2,3,4 时,执行循环体,因此答案为 C选项。18.字符数组 a和 b中存储了两个字符串,判断字符串 a和 b是否相等,应当使用的是( )。(分数:1.00)

    25、A.if(strcmp(a,b)=0) B.if(strcpy(a,b)C.if(ab)D.if(ab)解析:解析C 语言中,判断字符串是否相等,使用字符串比较函数 strcmp(),不能使用相等操作符“”,故答案为 A选项。19.以下程序段中,与其他 3个功能不同的程序段是( )。(分数:1.00)A. B.C.D.解析:解析B,C,D 选项都表示对 1到 10进行累加后赋给 s,而选项 A中包含 break语句,循环体只执行一次,结束整个循环过程,因此答案为 A选项。20.有以下程序: (分数:1.00)A.D B.CC.BD.A解析:解析main()函数中,首先判断条件 x1,因为 x=

    26、1不大于 1,不满足条件,程序跳入 else语句判定 zx 是否成立,z3,x1,条件不成立,因此输出字母 D,答案为 A选项。21.有语句:kxy?(yz?1:0):0;,以下选项中,与此语句功能相同的是( )。(分数:1.00)A.if(xy | yz)k1;else k0;B.if(xy)k0;else if(yz)k1;C.if(xy)if(yz)k1;else k0;D.if(xyyz)k1;else k0; 解析:解析表达式 1?表达式 2:表达式 3,若表达式 1为真,则执行表达式 2,表达式 2的值就作为整个条件表达式的值,否则执行表达式 3,表达式 3的值就作为整个条件表达式

    27、的值。题中,先判断 xy?如果为假,直接返回 0,如果为真,再判断 yz?如果为真返回为 1,否则返回 0,综合所知,只右 xy且 yz 时返回 1,否则返回 0,因此选 D,可使用举例法,得到答案。答案为 D选项。22.有如下程序: (分数:1.00)A.1,1,-1,-1,-1, B.1,0,-1,1,-1C.1,1,1,1,1,D.1,-1,1,-1,1,解析:解析在 main()函数中,首先给一维数组 array赋初值2,2,0,0,0,再调用 change函数,对 array数组中的每一个数进行减 1处理,最后使用一个 for循环语句进行输出,因此答案为 A选项。23.有以下程序:

    28、(分数:1.00)A.1,4,8B.4,4,4 C.1,2,4D.1,1,4解析:解析sizeof()函数表示求该变量所占字节空间,同时一个指针变量占用 4字节长度在 win32系统中,因此输出为 4,答案为 B选项。24.有以下程序段: (分数:1.00)A.5 B.10C.12D.无法确定解析:解析当直接用数组名给指针赋初始化值时,表示把数组首地址的值赋给指针,p1a,表示把a0地址赋给 p1,p2a5,表示将数组第 5个元素地址赋给 p2,p2p15,故答案为 A选项。25.以下叙述中错误的是( )。(分数:1.00)A.基类型不同的指针可以直接相互赋值 B.函数可以通过指针形参向所指单

    29、元传回数据C.字符型指针可以指向一个字符串D.一般情况下,指针的运用可使程序代码效率更高解析:解析把一个指针变量的值赋给另一个指针变量,但一定要确保这两个指针变量的基类型是相同的,故答案为 A选项。26.有以下程序: (分数:1.00)A.HayB.HowareyouC.weD.ay 解析:解析for 语句循环体执行功能是,每次当 ai元素为时,自动将 ai下一个元素赋值给 bj,赋值完成后,j 值加 1,因此 ai的a和y分别赋值给 b0,b1,故答案为 D选项。27.有以下程序; (分数:1.00)A.ekpuz B.agmrwC.flqvzD.djoty解析:解析在 for循环中,执行完

    30、 while语句,j 值为字符串数组 a的每行字符串的长度,因此 wi=aij2+1,数组 a的元素 aij2+1的值赋给一维数组 wi。比如 i0;j6;aij2+1a04=e,将此值赋给 w0。循环依次给数组 W赋值最后输出 w,答案为 A选项。28.有以下程序: (分数:1.00)A.we B.Howareyou!C.ayD.we!解析:解析for 语句循环体执行功能是,每次当 ai元素为时,自动将 ai上一个单元内容赋值给 bj,赋值完成后,j 值加 1,因此 ai的w和e分别赋值给 b0,b1,答案为 A选项。29.以下涉及字符串数组、字符指针的程序段,没有编译错误的是( )。(分数

    31、:1.00)A. B.C.D.解析:解析字符数组,不能使用赋值操作符进行整体赋值(除了在定义时初始化),可使用strcpystrncpy,B、C、D 错误;A 选项中定义一个字符指针 str,然后把一串字符的首地址赋给 str,不会发生编译错误,答案为 A选项。30.有如下程序: (分数:1.00)A.DCDCB.DCBA C.BABAD.ABCD解析:解析本题考查了函数的递归调用,进入 get_put函数后,字符变量 ch每次保存读进来的字符,如果不是换行符,则继续读取下一个字符常量,当 ch保存完D后,下一次读取不满足 if条件,函数进行输出,依次输出D,C,B,A,答案为 B选项。31.

    32、有以下程序: (分数:1.00)A.ST# B.STR#C.STR#0D.STRO解析:解析程序首先对 name数组进行初始化,再对元素 name2赋值为#,由于用“s”格式输出字符串时,以0作为结束标志,0对应于 0,在输出时,系统认为 name2后面已经结束,答案为 A选项。32.有以下函数: (分数:1.00)A.计算字符串的长度 B.实现字符串的赋值C.将字符串逆序存放D.计算字符串所占字节数解析:解析在 fun()函数中定义了字符指针 p,首先把形参字符 ps(相当于字符串的首地址)赋值给指针p,再通过 while循环移动 p指针,当 p指针指向单元为 0时,退出 while循环,返

    33、回此时 p地址和 ps地址差值,即字符串的长度,因此,答案为 A选项。33.有以下函数: void fun(char *p,char *q) while(*p+ *q+); 该函数的功能是( )。(分数:1.00)A.计算字符串的长度B.计算字符串所占字节数C.将字符串逆序存放D.实现字符串的复制 解析:解析函数 fun()定义两个形参指针变量 p,q,while 循环语句中,实现功能是把 q指针指向地址单元的值赋给 p指针指向的地址中,且每次完成赋值后,移动指针,进行下一次赋值,直到 q指针指向字符串结束符时,退出 while循环,因此答案为 D选项。34.以下叙述错误的是( )。(分数:1

    34、.00)A.未经赋值的全局变量值不确定 B.未经赋值的 auto变量值不确定C.未经赋值的 register变量值不确定D.未经赋值的静态局部变量值为 0解析:解析C 语言中,系统将未经赋初值的全局变量默认为 0,答案为 A选项。35.有以下程序: (分数:1.00)A.103,13B.13,13C.10,13D.9,13 解析:解析C 语言中“的意思是按位异或,因此 103表示先把 10和 3换算成二进制再进行异或,即 101000111001 转成十进制为 9,因此答案为 D选项。36.有以下程序: (分数:1.00)A.Zhao,m,290,Qian,f,350 B.Qian,m,290

    35、,zhao,m,290C.Zhao,m,290,Zhao,m,290D.Zhao,m,290,Qian,m,290解析:解析main 函数中,首先定义两个结构体 stu类型的变量 a、b,把 a成员信息复制给 b成员后,再调用函数 f(),在 f()函数中,利用指针重新对 b成员信息进行赋值,分别输出 a、b 成员信息,答案为A选项。37.有如下程序: (分数:1.00)A.9,1 B.4,0C.4,3D.9,3解析:解析首先,程序执行完成后,变量 a的值不变,始终为 9,a 转化成二进制数后逻辑即100130001 右移三位得到值为 1,1 再对 4求余得到余数 1赋给 b值,答案为 A选项

    36、。38.有如下定义: (分数:1.00)A.psbirthy B.sbirthyC.ps-birthyD.(*ps)birthy解析:解析使用结构体指针对结构体成员进行访问时,形式为结构指针名-结构成员名,或者(*结构指针名)结构成员名,题目中 ps为结构体指针,因此判断 A选项引用形式错误,答案为 A选项。39.函数 rewind(fp)的作用是( )。(分数:1.00)A.函数 rewind(fp)的作用是使文件读写指针指向文件开始位置 B.使文件位置指针指向文件的末尾C.使文件位置指针移至前一个字符的位置D.使文件位置指针移至下一个字符的位置解析:解析rewind()函数作用是使文件读写

    37、指针指向文件开始位置,答案为 A选项。40.以下选项中错误的是( )。(分数:1.00)A.ab 与 aab 等价B.ab 与 aab 等价C.a|b 与 aa|b 等价D.a!b 与 aa! b 等价 解析:解析在 D选项中,a!b 表示 a不等于 b时,运算结果为 1,或者为 0;而 aa!b 是一种语法错误“!”是非运算,且是单目运算符,只要求有一个操作数,故两者不等价,答案为 D选项。二、程序填空题(总题数:1,分数:1.00)41.给定程序中,函数 fun的功能是:将形参 std所指结构体数组中年龄最大者的数据作为函数值返回,并在 main函数中输出。 请在程序的下划线处填入正确的内

    38、容并把下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: (分数:1.00)_正确答案:(1)std0 (2)stdiage (3)maxname)解析: 考点分析 本题考查:变量初始化,if 条件表达式,结构体数组元素的应用。 解题思路 填空 1:变量 max用于存储数组中年龄组大的元素。首先将数组的第一个元素赋给 max,然后依次向后比较,得到年龄最大的元素,因而在给 max赋初值时,应为:maxstd0。 填空 2:if 条件判断语句表达的是maxage,应该和结构体数组中的每个年龄进行比较,从而得到最大者的年龄。 填空 3

    39、:从 printf的表达式可看出,要输出的值应为年龄最大者的 name。三、程序修改题(总题数:1,分数:1.00)42.下列给定程序中,函数 fun的功能是:实现两个整数的交换。例如,给 a和 b分别输入 60和 65,输出为:a=65 b=60。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: (分数:1.00)_正确答案:(1)void fun(int *a,int *b) (2)t*b;*b=*a;*at;)解析: 考点分析 本题考查:函数定义,指针型变量作函数参数;变量值交换算法。 解题思路 (1)本题考查

    40、指针变量作函数参数。采用一般变量作参数,不能改变实参的值采用指针变量作为参数则能够改变实参的值。主函数中 fun的调用方式说明 fun函数的参数应当为指针类型。 (2)此处错误比较明显,因为 a和 b都是指针变量,进行变量交换时不能直接引用,应加上“*”号。四、程序设计题(总题数:1,分数:1.00)43.请编一个函数 void fun(int ttMN,int ppN),tt 指向一个 M行 N列的二维数组,求出二维数组每列中最大元素,并依次放入 pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: (分数:1.00)_正确答案:( )解析: 解题思路 本题中函数的功能是求出二维数组中每列的最大元素。首先,假设各列中的第一个元素最大,然后利用行标值的移动来依次取得各列中其他元素的值,并与假设的最大值进行比较,如果遇到更大的,则把这个更大的元素看作当前该列中最大的元素,继续与该列中其他元素进行比较。


    注意事项

    本文(【计算机类职业资格】全国计算机等级考试二级C语言真题题库3+2014年9月及答案解析.doc)为本站会员(刘芸)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开