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

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

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

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

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

    1、二级 C+笔试 313及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列函数的运行结果是( )。 #includeiostream.h int add(int a,int b); void main() extern int x,y; coutadd(x,y)endl; int x(20),y(5); int add(int a,int b) int s=a+b; return s; (分数:2.00)A.25B.30C.20D.152.在数据库设计中,将 E-R图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B

    2、.逻辑设计阶段C.概念设计阶段D.物理设计阶段3.下列程序的运行结果为( )。 #includeiostream.h void main() int a=2; int b=a+1; couta/bendl; (分数:2.00)A.0.66667B.0C.0.7D.0.666666664.下列程序运行后的输出结果是( )。 #includeiostream.h void fun(int,int,int*); void main() int x,y,z; fun(5,6, fun(7,x, fun(x,y, coutx“,“y“,“zendl; void fun(int a,int b,int *

    3、c) b+=a; *c=b-a; (分数:2.00)A.5,5,5B.6,6,6C.5,6,7D.7,7,75.下列关于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则6.下列程序的输出的结果是( )。 #includeiostream.h void main() int i,k,a10,p3; k=5; for(i=0;i9;i+)ai=i; for(i=0;i3;i+)pi=ai*(i+1); for(i=0;i3;i+)k+=p

    4、i*2; coutk; (分数:2.00)A.20B.21C.22D.237.下列关于模板的叙述中,错误的是( )。(分数:2.00)A.模板声明中的第一个符号总是关键字 templateB.在模板声明中用“”和“”括起来的部分是模板的形参表C.类模板不能有数据成员D.在一定条件下函数模板的实参可以省略8.下列运算符中,( )运算符在 C+中不能重载。(分数:2.00)A.B.Fraction operator-(Practio;C.FractionD.Fraction10.以下都是 C+语言标识符的是( )。(分数:2.00)A.dsfa,df4,fB.huhj,a,k2C.3k,hj_9D

    5、._ok,jk,k811.有如下程序: #include iostream using namespace std; int main() int *p; *p = 9; cout “The value at p: “ *p; return 0; 编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错12.下列程序输出的结果是( )。 #includestdio.h fun1(char a,char b)char c;c=a;a=

    6、b;b=c; fun2(char*a,char b)char c;c=*a;*a=b;b=c; fun3(char*a,char*b)char c;c=*a;*a=*b;*b=c; void main() char a,b; a=A;b=B;fun1(a,b);putchar(a);putchar(b); a=A;b=B;fun2(putchar(a);putchar(b); a=A;b=B;fun3(putchar(a);putchar(b); putchar(/n); (分数:2.00)A.BABBABB.ABBBBAC.ABBABAD.ABABBA13.在 C+程序中,如果要求通过函数来

    7、实现一种简单的功能,并且要求尽可能加快程序的执行速度,则应该选用( )。(分数:2.00)A.内联函数B.重载函数C.递归调用D.嵌套调用14.下列程序的输出结果是( )。 #includeiostream.h main() int m=5; if(m+5) coutm; else coutm-; (分数:2.00)A.7B.6C.5D.415.有如下程序: #include iostream using namespace std; class Base public: void fun() cout“Base:fun“endl; ; class Derived : public Base

    8、public: void fun() _ cout“Derived:fun“endl; ; int main() Derived d; d.fun(); return 0; 已知其执行后的输出结果为: Base:fun Derived:fun 则程序中下划线处应填入的语句是( )。(分数:2.00)A.Basfun();B.Base:fun();C.Base-fun();D.fun();16.在 ios中提供控制格式的标志位中,( )是转换为十六进制形式的标志位。(分数:2.00)A.hexB.octC.decD.left17.类模板 templateclass Tclass x.,其中友元函

    9、数 f对特定类型 T(如 int),使函数f(xint)成为 xint模板类的友元,则其说明为( )。(分数:2.00)A.friend voidf();B.friend voidf(xT);C.friend voidA:f();D.friend void CT:f(xT);18.下列程序的输出结果是( )。 #ificludeiostream using namespace std; int main() cout.fill(*); cout.width(5); coutoct100endl; return 0; (分数:2.00)A.*100B.*144C.100*D.144*19.线性表

    10、进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序20.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精C.模块化D.可复用21.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD22.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽

    11、象D.类和对象的关系是一种数据类型与变量的关系23.只能作为成员函数重载的是( )。(分数:2.00)A.=B.+C.*D.new24.有如下类定义: class Foo public: Foo(int v) : value(v) / Foo() / private: Foo() / int value = 0; / ; 其中存在语法错误的行是( )。(分数:2.00)A.B.C.D.25.由于常对象不能被更新,因此( )。(分数:2.00)A.通过常对象只能调用它的常成员函数B.通过常对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可以调用任何不改变对象值的成员函数26.实现

    12、运行时的多态性要使用( )。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数27.下列有关指针的用法中错误的是( )。(分数:2.00)A.int i;int *p=B.int i;int *p;i=*p;C.int *p;p=0;D.int i=5;int *p;p=28.结构化分析方法是面向( )的自顶向下、逐步求精进行需求分析的方法。(分数:2.00)A.对象B.数据结构C.数据流D.目标29.有如下类定义: class AA int a; public: int getRef()const return / int getValue()const return a; /

    13、 void set(int n)const a=n; / friend void show(AA aa)const couta; / ; 其中的四个函数定义中正确的是( )。(分数:2.00)A.B.C.D.30.下列关于结构化程序设计原则和方法的描述中,错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟31.下列选项中,不是算法的基本特征的是( )。(分数:2.00)A.完整性B.可行性C.有穷性D.拥有足够的情报32.软件需求分析

    14、阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审C.总结D.都不正确33.下列程序的运行结果为( )。 #includeiostream.h void main() int a=2; int b=a+1; couta/bendl; (分数:2.00)A.0.66667B.0C.0.7D.0.6666666634.有如下程序: int x=3; do x-=2; coutx; while(!(-x); 执行这个程序的输出结果是( )。(分数:2.00)A.1B.30C.1-2D.死循环35.用链表表示线性表的优点是(

    15、)。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序和逻辑顺序相同二、B填空题/B(总题数:15,分数:30.00)36.数据库系统的主要特点为数据集成性、数据的高 1 和低冗余性、数据独立性和数据统一管理和控制。(分数:2.00)填空项 1:_37.数据库的逻辑模型设计阶段的任务是将 1 转换成关系模式。(分数:2.00)填空项 1:_38.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_39.最简单的交换排序方法是 1。(分数:2.00)填空项 1:_40.在链表的运算过程中,能够使空

    16、表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_41.插入排序算法的主要思想:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。Insert类的成员函数 sort()实现了插入排序算法,请填空。 class Insert public: Insert(int *b0,int n0):b(b0),n(n0);/参数 b0是某数组首地址,n 是数组元素个数 void sort() /此函数假设已排序序列初始化状态只包含 b0,未排序序列初始为 b1.bn-1 for(int i=1;in;+i) int t=bi; int j; for(_;j0;-j) if(t=b

    17、j-1) break; bj=bj-1; bj=t; (分数:2.00)填空项 1:_42.若有函数 fun(x,y),并且已经使函数指针变量 p指向函数 fun,则使用 p调用函数 fun的方法是_。(分数:2.00)填空项 1:_43.阅读下列程序: #includeiostream.h void fun(int n) int x(5); static int y(10); if(n0) +x; +y; coutx“,“yendl; void main() int m(1); fun(m); 则该程序的输出结果是_。(分数:2.00)填空项 1:_44.下面是一个栈类的模板,其中 push

    18、函数将元素 i压入栈顶,pop 函数弹出栈顶元素。栈初始为空,top值为 0,栈项元素在 stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。 templateclass T class Tstack enumsize=1000; T stacksize; int top; public: Tstack():top(0) void push(const T Tpop() if(top=0)exit(1);/栈空时终止运行 return _; ;(分数:2.00)填空项 1:_45.类中数据成员和成员函数的默认访问级别为 1。(分数:2.00)填空项 1:_46.在下列的程序的

    19、横线处填上适当的语句,使该程序的输出为 12。 #includeiostream.h using namespace std; class Base public: int a,b; Base(int i)a=i; ; class Derived:public Base int a; public: Derived(int x):Base(x),b(x+1); void show() _;/输出基类数据成员 a的值。 coutbendl; ; void main() Derived d(1); d.show(); return 0; (分数:2.00)填空项 1:_47.下列程序的输出结果为

    20、2,请将程序补充完整。 #include iostream using namespace std; class Base public: _void fun() cout1; ; class Derived:public Base public: void fun()cout2; ; int main() Base*p=new Derived; p-fun(); delete p; return 0; (分数:2.00)填空项 1:_48.有如下程序: #include iostream using namespace std; class PARENT public: PARENT() c

    21、out “PARENT“; ; class SON : public PARENT public: SON() cout “SON“; ; int main() SON son; PARENT *p; p = return 0; 执行上面程序的输出是_。(分数:2.00)填空项 1:_49.在 MyClass类的定义中,对赋值运算符;进行重载。请将横线处缺失的部分补充完整。 _MyClass:operator=(const MyClass value = rhs.value; return *this; (分数:2.00)填空项 1:_50.如下类定义中包含了构造函数和拷贝构造函数的原型声明,

    22、请在横线处填写正确的内容,使拷贝构造函数的声明完整。 class myClass private: int data; public: myClass(int value); /构造函数 myClass(const_anotherObject); /拷贝构造函数 (分数:2.00)填空项 1:_二级 C+笔试 313答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列函数的运行结果是( )。 #includeiostream.h int add(int a,int b); void main() extern int x,y; cout

    23、add(x,y)endl; int x(20),y(5); int add(int a,int b) int s=a+b; return s; (分数:2.00)A.25 B.30C.20D.15解析:解析 由主函数 main入手,定义外部变量 x和 y,调用函数 add。因为 x,y 为外部变量,所以“int x(20),y(5);”的赋值在 add也是有效的,即 add函数的运算结果为 25。2.在数据库设计中,将 E-R图转换为关系模式的过程属于( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段 C.概念设计阶段D.物理设计阶段解析:解析 数据库设计阶段主要包括需求分析、概念设计

    24、、逻辑设计和物理设计。其中逻辑设计的主要工作是将 E-R图转换为关系模式。3.下列程序的运行结果为( )。 #includeiostream.h void main() int a=2; int b=a+1; couta/bendl; (分数:2.00)A.0.66667B.0 C.0.7D.0.66666666解析:解析 因为题目中定义的变量 a和 b均为整型数据,所以 a/b即 2/3得到的仍然是整型数据,得到 0。4.下列程序运行后的输出结果是( )。 #includeiostream.h void fun(int,int,int*); void main() int x,y,z; fu

    25、n(5,6, fun(7,x, fun(x,y, coutx“,“y“,“zendl; void fun(int a,int b,int *c) b+=a; *c=b-a; (分数:2.00)A.5,5,5B.6,6,6 C.5,6,7D.7,7,7解析:解析 由程序中的 main函数入手,分别调用 fun函数,第一个调用中 x参数为引用地址,调用后x的值为 6,因为参数为地址,所以第二个调用中的 x参数值为 6,调用后 y的计算结果为 6。同理,z 在第三个函数调用后 z的值为 6。5.下列关于软件测试的描述中正确的是( )。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试

    26、的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误 D.软件测试的目的是使程序符合结构化原则解析:解析 软件测试是为了尽可能多地发现程序中的错误,尤其是至今尚未发现的错误。6.下列程序的输出的结果是( )。 #includeiostream.h void main() int i,k,a10,p3; k=5; for(i=0;i9;i+)ai=i; for(i=0;i3;i+)pi=ai*(i+1); for(i=0;i3;i+)k+=pi*2; coutk; (分数:2.00)A.20B.21 C.22D.23解析:解析 程序中首先在第一个 for循环中将 a每一个元素

    27、赋值为 0,1,2。然后在第二个循环中 p的第 i元素为 a中的第 i*(i+1),即 0,2,6,第三个循环中每个 p中的元素值乘以 2,然后加上 5,累加。答案为 21。7.下列关于模板的叙述中,错误的是( )。(分数:2.00)A.模板声明中的第一个符号总是关键字 templateB.在模板声明中用“”和“”括起来的部分是模板的形参表C.类模板不能有数据成员 D.在一定条件下函数模板的实参可以省略解析:解析 类模板不是一个实实在在的类,本身在编译中不会生成任何代码;用类模板定义一个对象时,不能省略实参;类模板的成员函数都是模板函数。C+中可以为类模板的参数设置默认值,可以有数据成员,选项

    28、 C)错误。8.下列运算符中,( )运算符在 C+中不能重载。(分数:2.00)A.B.Fraction operator-(Practio;C.Fraction D.Fraction解析:解析 由于取负运算符“-”是一元运算符,当作为成员函数重载时参数表中没有参数,那个唯一的操作数以 this指针的形式隐藏在参数表中。故选项 C)错误。10.以下都是 C+语言标识符的是( )。(分数:2.00)A.dsfa,df4,fB.huhj,a,k2C.3k,hj_9D._ok,jk,k8 解析:解析 此题考查的是标识符。标识符是由数字、字母以及下划线构成,其中第一个字符必须是字母或下划线,中间不能有

    29、空格;标识符的长度是任意的,但由于编译系统的限制一般不超过 31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。符合这些要求的只有选项 D)。11.有如下程序: #include iostream using namespace std; int main() int *p; *p = 9; cout “The value at p: “ *p; return 0; 编译运行程序将出现的情况是( )。(分数:2.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运

    30、行时有可能出错 解析:解析 此题考查的是指针的使用。本题中,在给*p 赋值前,指针 p并没有指向一个具体的对象。此时可以通过编译,但运行时由于 p中为随机值,该赋值可能会破坏内存中某个重要的地址空间的内容,导致程序出错。12.下列程序输出的结果是( )。 #includestdio.h fun1(char a,char b)char c;c=a;a=b;b=c; fun2(char*a,char b)char c;c=*a;*a=b;b=c; fun3(char*a,char*b)char c;c=*a;*a=*b;*b=c; void main() char a,b; a=A;b=B;fun

    31、1(a,b);putchar(a);putchar(b); a=A;b=B;fun2(putchar(a);putchar(b); a=A;b=B;fun3(putchar(a);putchar(b); putchar(/n); (分数:2.00)A.BABBABB.ABBBBA C.ABBABAD.ABABBA解析:解析 由程序中的主函数 main入手,分别调用 fun1,fun2,fun3 函数,得出输出结果。其中,3个函数都是实现的两个形参的交换功能,只是值传递的方式不同,有的是引用,有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以 d调用 fun1后,实参

    32、a和 b并没有交换,仍然是 AB。第二个调用中,实参 a采用的是地址,即传递的是地址,所以形参 a的改变会影响实参 a的值,即 BB。同理,调用 fun3后为 BA。13.在 C+程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序的执行速度,则应该选用( )。(分数:2.00)A.内联函数 B.重载函数C.递归调用D.嵌套调用解析:解析 此题考查的是内联函数的相关知识点。C+引入内联函数是用它来代替 C语言中的预处理宏函数,内联函数在调用时,是将表达式用内联函数体来替换,这样会加快程序的执行速度。14.下列程序的输出结果是( )。 #includeiostream.h mai

    33、n() int m=5; if(m+5) coutm; else coutm-; (分数:2.00)A.7B.6 C.5D.4解析:解析 此题中,因为 m+5 成立(此时 m的值变为 6),所以执行语句 coutm;输出结果为6。15.有如下程序: #include iostream using namespace std; class Base public: void fun() cout“Base:fun“endl; ; class Derived : public Base public: void fun() _ cout“Derived:fun“endl; ; int main()

    34、 Derived d; d.fun(); return 0; 已知其执行后的输出结果为: Base:fun Derived:fun 则程序中下划线处应填入的语句是( )。(分数:2.00)A.Basfun();B.Base:fun(); C.Base-fun();D.fun();解析:解析 此题考查的是继承的使用。分析题目可知,横线处应填入对基类成员函数 fun()的调用语句,此处只能使用作用域运算符“:”才能调用到基类的同名函数。16.在 ios中提供控制格式的标志位中,( )是转换为十六进制形式的标志位。(分数:2.00)A.hex B.octC.decD.left解析:解析 格式控制标志

    35、 hex格式控制是整数按十六进制输出;oct 格式控制是整数按八进制输出:dec格式控制是整数按十进制输出;left 输出数据在指定的宽度内左对齐。17.类模板 templateclass Tclass x.,其中友元函数 f对特定类型 T(如 int),使函数f(xint)成为 xint模板类的友元,则其说明为( )。(分数:2.00)A.friend voidf();B.friend voidf(xT); C.friend voidA:f();D.friend void CT:f(xT);解析:解析 声明一个函数模板的格式:template棋板形参表声明函数声明。调用模板函数时,如果与模板

    36、实参中最后的若干个参数有关的信息可以从模板函数的实参中获得,则相关的模板实参可以省略。18.下列程序的输出结果是( )。 #ificludeiostream using namespace std; int main() cout.fill(*); cout.width(5); coutoct100endl; return 0; (分数:2.00)A.*100B.*144 C.100*D.144*解析:解析 cout.fill()用于设置或返回输出的填充字符,默认是空格,fill()函数的设置一直有效,直到下一个 fiN()函数改变该值为止。cout.width()用于设置或返回(不带参数)输

    37、出数据的字段宽度,此函数的设置只对下一个输出有效。注意:默认为输出数据在指定宽度内右对齐,oct 格式控制是整数按八进制输出。19.线性表进行二分法检索,其前提条件是( )。(分数:2.00)A.线性表以顺序方式存储,并按关键码值排好序 B.线性表以顺序方式存储,并按关键码的检索频率排好序C.线性表以链式方式存储,并按关键码值排好序D.线性表以链式方式存储,并按关键码的检索频率排好序解析:解析 对线性表进行二分法检索,要求线性表是按顺序方式存储,并按关键码值的大小排好序,而不是按关键码的检索频率排序。20.下列选项中不属于结构化程序设计方法的是( )。(分数:2.00)A.自顶向下B.逐步求精

    38、C.模块化D.可复用 解析:解析 结构化程序设计的主要原则概括为自顶向下,逐步求精,限制使用 GOTO语句。21.下列工具中为需求分析常用工具的是( )。(分数:2.00)A.PADB.PFDC.N-SD.DFD 解析:解析 需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。22.下列关于类和对象的叙述中,错误的是( )。(分数:2.00)A.一个类只能有一个对象 B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系解析:解析

    39、此题考查的是类和对象的相关概念。类是将不同的数据和与这些数据相关的操作封装起来装在一起的集合体。对象是类的具体实例,也即类是对某一类对象的抽象,类和对象之间可以说是数据类型与变量的关系。一个类可以有无数个对象。23.只能作为成员函数重载的是( )。(分数:2.00)A.= B.+C.*D.new解析:解析 运算符重载为成员函数的形式为:函数类型 operator运算符(形参表)函数体;;运算符重载为友元函数的形式为:friend 函数类型 operator运算符(形参表)函数体;。一般来讲,单目运算符最好重载为成员函数,双目运算符最好重载为友元函数。=、()、-以及所有的类型转换运算符只能作为

    40、成员函数重载。24.有如下类定义: class Foo public: Foo(int v) : value(v) / Foo() / private: Foo() / int value = 0; / ; 其中存在语法错误的行是( )。(分数:2.00)A.B.C.D. 解析:解析 此题考查的是类的定义。C+语言规定,在类体内不允许对所定义的数据成员进行初始化。25.由于常对象不能被更新,因此( )。(分数:2.00)A.通过常对象只能调用它的常成员函数 B.通过常对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可以调用任何不改变对象值的成员函数解析:解析 此题考查的是常对象

    41、与常成员函数的概念。使用 const关键字修饰的对象称为常对象,它不能被更新,所以常对象只能调用常成员函数而不能调用其他成员函数;使用 const关键字声明的成员函数是常成员函数,它也不能被更新,常成员函数只能调用常成员函数而不能调用其他函数。26.实现运行时的多态性要使用( )。(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数 解析:解析 C+中函数重载和运算符重载实现的多态性属于静态多态性,在程序编译时系统就能决定调用的是哪个函数。动态多态性是在程序运行过程中才动态确定操作所针对的对象。动态多态性是通过虚函数实现的。27.下列有关指针的用法中错误的是( )。(分数:2.00

    42、)A.int i;int *p=B.int i;int *p;i=*p; C.int *p;p=0;D.int i=5;int *p;p=解析:解析 “int i;”语句定义了一个整型变量 i。“int *p”定义了一个整型指针 p。选项 A)中的“int *p=”是定义整型指针变量 p,并指向整型 i的地址。选项 B)中“i=*p”语句是将 p指向的变量赋值给 i,而指针 p没有初始化,所以选项 B)错误。选项 C)中“p=0;”表示 p指向 0的地址。选项 D)中“ public: int getRef()const return / int getValue()const return

    43、a; / void set(int n)const a=n; / friend void show(AA aa)const couta; / ; 其中的四个函数定义中正确的是( )。(分数:2.00)A.B. C.D.解析:解析 此题考查了常成员函数和友元函数的概念。选项 A)中,getRef()函数的返回值和函数类型不符,故错误;选项 C)中 set()常成员函数改变了数据成员的值,这是不允许的;选项 D)中 show()函数被同时定义成友元函数和常成员函数是错误的。30.下列关于结构化程序设计原则和方法的描述中,错误的是( )。(分数:2.00)A.选用的结构只准许有一个入口和一个出口B.

    44、复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO语句 D.语言中所没有的控制结构,应该采用前后一致的方法来模拟解析:解析 限制使用 GOTO语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO语句。选项 A)、B)、D)为结构化程序设计的原则。31.下列选项中,不是算法的基本特征的是( )。(分数:2.00)A.完整性 B.可行性C.有穷性D.拥有足够的情报解析:解析 作为一个算法,一般应该具有下列 4个特征:可行性,即考虑到实际的条件能够达到一个满意的结果;确定性,算法中的第一个步骤都必须是有明确定义的;有穷性,一个算法必须在有限的时间内做完;拥有足

    45、够的情报。32.软件需求分析阶段的工作,可以分为 4个方面:需求获取、需求分析、编写需求规格说明书以及( )。(分数:2.00)A.阶段性报告B.需求评审 C.总结D.都不正确解析:解析 需求分析是软件定义时期的最后一个阶段。可以概括为 4个方面:需求获取:需求分析;编写需求规格说明书;需求评审。33.下列程序的运行结果为( )。 #includeiostream.h void main() int a=2; int b=a+1; couta/bendl; (分数:2.00)A.0.66667B.0 C.0.7D.0.66666666解析:解析 因为题目中定义的变量 a和 b均为整型数据,所以

    46、 a/b即 2/3得到的仍然是整型数据,得到 0。34.有如下程序: int x=3; do x-=2; coutx; while(!(-x); 执行这个程序的输出结果是( )。(分数:2.00)A.1B.30C.1-2 D.死循环解析:解析 此题考查的是 do-while循环语句。do-while 循环首先执行 do语句中的循环体,再判断是否需要继续执行循环。题目中 do语句“x-=2”,while 语句中“-x”即 x为 0,取反为非 0,循环继续执行;执行“x-=2”和“-x”取反后,循环结束程序退出。35.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序和逻辑顺序相同解析:解析


    注意事项

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




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

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

    收起
    展开