【计算机类职业资格】二级C++笔试-405及答案解析.doc
《【计算机类职业资格】二级C++笔试-405及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-405及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-405 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是( )。A) 实体完整性规则 B) 参照完整性规则C) 对象完整性规则 D) 用户自定义完整性规则(分数:2.00)A.B.C.D.2.树是结点的集合,它的根结点数目是( )。A) 有且只有 1 B) 1或多于 1C) 0或 1 D) 至少 2(分数:2.00)A.B.C.D.3.若有说明语句char a=“It is mine“;char*p=“ It is mine“;则以下不正确的叙述是( )。
2、A) a+1表示的是字符 t的地址B) p指向另外的字符串时,字符串的长度不受限制C) P变量中存放的地址值可以改变D) a中只能存放 10个字符(分数:1.00)A.B.C.D.4.由于常对象不能被更新,所以( )。A) 利用常对象可以调用任何不改变对象值的成员函数B) 利用常对象只能调用静态成员函数C) 常对象的成员都是常成员D) 利用常对象只能调用它的常成员函数(分数:2.00)A.B.C.D.5.关于 continue语句叙述不正确的是A) continue语句用于循环体中,结束循环B) continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C) c
3、ontinue可以用于 if语句中D) continue语句不能代替 break语句(分数:2.00)A.B.C.D.6.在一个长度为 n的线性表中删除一个元素,最坏情况下需要移动的数据元素数目为 ( )。A) 1 B) n-1 C) n+1 D) n2(分数:1.00)A.B.C.D.7.有如下程序#includeiostreamhint func(int a,int b)return(a+b);void main()int x=2,y=5,z=8,r;r=func (func (x,y),z);coutr;该程序的输出的结果是A)12 B)13 C)14 D)15(分数:1.00)A.B.
4、C.D.8.有以下程序:#includeiostreamusing namespace std;class Complexpublic:Complex(double r=0,double i=0):re(r),im(i)double real()constreturn re;double imag()constreturn im;Complex operator+(Complex c)constreturn Complex(re+c.re,im+c.im);private:double re,im;int main()Complex a=Complex(1,1)+Complex(5);cout
5、a.real()+a.imag()iendl;return 0;程序执行后的输出结果是( )。A) 6+6i B) 6+1i C) 1+6i D) 1+1i(分数:2.00)A.B.C.D.9.在下列对字符数组进行初始化中,( )是正确的。A) char sl=“abcd“;B) char s23=“xy2“;C) char s3 =a,x,y;D) char s42 3=“xyz“,“mnp“;(分数:1.00)A.B.C.D.10.在软件开发中,需求分析阶段产生的主要文档是A) 可行性分析报告 B) 软件需求规格说明书C) 概要设计说明书 D) 集成测试计划(分数:2.00)A.B.C.D
6、.11.软件开发离不开系统环境资源的支持,其中必要的测试数据属于( )。A) 硬件资源 B) 通信资源 C) 支持软件 D) 辅助资源(分数:2.00)A.B.C.D.12.如果表达式-x/y 中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为A) operator/(x.operator-(),y);B) operator/(operator-(x),y);C) x.operator-().operator/(y);D) y. operator/(operator-(x);(分数:1.00)A.B.C.D.13.假设一个栈的输入序列为 1,2,3,4,5
7、,则下列序列中不可能是栈的输出序列的是_。A) 2,3,4,1,5 B) 5,4,1,3,2C) 2,3,1,4,5 D) 1,5,4,3,2(分数:2.00)A.B.C.D.14.下列程序段的输出结果是#includeiostreamhvoid fun(int * x,int * y)cout * X * y;*X=3;*y=4;void main()int x=1,y=2;fun(int*p=后 c指向A) a B) b C) c D) 无效地址(分数:2.00)A.B.C.D.21.数据库管理系统中负责数据模式定义的语言是( )。A) 数据定义语言 B) 数据管理语言C) 数据操纵语言
8、D) 数据控制语言(分数:2.00)A.B.C.D.22.已知在函数 func中语句 this-ff=0;与语句 ff=O;的效果完全相同。对于这一现象,下列表述中错误的是A)ff是某个类的数据成员,func 是该类的友元函数B)ff是某个类的数据成员,func 是该类的成员函数C)this-ff 和 ff是同一个变量D)func不是一个静态成员函数(分数:1.00)A.B.C.D.23.关于保护继承的有关对象的说法,正确的是( )。A) 基类成员对于子类的对象都是不可见的,子类成员的公有成员对子类的对象是可见的B) 子类成员对子类的对象是可见的,基类成员对子类的对象也都是可见的C) 基类成员
9、中的公有成员对子类的对象是可见的D) 基类成员对子类是不可见的(分数:2.00)A.B.C.D.24.以下不正确的定义语句是A) double x5 2.0,4.0,6.0,8.0,10.0;B) int y5 0,1,3,5,7,9;C) char c 1 1,2,3,4,5;D) char c 2 C ,/x10,/xa,/x8;(分数:2.00)A.B.C.D.25.既可重载为一元运算符,又可重载为二元运算符。A) “*” B) “=”C) “=”和“*” D) “*”和“*+”(分数:2.00)A.B.C.D.26.C语言中标点符号中表示一条预处理命令开始的是A) # B) ; C)
10、* D)(分数:2.00)A.B.C.D.27.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int型一维数组 a的前 5个元素。由此可知,变量 P的定义及初始化语句是( )。A) int *p=a; B) int p=a;C) *p=a; D) p=a;(分数:2.00)A.B.C.D.28.要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是( )。A) int vect=30,50,-88; B) int vect=30,50,-88,0,0);C) int ve
11、ct5=30,50,-88; D) int vect5=30,50,-88,0,0;(分数:2.00)A.B.C.D.29.有如下语句序列: int k=0: d0k+=5;cout$;wbile(k19); while(k-0)cout*; 执行上面的语句后,序列输出字符$和*的个数分别是 A) 4和 20 B) 5和 20 C) 4和 21 D) 5和 21(分数:2.00)A.B.C.D.30.以下非法的赋值表达式是A) n=(i=2,+i); B) j+;C) +(i+1); D) x=j0;(分数:1.00)A.B.C.D.31.程序的三种基本控制结构是 _。A) 过程、子程序和分程
12、序B) 顺序、选择和重复C) 递归、堆栈和队列D) 调用、返回和转移(分数:2.00)A.B.C.D.32.若有以下定义和语句:int s45,(*ps)5;ps=s;则对 s数组元素的正确引用形式是( )。A) ps+1 B) *(ps+3) C) ps02 D) *(ps+1)+3(分数:1.00)A.B.C.D.33.有如下程序#include iostreamusing namespace std;class Apublic:virtual void func1 () cout“A1“; void func2() cout“A2“; ;class B: public Apublic:v
13、oid func l() cout“B1“; void func2() cout“B2“; ;int main() A *p=new B;p-func1();p-func2();return 0;运行此程序,屏幕上将显示输出( )。A) B1B2 B) A1A2C) B1A2 D) A1B2(分数:2.00)A.B.C.D.34.下列语句的输出结果coutstrlen(“/t/,/065/xff/n“);A)5 B)14C)8 D)输出项不合法,无正常输出(分数:1.00)A.B.C.D.35.以下程序的执行结果为( )。#include iostream.hclass Sampleint n
14、;public:Sample(int i)n=i;operator+() n+; /前缀重载运算符operator+(int) n+=2; /后缀重载运算符void disp()cout“n=“nendl;void main()Sample A(2),B(2);A+;+B;Adisp 0;Bdisp 0;A) n=4n=3 B) n=1n=2C) n=3n=4D) n=5n=6(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:27.00)36.C+是一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是 1 性; 2 性和 3性。(分数:1.00)填空项 1:_填
15、空项 1:_填空项 1:_37.在关系数据库中,用来表示实体之间联系的是 1。(分数:2.00)填空项 1:_38.对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_39.写出下列程序的运行结果 1。#include iostream.h.#include fstream.h#include stdlib.hvoid main2fstream outfile, infile;outfile.open(“data.clat“, ios: out);if(!outfile)cout“Cant open the file.“end1;abort3;o
16、utfile“ 1234567890“end1;outfile“aaaaaaaaa“end1;outfile“*“end1;outfile.close4;infile.open(“data. dat “, ios: in);if(!infile)cout“Cant open the file.“end1;abort5;char line80;int I=0;while(!infile. eof6)I+;infile.getline(line, sizeof(line);coutI“:“lineend1;infile.close7;(分数:2.00)填空项 1:_40.数据库的逻辑模型设计阶段的
17、任务是将 1 转换成关系模式。(分数:2.00)填空项 1:_41.operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为 1 的。(分数:2.00)填空项 1:_42.int k=10;float a=3.5,b=6.7,c; c=a+k%3*(int)(a+b)%2/4; 则 c的值_。(分数:2.00)填空项 1:_43.在析构函数中调用虚函数时,采用 1 联编。(分数:2.00)填空项 1:_44.以下程序中函数 fun的功能是:构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数 d
18、isp的功能是显示输出该单链表中所有结点中的字符串。请填空完成函数disp。(分数:2.00)填空项 1:_45.下列程序的运行结果为_。#includeiostream, hvoid main( )int i;for(i=1; i6;i+)if(i=3) break:com“i=“iend1;(分数:2.00)填空项 1:_46.某二叉树中度为 2的结点有 18个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_47.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_48.若有 09 之间不同的 3个数构成一个三位数,下面程序将统计出共
19、有多少种方法,请填空完成此程序。#include iostreamusing namespace std;int main ( )int i,j,k;for(i = 1;i=9;i+)for (j=O; j=9; j+)if(_)continue;elsefor(k = 0;k=9;k+)if(_)count+;coutcountend1;return 0;(分数:1.00)填空项 1:_49.程序的结果为_。#include“iostream.h“templatetypename TT total(T*data) T s=0;while(* data) s+=*data+;return s;
20、int main( )int x = 2,4,6,8,0,12,14,16,18 ;couttotal(x);return 0;coutendl;(分数:1.00)填空项 1:_50.标识虚函数的关键字是 1。(分数:2.00)填空项 1:_二级 C+笔试-405 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是( )。A) 实体完整性规则 B) 参照完整性规则C) 对象完整性规则 D) 用户自定义完整性规则(分数:2.00)A.B.C. D.解析:2.树是结点的集合,它的
21、根结点数目是( )。A) 有且只有 1 B) 1或多于 1C) 0或 1 D) 至少 2(分数:2.00)A. B.C.D.解析:3.若有说明语句char a=“It is mine“;char*p=“ It is mine“;则以下不正确的叙述是( )。A) a+1表示的是字符 t的地址B) p指向另外的字符串时,字符串的长度不受限制C) P变量中存放的地址值可以改变D) a中只能存放 10个字符(分数:1.00)A.B.C.D. 解析:4.由于常对象不能被更新,所以( )。A) 利用常对象可以调用任何不改变对象值的成员函数B) 利用常对象只能调用静态成员函数C) 常对象的成员都是常成员D)
22、 利用常对象只能调用它的常成员函数(分数:2.00)A.B.C.D. 解析:解析 如果一个成员函数没有声明为常成员函数,即使没有改变对象本身的成员值,也不能被常对象调用,所以 A) 不正确。常对象除了口 J以调用静态成员函数外,还可以调用常成员函数,所以 B) 不正确。常对象中可以有非常成员函数,所以 C)也不正确。常对象只能调用对象的常成员函数,而不调用普通成员函数,故 D) 选项正确,5.关于 continue语句叙述不正确的是A) continue语句用于循环体中,结束循环B) continue语句用于循环体中,它使执行流跳出循环体中尚未执行的语句,并进行下一循环判断C) continu
23、e可以用于 if语句中D) continue语句不能代替 break语句(分数:2.00)A. B.C.D.解析:解析 考查 continue语句的运用。解题要点 continue 是跳出了本次循环中尚未执行的语句,重新执行循环,但没有终止循环。考点链接 注意 break、continue 和 goto语句的用法和区别。6.在一个长度为 n的线性表中删除一个元素,最坏情况下需要移动的数据元素数目为 ( )。A) 1 B) n-1 C) n+1 D) n2(分数:1.00)A.B. C.D.解析:解析 在一般情况下,要删除第 i个元素时,首先是从第 i+1个元素开始,直到第 n个元素之间共 n-
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 405 答案 解析 DOC
