首页 > 全部 > 二级C++ > 国家二级C++机试(选择题)模拟试卷180

国家二级C++机试(选择题)模拟试卷180

本单篇文档共8464字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 1655人下载
价格: 2.00 原价:¥9.00
收藏

国家二级C++机试(选择题)模拟试卷180

选择题

1.下列关于线性链表的叙述中,正确的是( )。(C)

A. 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

B. 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

C. 进行插入与删除时,不需要移动表中的元素

D. 以上都不正确

解析:线性表的链式存储结构称为线性链表。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

2.有如下说明:

int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;

则数值为9的表达式是( )。(B)

A. *P+9

B. *(P+8)

C. *P+=9

D. P+8

解析:本题考查指向数组的指针,本题中指针变量p指向数组a,那么,*p的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址,即p+8指向的是数组元素值为9,所以数值为9的表达式是术(p+8)。

3.对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为( )。(C)

A. log2n

B. n/2

C. n

D. n+1

解析:在进行顺序查找过程中,如果被查的元素是线性表中的最后一个元素,或者被查元素根本不在线性表中,则为了查找这个元素需要与线性表中的所有元素进行比较,这是顺序查找的最坏情况,需要比较的次数为n次。

4.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是(D)

A. 冒泡排序为n/2

B. 冒泡排序为n

C. 快速排序为n

D. 快速排序为n(n一1)/2

解析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。快速排序法也是一种交换类的排序方法,但由于它比冒泡排序法的速度快,因此,称为快速排序法。

5.对长度为n的线性表作快速排序,在最坏情况下,比较次数为( )。(D)

A. n

B. n-1

C. n(n-1)

D. n(n-1)/2

解析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。快速排序法也是一种互换类的排序方法,但由于它比冒泡排序法的速度快,因此,称为快速排序法。

6.开发大型软件时,产生困难的根本原因是( )。(A)

A. 大型系统的复杂性

B. 人员知识不足

C. 客观世界千变万化

D. 时间紧、任务重

解析:随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。

7.有如下类定义:

class AA{

int a;

Publc:

AA(int n=0):a(n){}

};

class BB:public AA{

public:

BB(int n)

};

其中横线处的缺失部分是( )。

B

解析:本题考查公用继承对基类成员的访问属性。公用继承中,基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有,本题中若要给派生类继承下来基类的私有成员赋值,那么只能调用基类的成员函数来对它赋值,成员变量默认的访问权限为私有,即a为私有变量。所以本题答案为B。

8.—个教师讲授多门课程,一门课程由多个教师讲授。则实体教师和课程间的联系是( )。(D)

A. 1:1联系

B. 1:m联系

C. m:1联系

D. m:n联系

解析:一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程的联系是多对多的联系。

9.已知函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是( )。(A)

A. void print() const;

B. const void print();

C. void const print();

D. void print(const);

解析:const成员函数表示该成员函数只能读类数据成员,而不能修改类成员数据。定义const成员函数时,把const关键字放在函数的参数表和函数体之间。

10.若x和y是程序中的两个整型变量,则下列if语句中正确的是( )。(A)

A. if(x==0)y=1; else y=2;

B. if(x==0)then y=1 else y=2;

C. if(x==0)y=1 else y=2;

D. if(x==0)y=1; else y=2;

解析:if else语句的形式为:

if(<条件>)<语句1>else<语句2>

所以符合以上形式的ifelse语句为选项A)。

11.有如下函数模板定义:

template<typename T1,hat a2,int a3>

T1 sum(T1 a1)

{return(a1+a2+a3);}

则以下调用中正确的是( )。(A)

A. sum<int,4,3>(5);

B. sum<4,3>(5);

C. sum<int,int,int>(5);

D. sum(5);

解析:本题考查的函数模板的使用,有时不能根据用户传进来的参数决定所有模板函数的值类型,如函数的返回值,还有用户希望自己指定参数类型,这时就需要显式地指出参数模板的类型,显示指定模板的类型格式为:返回值类型函数模板<参数类型表>(参数表)。

12.下列关于函数模板的描述中,正确的是( )。(D)

A. 函数模板是一个实例函数

B. 使用函数模板定义的函数没有返回类型

C. 函数模板的类型参数与函数的参数相同

D. 通过使用不同的类型参数,可以从函数模板得到不同的实例函数

解析:函数模板是一系列相关函数的模型或样板,这些函数的源代码相同,只是所针对的数据类型不同。数据类型成了函数模板的参数,所以函数模板是一种参数化类型的函数。

13.已知类Myclass的定义如下

class MyClass {

public:

void function1(MyClass&c){cout<<c.data;}

static void function2(MyClass&c){cout<<c.data;}

void function3(){cout<<data;}

staric void function4(){cout<<data;}

private:

int data;

};

其中有编译错误的函数是( )

本文档预览:3600字符,共8464字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(选择题)模拟试卷180

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号