【计算机类职业资格】二级C++-176及答案解析.doc
《【计算机类职业资格】二级C++-176及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-176及答案解析.doc(19页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-176 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列叙述中正确的是_。(分数:2.50)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列线性链表的叙述中,正确的是_。(分数:2.50)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是_。(分数:2.50)A.叶
2、子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是_。(分数:2.50)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.某系统总体结构图如下图所示: (分数:2.50)A.7B.6C.3D.26.程序调试的任务是_。(分数:2.50)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是_。(分数
3、:2.50)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括_。(分数:2.50)A.概念模式B.内模式C.外模式D.数据模式9.有三个关系 R、S 和 T 如下: (分数:2.50)A.自然连接B差C交D并10.下列选项中属于面向对象设计方法主要特征的是_。(分数:2.50)A.继承B.自顶向下C.模块化D.逐步求精11.C+浯言是从早期的 C 语言逐渐发展演变而来。与 C 语言相比,它在求解问题方法上进行的最大改进是_。(分数:2.50)A.面向过程B.面向对象C.安全性D.复用性12.以
4、下选项中,合法的用户标识符是_。(分数:2.50)A.charB._2TestC.D/maxD.dat13.执行下列 3 条语句后,指针 cp 将指向_。 int a, b, *cp= int *ptr=cp; ptr=(分数:2.50)ApBcCbDa14.下列对变量的引用中,错误的是_。(分数:2.50)A.int a; int B.char a; char C.int a; int p=a;D.float a; float 15.下列列字符数组进行初始化的语句中,正确的是_。(分数:2.50)A.char a=“Hello“;B.char a=“H“, “e“, “l“, “l“, “o
5、“;C.char a5=“Hello“;D.char a25=“Hello“, “World“;16.在对函数进行原型声明时,下列语法成分中,不需要的是_。(分数:2.50)A.函数返回类型B.函数参数列表C.函数名D.函数体17.下列关于 this 指针的描述中,正确的是_。(分数:2.50)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针18.有如下类定义: class AA int a; public: AA(int n=0):a(n) ; Class BB:public AA p
6、ublic: BB(int n)_ ; 其中横线处缺失部分是_。(分数:2.50)A.:a(n)B.:AA(n)C.a(n);D.a=n19.为类 Matrix 重载下列运算符时,只能作为 Matrix 类成员函数重载的运算符是_。(分数:2.50)A.+B.=C.D.+20.下列关于模板的描述中,错误的是_。(分数:2.50)A.类模板的成员函数都是模板函数B.函数模板是一种参数化类型的函数C.满足一定条件时可以省略模板实参D.模板形参只能由关键词 typename 声明21.要利用 C+流实现输入/输出的各种格式控制中,必须在持续中包含的头文件是_。(分数:2.50)A.fstreamB.
7、istreamC.ostreamD.iomanip22.在下列选项中,不是 C+关键字的是_。(分数:2.50)A.classB.functionC.friendD.virtual23.若有定义语句“int i=2, j=3;”,则表达式 i/j 的结果是_。(分数:2.50)A.0B.0.7C.0.66667D.0.6666666724.下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是_。(分数:2.50)A.if(a=b) n=0;B.if(ab)|(bc) n=1; else n=0;C.if(ab)if(bc) n=1; else n=0; else n=0;D
8、.if(ab) n=1; else if(b=c) n=1;else if(bc)n=1; else n=0;25.有如下语句序列: int x=100, coutx“-“rendl; 已知其中变量 X 的地址为 0012FF7C,则执行该语句序列的输出结果为_。(分数:2.50)A.100100B.1000012FF7CC.0012FFTC100D.0012FFTC0012FFTC26.已知函数 f 的原型是“void f(int * x, int ”,下列调用语句中,正确的是_。(分数:2.50)A.f(v1, v2);B.f(v1, C.f(D.f(27.要定义一个引用变量 P,使之引用
9、类 MyClass 的一个对象,正确的定义语句是_。 class Sample public: Sample(int x):ref(x) / Private: Sample():ref(0) / Static int val=5; / Const int ref; / ; 上述程序段中,错误的语句是_。(分数:2.50)A.B.C.D.28.有如下两个类定义: class B private:void funl() protected:void fun2() public:void fun3() ; class D:public B protected:void fun4() ; 若 obj
10、是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:2.50)A.obj.fun1();B.obj.fun2();C.obj.fun3();D.obj.fun4();29.有如下类定义: Class MyClass public: _ private: int data; 若要为 MyClass 类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass 类的对象obj,则横线处的声明语句应为_。(分数:2.50)A.friend istreamB.friend istreamC.istreamD.istream30.已知主函数中通过如下语句序列实现对函数模板 s
11、wap 的调用_。 int a10, b10; swap(a, b, 10);(分数:2.50)A.templatetypename Tvoid swap(T a, T b, int size);B.templatetypename Tvoid swap(int size, T a, T b);C.templatetypename T1, typename T2void swap(T1 a, T2 b, int size);D.templateclass T1, class T2void swap(T1 a, T2 b, int size);31.若目前 D 盘根目录下并不存在 test.tx
12、t 文件,则下列打开文件方式不会自动创建 test.txt 文件的是_。(分数:2.50)A.ifstream fin; fin.open(“d:/test.txt“, ios_base:in);B.ifstream fio; fio.open(“d:/test.txt“, ios_base:out);C.ofstream fout; fout.open(“d:/test.txt“, ios_base:out);D.ofstream fout; fout.open(“d:/test.txt“, ios_base:app);32.已知类 MyClass 的定义如下: class Base pub
13、lic: void functionl(Base static void function2(Base void function3()coutdata; static void function4()coutdata; private: int data; ; 其中有编译错误的函数是_。(分数:2.50)A.function1B.function2C.function3D.function433.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass() cout“*“; MyClass(MyCla
14、ss MyClass() cout“; ; int main() HyClass a; HyClass b(a); return 0; 运行这个程序的输出结果是_。(分数:2.50)A.*#B.#*C.*#D.#*34.已知类 MyClass 的定义如下: class HyClass public: HyClass(int d)data=d; NyClass() private: int data; ; 下列对 MyClass 类对象数组的定义和初始化语句中,正确的是_。(分数:2.50)A.MyClass arrays2;B.MyClass arrays2=MyClass(5);C.MyCl
15、ass arrays2=MyClass(5), MyClass(6);D.MyClass*arrays2=new MyClass(2);35.有如下程序: class Base public: int data; ; class Derived1:public Base; class Derived2:protected Base; int main() Derived1 d1; Derived2 d2; d1.data=0; / d2.data=0; / return 0; 下列关于程序编译的描述中,正确的是_。(分数:2.50)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编
16、译错误D.皆有编译错误36.有如下程序: #includeiostream using naraespace std; class Base1 public: Base1(int d)coutd; Base1() ; class Base2 public: Base2(int d)coutd; Base2() ; class Derived:public Base1, Base2 public: Derived(int a, int b, int c, int d):Base1(b), Base2(a), b1(d), b2(c) private: int b1; int b2; ; int
17、main() Derived d(1, 2, 3, 4); retuen 0; 运行时的输出结果是_。(分数:2.50)A.1234B.2134C.12D.2137.有如下程序: #includeiostream using namespace std; class Base public: virtual void function1()cout“0“; void function2()cout“1“; ; class Derived:public Base public: void function1()cout“2“; void function2()cout“3“; ; int mai
18、n() Base*p=new Derived(); p-function1(); p-function2(); return 0; 运行时的输出结果是_。(分数:2.50)A.01B.21C.03D.2338.若为 Fraction 类重载前增 1 运算符“+”,应在类体中将其声明为_。(分数:2.50)A.FractionB.FractionC.friend FractionD.friend Fraction39.有如下程序: #includeiostream #includeiomnaip using namespace std; int main() coutsetfill(“*“)se
19、tw(6)123456; return 0; 运行时的输出结果是_。(分数:2.50)A.*123*456B.*123456*C.*123456D.12345640.有如下程序: #includeiostream using namespace std; void function2(int n); void function1(int n) if(n=0)return; function2(n-2); void function2(int n) if(n=0)return; function1(n-1); int main() function1(5); return 0; 运行时的输出结果
20、是_。(分数:2.50)A.function1 运行 1 次,function2 运行 2 次B.function1 运行 2 次,function2 运行 1 次C.function1 运行 2 次,function2 运行 3 次D.function1 运行 2 次,function2 运行 2 次二级 C+-176 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.下列叙述中正确的是_。(分数:2.50)A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对 解析:解析 所谓算法
21、是指解题方案的准确而完整的描述。但算法不等于程序,也不等于计算方法。故A 项错误。设计算法时要考虑可行性、确定性、有穷性和拥有足够的情报。B、C 皆错误,故选 D。2.下列线性链表的叙述中,正确的是_。(分数:2.50)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素 D.以上三种说法都不对解析:解析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。故 A、B
22、 错误。线性链表在插入与删除过程中不发生数据元素移动的现象,只需改变有关结点的指针即可,故 C 正确。3.下列关于二叉树的叙述中,正确的是_。(分数:2.50)A.叶子结点总是比度为 2 的结点少一个B.叶子结点总是比度为 2 的结点多一个 C.叶子结点数是度为 2 的结点数的两倍D.度为 2 的结点数是度为 1 的结点数的两倍解析:解析 概念理解题。在任意一棵二叉树中,度为 0 的结点(即叶子结点)总比度为 2 的结点多一个,故 B 正确。4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于应用软件的是_。(分数:2.50)A.学生成绩管理系统 B.C 语言编译程序C.
23、UNIX 操作系统D.数据库管理系统解析:解析 应用软件是为解决特定领域的应用而开发的软件。例如,事务处理软件、工程与科学计算软件、实时处理软件、嵌入式软件、人工智能软件等应用性质不同的各种软件。A 止确。5.某系统总体结构图如下图所示: (分数:2.50)A.7B.6C.3 D.2解析:解析 树的最大层次称为树的深度。图中的系统总体结构有 3 层,故深度为 3。6.程序调试的任务是_。(分数:2.50)A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误 解析:解析 程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C176 答案 解析 DOC
