好文档 - 专业文书写作范文服务资料分享网站

全国计算机等级考试二级C语言真题题库3+2014年3月

天下 分享 时间: 加入收藏 我要投稿 点赞

全国计算机等级考试二级C语言真题题库3 2014年3月

(总分:43.00,做题时间:120分钟)

一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)

1.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为( )。 (分数:1.00) A.BCA B.CBA C.ABC √ D.CAB

解析:[解析]二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。后序序列为CBA,则A为根节点。中序序列为ABC,则B和C均为左子树节点或右子树节点,且B为C父节点,可知前序序列为ABC,故C选项正确。 2.下列叙述中正确的是( )。 (分数:1.00)

A.存储空间不连续的所有链表一定是非线性结构 B.节点中有多个指针域的所有链表一定是非线性结构 C.能顺序存储的数据结构一定是线性结构 D.带链的栈与队列是线性结构 √

解析:[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,也称为线性表,可以来用顺序存储和链式存储,其中链式存储空间不连续,所以A选项错误。双向链表节点有两个指针域分别为指向前一个节点的指针和指向后一个节点的指针,也是线性结构,故B选项错误。顺序存储结构中可能根节点不唯一,故可能不是线性结构,所以C选项错误。栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是允许在一端进行插入,而在另一端进行删除的线性表。故D选项正确。 3.算法时间复杂度的度量方法是( )。 (分数:1.00) A.算法程序的长度

B.执行算法所需要的基本运算次数 √ C.执行算法所需要的所有运算次数 D.执行算法所需要的时间

解析:[解析]算法的时间复杂度是指执行算法所需要的计算工作量,算法的计算工作量是用算法所执行的基本运算次数来度量的,故B选项正确。选项D,根据工程的大小来决定的,与算法复杂度无关。 4.设循环队列为Q(1:m),初始状态为front=rear=m。现经过一系列的入队与退队运算后,front=rear=1,则该循环队列中的元素个数为( )。 (分数:1.00) A.1 B.2 C.m-1 D.0或m √

解析:[解析]由初始状态为front=rear=m可知此时循环队列为空。人队运算时,首先队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。特别地,当队尾指针rear=m+1时,置rear=1。退队运算时,排头指针进1(即front+1),然后删除front指针指向的位置上的元素,当排头指针front=m+1时,置front=1。若经过运算,front=rear可知队列空或者队列满,故D选项正确。 5.计算机软件的构成是( )。 (分数:1.00) A.源代码

B.程序和数据 C.程序和文档

D.程序、数据及相关文档 √

解析:[解析]计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。故D选项正确。 6.下面不属于软件设计阶段任务的是( )。 (分数:1.00) A.软件的详细设计 B.软件的总体结构设计 C.软件的需求分析 √ D.软件的数据设计

解析:[解析]软件生命周期分为:软件定义期、软件开发期、运行维护期。软件设计属于软件开发期任务,通常又分为概要设计和详细设计两个阶段。概要设计给出软件的结构、模块的划分、功能的分配以及处理流程。需求分析属于软件定义期任务,故C选项正确。 7.下面属于黑盒测试方法的是( )。 (分数:1.00) A.边界值分析法 √ B.基本路径测试 C.条件覆盖 D.条件-分支覆盖

解析:[解析]黑盒测试是把程序看成一只黑盒子,测试者完全不了解,或不考虑程序的结构和处理过程。它根据规格说明书的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。常用的黑盒测试方法和技术有:等价类划分法、边界值分析法、错误推测法和因果图等,故A选项正确。白盒测试的主要技术有逻辑覆盖测试(语句覆盖、路径覆盖、判断覆盖、条件覆盖)、基本路径测试等,故B、C、D选项错误。 8.一名雇员就职于一家公司,一个公司有多名雇员,则实体公司和实体雇员之间的联系是( )。 (分数:1.00) A.1:1联系 B.1:m联系 √ C.m:1联系 D.m:n联系

解析:[解析]一般来说,实体集之间必须通过联系来建立连接关系,分为3类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。一个公司与多个雇员的关系为1:m联系,故B选项正确。 9.有关系R如下,其中属性B为主键: (分数:1.00)

A.实体完整性约束 √ B.参照完整性约束 C.用户定义的完整性约束 D.关系完整性约束

解析:[解析]关系模型中可以有3类完整性约束:实体完整性约束、参照完整性约束和用户定义的完整性约束。实体完整性约束是指,若属性M是关系的主键,则属性M中的属性值不能为空值。属性B为主键,最后一个记录为空,违反了实体完整性约束,故A选项正确。

10.在数据库系统中,用于对客观世界中复杂事物的结构及它们之间的联系进行描述的是( )。 (分数:1.00) A.概念数据模型 √ B.逻辑数据模型 C.物理数据模型 D.关系数据模型

则其中最后一个记录违反了( )。

解析:[解析]数据模型按照不同的应用层次分为以下3种类型:概念数据模型,着重于对客观世界复杂事物的描述及对它们内在联系的刻画;逻辑数据模型,是面向数据库系统的模型,着重于在数据库系统一级的实现;物理数据模型,是面向计算机物理实现的模型,此模型给出了数据模型在计算机上物理结构的表示。故A选项正确。

11.以下选项中可用作C语言中合法用户标识符的是( )。 (分数:1.00) A._123 √ B.void C.-abc D.2a

解析:[解析]合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头,故A选项正确。void为关键字,故B选项错误。C选项以“—”开头,不合法。D选项由数字开头,不合法。关键字是指被C语言保留的,不能用作其他用途的一些标识符,它们在程序中都代表着固定的含义。 12.以下选项中合法的C语言赋值语句是( )。 (分数:1.00) A.++i; √ B.a=b=34 C.a=3,b=9 D.k=int(a+b)

解析:[解析]赋值语句是在赋值表达式末尾加上分号构成的。B、C选项缺少分号,不是合法语句。D选项为强制类型转换赋值语句,但是加缺少括号,是非法语句。++i;相当于i=i+1;,是合法赋值语句,故A选项正确。

13.以下程序段中的变量已定义为int类型,则 (分数:1.00) A.6 B.4 C.5 √ D.7

解析:[解析]自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先伎变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再伎变量的值增(或减)1。逗号表达式的计算过程是从左到右逐个求每个表达式的值,取最右边一个表达式的值作为该逗号表达式的值。逗号运算符的优先级低于赋值运算符。程序执行过程为:sum=5,pad=5;pAd=5,sum=6,pAd=6,pAd=7。输出pad,pad=5,故C选项正确。 14.有以下程序: (分数:1.00) A.13.700000 √ B.14.000000 C.15.400000 D.14.900000

解析:[解析]如果一个运算符两边的运算数类型不同,要先将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算。程序执行过程为:a+b=5,5/2=2(int类型),sqrt(y)=2.0(double类型),2.O*1.2/2=1.2(double类型),z=2.0(由int类型自动转换成double类型)+1.2+10.5=13.7。故A选项正确。

15.有以下程序(字母A的ASCII代码为65): (分数:1.00)

A.输出格式不合法,输出出错信息

程序运行后的输出结果是( )。

程序运行后的输出结果是( )。

程序段的输出结果是( )。

B.A,Y C.65,90 D.65,89 √

解析:[解析]一个整数,只要它的值在0~255范围之内,也可以用字符形式输出。输出之前,系统会将该整数转化为相应的ASCII码字符。字符也可以用整型来输出,输出的是对应的ASCII值。’A’的ASCII值为65,’Y’的ASCII值为89,故D选项正确。 16.若变量已正确定义,则以下for循环( ): (分数:1.00) A.执行4次 √ B.执行3次 C.执行次数不确定 D.执行123次

解析:[解析]for循环语句格式为:for(exp1;exp2;exp3)。exp1通常用来给循环变量赋初值;exp2通常是循环条件,以便决定是否继续执行循环体;exp3通常用来修改循环变量的值。程序执行过程为:赋初值x=0,y=0,逻辑表达式y!=123为真,x<4为真,则整个表达式(y!=123)&&(x<4)为真,循环条件成立;x=1,再次判断表达式为真;x=2,……;直到x=4时,y!=123为真,x<4为假,则整个表达式(y!=123)&&(x<4)为假,循环条件不成立,退出循环。for循环执行4次,故A选项正确。 17.若有说明语句:char c=’\72’;,则变量c中存放的是( )。 (分数:1.00) A.2个字符 B.1个字符 √ C.3个字符 D.说明语句不合法

解析:[解析]用一对单引号括起来的单个字符为字符常量,以“\”开头的转义字符也是字符常量。“\”后可以为某些单个字符,也可以为八进制或十六进制数字,故变量c中存放的是一个字符。因此B选项正确。

18.以下叙述正确的是( )。 (分数:1.00)

A.do-while语句构成的循环,当while语句中的表达式值为0时结束循环 √ B.do-while语句和while-do构成的循环功能相同

C.while-do语句构成的循环,当while语句中的表达式值为非0时结束循环 D.do-while语句构成的循环,必须用break语句退出循环

解析:[解析]while循环语句一般形式为:while(表达式){循环体},执行过程为:首先判断表达式,成立(非O)则执行循环体,不成立(0)则退出循环。do…while循环语句一般形式为:do{循环体}while(表达式),执行过程为:首先执行循环体,之后判断表达式,成立(非0)则再一次执行循环体,不成立(0)则退出循环。故A选项正确。在条件相同的情况下,do…while循环比while…do多执行一次函数体,故B选项错误。两种循环都是在表达式为0时结束循环,故C选项错误。do…while循环由表达式真假判断是否退出循环,也可以用break语句退出循环,故D选项错误。 19.有以下程序: (分数:1.00) A.2,1 √ B.6,1 C.6,0 D.2,0

解析:[解析]程序前面表达式等同于a=(c/100)%9,程序执行过程为:c=241,c/100=2,2%9=2,得a=2;“=”优先级低于“&&”,非0值为真,0值为假,即(—1)为真,逻辑与表达式(—1)&&(—1)为真,得b=1。A选项正确。

程序运行后的输出结果是( )。

20.有以下程序: (分数:1.00) A.*#*#*#$ √ B.*#*#*$ C.*#*#$ D.*#*#*#*$

程序运行后的输出结果是( )。

解析:[解析]continue语句只能用在循环结构中,其作用是结束本次循环,即不再执行循环体中continue语切之后的语句,而是立即转入对循环条件的判断与执行。本题执行过程为:i=1,1%2=1,if条件成立,输出*与#;i=2,2%2=0,if条件不成立,执行continue结束本次循环,执行下一次循环;i=3,3%2=1,输出*与#;i=4,4%2=0,执行continue,开始下一次循环;i=5,5%2=1,输出*与#;i=6退出循环。最后输出$。故A选项正确。

21.若有说明语句:int*ptr[10];以下叙述正确的是( )。 (分数:1.00)

A.Ptr是一个具有10个指针元素的一维数组,每个元素都只能指向整型变量 √ B.Ptr是指向整型变量的指针

C.Ptr是一个指向具有10个整型元素的一维数组的指针 D.Ptr是一个指向10个整型变量的函数指针

解析:[解析]int *ptr[10]定义一个指针数组,A选项正确。ptr是指针数组不是指针,B选项错误。定义指向具有10个整型元素的一维数组的指针格式为:int(*ptr)[10],C选项错误。函数指针是指向函数的指针,不会指向整型数组,D选项错误。 22.有以下程序: (分数:1.00) A.0 √

B.变量无定义,输出不确定 C.-1 D.1

解析:[解析]NULL是在stdio.h头文件中定义的预定义符,NULL的代码值为0,如果以整型格式输出,则输出0。故A选项正确。

23.函数调用语句:fun((exp1,exp2),(exp1,exp2,exp3));含有的实参个数是( )。 (分数:1.00) A.1 B.4 C.5 D.2 √

解析:[解析]函数名后括号内的数据称为“函数参数”,其中列出的是各个参数的数据类型和名称。调用函数时,括号里面的实参应该与形参的个数与数据类型一致。函数fun参数列表中有两个参数,分别是逗号表达式“(exp1,exp2)”的值与“(exp1,exp2,exp3)”的值,故D选项正确。

24.若有定义语句:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;,以下选项中错误引用a数组元素的是(其中0≤i<10)( )。 (分数:1.00) A.*(*(a+i)) √ B.a[p-a] C.p[i] D.*(&a[i])

解析:[解析]*P=a,将数组a的首地址赋给指针P。a+i表示数组a中第i个元素的地址,引用其中元素为*(a+i),A选项引用错误。p-a=0,B选项引用的元素为a[0]。C选项中p[il表示p后i个地址的元素a[i]。D选项中&a[i]取a[i]地址,*(&a[i])取这个地址内的元素,即为a[i]。故本题选择A选项。

程序运行后的输出结果是( )。

全国计算机等级考试二级C语言真题题库3+2014年3月

全国计算机等级考试二级C语言真题题库32014年3月(总分:43.00,做题时间:120分钟)一、选择题(每小题1分,共40分)(总题数:40,分数:40.00)1.设某二叉树的后序序列为CBA,中序序列为ABC,则该二叉树的前序序列为()。(分数:1.00)A.BCAB.CBAC.ABC√D.CAB解析
推荐度:
点击下载文档文档为doc格式
8tlpi9ri1q7px008twlp8xswm2yhl0015nw
领取福利

微信扫码领取福利

微信扫码分享