全国计算机二级考试试题(精选12套) 在学习和工作中,只要有考核要求,就会有试题,试题是命题者根据一定的考核需要编写出来的。大家知道什么样的试题才是好试题吗?以下是小编精心整理的全国计算机二级考试试题(精选12套),希望对大家有所帮助。 全国计算机二级考试……
全国计算机二级考试试题(精选12套)
在学习和工作中,只要有考核要求,就会有试题,试题是命题者根据一定的考核需要编写出来的。大家知道什么样的试题才是好试题吗?以下是小编精心整理的全国计算机二级考试试题(精选12套),希望对大家有所帮助。
全国计算机二级考试试题 1
1.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].
a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9]
a[9]对应下面数组中的元素为6. 因此a[9]即为6
2.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )
A、2
B、3
C、4
D、3 6 9
二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行
3.对二维数组的正确定义是(C )
详见教材P149~152,二维数组的定义、初始化
类型符 数组名 [常量表达式][常量表达式]
二维数组可以看做是矩阵
类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。
一维数组初始化时可以省略数组长度
二维数组初始化时可以省略行数,但不能省略列数
选项A,B,都省略了列数
选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中
A、int a[ ][ ]={1,2,3,4,5,6};
B、int a[2] []={1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
4.已知int a[3][4];则对数组元素引用正确的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
D、a(2)(1)
5.C语言中函数返回值的类型是由 A 决定的
A、函数定义时指定的类型
B、 return语句中的表达式类型
C、 调用该函数时的实参的数据类型
D、形参的数据类型
6. 在C语言中,函数的数据类型是指(A )
A、 函数返回值的数据类型
B、 函数形参的数据类型
C、 调用该函数时的实参的数据类型
D、任意指定的数据类型
7.在函数调用时,以下说法正确的是( B )
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里
8. 在C语言中,表示静态存储类别的关键字是: ( C )
A、 auto
B、 register
C、static
D、extern
9.未指定存储类别的变量,其隐含的存储类别为(A )。
A、auto
B、static
C、extern
D、register
10. 若有以下说明语句:
struct student
{ int num;
char name[ ];
float score;
}stu;
则下面的叙述不正确的是: (D )
A、 struct是结构体类型的关键字
B、 struct student 是用户定义的结构体类型
C、 num, score都是结构体成员名
D、 stu是用户定义的结构体类型名
11.若有以下说明语句:
struct date
{ int year;
int month;
int day;
}brithday;
则下面的叙述不正确的是__C___.
A、 struct是声明结构体类型时用的关键字
B、 struct date 是用户定义的结构体类型名
C、 brithday是用户定义的结构体类型名
D、year,day 都是结构体成员名
12. 以下对结构变量stul中成员age的非法引用是 B
struct student
{ int age;
int num;
}stu1,*p;
p=&stu1;
A、 stu1.age
B、 student.age
C、 p->age
D、(*p).age
13.设有如下定义:
struck sk
{ int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正确的赋值语句是 C
A、 p=&a;
B、 p=datA、a;
C、p=&datA、a;
D、*p=datA、a;
14.设有以下说明语句:
typedef struct stu
{ int a;
float b;
} stutype;
则下面叙述中错误的是( D )。
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名
15.语句int *p;说明了 C 。
A、p是指向一维数组的指针
B、p是指向函数的指针,该函数返回一int型数据
C、p是指向int型数据的指针
D、p是函数名,该函数返回一指向int型数据的指针
16、以下语句的输出结果是( D)。
int a=-1,b=4,k;
k=(+ +a<0)&&!(b - -<=0);
printf("%d,%d,%d",k,a,b);
A. 1,0,4
B. 1,0,3
C. 0,0,3
D. 0,0,4
17、下列程序的输出结果是(D )。
char *p1="abcd", *p2="ABCD", str[50]="xyz";
strcpy(str+2,strcat(p1+2,p2+1));
printf("%s",str);
A. xyabcAB
B. abcABz
C. ABabcz
D. xycdBCD
18、执行下面的程序后,a的值是(B )。
#define SQR(X) X*X
main( )
{ int a=10,k=2,m=1;
a/=SQR(k+m)/SQR(k+m);
printf("%d",a); }
A. 10
B. 1
C. 9
D. 0
19、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( B)。
A.P+i*2
B. P+(i-1)*2
C. P+(i-1)
D. P+i
20、下列程序执行后输出的结果是( A)。
int d=1;
fun (int p)
{ int d=5;
d + =p + +;
printf("%d,",d); }
main( )
{ int a=3;
fun(a);
d + = a + +;
printf("%d",d); }
A. 8, 4
B. 9, 6
C. 9, 4
D. 8, 5
21、表达式:10!=9的值是(D )。
A. true
B. 非零值
C. 0
D. 1
22、若有说明: int i,j=7, *p=&i;, 则与i=j; 等价的语句是( B)。
A. i= *p;
B. *p=*&j;
C. i=&j;
D. i=* *p;
23、不能把字符串:Hello!赋给数组b的语句是( B)。
A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};
B. char b[10]; b="Hello!";
C. char b[10]; strcpy(b,"Hello!");
D.char b[10]="Hello!";
24、在C程序中有如下语句:char *func(int x,int y); 它是(C )。
A. 对函数func的定义。
B. 对函数func的调用。
C.对函数func的原型说明。
D. 不合法的.。
25、以下程序的输出结果是( D)。
char str[15]=”hello!”;
printf(“%d”,strlen(str));
A. 15
B. 14
C. 7
D. 6
26[单选题] 以下叙述中正确的是( )
A.用户自己定义的函数只能调用库函数
B.实用的C语言源程序总是由一个或多个函数组成
C.不同函数的形式参数不能使用相同名称的标识符
D.在C语言的函数内部,可以定义局部嵌套函数
参考答案:B
参考解析:A选项中,”用户自己定义的函数只能调用库函数”描述是不正确的,也可以调用自定义函数;C选项中,对于不同函数的形式参数可以使用相同名称的标识符;D选项中,关于函数的定义不可以嵌套,但函数的调用可以嵌套。因此B选项正确。
27[单选题] 以下关于C语言数据类型使用的叙述中错误的是( )。
A.若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B.若要保存带有多位小数的数据,可使用双精度类型
C.若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D.整数类型表示的自然数是准确无误差的
参考答案:C
参考解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。
28[单选题] 下面选项中关于编译预处理的叙述正确的是
A.预处理命令行必须使用分号结尾
B.凡是以#号开头的行,都被称为编译预处理命令行
C.预处理命令行不能出现在程序的最后一行
D.预处理命令行的作用域是到最近的函数结束处
参考答案:B
参考解析:本题考查预编译的预编译处理命令行,预处理命令行不能以分号结尾,所以A选项错误,预处理命令行可以出现在程序的最后一行,预处理命令行作用域是整个文件。
29[单选题] 有以下程序
程序的输出结果是
A.0B.1C.9D.10
参考答案:B
参考解析:本题考查宏定义,宏定义只是做个简单的替换。执行SQR(k+m)/SQR(k+m)=k+m*k+m/k+m}k+m=15/2,a/=SQR(k+m)/SQR(k+1TI)的结果为1,选项B正确。
30[单选题] 设--X树共有150个结点,其中度为l的结点有l0个,则该---X树中的叶子结点数为( )。
A.71B.70C.69D.不可能有这样的二叉树
参考答案:D
参考解析:在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为0的结点总是比度为2的结点多一个。如果有一棵二叉树,结点总数为l50,假设度为0的结点个数为n,则有n+10+n一1=150,n=70.5,由于结点个数必须是整数,所以不可能有题目中这样的二叉树。故选择D选项。
31[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.2.3B.1,3C.1,4D.1,2
参考答案:B
参考解析:在f(int+P,int 4 q)函数中,执行P=P+1是将P所对应的地址加1,而0 q=+q+1是将q所指向的n的地址所对应的值加1,所以m的得知所对应的值没有变,而n的值则为3了。因此B选项正确。
32[单选题] 以下选项中,能用作用户标识符的是( )。
A.-0-B.8-;8C.voidD.unsigned
参考答案:A
参考解析:C语言中标识符由字母、下划线、数字组成,且开头必须是字母或下划线。另外,关键字不能作为标识符。8中以数字8开头,所以错误。c与D中用的是关键字void与unsigned,所以错误。
33[单选题] 以下叙述正确的是( )。
A.表达式sizeof(FILE*)==sizeof(int*)的值为真
B.文件指针的值是一个整数,它的值一定小于文件字节数
C.文件指针的值是所指文件的当前读取位置
D.使用fscanf函数可以向任意类型的文件中写入任意数量的字符
参考答案:A
参考解析:
slzeof(FILE})=4,因为file·为指针,指针的大小4,sizeof(int·)=4,理由同前面。文件指针的值是地址,是一个16进制的数,它的值不一定小于文件字节数,因此选项8错误。文件指针是所指文件的当前读取位置,而不是文件指针的值因此选项C错误。mgscanf(FILE-stream,constchar}format,[argument…]fmanf函数可以向任意类型的文件,写入任意数量不能超过系统的缓冲区,写文件先写入缓冲区,最后一起写入文件,因此选项D错误。答案为A选项。
全国计算机二级考试试题 2
1.下列叙述中错误的是( )。
A.对于各种特定的输入,算法的时间复杂度是固定不变的
B.算法的时间复杂度与使用的计算机系统无关
C.算法的时间复杂度与使用的程序设计语言无关
D.算法的时间复杂度与实现算法过程中的具体细节无关
正确答案:A
解析:算法的时间复杂度是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。算法所执行的基本运算次数还与问题的规模有关;对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。故本题答案为A选项。
2.在长度为n的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在每个位置上的可能性是相同的,则在平均情况下需要比较的次数为( )。
A.(n+1)/2
B.n
C.3n/4
D.n/2
正确答案:A
解析:在顺序表中查找,最好情况下第一个元素就是要查找的元素,则比较次数为1;在最坏情况下,最后一个元素才是要找的元素,则比较次数为n。两种情况平均即(1+n)/2.故本题答案为A选项。
3.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是( )。
A.中序序列
B.前序序列
C.后序序列
D.前序序列或后序序列
正确答案:A
解析:前序遍历:访问根结点在访问左子树和访问右子树之前。即先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左子树和右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历:访问根结点在访问左子树和访问右子树两者之间。即先遍历左子树,然后访问根结点,最后遍历右子树。并且在遍历左子树与右子树时,仍然首先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历:访问根结点在访问左子树和访问右子树之后。即首先遍历左子树,然后遍历右子树,最后访问根结点;并且在遍历左子树和右子树时,仍然首先遍历左子树,然后遍历右子树,最后访问根结点。题目给出的二叉树显示是左结点小于根结点,根结点小于等于右结点。如果要使结果为有序序列,那么遍历过程应该是左结点-根结点-右结点,或者右结点-根结点=左结点。根据前面3种遍历特点可知,中序遍历符合要求。故本题答案为A选项。
4.循环队列的存储空间为Q(1:50),初始状态为front=rear=50.经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为( )。
A.1或50且产生上溢错误
B.51
C.26
D.2
正确答案:A
解析:循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。入队运算时,队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。当front=rear=25时可知队列空或者队列满,此后又插入了一个元素,如果之前队列为空,插入操作之后队列里只有一个元素,如果插入之前队列已满(50个元素),执行插入则会产生溢出错误。故本题答案为A选项。
5.软件生命周期是指( )。
A.软件产品从提出、实现、使用维护到停止使用退役的过程
B.软件的工程实施阶段
C.软件的开发与管理
D.软件的实现和维护
正确答案;A
解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。故本题答案为A选项。
6.设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ.则按层次输出(从上到下,同一层从左到右)的序列为( )。
A.ABCDEFGHIJ
B.DGHEBIJFCA
C.JIHGFEDCBA
D.CHIJDEFBCA
正确答案:A
7.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为( )。
A.0
B.1
C.48
D.49
正确答案:C
8.设顺序表的`长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为( )。
A.820
B.780
C.40
D.41
正确答案:B
9.张编辑休假前正在审阅一部Word 书稿,他希望回来上班时能够快速找到上次编辑的位置,在Word 2010 中最优的操作方法是( )。
A.下次打开书稿时,直接通过滚动条找到该位置
B.记住一个关键词,下次打开书稿时,通过“查找”功能找到该关键词
C.记住当前页码,下次打开书稿时,通过“查找”功能定位页码
D.在当前位置插入一个书签,通过“查找”功能定位书签
正确答案:D
10.在Word 中编辑一篇文稿时,纵向选择一块文本区域的最快捷操作方法是( )。
A.按下Ctrl 键不放,拖动鼠标分别选择所需的文本
B.按下Alt 键不放,拖动鼠标选择所需的文本
C.按下Shift 键不放,拖动鼠标选择所需的文本
D.按Ctrl+Shift+F8 组合键,然后拖动鼠标所需的文本
正确答案:B
11.手写板或者鼠标属于( )。
A.输入设备
B.输出设备
C.中央处理器
D.存储器
正确答案:A
解析:计算机有输入、存储、运算、控制和输出五个部分组成。手写板和鼠标都属于输入设备。故正确答案为A选项。 12.某企业需要在一个办公室构建适用于20多人的小型办公网络环境,这样的网络环境属于( )。
A.城域网
B.局域网
C.广域网
D.互联网
正确答案:B
解析:按照覆盖地理范围和规模不同,可以将计算机网络分为局域网、城域网和广域网。局域网是一种在有限区域内使用的网络,它所覆盖的地区范围较小,一般在几千米之内,适用于办公室网络、企业与学校的主干局网络。故正确答案为B选项。
13.第四代计算机的标志是微处理器的出现,微处理器的组成是( )。
A.运算器和存储器
B.存储器和控制器
C.运算器和控制器
D.运算器、控制器和存储器
正确答案:C
解析:微处理器由运算器和控制器组成。运算器是计算机处理数据形成信息的加工厂,它的主要功能是对数据进行算术运算和逻辑运算。控制器是计算机的指挥中心,它统一控制计算机的各个部件。故正确答案为C选项。
14.在计算机内部,大写字母?G?的ASCII码为?1000111?,大写字母?K?的ASCII码为( )。
A.1001001
B.1001100
C.1001010
D.1001011
正确答案:D
解析:1000111对应的十进制数是71,则?K?的码值是75,转换成二进制位1001011.故正确答案为D选项。
15.以下不属于Word文档视图的是( )。
A.阅读版式视图
B.放映视图
C.Web版式视图
D.大纲视图
正确答案:B
解析:Word提供了5种视图方式,分别为页面视图、阅读版式视图、Web版式视图、大纲视图和草稿,不包括放映视图。故正确答案为B选项。
全国计算机二级考试试题 3
1.假设某台式计算机的内存储器容量为256MB,硬盘容量为20GB。硬盘的容量是内存容量的( )。
A)40倍
B)60倍
C)80倍
D)100倍
2.一个字长为8位的无符号二进制整数能表示的十进制数值范围是( )。
A)0~256
B)0~255
C)1~256
D)1~255
3.已知三个字符为:a、X和5,按它们的ASCII码值升序排序,结果是( )。
A)5,a,X
B)a,5,X
C)X,a,5
D)5,X,a
4.已知一汉字的国标码是5E38,其内码应是( )。
A)DEB8
B)DE38
C)5EB8
D)7E58
5.已知三个字符为:a、Z和8,按它们的ASCII码值升序排序,结果是( )。
A)8、a、Z
B)a、8、Z
C)a、Z、8
D)8、Z、a
6.计算机技术中,下列度量存储器容量的单位中,最大的单位是( )。
A)KB
B)MB
C)Byte
D)GB
7.下列编码中,正确的汉字机内码是( )。
A)6EF6H
B)FB6FH
C)A3A3H
D)C97CH
8.无符号二进制整数1000110转换成十进制数是( )。
A)68
B)70
C)72
D)74
9.根据汉字国标GB2312-80的规定,1KB的存储容量能存储的汉字内码的个数是( )。
A)128
B)256
C)512
D)1024
10.十进制数111转换成无符号二进制整数是( )。
A)01100101
B)01101001
C)01100111
D)01101111
11.字长为6位的无符号二进制整数最大能表示的十进制整数是( )。
A)64
B)63
C)32
D)31
12.根据国标GB2312-80的规定,总计有各类符号和一、二级汉字编码( )。
A)7145个
B)7445个
C)3008个
D)3755个
13.二进制数1001001转换成十进制数是( )。
A)72
B)71
C)75
D)73
14.十进制数90转换成无符号二进制数是( )。
A)1011010
B)1101010
C)1011110
D)1011100
15.标准ASCII码用7位二进制位表示一个字符的编码,其不同的编码共有( )。
A)127个
B)128个
C)256个
D)254个
16.已知英文字母m的ASCII码值为109,那么英文字母p的ASCII码值是( )。
A)112
B)113
C)111
D)114
17.在数制的转换中,正确的叙述是( )。
A)对于相同的十进制整数(>1),其转换结果的位数的变化趋势随着基数R的增大而减少
B)对于相同的十进制整数(>1),其转换结果的位数的变化趋势随着基数R的增大而增加
C)不同数制的数字符是各不相同的,没有一个数字符是一样的
D)对于同一个整数值的`二进制数表示的位数一定大于十进制数字的位数
18.下列叙述中,正确的是( )。
A)一个字符的标准ASCII码占一个字节的存储量,其最高位二进制总为0
B)大写英文字母的ASCII码值大于小写英文字母的ASCII码值
C)同一个英文字母(如字母A)的ASCII码和它在汉字系统下的全角内码是相同的
D)标准ASCII码表的每一个ASCII码都能在屏幕上显示成一个相应的字符
19.无符号二进制整数111111转换成十进制数是( )。
A)71
B)65
C)63
D)62
20.十进制数100转换成无符号二进制整数是( )。
A)0110101
B)01101000
C)01100100
D)01100110
21.当前流行的Pentium 4 CPU的字长是( )。
A)8bit
B)16bit
C)32bit
D)64bit
22.按照数的进位制概念,下列各个数中正确的八进制数是( )。
A)1101
B)7081
C)1109
D)B03A
23.全拼或简拼汉字输入法的编码属于( )。
A)音码
B)形声码
C)区位码
D)形码
24.已知汉字"中"的区位码是5448,则其国标码是( )。
A)7468D
B)3630H
C)6862H
D)5650H
25.一个汉字的内码与它的国标码之间的差是( )。
A)2020H
B)4040H
C)8080H
D)A0A0H
26.1KB的准确数值是( )。
A)1024Bytes
B)1000Bytes
C)1024bits
D)1000bits
27.十进制数55转换成无符号二进制数等于( )。
A)111111
B)110111
C)111001
D)111011
28.二进制数110001转换成十进制数是( )。
A)47
B)48
C)49
D)51
29.假设某台式计算机内存储器的容量为1KB,其最后一个字节的地址是( )。
A)1023H
B)1024H
C)0400H
D)03FFH
30.已知英文字母m的ASCII码值为6DH,那么字母q的ASCII码值是( )。
A)70H
B)71H
C)72H
D)6FH
计算机二级必考选择题答案
1.C
2.B
3.D
4.A
5.D
6.D
7.C
8.B
9.C
10.A
11.B
12.B
13.D
14.A
15.B
16.A
17.A
18.A
19.C
20.C
21.C
22.A
23.A
24.D
25.C
26.A
27.B
28.C
29.B
30.B
全国计算机二级考试试题 4
1.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )
A.派生类的对象可以赋给基类的对象
B.派生类的对象可以初始化基类的引用
C.派生类的对象可以直接访问基类中的成员
D.派生类的对象的地址可以赋给指向基类的指针
【参考答案】 C
2.下列关于虚基类的描述,错误的是( )
A.设置虚基类的目的是为了消除二义性
B.虚基类的构造函数在非虚基类之后调用
C.若同一层中包含多个虚基类,这些基类的构造函数按它们说明的次序调用
D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
【参考答案】 B
3.下列运算符中,在C++语言中不能重载的是( )
A.*
B.>=
C.:
D./
【参考答案】 C
4.下列程序的运行结果是( )
#include
class A
{ int a;
public:
A( ) {a=0;}
A(int aa)
{a=aa;
cout<
void main( )
{A x,y(2),z(3);
cout<
A.00
B.23
C.34
D.25
【参考答案】 B
5.判断char型变量c是否为小写字母的正确表达式是( )
A.′a′<=c<=′z′
B.(c>+A)&&(c<=z)
C.(′a′>=c)||(′z′<=c)
D.(c>=′a′)&&(c<=′z′)
【参考答案】 D
综合应用题
使用VC6打开考生文件夹下的工程kt8_3,此工程包含一个源程序文件kt8_3.cpp,该文件设计了用于输出乘法九九表的类。请认真阅读已有的代码,按要求完成下列操作,将程序补充完整。
(1)定义类Table的私有数据成员x和y,分别用于表示九九表中的'两个乘数(x*y),它们都是int型的数据。请在注释“//**1**”之后添加适当的语句;
(2)完成类Table的成员函数print( )的定义,该函数以""x*y=z""的格式打印出九九表中的一个乘法算式,请使用格式化输出函数printf实现,在注释“//**2**”之后添加适当的语句;
(3)完成类Table9的成员函数print( )的定义,该函数调用基类Table的print( )函数,将九九表输出到屏幕,请在注释“//**3**”之后添加适当的语句;
(4)补充主函数,在屏幕上输出九九表,以便测试所定义的类的正确性。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件清单如下:
#include
#include
classTable
{//**1**
intz;
public:
voidprint(intx,inty,intz);};
voidTable::print(intx,inty,intz)
{//**2**}
classTable9:publicTable
{public:
voidprint( );};
voidTable9::print( )
{//**3**
intx,y,z;
for(i=1;i<10;i++)
{for(j=1;j {x=i;
y=j;
z=i*j;
Table::print(y,x,z);}
printf("" "");}}
main( )
{//**4**
return0;}
【参考答案】
(1)int x;
int y;
(2)printf( ""%d*%d=%d "",x,y,z);
if(z<10) printf("" "");
(3)int i,j;
(4)Table9 t_9;
t_9.print( );
【试题解析】
主要考查将具体问题抽象为类,将类的定义补充完整,并进行类定义测试的能力。
全国计算机二级考试试题 5
1.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].
a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9]
a[9]对应下面数组中的元素为6. 因此a[9]即为6
2.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )
A、2
B、3
C、4
D、无确定值
5 7
D、3 6 9
二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行
3.对二维数组的正确定义是(C )
详见教材P149~152,二维数组的定义、初始化
类型符 数组名 [常量表达式][常量表达式]
二维数组可以看做是矩阵
类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。
一维数组初始化时可以省略数组长度
二维数组初始化时可以省略行数,但不能省略列数
选项A,B,都省略了列数
选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中
A、int a[ ][ ]={1,2,3,4,5,6};
B、int a[2] []={1,2,3,4,5,6};
C、int a[ ] [3]={1,2,3,4,5,6};
D、int a[2,3]={1,2,3,4,5,6};
4.已知int a[3][4];则对数组元素引用正确的是__C___
A、a[2][4]
B、a[1,3]
C、a[2][0]
D、a(2)(1)
详见教材P150,数组元素的引用
数组名[下标] [下标]
引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数
第一个[下标]表示行逻辑地址下标,第二个[下标]表示列逻辑地址下标。
本题图示详见P149图6.7
因此a的行逻辑地址范围0~2;a的列逻辑地址范围0~3;
选项A,列逻辑地址下标超过范围
选项B,D,的引用形式不正确。
5.C语言中函数返回值的类型是由 A 决定的
A、函数定义时指定的类型
B、 return语句中的表达式类型
C、 调用该函数时的实参的数据类型
D、形参的数据类型
6. 在C语言中,函数的数据类型是指(A )
A、 函数返回值的数据类型
B、 函数形参的数据类型
C、 调用该函数时的实参的数据类型
D、任意指定的数据类型
7.在函数调用时,以下说法正确的是( B )
A、函数调用后必须带回返回值
B、实际参数和形式参数可以同名
C、函数间的数据传递不可以使用全局变量
D、主调函数和被调函数总是在同一个文件里
8. 在C语言中,表示静态存储类别的关键字是: ( C )
A、 auto
B、 register
C、static
D、extern
9.未指定存储类别的变量,其隐含的存储类别为(A )。
A、auto
B、static
C、extern
D、register
10. 若有以下说明语句:
struct student
{ int num;
char name[ ];
float score;
}stu;
则下面的叙述不正确的是: (D )
A、 struct是结构体类型的关键字
B、 struct student 是用户定义的结构体类型
C、 num, score都是结构体成员名
D、 stu是用户定义的结构体类型名
11.若有以下说明语句:
struct date
{ int year;
int month;
int day;
}brithday;
则下面的叙述不正确的是__C___.
A、 struct是声明结构体类型时用的关键字
B、 struct date 是用户定义的结构体类型名
C、 brithday是用户定义的结构体类型名
D、year,day 都是结构体成员名
12. 以下对结构变量stul中成员age的非法引用是 B
struct student
{ int age;
int num;
}stu1,*p;
p=&stu1;
A、 stu1.age
B、 student.age
C、 p->age
D、(*p).age
13.设有如下定义:
struck sk
{ int a;
float b;
}data;
int *p;
若要使P指向data中的a域,正确的赋值语句是 C
A、 p=&a;
B、 p=datA、a;
C、p=&datA、a;
D、*p=datA、a;
14.设有以下说明语句:
typedef struct stu
{ int a;
float b;
} stutype;
则下面叙述中错误的是( D )。
A、struct是结构类型的关键字
B、struct stu是用户定义的结构类型
C、a和b都是结构成员名
D、stutype是用户定义的结构体变量名
15.语句int *p;说明了 C 。
A、p是指向一维数组的指针
B、p是指向函数的指针,该函数返回一int型数据
C、p是指向int型数据的指针
D、p是函数名,该函数返回一指向int型数据的指针
16.C语言中,关系表达式和逻辑表达式的值是( B ) 。
A、0
B、 0或1
C、 1
D、‘T’或’F’
17. 下面( D )表达式的值为4.
A、 11/3
B、 11.0/3
C、 (float)11/3
D、 (int)(11.0/3+0.5)
【解析】(1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。
(2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。
选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.
选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666
选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同
选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为4
18.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )
A、b=1.0/a
B、b=(float)(1/A、
C、b=1/(float)a
D、b=1/(a*1.0)
19. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A)
A、1
B、4
C、4.333333
D、4.6
【解析】“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为1
20. 以下对一维数组a的正确说明是: D
A、char a(10);
B、 int a[];
C、int k=5,a[k];
D、char a[3]={‘a’,’b’,’c’};
【解析】详见教材P143~144,一维数组的定义、初始化
类型符 数组名 [常量表达式]
类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。
选项A,常量表达式只能放在中括号 [ ]中
选项B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化。
选项C,常量表达式不能为变量。
21.以下能对一维数组a进行初始化的语句是:( C )
A、int a[5]=(0,1,2,3,4,)
B、 inta(5)={}
C、 int a[3]={0,1,2}
D、 int a{5}={10*1}
【解析】详见教材P145,一维数组的定义、初始化
选项B,D,常量表达式只能放在中括号 [ ]中
选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了( ).
22.在C语言中对一维整型数组的正确定义为 D 。
A、int a(10);
B、int n=10,a[n];
C、int n;a[n];
D、#define N 10
23、已知:int a[10]; 则对a数组元素的`正确引用是( D )。
A、a[10]
B、a[3.5]
C、a(5)
D、a[0]
【解析】详见教材P144,数组元素的引用
数组名[下标]
引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数
int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9] 表示组中第10个元素.
选项A,超过了数组a的逻辑地址下标范围;
选项B,逻辑地址下标只能为整数
选项C,逻辑地址下标只能放在[ ]中
24.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。
int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A、10
B、9
C、6
D、5
【解析】先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].
a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9]
a[9]对应下面数组中的元素为6. 因此a[9]即为6
25.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )
A、2
B、3
C、4
D、无确定值
【解析】二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行
26.(A )是构成C语言程序的基本单位。
A、函数
B、过程
C、子程序
D、子例程
27.C语言程序从 C 开始执行。
A、 程序中第一条可执行语句
B、 程序中第一个函数
C、 程序中的main函数
D、包含文件中的第一个函数
28、以下说法中正确的是( C )。
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main( )函数中定义
C、C语言程序总是从main( )函数开始执行;
D、C语言程序中的main( )函数必须放在程序的开始部分
29.下列关于C语言的说法错误的是( B ) 。
A、 C程序的工作过程是编辑、编译、连接、运行
B、 C语言不区分大小写。
C、 C程序的三种基本结构是顺序、选择、循环
D、C程序从main函数开始执行
30.下列正确的标识符是(C )。
A、-a1
B、a[i]
C、a2_i
D、int t
5~8题为相同类型题
考点:标识符的命名规则
只能由字母、数字、下划线构成
数字不能作为标识符的开头
关键字不能作为标识符
选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)
31.下列C语言用户标识符中合法的是(B )。
A、3ax
B、x
C、case
D、-e2 E)union
选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);
32.下列四组选项中,正确的C语言标识符是( C )。
A、 %x
B、a+b
C、a123
D、123
选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)
33、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。
A、print _3d db8 aBc
B、Iam one_half start$it 3pai
C、str_1 Cpp pow while
D、Pxq My->book line# His.age
选项B中的“”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)
34.C语言中的简单数据类型包括(D )。
A、整型、实型、逻辑型
B、整型、实型、逻辑型、字符型
C、整型、字符型、逻辑型
D、整型、实型、字符型
35.在C语言程序中,表达式5%2的结果是 C 。
A、2.5
B、2
C、1
D、3
%为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;
/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2
全国计算机二级考试试题 6
1[单选题] 一个关系中的各条记录( )。
A.前后顺序不能任意颠倒,要按输入的顺序排列
B.前后顺序不能任意颠倒,要按关键字段值的顺序排列
C.前后顺序可以任意颠倒,但排列顺序不同,统计处理的结果可能不同
D.前后顺序可以任意颠倒,不影响数据的实际含义
参考答案:D
参考解析: 一个关系就是一张二维表,每个关系有一个关系名。在关系模型中对关系有一定的要求,关系必须具有以下特点:关系必须规范化,表中不能再包含表;在同一个关系中不能出现完全相同的属性(列),即不允许有相同的字段名;关系中不允许有完全相同的元组(行),即不允许有相同的记录;在一个关系中行的次序无关紧要,可任意交换两行的位置;在一个关系中列的次序无关紧要,可任意交换两列的位置。本题D为正确选项。
2[单选题] 在软件开发中,需求分析阶段可以使用的工具是( )。
A.N-S图 B.DFD图 C.PAD图 D.程序流程图
参考答案:B
参考解析:在需求分析阶段可以使用的工具有数据流图(DFD图),数据字典(DD),判定树与判定表,所以选择B)。
3[单选题] 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。
A.16B.10C.6 D.4
参考答案:A
参考解析:根据-y.树的性质3:在任意一课二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为l的结点的个数是25-5-4=16个。
4[简答题]在考生文件夹下完成如下基本操作:
1.通过SQLINSERT语句插入元组(”p7”,”PN7”,1020)到“零件信息”表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.pr9中。
2.通过SQLDELETE语句从“零件信息”表中删除单价小于600的所有记录,并将相应的SQL语句存储在文件tw0.pr9中。一
3.通过SQLUPDATE语句将“零件信息”表中零件号为“p4”的零件的单价更改为l090,并将相应的SQL语句存储在文件three.pr9中。
4.打开菜单文件mymenu.Innx,然后生成可执行的菜单程序mymenu.mpr。
参考解析:
【考点分析】本大题主要考查的'知识点是:利用SQL语句对表进行插入、删除、修改等操作,为菜单生成可执行的菜单程序。
【解题思路】对于第l、2,3小题,需先在命令窗口中完成正确的SQL语句的编写并执行,然后检查SQL语句的执行结果,接下来新建题目要求的程序文件,最后将SQL语句复制到新建的程序文件中。生成可执行的菜单程序需先打开菜单文件,然后执行“菜单”菜单中的“生成”命令。
【操作步骤】
(1)打开VisualFoxPr0,在命令窗口输入“INSERTINTO零件信息VALUES(”p7“,”PN7”,l020)”,并按下回车键执行语句。
然后创建—个程序文件0ne.pr9,把代码复制过去并保存。(2)在命令窗口输入“DELETEFROM零件信息WHERE单价<600”,并按下回车键执行语句。
然后创建—个程序文件tw0.prg,把代码复制过去并保存。(3)在命令窗口输入“UPDATE零件信息SET单价=1090WHERE零件号=”p4””,并按下回车键执行语句。
然后创建一个程序文件three.pr9,把代码复制过去并保存。
(4)打开菜单mymenu.mnx后,选择系统菜单中的“菜单”,然后选择“生成”。
【举一反三】第1题的题型还出现手:第l3套一(4)、第89套一(3)、第l7套一(3)、第97套--(2)。第2题的题型还出现于:第89套一(2)、第97套一(4)。第3题的题型还出现于:第87套一(2)、第29套--(2)、第30套一-(4)、第94套一(4)、第97套一(3)。
5[单选题] 与“SELECT*FROM学生INTO DBF A”等价的语句是( )。
A.SELECT*FROM学生INTO A
B.SELECT*FROM学生INTO TABLE A
C.SELECT*FROM学生TO TABLE A
D.SELECT*FROM学生TO DBF A
参考答案:B
参考解析:在SQL查询语句的尾部添加、INTO DBFI
TABLE<表名>可以将查询的结果放入新生成的指定表中。表名>
INTO TABLE A等价于INTO DBF A,因此B)为正确选项。
6[单选题] 在Visual FoxPro中,下面关于索引的正确描述是( )。
A.当数据库表建立索引以后,表中的记录的物理顺序将被改变
B.索引的数据将与表的数据存储在一个物理文件中
C.建立索引是创建一个索引文件,该文件包含有指向表记录的指针
D.使用索引可以加快对表的更新操作
参考答案:C
参考解析:Visual FoxPro索引是由指针构成的文件,这些指针逻辑上按照索引关键字值进行排序。索引文件和表的dbf文件分别存储,并且不改变表中记录的物理顺序。实际上,创建索引是创建一个由指向.dbf文件记录的指针构成的文件。若要根据特定顺序处理表记录,可以选择一个相应的索引,使用索引还可以加速对表的查询操作,但不会加快对表的更新操作。
7[单选题] 在Visual FoxPro中,命令“INDEX ON姓名TO xm”的功能是( )。
A.建立一个名为xm.idx的索引文件
B.建立一个名为xm.cdx的索引文件
C.在结构索引文件中建立一个名为xm的索引
D.在非结构索引文件中建立一个名为xm的索引
参考答案:A
参考解析:INDEX ON命令用于在程序中建立索引,执行命令“INDEX ON姓名TO xm”之后可建立一个名为xm的索引文件,索引文件的扩展名为.idx,故本题A选项正确。
8[单选题] 设x=〝123〞,y=123,k=〝Y〞,表达式x+&k的值是( )。
A.123123B.246C.123y D.数据类型不匹配
参考答案:D
参考解析:本题考查宏替换函数:&<字符型变量>[],其功能为替换出字符型变量的内容,即函数值是变量中的字符串。本题数据类型不匹配,无法替换。字符型变量>
9[单选题] 设有读者表:
读者(借书证号C,姓名C,单位C,性别.L,职称C,联系电话C.
查询姓名中含“志”的所有读者的信息,正确的SQL语句是:
A.SELECT*FROM读者WHERE姓名LIKE”+志+”
B.SELECT*FROM读者WHERE姓名=”*志*”
C.sELECT*FROM读者WHERE姓名LIKE”%志%”
D.SELECT*FROM读者WHERE姓名=”%志%”
参考答案:C
参考解析:SQL的基本格式为SELECT—FROM—WHERE,其中SELECT说明要查询的字段,FROM 说明要查询的字段来自哪个表或哪些表,WHERE说明查询条件。LIKE为字符串匹配运算符,可与通配符“%”和“一”一起使用。“%”表示与任意多个字符匹配;“一”表示与任意一个字符匹配。查询姓名中含“志”的所有读者的信息可用“LIKE”%志%””表示,C选项正确。
10[单选题] 在表设计器中设置的索引包含在( )。
A.单独索引文件中
B.唯一索引文件中
C.结构复合索引文件中
D.非结构复合索引文件中
参考答案:C
参考解析:从索引的组织方式来讲,索引分为三类索引文件:单独的idx索引,是一种非结构索引;采用非默认名的cdx索引,也是非结构索引;与表名同名的cdx索引,是结构复合索引。与表名同名的cdx索引是一种结构复合压缩索引,它是Visual FoxPro数据库中最普通也是最重要的一种索引文件,用表设计器建立的索引都是这类索引。
全国计算机二级考试试题 7
1.[单选题] 程序调试的任务是( ).
A.设计测试用例
B.验证程序的正确性
C.发现程序中的错误
D.诊断和改正程序中的错误
2[单选题] 计算机指令由两部分组成,它们是( )。
A.运算符和运算数B.操作数和结果C.操作码和操作数D.数据和字符
3[单选题] 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员问的联系是( )。
A.1:1联系B.m:1联系C.1:m联系D.m:n联系
4[单选题] 下列关于ASCⅡ编码的叙述中,正确的是( ).
A.一个字符的标准ASCⅡ码占一个字节,其最高二进制位总为1
B.所有大写英文字母的ASCⅡ码值都小于小写英文字母‘a’的ASCⅡ码值
C.所有大写英文字母的ASCⅡ码值都大于小写英文字母‘a’的ASCⅡ码值
D.标准ASCⅡ码表有256个不同的字符编码
5[单选题] 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A.O(n)B.O(n2)C.O(1og2n)D.O(n1og2n)
6[单选题] 以下关于编译程序的说法正确的是( ).
A.编译程序属于计算机应用软件,所有用户都需要编译程序
B.编译程序不会生成目标程序,而是直接执行源程序
C.编译程序完成高级语言程序到低级语言程序的等价翻译
D.编译程序构造比较复杂,一般不进行出错处理
7[单选题] 数据字典(DD)所定义的对象都包含于( )。
A.数据流图(DFD图)B.程序流程图C.软件结构图D.方框图
8[单选题] ( )拓扑结构是将网络的各个节点通过中继器连接成一个闭合环路.
A.星型B.树型C.总线型D.环型
9[单选题] 在CD光盘上标记有“CD-RW”字样,“RW”标记表明该光盘足
A.只能写入一次,可以反复读出的一次性写入光盘
B.可多次擦除型光盘
C.只能读出,不能写入的只读光盘
D.其驱动器单倍速为1350KB/S的高街度呵读写光柱
10[单选题]根据域名代码规定,表示政府部门网站的.域名代码是( )。
A..netB..comC..govD..org
参考答案:C
11[单选题] 数据库设计中反映用户对数据要求的模式是( )。
A.内模式B.概念模式C.外模式D.设计模式
12[单选题]设计中模块划分应遵循的准则是( )。
A.低内聚低耦合B.高耦合高内聚C.高内聚低耦合D.以上说法均错误
13[单选题] 计算机软件包括( ).
A.算法和数据B.程序和数据C.程序和文档D.程序、数据及相关文档
14[单选题] 数据库应用系统中的核心问题是( )。
A.数据库设计B.数据库系统设计C.数据库维护D.数据库管理员培训
15[单选题] 运算器的完整功能是进行( )。
A.逻辑运算B.算术运算和逻辑运算C.算术运算D.逻辑运算和微积分运算
16[单选题] CPU中,除了内部总线和必要的寄存器外,主要的两大部件分别是运算器和
A.控制器B.存储器C.CacheD.编辑器
17[单选题] 下列与队列结构有关联的是( )。
A.函数的递归调用B.数组元素的引用C.多重循环的执行;D.先到先服务的作业调度
18[单选题] 在一个非零无符号二进制整数之后添加一个0,则此数的值为原数的( )。
A.4倍B.2倍C.1/2倍D.1/4倍
19[单选题] 上网需要在计算机上安装
A.数据库管理软件B.视频播放软件C.浏览器软件D.网络游戏软件
20[单选题] 十进制数18转换成二进制数是( )。
A.010101B.101000C.010010D.001010
参考答案:C
21[单选题] 在CD光盘上标记有“CD-RW”字样,“RW”标记表明该光盘是( )。
A.只能写入一次,可以反复读出的一次性写入光盘
B.可多次擦除型光盘
C.只能读出,不能写入的只读光盘
D.其驱动器单倍速为1350KB/S的高密度可读写光盘
22[单选题] 算法的有穷性是指( ).
A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用
23[单选题] 某系统结构图如下图所示
该系统结构图中最大扇入是( ).
A.0B.1C.2 D.3
24[单选题] 有三个关系R、S和T如下:
其中关系T由关系R和S通过某种操作得到,该操作为( ).
A.选择B.投影C.交D.并
25[单选题] 在微机中,西文字符所采用的编码是( ).
A.EBCDIC码B.ASCⅡ码C.国标码D.BCD码
计算机二级考试真题答案解析
1.参考答案:D参考解析:程序调试的任务是诊断和改正程序中的错误。
2.参考答案:C参考解析:计算机指令通常由操作码和操作数两部分组成。
3.参考答案:C参考解析:两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系1:1.、一对多联系1:m.、多对一联系m:1.、多对多联系m:n.。对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系1:m.,答案选C。
4.参考答案:B参考解析:国际通用的ASCIl码为7位,且最高位不总为l;所有大写字母的ASCIl码都小于小写字母a的ASCIl码;标准ASCIl码表有128个不同的字符编码。
5.参考答案:C参考解析:当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较1og2n次,而顺序查找需要比较n次。
6.参考答案:C参考解析:编译程序就是把高级语言变成计算机可以识别的二进制语言,即编译程序完成高级语言程序到低级语言程序的等价翻译。
7.参考答案:A参考解析:在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据字典。因此选A,而B,C,D都不符合。
8.参考答案:D参考解析:环型拓扑结构是使用中继器组成一个封闭的环,各节点直接连到环上,信息沿着环按一定方向从一个节点传送到另一个节点的拓扑结构.
9.参考答案:B参考解析:CD-RW是可擦写型光盘,用户可以以多次对其进行读写。CD-RW的全称是CD-ReWritab1e。
10.参考答案:C参考解析:略
11.参考答案:C参考解析:数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述,所以选择C。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法。
12.参考答案:C参考解析:根据软件设计原理提出如下优化准则:①划分模块时,尽量做到高内聚、低耦合,保持模块相对独立性,并以此原则优化初始的软件结构。②一个模块的作用范围应在其控制范围之内,且判定所在的模块应与受其影响的模块在层次上尽量靠近。③软件结构的深度、宽度、扇入、扇出应适当。④模块的大小要适中。C正确。
13.参考答案:D参考解析:计算机软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档.故D选项正确.
14.参考答案:A参考解析:数据库应用系统中的核心问题是数据库的设计。
15.参考答案:B参考解析:运算器是计算机处理数据形成信息的加工厂,它的主要功能是对二进制数码进行算术运算或逻辑运算。
16.参考答案:A参考解析:CPU主要包括运算器和控制器。
17.参考答案:D参考解析:队列的修改是依先进先出的原则进行的,D正确。
18.参考答案:B参考解析:最后位加0等于前面所有位都乘以2再相加,所以是2倍。
19.参考答案:C参考解析:略
20.参考答案:C参考解析:用2整除18,可以得到一个商和余数;再用2去除商,又会得到一个商和余数。如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来,即得010010。
21.参考答案:B参考解析:CD—RW是可擦写型光盘,用户可以多次对其进行读/写。CD-RW的全称是CD-ReWritab1e。
22.参考答案:A参考解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。
23.参考答案:C参考解析:扇人指的是调用一个给定模块的模块个数。题干系统中,第2层模块扇入均为1,第3层中功能模块3.1扇人为2,其余为1,故最大扇入为2,C选项正确。
24.参考答案:D参考解析:关系T中包含了关系R与s中的所有元组,所以进行的是并的运算。
25.参考答案:B参考解析:略
全国计算机二级考试试题 8
1.在待排序的元素序列基本有序的前提下,效率最高的排序方法是(C)
A)冒泡排序
B)选择排序
C)快速排序
D)归并排序
2.非空的循环单链表head的尾结点(由p所指向),满足(A)
A)p->next==NULL
B)p==NULL
C)p->next=head
D)p=head
3.线性表的顺序存储结构和线性表的链式存储结构分别是(C)
A)顺序存取的存储结构、顺序存取的存储结构
B)随机存取的存储结构、顺序存取的存储结构
C)随机存取的存储结构、随机存取的存储结构
D)任意存取的存储结构、任意存取的存储结构
4.结构化程序设计所规定的三种基本控制结构是(D)
A)输入、处理、输出
B)树形、网形、环形
C)顺序、选择、循环
D)主程序、子程序、函数
5.下列不属于软件调试技术的是(D)
A)强行排错法
B)集成测试法
C)回溯法
D)原因排除法
6.软件生命周期中花费时间最多的阶段是(B)
A)详细设计
B)软件编码
C)软件测试
D)软件维护
7.软件设计中,有利于提高模块独立性的'一个准则是(A)
A)低内聚低耦合
B)低内聚高耦合
C)高内聚低耦合
D)高内聚高耦合
8.数据库的故障恢复一般是由(D)
A)数据流图完成的
B)数据字典完成的
C)DBA完成的
D)PAD图完成的
9.下列关系运算的叙述中,正确的是(B)
A)投影、选择、连接是从二维表行的方向进行的运算
B)并、交、差是从二维表的列的方向来进行运算
C)投影、选择、连接是从二维表列的方向进行的运算
D)以上3种说法都不对
10.在关系数据库中,对一个关系做投影操作后,新关系的元组个数将(A)
A)等于原来关系中的元组个数
B)大于原来关系中的元组个数
C)小于原来关系中的元组个数
D)不能确定元组个数
11.以下不具有Picture属性的对象是(B)
A)窗体
B)图片框
C)图像框
D)文本框
12.双击窗体中的对象后,Visual Basic将显示的窗口是(D)
A)项目(工程)窗口
B)工具箱
C)代码窗口
D)属性窗口
13.若要将窗体从内存中卸载,其实现的方法是(A)
A)Show
B)UnLoad
C)Load
D)Hide
14.要使目录列表框(名称为Dirl)中的目录随着驱动器列表框(名称为Drivel)中所选
择的当前驱动器的不同而同时发生变化,则应:(A)
A)在Dirl中的Change事件中,书写语句 Dirl.Drive=Drivel.Drive
B)在Dirl中的Change事件中,书写语句 Dirl.Path=Drivel.Drive
C)在Drivel中的Change事件中,书写语句 Dirl.Path=Drivel.Drive
D)在Drivel中的Change事件中,书写语句 Dirl.Drive=Drivel.Drive
15.设有如下声明:
Dim x As Integer
如果Sgn(x)的值为-1,则表示x的值是(A)
A)整数
B)大于0的整数
C)等于0的整数
D)小于0的数
全国计算机二级考试试题 9
1. 下列叙述中正确的是( )。
A. 循环队列是队列的一种链式存储结构
B. 循环队列是一种逻辑结构
C. 循环队列是队列的一种顺序存储结构
D. 循环队列是非线性结构
【答案】C
【解析】线性表常用存储结构为:①顺序存储结构,物理上连续存储,空间位置隐含逻辑位置,②链式存储结构,存储上不连续,通过指针相连。循环队列是指用一段地址连续的存储单元存储数据元素,定义两个游标:指向队头的游标(front)、指向队尾的游标(rear)。
2. 下列叙述中正确的是( )。
A. 栈是一种先进先出的线性表
B. 队列是一种后进先出的线性表
C. 栈与队列都是非线性结构
D. 以上三种说法都不对
【答案】D
【解析】栈和队列都是操作受限的线性表:栈只能在栈顶插入和删除元素,按照先进后出的原则组织数据;队列只能在队头删除元素,在队尾插入元素,按照先进先出的原则组织数据。对于每一个节点都有一个前件和一个后件,属于线性结构。
3. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。
A. 16
B. 10
C. 6
D. 4
【答案】A
【解析】二叉树中,度为0的结点(即叶子结点)比度为二的结点多1个,而度为0、1、2的结点相加等于总结点数25,所以度为1的'结点数为25-5-(5-1)=16。
4. 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
A. 外模式
B. 内模式
C. 概念模式
D. 逻辑模式
【答案】B
【解析】数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。答案选择B选项。
5. 在满足实体完整性约束的条件下( )。
A. 一个关系中应该有一个或多个候选关键字
B. 一个关系中只能有一个候选关键字
C. 一个关系中必须有多个候选关键字
D. 一个关系中可以没有候选关键字
【答案】A
【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。候选关键字的性质有①在一个关系中,候选关键字可以有多个,②任何两条记录候选关键字值都是不相同的;③关键字由一个属性构成,也可能由多个属性构成;④在任何关系中至少有一个关键字。所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。答案选择A选项。
6. 一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A. 123456ABCDE
B. EDCBA54321
C. ABCDE12345
D. 54321EDCBA
【答案】B
【解析】栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则依次出栈的顺序应为其逆序,即EDCBA54321。答案选择B选项。
7. 下列叙述中正确的是( )。
A. 循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B. 在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况
C. 在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况
D. 循环队列中元素的个数是由队头指针和队尾指针共同决定
【答案】D
【解析】D项正确,从队头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。A项错误,循环队列是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环形空间,其存储结构依然是顺序的BC两项错误,在循环队列中,每进行一次入队运算,队尾指针就进一,每进行一次出队运算,队头指针就进一,可见由队头指针和队尾指针一起反映队列中元素的动态变化情况。
8. 在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。
A. 0(n)
B. O(n2)
C. O (log2n)
D. O(nlog2n)
【答案】C
【解析】二分查找的最坏情况是不断的二分直至无法再分时,仍然没有查找成功。对于有序的线性表,二分查找法只需比较log2n次。答案选择C选项。
9. 下列叙述中正确的是( )。
A. 顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B. 顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C. 顺序存储结构能存储有序表,链式存储结构不能存储有序表
D. 链式存储结构比顺序存储结构节省存储空间
【答案】A
【解析】A项正确,在顺序存储结构中所有元素所占的存储空间是连续的,而在链式存储结构中,存储数据结构的存储空间可以不连续。
10. 数据流图中带有箭头的线段表示的是( )。
A. 控制流
B. 事件驱动
C. 模块调用
D. 数据流
【答案】D
【解析】数据流图基本符号的含义:①矩形表示数据的外部实体,②圆角的矩形表示变换数据的处理逻辑;③缺少右半边的矩形表示数据的存储;④箭头表示数据流。答案选择D选项。
全国计算机二级考试试题 10
一、选择题
1.下列叙述中正确的是( )。
A)程序执行的效率与数据的存储结构密切相关
B)程序执行的效率只取决于程序的控制结构
C)程序执行的效率只取决于所处理的数据量
D)以上说法均错误
2.下列与队列结构有关联的是( )。
A)函数的`递归调用
B)数组元素的引用
C)多重循环的执行;
D)先到先服务的作业调度
3.对下列二叉树进行前序遍历的结果是( )。
A)DYBEAFCZX
B)YDEBFZXCA
C)ABDYECFXZ
D)ABCDEFXYZ
4.一个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。
A)1,2,3,A,B,C
B)C,B,A,1,2,3
C)C,B,A,3,2,1
D)1,2,3,C,B,A
5.下面属于自盒测试方法的是(1)。
A)等价类划分法
B)逻辑覆盖
C)边界值分析法
D)错误推测法
6.下面对对象概念描述正确的是( )。
A)对象间的通信靠消息传递
B)对象是名字和方法的封装体
C)任何对象必须有继承性
D)对象的多态性是指一个对象有多个操作
7.软件设计中模块划分应遵循的准则是( )。
A)低内聚低耦合
B)高耦合高内聚
C)高内聚低耦合
D)以上说法均错误
全国计算机二级考试试题 11
1下列有关内联函数的叙述中,正确的是( )。
A.内联函数在调用时发生控制转移
B.内联函数必须通过关键字inline来定义
C.内联函数是通过编译器来实现的
D.内联函数函数体的最后一条语句必须是return语句
参考答案:C
参考解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,所以在调用时不发生控制转移。在类内部实现的函数都是内联函数,可以不用inline定义;只有函数外部定义的内联函数才必须加关键字inline。编译系统并非对内联函数必须使用内联,而且根据具体情况决定。内联函数不是必须要有返回值的。
2语句int*P=&k;定义了指针P,与这个语句等效的语句序列是( )。
A.int* p;P=&k;B.int * P;P=k;C.int * p;* P=&k;D.int * p;* P=k;
参考答案:A
参考解析:本题考查指针和地址,题目中定义了一个指向变量k的一个指针p,那么与题目中等效的表达式A选项,即先定义一个指向整型的指针,然后指向k的地址。
3有如下程序:
#include
using namespace std;
class A
{
public:
A( ){cout<<”A”;}
-A( ){cout<<”-A”;}
};
class B:public A
{
A*P;
public:
B( ){cout<<”B”;P=new A( );}
-B( ){cout<<”~B”; p;}
};
int main( )
{
B obj;
return 0;
}
执行这个程序的输出结果是( )。
A.BAA~A~B~AB.ABA~B~A~AC.BAA~B~A~AD.ABA~A~B~A
参考答案:B
参考解析:本题考查派生类的构造函数和析构函数,在定义一个派生类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数。对象释放时,先执行派生类的析构函数,再执行基类的'析构函数。所以本题答案为B。
4有如下类定义:
class AA
{
im a:
public:
int getRef( )const{return&a;}//①
int getValue( )const{return a;}//②
void set(int n)const{a=n;}//③
friend void show(AA aA.const{cout<
};
其中四个函数的定义中正确的是( )。
A.①B.②C.③D.④
参考答案:B
参考解析:本题考查常成员函数,常成员函数只能引用本类中的数据成员,而不能修改它。所以本题答案为B。
5若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是( )。
A.Data+(DatA.;B.Data operator+(DatA.;C.Data+operator(DatA.;D.operator+(Data,DatA.;
参考答案:B
参考解析:根据重载加法运算符的格式,只有B选项正确。
6有如下数组声明:int num[10];,下标值引用错误的是( )。
A.num[10]B.num[5]C.num[3]D.hum[o]
参考答案:A
参考解析:数组定义中的数字指的是数组的大小,而下标是从0开始的,所以本题中数组的最后一个元素是num[9]。
7将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是( )。
A.DeCr&operator--(int);B.DeCr operator--(DeCr&,int);C.friend DeCr&operator--(DeCr&);D.friend DeCr operator--(DeCr&,int);
参考答案:C
参考解析:把“--”运算符重载为非成员(友元)函数格式:friend<返回类型>operator--( )是前缀的格式;friend<返回类型>operator--(int)是后缀的格式。当然也可以有参数如题中C选项所示。返回类型>返回类型>
8如果派生类以proteCted方式继承基类,则原基类的proteCted成员和publiC成员在派生类中的访问属性分别是( )。
A.publiC和publiCB.publiC和proteCtedC.proteCted和publiCD.proteCted和proteCted
参考答案:D
参考解析:本题考查保护继承中派生类对基类的访问属性,在受保护继承中,基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有,所以本题答案为D。
9在函数中,可以用aut0、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。
A.autoB.externC.registerD.static
参考答案:A
参考解析:变量的存储方法分为静态存储和动态存储两大类,包含4种:自动的(auto)、静态的(static)、寄存器的(register)、外部的(extem)。变量如果没有说明存储类型,那么默认就是aut0。
10下列程序的输出结果是( )。
#include
int rain(iltl a,int B)
{
if(a
else retum b;
retum 0;
}
void main( )
{
eout<
}
A.0B.1C.2D.3
参考答案:B
参考解析:本题考查的是函数的调用,第一次调用min(2,3),因为2<3,所以返回值为2,第二次调用min(1,2),因为l<2,所以返回1。
全国计算机二级考试试题 12
1.下列叙述中正确的是( )。
A. 所有数据结构必须有根结点
B. 所有数据结构必须有终端结点(即叶子结点)
C. 只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
D. 没有根结点或没有叶子结点的数据结构一定是非线性结构
【答案】D
【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素"且惟一②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”,④除第一个元素外,其他数据元素均有惟一的“前驱”。所以没有根结点或没有叶子结点的数据结构一定是非线性结构。AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。答案选择D选项。
2. 以下叙述中错误的是( )。
A. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D. C语言源程序经编译后生成后缀为.obj的目标程序
【答案】A
【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为.obj的'二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。答案选择A选项。
3. C语言主要是借助以下( )功能来实现程序模块化的。
A. 定义函数
B. 定义常量和外部变量
C. 三种基本结构语句
D. 丰富的数据类型
【答案】A
【解析】C程序的模块化主要通过函数来实现。C语言允许对函数单独进行编译,从而可以实现模块化。答案选择A选项。
4. 有以下程序段:
char ch;
int k;
ch='a';
k=12;
print("%c,%d,",h,ch,k);
printf("k=%d",k);
已知字符a的ASCII码十进制值为97,则执行上述程序段后输出的结果是( )。
A. 因变量类型与格式描述符的类型不匹配输出无定值
B. 输出项与格式描述符个数不符,输出为零值或不定值
C.a,97,12k=12
D. a,97,k=12
【答案】D
【解析】字符变量的值是该字符的ASCII码值,可以参与整型变量所允许的任何运算。"ch='a",%c表示以字符格式输出ch的值,所以输出为a;%d表示以十进制代码的形式输出ch的值,为97;k没有对应的输出格式,不输出。在第二个语句中,首先输出"k=",然后以十进制代码输出k的值,为12。答案选择D选项。
5. 下列叙述中正确的是( )。
A. 栈是“先进先出”的线性表
B. 队列是“先进后出"的线性表
C. 循环队列是非线性结构
D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
【答案】D
【解析】有序的线性表既可采用顺序存储结构,也可以采用链式存储结构。A项错误,栈是“先进后出"的线性表B项错误,队列是“先进先出"的线性表;C项错误,循环队列是线性结构的,有序的线性表既可采用顺序存储结构,也可采用链式存储结构。
6. 某二叉树的中序序列为DCBAEFG,后序序列为DCBGFEA,则该二叉树的深度(根结点在第1层)为( )。
A. 5
B. 40
C.3
D. 2
【答案】B
【解析】二叉树的后序序列为DCBGFEA,则A为根结点。中序序列为DCBAEFG,则DCB为左子树结点,EFG为右子树结点。同理B为C父结点,C为D父结点。根据分析,可画出左子树,同理E为F父结点,F为G父结点。根据分析,可画出右子树,故二叉树深度为4层。答案选择B选项。
7. 设有定义:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,则以下赋值语句中正确的是( )。
A. s[0]=m[1];
B. s=m;
C.s.n=m.n;
D. s[2].x=m[2].x;
【答案】A
【解析】定义了结构体类型数组s,长度为2,结构体类型数组m,长度为2,并对数组m进行了初始化。同类型的结构体可以直接用变量名实现赋值,A项正确;数组名为数组首地址,地址常量之间不可以相互赋值,B项错误;数组名为地址常量不是结构体变量,不能引用成员,C项错误;s[2]与m[2]数组越界,D项错误。答案选择A选项。
8. 关于C语言标识符,以下叙述错误的是( )。
A. 标识符可全部由数字组成
B. 标识符可全部由下划线组成
C. 标识符可全部由小写字母组成
D. 标识符可全部由大写字母组成
【答案】A
【解析】C语言标识符只能由字母、数字、下划线构成,且只能以字母、下划线开头,故答案选择A选项。
9. 以下程序段中的变量已定义为int类型,则
sum=pAd=5;
pAd=sum++,++pAd,pAd++;
printf("%d",pAd);
程序段的输出结果是( )。
A. 6
B. 4
C. 5
D. 7
【答案】D
【解析】自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。执行pAd=sum++,sum++是后置自增,执行完后,pAd=5,sum=6。++pAd和pAd++语句中没有其他运算,即效果相同,pAd分别加1,两句执行完后,pAd7。答案选择D选项。
10. 设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=20,rear=15。现要在该循环队列中寻找最小值的元素,最坏情况下需要比较的次数为( )。
A. 5
B. 6
C.m-5
D. m-6
【答案】D
【解析】循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用队首指针指向队首元素的前一个位置,因此,从队首指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=20,rear=15时,队列中有m-20+15=m-5个元素,最坏情况下需要比较次数为m-6次。答案选择D选项。