【计算机类职业资格】二级C++笔试-407及答案解析.doc
《【计算机类职业资格】二级C++笔试-407及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-407及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-407 及答案解析(总分:87.00,做题时间:90 分钟)一、选择题(总题数:35,分数:62.00)1.下列关于关系运算的叙述中正确的是A) 投影、选择、连接是从二维表的行的方向来进行运算B) 并、交、差是从二维表的列的方向来进行运算C) 投影、选择、连接是从二维表的列的方向来进行运算D) 以上三种说法都不对(分数:2.00)A.B.C.D.2.下列关于类定义的说法中,正确的是A) 类定义中包括数据成员和函数成员的声明B) 类成员的缺省访问权限是保护的C) 数据成员必须被声明为私有的D) 成员函数只能在类体外进行定义(分数:2.00)A.B.C.D.3.下面程序的运行结果为
2、( )。#includeiostream.hvoid swap(int a,int b)int temp;temp=a+;a=b:b=temp;void main()int a=2,b=3;swap(a,b);couta“,“bendl;A) 2,3 B) 3,2 C) 2,2 D) 3,3(分数:2.00)A.B.C.D.4.有 3 个关系 R、S 和 T,如下: (分数:2.00)A.B.C.D.5.当使用 ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。A) ios base:in B) ios_base:binaryC) ios base:in|i
3、os base:out D) ios base:out(分数:2.00)A.B.C.D.6.对下列二叉树(分数:1.00)A.B.C.D.7.当使用 fstram 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为A) ios:in B) ios:out C) ios:int | ios:out D) 没有(分数:2.00)A.B.C.D.8.下列对字符数组进行初始化的语句正确的是A) chara=“Hello“;B) chara=H,e,l,l,o;C) char a5=“Hello“;D) chara25=“Hello“,“World“:(分数:1.00)A.B.C.D.9.一个
4、人有一个身份证号码,一个身份证号码对应一个人。实体“人”和实体“身份证号码”存在的联系是A) 一对一 B) 一对多 C) 多对多 D) 无定义(分数:2.00)A.B.C.D.10.当一个类的某个函数被说明为 virtual 时,该函数在该类的所有派生类中 _。A) 都是虚函数B) 只有被重新说明时才是虚函数C) 只有被重新说明为 virtual 时才是虚函数D) 都不是虚函数(分数:2.00)A.B.C.D.11.以下关于私有和保护成员的叙述中,不正确的是A) 私有成员不能被外界引用,保护成员可以B) 私有成员不能被派生类引用,保护成员在公有继承下可以C) 私有成员不能被派生类引用,保护成员
5、在保护继承下可以D) 私有成员不能被派生类引用,保护成员在私有继承下可以(分数:2.00)A.B.C.D.12.有如下程序:#includeiostreamusing namespace std;class TestClass1public:virtual void fun()cout“1“;class TestClass2: public TestClass1public:TestClass2()cout“2“;class TestClass3:public TestClass2public:virtual void fun()TestClass2:fun();cout“3“;int mai
6、n()TestClass 1 aa,*p;TestClass2 bb;TestClass3 cc;p=P-fun();return 0;执行上面程序的输出是( )。A) 1122 B) 2112 C) 2213 D) 2223(分数:2.00)A.B.C.D.13.在文件操作中,代表以追加方式打开文件的模式是A) ios: :ate B) ios: :app C) ios: :out D) ios: :trunc(分数:2.00)A.B.C.D.14.对于拷贝初始化构造函数,正确的描述是( )。A) 在 C+语言中,如果不自定义类的拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数B)
7、必须为每个类定义拷贝初始化构造函数C) 如果要使用拷贝初始化构造函数,则必须在类中先定义D) 当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造函数(分数:2.00)A.B.C.D.15.下面表示打开 c 盘存在文件 abc 而,输出的内容加在末尾的是( )。A) ofstream myf(“c:/abc“);B) ofstream myf(“c:/abc“,ios:outlios: trund);C) ofstream myf(“c:/abc“,ios:outlios: ate);D) ofstream myf(“c:/abc“,ios:out);(分数:1.00
8、)A.B.C.D.16.有如下类定义:class AAint a;public:int getRef()constreturn 其中的四个函数定义中正确的是A) B) C) D) (分数:1.00)A.B.C.D.17.面向对象程序设计思想的主要特征中不包括A) 继承性B) 功能分解,逐步求精C) 封装性和信息隐藏D) 多态性(分数:1.00)A.B.C.D.18.下述静态数据成员的特性中,( )是错误的。A) 说明静态数据成员时前边要加修饰符 staticB) 静态数据成员要在类体外进行初始化C) 引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D) 静态数据成员不是所有对象所共
9、用的(分数:2.00)A.B.C.D.19.如果重载不能重载的运算符会出现语法错误,下列不可以被重载的运算符是( )。A) B) * C) = D) sizeof(分数:2.00)A.B.C.D.20.有如下类定义:class Achar *a;public:A():a(0)A(char*aa)/把 a3 所指字符串拷贝到 a 所指向的存储空间a=_;strcpy(a,aa);A()deletea;横线处应填写的表达式是( )。A) Dew charstrlen(aa)+1 B) charstrlen(aa)+1C) charstrlen(aa)D) Dew charsizeof(aa)-1(
10、分数:2.00)A.B.C.D.21.对于长度为 n 的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确韵是( )。A) 冒泡排序为 n/2 B) 冒泡排序为 nC) 快速排序为 n D) 快速排序为 n(n-1)/2(分数:2.00)A.B.C.D.22.如果表达式- -x/y 中的“- -”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为A) operator /(x.operator- -( ),y); B) operator /(operator- -(x),y);C) x.operator- -( ).Operator /(y); D) y.
11、operator /(operator- -(x);(分数:2.00)A.B.C.D.23.对于算法的每一步,指令必须是可执行的。算法的( )要求算法在有限步骤之后能够达到预期的目的。A可行性 B有穷性C正确性 D确定性(分数:2.00)A.B.C.D.24.有如下程序:#includeiostreamusing namespace std;class Baseprotected:Base()coutBase;Base(char c)coutc;class Derived:public Basepublic:Derived(char c)coutc;int main()Derived d(De
12、rived);return 0;执行这个程序屏幕上将显示输出( )。A) Derived B) DerivedBaseC) BaseDerived D) DerivedDerived(分数:2.00)A.B.C.D.25.下列关于 new 运算符的描述中错误的是A) 使用运算符 new 创建对象数组时必须定义初始值B) 使用运算符 new 创建对象时,会调用类的构造函数C) 运算符 new 可以用来动态创建对象和对象数组D) 使用 new 运算符创建的对象可以使用运算符 delete 删除(分数:1.00)A.B.C.D.26.以下程序的输出结果是#includeiostreamhvoid m
13、ain( )inti,j,x=0;for(i=0;i 2;i+)x+;for(j=0;j 3;j+)if (j% 2)continue;x+;x+;cout “x=“ x;A) x=4B) x=8C) x=6D) x=12(分数:1.00)A.B.C.D.27.以下程序的输出结果是main()int a=0,i;for(i1;i5;i+)switch(i)case 0:case 3:a+2;case 1:case 2:a+=3;default:a+5;coutaendl;A) 31 B) 13 C) 10 D) 20(分数:2.00)A.B.C.D.28.面向对象的程序设计主要考虑的是提高软件
14、的A) 可靠性 B) 可重用性 C) 可移植性 D) 可修改性(分数:2.00)A.B.C.D.29.有以下程序main()int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,k,t;for(i=0;i3;i+)for(k=i+I;k4;k+) if(aiiAKK)NBSP;T=AII;AII=AKK;AKK=T;for(i=0;i4;i+)printf(“%d,“,a0i);程序运行后的输出结果是_。A) 6,2,1,1,B) 6,4,3,2,C) 1,1,2,6,D) 2,3,4,6,(分数:2.00)A.B.C.D.30.在软件开发中,需求分析阶段可以使用
15、的工具是( )。A) N-S 图 B) DFD 图C) PAD 图 D) 程序流程图(分数:2.00)A.B.C.D.31.以下数组定义中不正确的是 _。A) int a23B) int b 3=0;C) int c11=0;D) int d3=1,2,(1,2,31,2,3,4;(分数:2.00)A.B.C.D.32.软件生命周期的三个阶段是_ 、软件开发、运行维护。A) 软件需求 B) 软件设计 C) 软件测试 D) 软件分析(分数:2.00)A.B.C.D.33.有关析构函数的说法中错误的是A) 析构函数有且只有一个B) 析构函数无任何函数类型C) 析构函数和构造函数一样可以有形参D)
16、析构函数的作用是在对象被撤销时做清理工作(分数:2.00)A.B.C.D.34.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是A) 类 B 是类 A 的友元 B) 类 C 是类 A 的友元C) 类 A 是类 C 的友元 D) 以上都不对(分数:1.00)A.B.C.D.35.在一个被调用函数中,关于 rerun 语句的描述,_ 是错误的。A) 被调用函数中可以不用 return 语句B) 被调用函数中可以使用多个 return 语句C) 被调用函数中,如果有返回值,就一定要有 return 语句D) 被调用函数中,一个 return 语句可以返回多个值给调用函数(分数:
17、2.00)A.B.C.D.二、填空题(总题数:15,分数:25.00)36.程序设计分为面向过程程序设计和面向对象程序设计,具有继承性特点的程序设计称为 1 程序设计。(分数:2.00)填空项 1:_37.虚函数必须是类的 1。(分数:2.00)填空项 1:_38.在关系运算中, 1 运算是对两个具有公共属性的关系所进行的运算。(分数:2.00)填空项 1:_39.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includeiostreamh#include stringhvoid main()char a=“clanguage“,t;inti,j,
18、k;k=strlen(a);for(i:0;i=k-2;i+=2)for(j=i+2;j=k;_)if(_)t=ai; ai =aj; aj =t; couta;coutendl;(分数:1.00)填空项 1:_40.有以下程序#includeiostreamusing namespace std;class MyClasspublic:MyClass();MyClass();Static int s;void SetValue (int val);int MyClass:s=0;MyClass:MyClass()s+;void MyClass:SetValue(int Val)s=val;i
19、nt main()MyClass my3,*p;p=my;for(int k=0;k3;k+)p-SetValue(k+1);p+;coutMyClass:sendl;return 0;运行后的输出结果是_。(分数:1.00)填空项 1:_41.执行语句序列“int k=0; do k+; while(k*k20);”后,k 的值为 1。(分数:2.00)填空项 1:_42.要在屏幕上显示“Hello,world!”应执行语句 cout 1。(分数:2.00)填空项 1:_43.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_4
20、4.类 istream 的成员函数 1 从指定流中读取一个字符,成员函数 2 和 3 从指定流中读取多个字符。(分数:1.00)填空项 1:_填空项 1:_填空项 1:_45.下列程序的输出结果为-5/8-3/4,请将横线处的缺失部分补充完整。#includeiostreamusing namespace std;class Fraction/“分数“类public:Fraction(double a, double B) : num(A) , den(B) Fraction()Fraction operator -()_;f. num=-f. num;return f;void print(
21、)coutnum/den private:double num;double den; /分母;int main()Fraction f1(5,8), f2(3, 4);(-f1) print(); (-f2). print();return 0:(分数:2.00)填空项 1:_46.带一个 long 类型参数的流成员函数 1 按参数值设置 flags 状态变量,并返回以前设置的标志值。(分数:1.00)填空项 1:_47.按“先进后出”原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_48.若按层次顺序将一棵有 n 个节点的完全二叉树的所有节点从 1 到 n 编号,那么当 i 为
22、偶数且小于 n 时,节点 i 的右兄弟是节点 1,否则节点 i 没有右兄弟。(分数:1.00)填空项 1:_49.设一棵完全二叉树共有 839 个结点,则在该二叉树中有_个叶子结点。(分数:2.00)填空项 1:_50.若表达式(x+(y-z)*(m/n)+3 中的变量均为 double 型,则表达式值的类型为 1。(分数:2.00)填空项 1:_二级 C+笔试-407 答案解析(总分:87.00,做题时间:90 分钟)一、选择题(总题数:35,分数:62.00)1.下列关于关系运算的叙述中正确的是A) 投影、选择、连接是从二维表的行的方向来进行运算B) 并、交、差是从二维表的列的方向来进行运
23、算C) 投影、选择、连接是从二维表的列的方向来进行运算D) 以上三种说法都不对(分数:2.00)A.B.C. D.解析:解析 在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、选择,连接等运算前者是将关系看成是元组的集合,这些运算主要是从二维表的行的方向来进行的;后者主要是从二维表的列的方向来进行运算。周此,选项 A 与 B 错误,选项 C 正确。2.下列关于类定义的说法中,正确的是A) 类定义中包括数据成员和函数成员的声明B) 类成员的缺省访问权限是保护的C) 数据成员必须被声明为私有的D) 成员函数只能在类体外进行定义(分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 407 答案 解析 DOC
