【计算机类职业资格】C++语言笔试-4及答案解析.doc
《【计算机类职业资格】C++语言笔试-4及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】C++语言笔试-4及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、C+语言笔试-4 及答案解析(总分:80.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:80.00)1.算法的时间复杂度是指( )。A) 算法的长度B) 执行算法所需要的时间C) 算法中的指令条数D) 算法执行过程中所需要的基本运算次数(分数:2.00)A.B.C.D.2.以下数据结构中,属于非线性数据结构的是( )。A) 栈 B) 线性表C) 队列 D) 二叉树(分数:2.00)A.B.C.D.3.数据结构中,与所使用的计算机无关的是数据的( )。A) 存储结构 B) 物理结构C) 逻辑结构 D) 线性结构(分数:2.00)A.B.C.D.4.内聚性是对模块功能强度的衡量,
2、下列选项中,内聚性较弱的是( )。A) 顺序内聚 B) 偶然内聚C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B.C.D.5.在关系中凡能惟一标识元组的最小属性集称为该表的键或码。二维表中可能有若干个键,它们称为该表的( )。A) 连接码 B) 关系码C) 外码 D) 候选码(分数:2.00)A.B.C.D.6.检查软件产品是否符合需求定义的过程称为( )。A) 确认测试 B) 需求测试C) 验证测试 D) 路径测试(分数:2.00)A.B.C.D.7.数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是( )。A) 控制流
3、 B) 加工C) 存储文什 D) 源和潭(分数:2.00)A.B.C.D.8.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码 15 被放到第( )个位置。A) 2 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.9.对关系 S 和关系 R 进行集合运算,结果中既包含关系 S 中的所有元组也包含关系 R 中的所有元组,这样的集合运算称为( )。A) 并运算 B) 交运算C) 差运算 D) 除运算(分数:2.00)A.B.C.D.10.下列选项中,不属于数据管理员(DBA) 职责的是( )。A)
4、 数据库维护B) 数据库设计C) 改善系统性能,提高系统效率D) 数据类型转换(分数:2.00)A.B.C.D.11.假定 MyClass 为一个类,则该类的拷贝构造函数的声明语句为( )。A) MyClass(MyClass x); B) MyClass(MyClassC) MyClass( D) MyClass(x);(分数:2.00)A.B.C.D.12.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false,则横线处应填上( )。Bool fun(char*str)int i=0,j=0;while(strj)j+;for(j-;iji+,j-);re
5、tun i_j;A) = B) | C) class Complexpublic:Complex(double r=0,double i=0):re(r),im(i) double real()constreturn re;double imag()const return im;Complex operator+(Complex c)constreturnComplex(re+c.re,im+c.im);private:double re,ira;int main()Complex a =Complex(1,1)+Complex(5);couta.real()+a.imag()iend1;r
6、eturn ();A) 6+i B) 2i+5 C) 6+1i D) 1i+5(分数:2.00)A.B.C.D.14.有以下程序段:#includeiostream.h#define MAX(x,y) (x)(y)?(x):(y)void main()int i,j,k;i=10;j= 15; k=MAX(i,j)* 10;coutkend1;A) 15 B) 100 C) 150 D) 10(分数:2.00)A.B.C.D.15.定义如下枚举类型: enumMonday,Tuesday, Wednesday,Thrusday, Friday=2;表达式Wednesda=Friday 的值是(
7、 )。A) false B) true C) 2 D) 异常(分数:2.00)A.B.C.D.16.以下程序运行后的输出结果是( )。#includeiostream.hvoid main()char a=“abbcabbcabbc“;int i =0,j=0,k=0;while(ai)if(ai=a)j+;if(ai=b)k+;i+;coutj“ “kend1;A) 2, 6 B) 3, 5. C) 4, 7 D) 3, 6(分数:2.00)A.B.C.D.17.假定 a=3, 下列程序的运行结果是( )。#includeiostream.hint fun(int n);void main(
8、)cout“Please input a number:“;int a,result =0;cina;result =fun(a);cout result end1;int fun(int n)int p= 1,result =0;for(int i=1 ;i=n;i+)p*=i;result +=p;return result;A) 4 B) 8 C) 9 D) 20(分数:2.00)A.B.C.D.18.下列关于指针的运算中,( )是非法的。A) 两个指针在一定条件下,可以进行相等或不等的比较运算B) 可以将一个空指针赋值给某个指针C) 一个指针可以加上两个整数之差D) 两个指针在一定条件
9、下可以相加(分数:2.00)A.B.C.D.19.下面程序的输出结果为( )。#includeiostream.hvoid main()int x;int /变量引用y=99;cout“x=“xend1;A) x=99 B) x=9 C) x=0 D) 异常(分数:2.00)A.B.C.D.20.下面程序的输出结果为( )。#includeiostream.hvoid fun(int a,int b)int temp;temp=a;a=b;b=temp;void main()int m,n;re=1;n=2;fun(m,n);eoutm“nend1;A) 12 B) 21C) 22 D) 程序
10、有错误(分数:2.00)A.B.C.D.21.存在定义 inta10, x, *pa;, 若 pa= B) x=*(a+1);C) x=*(pa+1); D) x=a1;(分数:2.00)A.B.C.D.22.对数组名作函数的参数,下面描述正确的是( )。A) 数组名作函数的参数,调用时将实参数组复制给形参数组B) 数组名作函数的参数,主调函数和被调函数共用一段存储单元C) 数组名作参数时,形参定义的数组长度不能省略D) 数组名作参数,不能改变主调函数中的数据(分数:2.00)A.B.C.D.23.关于静态成员的描述中,错误的是( )。A) 静态成员可分为静态数据成员和静态成员函数B) 静态数
11、据成员定义后必须在类体内进行初始化C) 静态数据成员初始化不使用其构造函数D) 静态数据成员函数中不能直接引用非静态成员(分数:2.00)A.B.C.D.24.下列关于构造函数的描述中,错误的是( )。A) 构造函数可以设置默认的参数B) 构造函数在定义类对象时自动执行C) 构造函数可以是内联函数D) 构造函数不可以重载(分数:2.00)A.B.C.D.25.有以下程序,输出结果( )。#include iostream.hvoid main()static int b3 = 1,2,3,4,5,6 ;b0 2=12,b121=18;cout *b“/t“*(b+1)“/t“*(b+ 1)“/
12、t“* (* (b+ 1 )+2) “/n“;cout b0 2+b12+b22 end1;(分数:2.00)A.B.C.D.26.下列程序的输出结果是( )。#includeiostreamusing namespace std;void fun(int int main()int n=50;fun(n);coutnend1;return 0;A) 0 B) 20 C) 50 D) 100(分数:2.00)A.B.C.D.27.下列说法中错误的是( )。A) 公有继承时基类中的 public 成员在派生类中仍是 public 的B) 公有继承时基类中的 private 成员在派生类中仍是 p
13、rivate 的C) 私有继承时基类中的 public 成员在派生类中是 private 的D) 保护继承时基类中的 public 成员在派生类中是 protected 的(分数:2.00)A.B.C.D.28.多继承的构造顺序可分为如下四步:所有非虚基类的构造函数按照它们被继承的顺序构造所有虚基类的构造函数按照它们被继承的顺序构造所有子对象的构造函数按照它们声明的顺序构造派生类自己的构造函数体这四个步骤的正确顺序是( )。A) B) C) D) (分数:2.00)A.B.C.D.29.下面关于构造函数和析构函数的描述中,错误的是( )。A) 析构函数可以声明为虚函数B) 对虚析构函数的调用可
14、以采用动态联编C) 一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D) 构造函数可以声明为虚函数(分数:2.00)A.B.C.D.30.设有以下定义和程序:#includeiostream.hclass A1public:void show 1()cout“ class A 1“end1;class A2:public A1public:void show20cout“class A2“end1;class A3:protected A2public:void show3()cout“class A 1 “end1;void main()A1 obj1;A2 obj2;A3
15、obj3;则以下不合语法的调用语句是( )。A) obj1.show1(); B) obj2.show1();C) obj3.show1(); D) obj2.show2();(分数:2.00)A.B.C.D.31.下列关于运算符重载的描述中,正确的是( )。A) 运算符重载可以改变运算符的操作数的个数B) 运算符重载可以改变优先级C) 运算符重载可以改变结合性D) 运算符重载不可以改变语法结构(分数:2.00)A.B.C.D.32.下面程序的输出结果是( )。#includeiostream#include math.husing namespace std;class pointpriva
16、te:double x;double y;public:point(double a, double b)x=a;y=b;friend double distances(point a,point b);double distances(point a,point b)return sqrt(a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);int main()point p1 (1,2);point p2(5,2);coutdistances(p1 ,p2)end1;return 0;A) 2 B) 4 C) 8 D) 16(分数:2.00)A.B.C.D.33.
17、有以下程序:#includeiostreamusing namespace std;class Rpublic:R(int rl,int r2)R1=r1;R2=r2;void print();void print()const;private:int R1,R2;void R:print()coutR 1 “,“R2end1;void R:print()constcoutR 1 “,“R2end1;int main()R a(5,4);const R b(20,52);b.print0;return 0;执行后的输出结果是( )。A) 5, 4 B) 4, 5C) 20, 52 D) 52,
18、 20(分数:2.00)A.B.C.D.34.下列程序的输出结果是( )。#includeiostreamusing namespace std;templatetypename TT fun(T a,T b) return(a=b)?a:b;int main()coutfun(3,6),fun(3.14F,6.28F)end1;return ();A) 0,3.14 B) 3,3.14C) 3,3 D) 3.14,3.14(分数:2.00)A.B.C.D.35.关于模板,下列说法不正确的是( )。A) 用类模板定义一个对象时,不能省略实参B) 类模板只能有虚拟类型参数C) 类模板本身在编译中
19、不会生成任何代码D) 类模板的成员函数都是模板函数(分数:2.00)A.B.C.D.36.如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用( )关键字来修饰。A) const B) static C) void D) class(分数:2.00)A.B.C.D.37.下列关于 this 指针的叙述中,正确的是( )。A) this 指针是一个隐含指针,它隐含于类的成员函数中B) 只有在使用 this 时,系统才会将对象的地址赋值给 thisC) 类的友元函数也有 this 指针D) this 指针表示了成员函数当前操作的数据所属的对象(分数:2.00)A.B.
20、C.D.38.下列有关函数重载的叙述中,错误的是( )。A) 函数重载就是用相同的函数名定义多个函数B) 重载函数的参数列表必须不同C) 重载函数的返回值类型必须不同D) 重载函数的参数可以带有默认值(分数:2.00)A.B.C.D.39.对于一个类定义,下列叙述中错误的是( )。A) 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B) 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C) 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D) 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(分数:2.00)A.B.C.D.40.下列
21、关于派生类构造函数和析构函数的说法中,错误的是( )。A) 派生类的构造函数会隐含调用基类的构造函数B) 如果基类中没有缺省构造函数,那么派生类必须定义构造函数C) 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D) 在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(分数:2.00)A.B.C.D.C+语言笔试-4 答案解析(总分:80.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:80.00)1.算法的时间复杂度是指( )。A) 算法的长度B) 执行算法所需要的时间C) 算法中的指令条数D) 算法执行过程中所需要的基本运算次数(分数:2.0
22、0)A.B.C.D. 解析:解析 算法的时间复杂度,是指执行算法所需要的工作量,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。2.以下数据结构中,属于非线性数据结构的是( )。A) 栈 B) 线性表C) 队列 D) 二叉树(分数:2.00)A.B.C.D. 解析:解析 二叉树属于非线性结构。栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作;队列可看作是插入在一端进行,删除在另一端进行的线性表。3.数据结构中,与所使用的计算机无关的是数据的( )。A) 存储结构 B) 物理结构C) 逻辑结构 D) 线性结构(分数:2.00)A.B.C. D.解析:解析 数据的
23、逻辑结构反映的是数据元素之间的逻辑关系,与使用的计算机无关。4.内聚性是对模块功能强度的衡量,下列选项中,内聚性较弱的是( )。A) 顺序内聚 B) 偶然内聚C) 时间内聚 D) 逻辑内聚(分数:2.00)A.B. C.D.解析:解析 内聚是从功能角度来衡量模块的联系,它描述的是模块内的功能联系。内聚有如下种类,它们之间的内聚度由弱到强排列:偶然内聚模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块为巧合强度模块。逻辑内聚这种模块把几种相关的功能组合在一起,每次被调用时,由传送给模块的参数来确定该模块应完成哪一种功能。时间内聚这种模块顺序完成一类相关功能,比如初始化模
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 语言 笔试 答案 解析 DOC
