计算机二级考试《C++语言程序设计》考试题2017
通过真题练习熟悉出题人的套路,掌握考试知识点。以下是本站小编搜索整理的一份计算机二级考试《C++语言程序设计》考试题,供参考练习,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!
一、选择题
1算法的空间复杂度是指( )。
A.算法在执行过程中所需要的计算机存储空间
B.算法所处理的数据量
C.算法程序中的语句或指令条数
D.算法在执行过程中所需要的临时工作单元数
参考答案:A
参考解析:一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
2每个C++程序中都必须有且仅有一个( )。
A.类B.预处理命令C.主函数D.语句
参考答案:C
参考解析:每个C++程序中都要有且仅有一个主函数,该函数是程序的入口,而语句、预处理命令和函数及类在程序中都可以有多个。
3对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是( )。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
参考答案:D
参考解析:首先知道有哪些排序的方法及各种排序方法在最坏情况下需要比较的次数,冒泡排序n(n-1)/2、希尔排序0(n1.5)、简单选择排序n(n-1)/2、堆排序O(nl0g2n)。
4数据库系统的三级模式不包括( )。
A.概念模式B.内模式C.外模式D.数据模式
参考答案:D
参考解析:数据库三级模式包括:概念模式、内模式、外模式。
5SQL语言又称为( )。
A.结构化定义语言
B.结构化控制语言
C.结构化查询语苦
D.结构化操纵语言
参考答案:C
参考解析:SQL语言的全称为StructuredQueryLanguage,它是一种介于关系代数与关系演算之间的结构化查询语言,是一种面向数据库的通用数据处理语言规范。它包含数据查询语言、数据操纵语言、数据定义语言和数据控制语言四个部分。
6数据处理的最小单位是( )。
A.数据B.数据元素C.数据项D.数据结构
参考答案:C
7假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。
~MyClass();B.~MyC|ass(intn);ass();D.~MyClass();
参考答案:D
参考解析:C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass()。第7题 笔记记录我的笔记(0) | 精选笔记(1)选择笔记标签:试题内容(1)答案解析(0)
8有以下结构体说明和变量的定义,且指针P指向变量a,指针q指向变量b。则不能把结点b连接到结点a之后的语句是( )。
structnode
{chardata;
structnode*next;
}a,b,*p=&a,*q=&b;
=q;=&b;C.p->next=&b;D.(*p)=q;
参考答案:B
9若有表达式“(w)?(--x):(++y)”,则其中与w等价的表达式是( )。
A.w==1B.w==0C.W!=1D.W!=0
参考答案:D
参考解析:本题考查三目运算等。条件表达式的格式为a?b;c。它的含义是,当a为真时,取b的值,否则取c的值。在C语言程序中“为真”即“不等于零”,“为假”即等于0。所以和w等价的表达式是w非零。
10有如下函数模板声明:
template
TMax(Ta,Tb){return(a>b)?a:b;}
下列对函数模板Max( )的调用中错误的是( )。
(3.5,4.5)(3.5,4)(35,4.5)(3.5,4)
参考答案:B
参考解析:本题考查函数模板的引用。引用模板函数和引用一般函数在语法形式上基本相同。需要注意的是,说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否调用函数模板中的对应形参。本题选项B中,编译系统从第一个参数“3.5”获得信息“double型数据”和从第二个参数获得信息“int型数据”,两者矛盾。
11C++语言中关于构造函数的说法正确的是( )。
A.构造函数的函数名不必和类名相同
B.构造函数只能有一个
C.每个类必定有构造函数
D.构造函数必有返回值
参考答案:C
参考解析:本题考查构造函数的概念。构造函数可以被重载,函数名必须和类名相同;构造函数可以有一个,也可以有多个;构造函数没有返回值。
12下列描述中,错误的是( )。
A.公有继承时基类中的公有成员在派生类中仍是公有成员
B.公有继承时基类中的保护成员在派生类中仍是保护成员
C.保护继承时基类中的公有成员在派生类中仍是公有成员
D.保护继承时基类中的保护成员在派生类中仍是保护成员
参考答案:C
参考解析:保护继承时,类成员的访问级别只能降低为保护模式,因此即使是基类的公有成员也被缩小为保护模式。
13结构化程序所要求的基本结构不包括( )。
A.顺序结构跳转C.选择(分支)结构D.重复(循环)结构
参考答案:B
参考解析:结构化程序设计的三种结构是顺序、分支和循环,不包括goto跳转,它只是分支结构的一种,也是一个关键字。
14在E—R图中,用来表示实体联系的图形是( )。
A.椭圆图B.矩形C.菱形D.三角形
参考答案:C
参考解析:E—R图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于表中字段),用菱形表示实体关系(等同于外键)。
15下列数据结构中,属于非线性结构的是( )。
A.循环队列B.带链队列C.二叉树D.带链栈
参考答案:C
参考解析:队列是一种允许在一端进行插入,而在另一端进行删除的线性表。栈也是一种特殊的线性表,其插入与删除只能在线性表的.一端进行。
16对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。
2nB.n/.n+1
参考答案:C
参考解析:对线性表进行顺序查找,最坏情况下,如果从表头进行查找,要查找到表尾才能得出结果,因此需要比较n次。
17下面程序的运行结果为( )。#include
voidswap(int&a,intb)
{
inttemp;
temp=a++;
a=b:
b=temp:
}
voidmain()
{
inta=2,b=3;
swap(a,b);
cout<
}
A.2,3B.3,2C.2,2D.3,3
参考答案:D
参考解析:本题考查引用调用,因为函数swap引用调用参数a,所以在swap函数中a的变化会改变主函数中a的值,即a自加1。但b的值并未改变。
18若有以下程序:
#include
usingnamespacestd;
classBase
{public:
Base()
{x=0;}
intx;};
classDerivedl:virtualpublicBase
{public:
Derivedl()
{x=10;}};
classDerived2:virtua11publicBase
{public:
Derived2()
{x=20;}};
classDerived:publicDerivedl,protectedDerived2{};intmain()
{Derivedobj;
cout<
return0;}
该程序运行后的输出结果是( )。
A.20B.30C.10D.0
参考答案:A
参考解析:本题考查虚基类的应用。虽然Derivedl和Derived2都是由共同的基类x派生而来的,但由于引入了虚基类,使得它们分别对应基类的不同副本。这时数据成员x只存在一份副本,不论在类Derivedl中修改,还是在Derived2中修改,都是直接对这唯一副本进行操作。本题程序执行语句“Derivedobj;”时.就会先调虚基类Base的构造函数,使得X=0,然后执行类Derivedl的构造函数使得x=10,再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。
19下列选项中不合法的标识符是( )。
.&aD.-00
参考答案:C
参考解析:标识符的概念只能由数字、字母和下画线组成,并且只能以字母和下画线开头,所以选项C不正确。
20考虑函数原型voidtest(inta,intb=7,charz='*'),下面的函数调用中,属于不合法调用的是( )。
(5);(5,8);(6,'#');(0,0,'*');
参考答案:C
参考解析:题中函数声明带有默认参数,那么在C选项的调用中,将会把字符型实参#赋值给整型形参b,这不符合参数传递规则。
21当需要将一个函数boolisnunlber(charc)声明为内联函数时,此内联函数的函数原型为( )。
boolisnumber(charc);
neboolisnumber(charc);
neboolisnumber(charc);
mboolisnumber(charc);
参考答案:C
参考解析:本题考查内联函数的相关知识点。函数原型应指出函数名、返回值类型以及在调用函数时提供的参数的个数和类型,因为要声明为内联函数,故应加inline关键字。
22有如下程序:
#include
usingnamespacestd;
intmain( ){
inta[6]={23,l5,64,33,40,58};
ints1,s2;
s1=s2=a[0];
for(int*p=a+1;p
if(sl>*p)s1=*P;
if(s2<*p)s2=*p;
}
cout<
return0;
}
运行时的输出结果是( )。
A.23B.58C.64D.79
参考答案:D
参考解析:根据题意,找出数组a中最大值sl和最小值s2并计算二者的和。
23以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误的原因是( )。
#include(iostream.h)
voidmain( )
{int*P,*q,a,b;
p=&a;
cout<<"inputa:";
cin>>P;
}
A.*P表示的是指针变量P的地址
B.P表示的是变量a的地址,而不是变量a的值
C.*P表示的是指针变量p的值
D.*P只能用来说明P是一个指针变量
参考答案:B
参考解析:p表示的是变量a的地址,定义后*P表示的是变量a的值。
24有以下程序:
classDate
{
public:
Date(inty,intm,intd);
{
year=Y:
month=m;
day=d;
}
Date(inty=2000)
{
year=y;
month=10;
day=1;
}
Date(Date&d)
{
year=;
month=h;
day=;
}
voidprint( )
{
cout<
}
private:
intyear,month,day;
};
Datefun(Dated)
{
Datetemp;
temp=d;
returntemp;
}
intmain( )
{
Datedatel(2000,1,1),date2(0,0,0);
Datedate3(datel);
date2=fun(date3);
return0;
}
程序执行时,Date类的拷贝构造函数被调用的次数是( )。
A.2B.3C.4D.5
参考答案:B
参考解析:本题考核拷贝构造函数。上述程序中,拷贝构造函数一共被调用了3次:第1次是在执行语句Datedate3(date1)时,用已经建立的对象date1对正在建立的对象date3进行初始化;第2次是在调用fun函数时,由于是传值调用,因此实参对象date3要对形参对象d进行初始化;第3次是在执行fun函数中的返回语句returntemp;时,系统初始化一个匿名对象时使用了拷贝构造函数。
-
全国计算机二级考试哪个最简单
全国计算机二级考试是全国计算机等级考试简称NCRE,是四个等级中的一个等级。包含语言程序设计,包括C、C++、Java、VisualBasic、WEB程序设计;数据库程序设计(包括VisualFoxPro、Access、MySql);MSoffice高级应用包括Word、EXCEL、PPT办公软件高级应用。计算机二...
-
计算机二级《MS Office》全真模拟题及答案
一、选择题1假设某台计算机的硬盘容量为20GB,内存储器的容量为128MB,那么,硬盘的容量是内存容量的()倍。A.200B.120C.160D.100参考答案:C参考解析:根据换算公式lGB=1024MB,故加GB=20*1024MB,因此,20*1024MB/128MB=160。2下列链表中,其逻辑结构属于非线性结构的是()。A....
-
2016年12月二级MSoffice冲关练习
练习是帮助我们巩固知识的最好方法,以下是小编为大家整理的2016年12月二级MSoffice冲关练习,希望对大家有帮助!1.下列叙述中正确的是()。A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据...
-
2015下半年全国计算机二级vf考试预测题(附答案)
一、选择题(每小题1分,共40分)1在VisualFoxPr0的查询设计器中对应的SQL短语WHERE的选项卡是()。A.字段B.连接C.筛选D.杂项本题共1分,参考答案:C系统解析:查询设计器界面包含字段、连接、筛选、排序依据、分组依据和杂项6个选项卡,其中筛选对应于WHERE短语,用于指定...