【计算机类职业资格】二级C++-180及答案解析.doc
《【计算机类职业资格】二级C++-180及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-180及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-180 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.循环队列B.带链队列C.二叉树D.带链栈2.下列数据结果中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.循环队列B栈C.队列D.二叉树3.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针4.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算
2、机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数5.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合6.下列选项中不属于结构化程序设计原则的是_。(分数:2.50)A.可封装B.自顶向下C.模块化D.逐步求精7.软件详细设计产生的图如下: (分数:2.50)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.数据库管理系统是_。(分数:2.50)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统9.在 E-R 图中,用来表示实体联系
3、的图形是_。(分数:2.50)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系 R、S 和 T 如下: (分数:2.50)A.选择B.投影C交D并11.已知函数 FA 调用 FB,若要把这两个函数定义在同一个文件中,则_。(分数:2.50)A.FA 必须定义在 FB 之前B.FB 必须定义在 FA 之前C.若 FA 定义在 FB 之后,则 FA 的原型必须出现在 FB 的定义之前D.若 FB 定义在 FA 之后,则 FB 的原型必须出现在 FA 的定义之前12.有如下两个类定义: class AA; class BB AA v1, *v2; BB v3; Int *v4; ; 其中有一个成
4、员变量的定义是错误的,这个变量是_。(分数:2.50)Av1Bv2Cv3Dv413.有如下类定义: class XX int xdata; public: XX(int n=0):xdata(n) ; class YY:public XX int ydata; public: YY(int m=0, int n=0):XX(m), ydata(n) ; YY 类的对象包含的数据成员的个数是_。(分数:2.50)A.1B.2C.3D.414.下列有关运算符函数的描述中,错误的是_。(分数:2.50)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只
5、能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数15.下列关于模板形参的描述中,错误的是_。(分数:2.50)A.模板形参表必须在关键字 template 之后B.模板形参表必须用括弧()括起来C.可以用 class 修饰模板形参D.可以用 typename 修饰模板形参16.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是_。(分数:2.50)A.ios_base:curB.ios_base:begC.ios_base:outD.ios_base:end17.下列字符串可以用作 C+标识符的是_。(分数:2.50)A.2009vatB.gotoC.tes
6、t-2009D._12318.下列枚举类型的定义中,包含枚举值 3 的是_。(分数:2.50)A.enum test RED, YELLOW, BLUE, BLACK;B.enum test RED, YELLOW=4, BLUE, BLACK;C.enum test RED=-1, YELLOW, BLUE, BLACK;D.enum test RED, YELLOW=6, BLUE, BLACK;19.有如下程序段: int i=1; while(1) i+; if(i=10) break; if(i%2=0) cout“*“; 执行这个程序段输出字符*的个数是_。(分数:2.50)A.1
7、0B.3C.4D.520.已知数组 arr 的定义如下: int arr5=1, 2, 3, 4, 5; 下列语句中输出结果不是 2 的是_。(分数:2.50)A.cout*arr+1endl;B.cout*(arr+1)endl;C.coutarr1endl;D.cout*arrendl;21.计算斐波那契数列第 n 项的函数定义如下: int fib(int n) if(n=0) return 1; else if(n=1) return 2; else return fib(n -1)+fib(n-2); 若执行函数调用表达式 fib(2),函数 fib 被调用的次数是_。(分数:2.5
8、0)A.1B.2C.3D.422.Sample 是一个类执行下面语句后,调用 Sample 类的构造函数的次数是_。 Sample a2, *p=new Sample;(分数:2.50)A.0B.1C.2D.323.下列关于虚基类的描述中,错误的是_。(分数:2.50)A.使用虚基类可以消除由多继承产生的二义性B.构造派生类对象时,虚基类的构造函数只被调用一次C.声明“class B:virtual public A”说明类 B 为虚基类D.建立派生类对象时,首先调用虚基类的构造函数24.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算是_。(分数:2.50)A.不合法的运算符B.一
9、元运算符C.无操作数的运算符D.二元运算符25.有如下模板声明: templatetypename T1, typename T2 class A; 下列声明中,与上述声明不等价的是_。(分数:2.50)A.templateclass T1, class T2class A;B.templateclass T1, typenarne T2class A;C.templatetypename T1, class T2class A;D.templatetypename T1, T2class A;26.下列关于 C+流的描述中,错误的是_。(分数:2.50)A.cout“A“表达式可输出字符 A
10、B.eof()函数可以检测是否到达文件尾C.对磁盘文件进行流操作时,必须包含头文件 fstreamD.以 ios_base:out 模式打开的文件不存在时,将自动建立一个新文件27.有如下程序: #includeiostream using namespace std; class Toy public: Toy(char*_n)strcpy(name, _n); count+; Toy()count-; char* GetName()return name; static int getCount()return count; private: char name10; static int
11、 count; ; int Toy:count=0; int main() Toy t1(“Snoopy“), t2(“Mickey“), t3(“Barbie“); coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3D.运行时出错28.有如下程序: #includeiostream using namespace std; class A public: A(int i):r1(i) void print()cout“E“r1“-“; void print() constcout“C“r1*r1“-“; private
12、: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输出结果是_。(分数:2.50)A.运行时出错B.E2-C16-C.C4-C16-D.E2 E4-29.有如下程序: #includeiostream using namespace std; class Name char name20; public: Name() strcpy(name, “); cout“?“; Name(char *fname) strcpy(name, fname); cout“?“; ; int
13、 main() Name names3=Name(“张三“), Name(“李四“); return 0; 运行此程序输出符号?的个数是_。(分数:2.50)A.0B.1C.2D.330.有如下程序: #includeiostream using namespace std; public: AA()cout“1“; ; class BB:public AA int k; public: BB():k(0)cout“2“; BB(int n):k(n)cout“3“; int main() BB b(4), c; return 0; 运行时的输出结果是_。(分数:2.50)A.1312B.13
14、2C.32D.141231.有如下程序: #includeiostream us ing namespace std; class C1 public: C1()cout1; ; Class C2:public C1 public: C2()cout2; ; int main() C2 cb2; C1 *cb1; return 0; 运行时的输出结果是_。(分数:2.50)A.121B.21C.211D.1232.有如下程序: #includeiostream us ing namespace std; class Publication/出版物类 char name30; public: P
15、ublication(char *name=“未知名称“) strcpy(this-name, name); const char *getName()constreturn name; virtual const char *getType()constreturn“未知类型“; ; class Book:public Publication/书类 public: Book(char *name):Publication(name) virtual const char *getType()constreturn“书“; ; void showPublication(Publication
16、int main() Book book(“精彩人生“); showPublication(book); return 0; 运行时的输出结果是_。(分数:2.50)A.未知类型:未知名称B.未知类型:精彩人生C.书:未知名称D.书:精彩人生33.下列关于运算符重载的描述中,错误的是_。(分数:2.50)A.:运算符不能重载B.类型转换运算符只能作为成员函数重载C.将运算符作为非成员函数重载时必须定义为友元D.重载运算符应完成“下标访问”操作34.有如下程序: #includeiostream #includeiomanip using namespace std; int main() in
17、t s=123, 234; coutrightsetfill(“*“)setw(6); for(int i=0; i2; i+)coutsiendl; return 0; 运行时的输出结果是_。(分数:2.50)A.123234B.*123234C.*123*234D.*123234*35.有如下类定义: class A char *a; public: A():a(0) A(char *aa) /把 aa 所指字符串复制到 a 所指向的存储空间 a=_; strcpy(a, aa); strcpy(a, aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.n
18、ew charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-136.已知类 MyClass 中有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。若语句序列 MyClass x(4.2), y(6.5), z(0.0); z=8.1-y; y=x-2.8; 能够正常运行,运算符“operator-”应该在类中声明为_。(分数:2.50)A.friend MyCIass operator-(MyClassB.friend MyClass operator-(MyClass, My
19、Class);C.friend MyClass operator-(MyClass, MyClassD.friend MyClass operator-(MyClass37.模板函数的真正代码是在_时产生的。(分数:2.50)A.声明函数B.定义函数C.调用函数D.运行执行函数38.使用 setw 操作符对数据进行格式输出时,应包含头文件_。(分数:2.50)A.iostreamB.fstreamC.stdioD.iomanip39.有如下程序: #includeiostream using namespace std; class Base public: Base()id=0; int i
20、d; ; class Derived1:virtual public Base public: Derived1()id+=10; ; class Derived2:virtual public Base public: Derived2()id+=20; ; class Derived:public Derived1, public Derived2 ; int main() Derived obj; coutobj.idendl; return 0; 其运行结果是_。(分数:2.50)A.0B.10C.20D.3040.与语句“coutendl;”不等价的是_。(分数:2.50)A.cou
21、t“n“B.cout“/12“C.cout“/xA“D.cout“/0“二级 C+-180 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列数据结构中,属于非线性结构的是_。(分数:2.50)A.循环队列B.带链队列C.二叉树 D.带链栈解析:解析 线性结构满足两个条件:有且仅有一个根结点;每个结点最多有一个前什,也最多一个后件,栈和队列均满足这阳个条件,属于线性结构。二叉树属于非线性结构,因为除了叶子结点外,每个结点都可以有两个后件,不满足线性表的条件。2.下列数据结果中,能够按照“先进后出”原则存取数据的是_。(分数:2.50)A.
22、循环队列B栈 C.队列D.二叉树解析:解析 栈是一种线性表,其插入或者删除运算都在表的一端进行,即按照“先进后出”原则存取数据。3.对于循环队列,下列叙述中正确的是_。(分数:2.50)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析 在循环队列中用队尾指针(rear)指向队列中的队尾元素,用队头指针(front)指向队头元素的前一个位置。在循环队列结构中,一般情况下 rearfront,当存储空间的最后一个位置已被使用,而要进行入队时,只需要存储空间的第一个位置空闲,便可将元素加入到第一个位置,即将存
23、储空间的第一个位置为队尾。此时便有 frontrear。4.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析 算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。5.软件设计中划分模块的一个准则是_。(分数:2.50)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 耦合性和内聚性是模块独立性的两个标准。在程序结构中,各模块的内聚性越强则耦合性就越弱。一般较为优秀的软件设计,应尽量做到高内聚、低耦合。6.下列选项中不属
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C180 答案 解析 DOC
