欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】二级C++-197及答案解析.doc

    • 资源ID:1324021       资源大小:82KB        全文页数:22页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】二级C++-197及答案解析.doc

    1、二级 C+-197 及答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:62.50)1.已知类 Array 的定义如下: class Array public: int data2; Array(int n=0) int start; if(n=1)start=n-1; else start=n; data0=start; data1=start+1; ; 且有如下程序段: Array arr(2); coutarr.data0arr.data1; 则执行这个程序段的输出是(分数:2.00)A.23B.32C.12D.212.若执行语句:coutsetfill(

    2、“*“)setw(10)123“OK“endl 后将输出 _ 。(分数:2.00)A.*1230KB.123*OKC.*123*OKD.123*OK*3.下列关于运算符函数的描述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 operator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数D.在表达式中使用重载的运算符相当于调用运算符重载函数4.如果类 A 被说明成类 B 的友元,则 _ 。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得访问类 B 的成员D.类 B 不一定是类 A 的友元5

    3、.下列是重载乘法运算符的函数原型声明,其中错误的是_。(分数:2.00)A.MyClass operator*(double,double);B.MyClass operator*(double,MyClass);C.MyClass operator*(MyClass,double);D.MyClass operator*(MyClass,MyClass);6.下面关于 C+流的叙述中,正确的是_。(分数:2.00)A.cin 是一个输入流对象B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串”PQMN”的地址D.执行语句序列

    4、 char x80;cin.getline(x,80);时,若键入 Happy new year 则 x 中的字符串是“Happy“7.在数据结构中,从逻辑上可以把数据结构分成_。(分数:2.50)A.内部结构和外部结构B.线性结构和非线性结构C.紧凑结构和非紧凑结构D.动态结构和静态结构8.下列语句中,与语句“n=(ab?(bc?1:0);0);”的功能等价的是_。(分数:1.00)A.if(a=b)n=0;B.if(ab)|(bcn=1;else n=0;C.if(ab)if(bc)n=1;else n=;else n=0;D.if(ab)n=1;else if(b=c)n=1;else

    5、if(bc)n=1;else n=0;9.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是_。(分数:3.00)A.void fun(int a=90,double b=0.0);B.int fun(int a,double );C.void fun(double a,int );D.bool fun(int a,double b=0.0);10.有以下程序: #includeiostream using namespace std; class sample prlvate: int x; public: sample(int

    6、a) x=a; friend double square(sample s); ; double square(sample s) return s.x*s.X; int main() sample s1(20),s2(30); coutsquare(s2)endl; return 0; 执行结果是_。(分数:1.00)A.20B.30C.900D.40011.下列关于栈的描述正确的是_ 。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素12.下列

    7、关于队列的叙述中正确的是(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表13.设有两个字符串 p 和 q,求 q 在 p 中首次出现位置的运算称为_。(分数:1.00)A.连接B.模式匹配C.求子串D.求串长14.下列关于赋值运算符“=”重载的叙述中,正确的是(分数:2.00)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符15.已知语句 int m=10;则下列引用的表示中正确的是(分数

    8、:2.00)A.intB.intC.intD.float16.数据库设计的 4 个阶段是:需求分析、概念设计、逻辑设计和(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计17.检查软件产品是否符合需求定义的过程称为(分数:1.00)A.确认测试B.集成测试C.验证测试D.验收测试18.下列关于函数的描述中,错误的是_。(分数:1.00)A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板19.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:2.50)A.DB 包含 DBS 和 DBMSB.DBMS 包含

    9、 DB 和 DBSC.DBS 包含 DB 和 DBMSD.没有任何关系20.有如下程序: #includeiostream using namespace std; int main() int*p; *p=9; cout“the value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:1.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错21.一个类的友元函数能够访问该类的_。(分数:2.50)A.私有成员B.保护成员C.公用成员D.所

    10、有成员22.下列程序的运行结果为_。 # includeiostream.h templateclass TT class FF TT a1,a2,a3; public: FF(TT b1,TT b2,TT b3)a1=b1;a2=b2;a3=b3; TT Sum()return a1+a2+a3;); void main() FFintx(int(1.1),2.3),y(int(4.2),5,6); coutx.Sum()“y.Sum()encIl;(分数:2.50)A.6.1 15.2B.6 15C.6 15.2D.6.1 1523.有以下程序: #includeiostream usin

    11、g namespace std; class A private: int a; public: A(int i) a=i; void disp() couta“,“; class B private: int b; public: B(int j) b=j; void disp() coutb“,“; class C:public B,public A private: int c; public: c(int k):A(k-2),B(k+2) c=k; void disp() a:disp(); B:disp(); coutcendl; ; int main() C obj(10); ob

    12、j. disp(); return 0; 程序执行后的输出结果是_。(分数:1.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,1024.有如下程序: #include using name space std;classBpublic:B(int xx):x(xx)+count;x+=10;virtual void show()constcoutcountshow();delete ptr;return 0;运行时的输出结果是 。 A.1_120 B.2_120 C.1_20 D.2_20A B C D B解析 本题考查了类的继承。继承有三种方式,public

    13、公有、pnvate 私有和 protected 保护,本题都涉及到了。本题中类 D 公有继承类 B。在类 B 中又定义了虚函数,并且有保护类静态类型 count 及私有变量x。主函数中调用类 D,类 D 又继承了类 B,经过系统及调用,本题最终结果为 2120。(分数:2.00)A.1_120B.2_120C.1_20D.2_2025.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是_。(分数:1.00)A.不合法的运算符B.一元运算符C.无操作数的运算符D.二元运算符26.下面叙述中错误的是(分数:2.00)A.软件测试的目的是发现错误并改正错误B.对被调试的程序进行“错误定位

    14、”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性27.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具28.下列错误的定义语句是 _ 。(分数:2.00)A.int x3=0,1,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x4=1,2,3,1,2,3,1,2,3,1,2,3;D.int x3=1,2,3,4;29.下列程序的执行结果是_。 #include class Samplein

    15、t x,y;public:Sample()x=y=0;Sample(int a,int b)x=a;y=b;Sample()if(x=y)cout“x=y“endl;elsecout“x!=y“endl;void disp()cout“x=“x“,y=“yendl;void main()Sample s1(2,3);s1.disp(); A.x=2,y=2 B.x=3,y=3 C.x=2,y=3 D.x=3,y=2A B C D C解析 本题考查类的构造函数和析构函数。首先,Samples1(2,3);会调用含有两个参数的构造函数Sample(int a,int b)x=a;y=b;,disp

    16、()函数输出成员变量 x 和 y 的值 x=2,y=3;然后结束时调用析构函数,因为 x 和 y 值不等,故输出 x!=y。(分数:1.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3D.x=3,y=230.设有表示学生选课的 3 张表,学生 S(学号、姓名、性别、年龄、身份证号)、课程 C(课号、课名)、选课 SC(学号、课号、成绩),则表 SC 的关键字(键或码)为_。(分数:2.50)A.课号、成绩B.学号、成绩C.学号、课号D.学号、姓名、成绩31.在 C+中,cin 是一个_。(分数:2.50)A类B.对象C.模板D.函数32.下列关于派生类构造函数和析构函数的说法中,错

    17、误的是_。(分数:1.00)A.派生类的构造函数会隐含调用基类的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数33.将下面类 TestClass 中的函数 fun()的对象成员 n 值修改为 100 的语句应该是 _ 。 class TcstClass public: TestClass(int x)n=x; void SetNum(int n1)n=n1; private: int n; int fun() TestClass * ptr

    18、=new TestClass(45); _; (分数:2.00)A.TestClass(100)B.ptr-SetNum(100)C.SetNum(100)D.ptr-n=10034.若需要为 XV 类重载乘法运算符,运算结果为 XV 类型,在将其声明为类的成员函数时,下列原型声明正确的是_。(分数:2.00)A.XV operator *(XV,XV)B.XV *(XV)C.operator *(XV)D.XV operator *(XV);35.关于类和对象描述错误的是_。(分数:2.50)A.对象(Object)是现实世界中的客观事物,对象具有确定的属性B.类是具有相同属性和行为的一组对

    19、象的集合C.对象是类的抽象,类是对象的实例D.类是对象的抽象,对象是类的实例二、填空题(总题数:15,分数:26.50)36.下列程序的运行结果是 1。 #inclUde(iostreamh) Class A public: Virtual void use()cout“inA/n”; class B:public A public: virtual void use()cout“inB/n”;; class C:public B public: Virtual void use()cout“in C/n”; void main() A *obj; Obj=new C; Obj-use();

    20、delete obj; (分数:2.00)37.在面向对象方法中,类之间共享属性和操作的机制称为 _ 1_ 。 (分数:1.00)38.在面向对象方法中,信息隐蔽是通过对象的 _ 1_ 来实现的。 (分数:1.00)39.在有序列表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 12,所需的关键码比较次数为 _ 1_ 。 (分数:2.00)40.静态成员函数可以直接访问类的 1 成员,不能直接访问类的 2 成员。 (分数:2.00)41.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 _ 1_ 。 (分数:2.00)42.全面支持软件开发

    21、过程的软件工具集合被称为 1。 (分数:2.00)43.下面语句段的输出结果是 1。 int k=1,n=10,m=1; while(k=n) m*=2; n-; coutmendl; (分数:2.50)44.数据结构分为逻辑结构与存储结构,循环队列属于 _ 1_ 。 (分数:2.00)45.类 1 支持输入操作,类 2 支持输出操作。 (分数:1.00)46.下列程序编译错误,因为 add 函数返回值是一个引用,故对 return 返回值的要求是 1。 #includediostream.h int i+) coutsetw(3)i; coutendl; void main() print

    22、(4); (分数:2.00)二级 C+-197 答案解析(总分:89.00,做题时间:90 分钟)一、选择题(总题数:35,分数:62.50)1.已知类 Array 的定义如下: class Array public: int data2; Array(int n=0) int start; if(n=1)start=n-1; else start=n; data0=start; data1=start+1; ; 且有如下程序段: Array arr(2); coutarr.data0arr.data1; 则执行这个程序段的输出是(分数:2.00)A.23 B.32C.12D.21解析:2.若

    23、执行语句:coutsetfill(“*“)setw(10)123“OK“endl 后将输出 _ 。(分数:2.00)A.*1230K B.123*OKC.*123*OKD.123*OK*解析:解析 cout.fill()用于设置或返回输出的填充字符,默认是空格,fill()函数的设置一直有效,直到下一个 fill()函数改变该值为止。setw(int n)作用是设置输入输出的宽度,此设置只对一次输入或输出效,在完成一次数据的输入或输出后,宽度设置自动恢复为 0。注意:默认为输出数据在指定宽度内右对齐。3.下列关于运算符函数的描述中,错误的是_。(分数:1.00)A.运算符函数的名称总是以 op

    24、erator 为前缀B.运算符函数的参数可以是对象C.运算符函数只能定义为类的成员函数 D.在表达式中使用重载的运算符相当于调用运算符重载函数解析:解析 运算符函数可以定义为类的友元函数。所以 C 选项错误。4.如果类 A 被说明成类 B 的友元,则 _ 。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得访问类 B 的成员D.类 B 不一定是类 A 的友元 解析:解析 本题考查的是友元类的定义:类 A 为类 B 的友元类,则类 A 的所有成员函数都是类 B 的友元函数,但反之则不一定成立。5.下列是重载乘法运算符的函数原型声明,其

    25、中错误的是_。(分数:2.00)A.MyClass operator*(double,double); B.MyClass operator*(double,MyClass);C.MyClass operator*(MyClass,double);D.MyClass operator*(MyClass,MyClass);解析:解析 此题考查的是运算符重载。本题中,选项 A 重载运算符“*”使用的形参是两个 double,而系统中的“*”运算原本就能计算两个 double,所以这样违反了重载函数的原则,当执行 a*b 这样的表达式时,系统不能识别是否执行运算符重载函数。故答案是 A 选项。6.下

    26、面关于 C+流的叙述中,正确的是_。(分数:2.00)A.cin 是一个输入流对象 B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char*y=“PQMN“;couty;将输出字符串”PQMN”的地址D.执行语句序列 char x80;cin.getline(x,80);时,若键入 Happy new year 则 x 中的字符串是“Happy“解析:解析 此题考查的是 C+流的概念和 I/O 的格式化。cin 是类的对象,亦即输入流对象;ifstream是输入文件流类,不能定义一个输出流对象;C 选项中最后输出的是字符串“PQMN”;D 选项中 x 中字符串应该是“Hap

    27、py new year”。7.在数据结构中,从逻辑上可以把数据结构分成_。(分数:2.50)A.内部结构和外部结构B.线性结构和非线性结构 C.紧凑结构和非紧凑结构D.动态结构和静态结构解析:解析 逻辑结构反映数据元素之间的逻辑关系,线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。8.下列语句中,与语句“n=(ab?(bc?1:0);0);”的功能等价的是_。(分数:1.00)A.if(a=b)n=0;B.if(ab)|(bcn=1;else n=0;C.if(ab)if(bc)n=1;else n=;else n=0; D.if(ab)n=1;el

    28、se if(b=c)n=1;else if(bc)n=1;else n=0;解析:解析 根据三元表达式:?的规则,当 ab 时,结果为表达式 bc? 1:0其意义为 if(bc),则结果为 1。其表达的意义和 C 选项一样。9.若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是_。(分数:3.00)A.void fun(int a=90,double b=0.0);B.int fun(int a,double );C.void fun(double a,int ); D.bool fun(int a,double b=0.0);解析

    29、:解析 函数重载的原则就是至少要在参数个数或参数类型上有所不同,且如果函数只是函数类型不同的,而其他完全相同,也不能作为重载函数来使用。10.有以下程序: #includeiostream using namespace std; class sample prlvate: int x; public: sample(int a) x=a; friend double square(sample s); ; double square(sample s) return s.x*s.X; int main() sample s1(20),s2(30); coutsquare(s2)endl; r

    30、eturn 0; 执行结果是_。(分数:1.00)A.20B.30C.900 D.400解析:解析 本题考查友元函数的应用。程序中函数 square 是类 sample 的一个友元函数,它可以直接访问类 sample 的所有成员。它的功能是返回类 sample 的私有数据成员 x 的平方。所以程序的执行结果是900。11.下列关于栈的描述正确的是_ 。(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素 D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素解析:解析 栈是一种“先进后出”的数据结构,只能

    31、在一端插入或删除元素。12.下列关于队列的叙述中正确的是(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表 D.队列是先进后出的线性表解析:解析 队列是指允许在一端进行插入、而在另一端进行删除的线性表,选项 A 和选项 B 错误。允许插入的一端称为队尾,允许删除的一端称为队头。在队列中,最先插入的元素将最先能够被删除,反之,最后插入的元素将最后才能被删除。所以,队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则,选项 C 正确,选项 D 错误。13.设有两个字符串 p 和 q,求 q 在 p 中首次出现位置的运算称为_。(分数:

    32、1.00)A.连接B.模式匹配 C.求子串D.求串长解析:解析 字串的定位操作通常称为串的模式匹配,是各种串处理系统中最重要的操作之一。14.下列关于赋值运算符“=”重载的叙述中,正确的是(分数:2.00)A.赋值运算符只能作为类的成员函数重载 B.默认的赋值运算符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符解析:15.已知语句 int m=10;则下列引用的表示中正确的是(分数:2.00)A.int B.intC.intD.float解析:解析 本题考查 C+中引入的新类型:引用。引用表示变量的别名,使用方式

    33、同变量,效果同指针。引用不能用常数进行赋值,引用的类型必须一致,引用在使用之前必须初始化。16.数据库设计的 4 个阶段是:需求分析、概念设计、逻辑设计和(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计 解析:解析 数据库的生命周期可以分为两个阶段:一是数据库设计阶段,二是数据库实现阶段。数据库的设计阶段又分为 4 个子阶段,即需求分析、概念设计、逻辑设计和物理设计。因此,本题的正确答案是 D。17.检查软件产品是否符合需求定义的过程称为(分数:1.00)A.确认测试 B.集成测试C.验证测试D.验收测试解析:解析 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需

    34、求规格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。18.下列关于函数的描述中,错误的是_。(分数:1.00)A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板 解析:解析 本题考查函数的基础知识,函数可以没有返回值,没有参数,也可以是一个类的成员,函数可以定义为模板,即模板函数。19.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是_。(分数:2.50)A.DB 包含 DBS 和 DBMSB.DBMS 包含 DB 和 DBSC.DBS 包含 DB 和 DBMS D.没有任何关系解析:解析 数据库系统(DBS)

    35、是指在计算机系统中引入数据库后的系统,一般由数据库(DB)、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。20.有如下程序: #includeiostream using namespace std; int main() int*p; *p=9; cout“the value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:1.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错 解析:解析 先定义指针变量,然后给指针变量赋初

    36、值有三种情况:用取地址运算符“ public: FF(TT b1,TT b2,TT b3)a1=b1;a2=b2;a3=b3; TT Sum()return a1+a2+a3;); void main() FFintx(int(1.1),2.3),y(int(4.2),5,6); coutx.Sum()“y.Sum()encIl;(分数:2.50)A.6.1 15.2B.6 15 C.6 15.2D.6.1 15解析:解析 本题考查模板函数的应用,表达式 int(1.1)和 int(4.2)是将 1.1 和 4.2 强制转换为整型。23.有以下程序: #includeiostream usin

    37、g namespace std; class A private: int a; public: A(int i) a=i; void disp() couta“,“; class B private: int b; public: B(int j) b=j; void disp() coutb“,“; class C:public B,public A private: int c; public: c(int k):A(k-2),B(k+2) c=k; void disp() a:disp(); B:disp(); coutcendl; ; int main() C obj(10); ob

    38、j. disp(); return 0; 程序执行后的输出结果是_。(分数:1.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,10 解析:解析 本题中,派生类 C 具有多重继承关系,所以在派生类 C 的构造函数中应该包含基类 A 和类B 的成员初始化列表。24.有如下程序: #include using name space std;classBpublic:B(int xx):x(xx)+count;x+=10;virtual void show()constcoutcountshow();delete ptr;return 0;运行时的输出结果是 。 A.1

    39、_120 B.2_120 C.1_20 D.2_20A B C D B解析 本题考查了类的继承。继承有三种方式,public 公有、pnvate 私有和 protected 保护,本题都涉及到了。本题中类 D 公有继承类 B。在类 B 中又定义了虚函数,并且有保护类静态类型 count 及私有变量x。主函数中调用类 D,类 D 又继承了类 B,经过系统及调用,本题最终结果为 2120。(分数:2.00)A.1_120B.2_120 C.1_20D.2_20解析:解析 本题考查了类的继承。继承有三种方式,public 公有、pnvate 私有和 protected 保护,本题都涉及到了。本题中类

    40、 D 公有继承类 B。在类 B 中又定义了虚函数,并且有保护类静态类型 count 及私有变量 x。主函数中调用类 D,类 D 又继承了类 B,经过系统及调用,本题最终结果为 2120。25.将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是_。(分数:1.00)A.不合法的运算符B.一元运算符 C.无操作数的运算符D.二元运算符解析:解析 一元或二元运算符函数作为成员函数时,第一操作数就是对象本身,并不出现在参数表中,即第一操作数仅以 this 指针的形式隐含于参数表中,因此对于一元运算符参数表是空的;而对于二元运算符参数表中只有一个参数,它代表第二操作数。26.下面叙述中错误的

    41、是(分数:2.00)A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤C.程序调试通常也称为 DebugD.软件测试应严格执行测试计划,排除测试的随意性解析:解析 软件测试的目的是暴露错误,评价程序的可靠性。软件调试的目的是发现错误的位置并改正错误。软件测试和软件调试不是同一个概念。27.数据流程图(DFD 图)是 _ 。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具 解析:解析 数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。28.下列错误的定义语句是 _

    42、。(分数:2.00)A.int x3=0,1,1,2,3;B.int x43=1,2,3,1,2,3,1,2,3,1,2,3;C.int x4=1,2,3,1,2,3,1,2,3,1,2,3; D.int x3=1,2,3,4;解析:解析 本题考查数组的定义一维数组定义和初始化是允许省略行下标,不允许省略列下标,故选项 C 错误。29.下列程序的执行结果是_。 #include class Sampleint x,y;public:Sample()x=y=0;Sample(int a,int b)x=a;y=b;Sample()if(x=y)cout“x=y“endl;elsecout“x!=

    43、y“endl;void disp()cout“x=“x“,y=“yendl;void main()Sample s1(2,3);s1.disp(); A.x=2,y=2 B.x=3,y=3 C.x=2,y=3 D.x=3,y=2A B C D C解析 本题考查类的构造函数和析构函数。首先,Samples1(2,3);会调用含有两个参数的构造函数Sample(int a,int b)x=a;y=b;,disp()函数输出成员变量 x 和 y 的值 x=2,y=3;然后结束时调用析构函数,因为 x 和 y 值不等,故输出 x!=y。(分数:1.00)A.x=2,y=2B.x=3,y=3C.x=2,

    44、y=3 D.x=3,y=2解析:解析 本题考查类的构造函数和析构函数。首先,Samples1(2,3);会调用含有两个参数的构造函数 Sample(int a,int b)x=a;y=b;,disp()函数输出成员变量 x 和 y 的值 x=2,y=3;然后结束时调用析构函数,因为 x 和 y 值不等,故输出 x!=y。30.设有表示学生选课的 3 张表,学生 S(学号、姓名、性别、年龄、身份证号)、课程 C(课号、课名)、选课 SC(学号、课号、成绩),则表 SC 的关键字(键或码)为_。(分数:2.50)A.课号、成绩B.学号、成绩C.学号、课号 D.学号、姓名、成绩解析:解析 关键字是指

    45、属性或属性的组合,其功能是唯一地标识一个元组或数据,而 SC 中学号和课号的组合可以对元组进行唯一的标识。31.在 C+中,cin 是一个_。(分数:2.50)A类B.对象 C.模板D.函数解析:解析 C+提供了一套输入、输出流类的对象,它们是 cin、cout 和 cerr,对应 C 语言中的 3 个文件指针 stdin、stdout、stderr,分别指向终端输入、终端输出和标准出错输出(也从终端输出)。cin与一起完成输入操作,cout、cerr 与一起完成输出与标准错误输出。32.下列关于派生类构造函数和析构函数的说法中,错误的是_。(分数:1.00)A.派生类的构造函数会隐含调用基类

    46、的构造函数B.如果基类中没有缺省构造函数,那么派生类必须定义构造函数C.在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D.在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 解析:解析 在销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数。33.将下面类 TestClass 中的函数 fun()的对象成员 n 值修改为 100 的语句应该是 _ 。 class TcstClass public: TestClass(int x)n=x; void SetNum(int n1)n=n1; private: int n; int fun() TestClass * ptr=new TestClass(45); _; (分数:2.00)A.TestClass(100)B.ptr-SetNum(100) C.SetNum(100)D.ptr-n=100解析:解析 对象指针存放的是对象的地址,要访问对象指针所指向对象的成员。可以通过两种方式。(*指针).成员,或者是指针-成员。34.若需要为 XV 类重载乘法运算符,运算结果为


    注意事项

    本文(【计算机类职业资格】二级C++-197及答案解析.doc)为本站会员(周芸)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开