2021年计算机二级6月模拟题带答案与解析.doc
试卷第PAGE1页共NUMPAGES1页
2021年计算机二级6月模拟题带答案与解析
姓名:_____________年级:____________学号:______________
题型
选择题
填空题
解答题
判断题
计算题
附加题
总分
得分
评卷人
得分
第1大题:单选题(共80题,共80分)
1.下列数据结构中,属于非线性结构的是()。
A.循环链表。
B.二叉链表。
C.循环队列
正确答案:B
本题解析:线性结构要满足两个条件:①有且仅有一个根结点;②每个结点最多有一个前驱,也最多有一个后继。线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构,属于线性结构,只是存储结构不连续;循环队列是一个头结点和尾结点互为前驱结点和后继结点的特殊的队列,属于线性结构;二叉链表是二又树的链式存储结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义,所以二叉链表是非线性结构。答案选择C选项。
2.对图书进行编目时,图书有如下属性:ISBN书号,书名,作者,出版社,出版日期。能作为关键字的是()。
A.ISBN书号
B.书名
C.作者,出版社
D.出版社,出版日期
正确答案:A
本题解析:关键字是指能惟一标识元组的属性或属性集合。书号可以惟一标识一本图书,本题中,书名、作者、出版社、出版日期等字段都不能惟一标识一本图书。答案选择A选项。
3.下列关于函数的说法中,正确的是()
A.C++允许在函数体中定义其他函数
B.所有的内联函数都要用inifne说明
C.仅函数返回类型不同的同名函数不能作为重载函数使用
D.有默认值的参数应从左至右逐个定义
正确答案:C
本题解析:C项中如果函数只是函数类型不同,而其他完全相同(参数个数及类型),则不能作为重载函数来使用,C项正确。C++不允许定义函数嵌套,即在一个函数体内不能包含有其他函数的定义。在C++中使用inline关键字来定义内联函数,inline关键字放在函数定义中函数类型之前,不过,编译器会将在类的说明部分定义的任何函数都认定为内联函数,即使它们没有用inline说明。如果一个函数中有多个参数,则默认参数应从右至左逐个定义。ABD三项表述有误。
4.下列关于运算符重载的说法,错误的是()。
A.New和delete运算符可以重载
B.重载运算符不能改变其原有的操作数个数
C.三元运算符”?:”不能重载
D.所有运算符既可以作为类的成员函数重载,又可以作为非成员函数重载
正确答案:D
本题解析:【解析】A项正确,除了new和delete这两个较为特殊的运算符外,任何运算符在作为成员函数重载时不得重载为静态成员函数。重载的运算符保持其原有的操作个数不变。除了。、.*、
*、::、?、:运算符外,其他运算符都可以重载。=、[]、()、以及所有的类型转换运算符只能作为成员函数重载。
5.下列关于函数模板的说法,正确的是()。
A.在定义模板参数时关键字ypename和class可以互换
B.函数模板的形参表中只能有虚拟类型参数。
C.调用函数模板时,模板实参永远不能省略
D.在函数模板的声明中,只能使用1个虚拟类型参数
正确答案:A
本题解析:template是一个声明模板的关键字,C++语言通过模板提供一种将类型参数化的机制,包括函数模板和类模板。在声明模板参数时,关键字typename与class可以互换,是等价的,A项正确。在函数模板形参表中不仅仅是虚拟类型参数,也可以有实际类型参数。在调用模板函数时可以只使用函数实参,而省略模板实参,但模板实参的省略并不是必然的,而是有条件的。函数模板的模板形参表中可以有多个参数。BCD三项错误。
6.有如下程序段:
int*a=newint[2];a[0]=0;a[1]=1;int**b=a:coutA.整数1
B.a[0]的地址
C.a[1]的地址
D.整数0
正确答案:D
本题解析:int*a=newint[2]指从堆里申请两个int空间,并将a指针指向其首地址。a的意思是获取a的地址,在这里a地址存放的值为0,**b的意思是表示b是双重指针类型,**b是对的地址的值的引用,所以**b的值为0。
7.张经理在对Word文档格式的工作报告修改过程中,希望在原始文档显示其修改的内容和状态