【计算机类职业资格】二级C++笔试-409及答案解析.doc
《【计算机类职业资格】二级C++笔试-409及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-409及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-409 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.内部静态变量的作用域是( )。A) 定义该静态变量的文件外部 B) 定义该静态变量的文件内部C) 定义该静态变量的函数外部 D) 定义该静态变量的函数内部(分数:2.00)A.B.C.D.2.有如下程序:#includeiostreamusing namespace std;int main()cout.fill(*);cout.width (6);cout.fill(#);cout123end1;return 0;执行后的输出结果是_ 。A) #123 B) 123#
2、C) *123 D) 123*(分数:2.00)A.B.C.D.3.有如下程序:#includeiostreamusing namespace std;class TestClasspublic:TestClass()cout“default constructor/n“;TestClass(const TestClass ;TestClass userCode(TestClass b)TestClass c(b);return c;int main()TestClass a,d;cout“calling userCode()/a“;d=userCode(a);return 0;在执行过程中,
3、构造函数 TestClass()和 TestClass(const TestClass cout.width(5);coutscientific314.15926535endl;retrun 0;程序运行后,输出的结果是( )。A) 3.141593e+002 B) 3.1416e+002 C) *3.14e+002 D) 314.16(分数:2.00)A.B.C.D.12.下列是重载乘法运算符的函数原型声明,其中错误的是( )。A) MyClass operator*(double,double); B) MyClass operator*(double,MyClass);C) MyClas
4、s operator*(MyClass,double); D) MyClassoperator*(MyClass,MyClass);(分数:2.00)A.B.C.D.13.有如下程序:#include iostream using namespaee std;class Baselpublic :Basel(int d) cout d; Basel () ;class Base2public :Base2 ( int d) cout d ; Base2() ;class Derived : public Base1 ,Base2public :Derived(int a, int b, int
5、 c, int d) :Base1(b), Base2(a), b1(d), b2(e) private :int b1 ;int b2 ;int main()Derived d(1,2,3,4) ;return 0 ;执行这个程序的输出记过是( )。A) 1234 B) 2134 C) 12 D) 21(分数:1.00)A.B.C.D.14.设计数据库的存储结构属于( )。A) 需求分析 B) 概念设计C) 逻辑设计 D) 物理设计(分数:2.00)A.B.C.D.15.面向对象程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理。A) 对数据的操作 B) 信息C) 数据隐
6、藏 D) 数据抽象(分数:1.00)A.B.C.D.16.以下程序的输出结果是#includeiostreamhvoidmain( )charx=040;cout(x1);A)100B)80C)64D)32(分数:1.00)A.B.C.D.17.在 I/O 类库中,头文件 iostream.h 包括了 _。A) 操作所有输入/输出流所需要的基本信息B) 由用户控制的文件处理操作信息C) 与内核格式化相关的信息D) 含参数的流操纵算子信息(分数:2.00)A.B.C.D.18.下列关于栈的描述中错误的是 A) 栈是先进后出的线性表 B) 栈只能顺序存储 C) 栈具有记忆作用 D) 对栈的插入与删
7、除操作中,不需要改变栈底指针(分数:2.00)A.B.C.D.19.在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是 A) 后缀一元运算符 B) 前缀一元运算符 C) 无操作数的运算符 D) 二元运算符(分数:2.00)A.B.C.D.20.如果表达式 x*y+z 中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为A) operator+(operator*(x,y),z)B) xoperator+(operator*(x,y),Z)C) yoperator*(operator+(x,y),z)D) xoperator+(operator*(x,
8、y)(分数:1.00)A.B.C.D.21.下面程序的输出结果是( )。#includeiostreamusing namespace std;templateclass TT max(T x,T y)return(x=y ? x:y);void main()coutmax(5,8)endl;coutmax(“zhangsan“,“lisi“);A) 8zhangsanB) 8lisiC) 5zhangsanD) 5lisi(分数:2.00)A.B.C.D.22.有如下程序:#includeiostreamusing namespace std;class BASEpublic:BASE()c
9、out“BASE“;);class DERIVED:public BASEpublic:DERIVED()cout“DERIVED“;int main()DERIVED x;return 0;执行后的输出结果是( )。A) BASE B) DERIVEDC) BASEDERIVED D) DERIVEDBASE(分数:2.00)A.B.C.D.23.以下程序段的输出结果是( )。int x=5;docoutx-vendl;while(!x);A) 5 B) 无任何输出 C) 4 D) 陷入死循环(分数:2.00)A.B.C.D.24.下列关于虚函数的说法中,正确的是( )。A) 如果在重定义虚
10、函数时使用了保留字 virtual,则该重定义函数仍然是虚函数B) 虚函数不得声明为静态函数C) 虚函数不得声明为另一个类的私有函数D) 派生类必须重新定义基类的虚函数(分数:1.00)A.B.C.D.25.有以下程序:#include iostreamusing namespace std;int main()int x=15;while(x10public:A( ):a(0)A(char*aa)/把 aa 所指字符串拷贝到 a 所指向的存储空间a=_;strcpy(a,aa);A( )deletea;横线处应填写的表达式是A) new charstrlen(aa)+1 B) charstr
11、len(aa)+1C) charstrlen(aa) D) new charsizeof(aa)-1(分数:2.00)A.B.C.D.29.NULL 是指A) 0 B) 空格C) 未知的值或无任何值 D) 空字符串(分数:1.00)A.B.C.D.30.在说明一个结构体变量时,系统分配给它的存储空间是( )。A) 该结构体中第一个成员所需的存储空间B) 该结构体中最后一个成员所需的存储空间C) 该结构体中占用最大存储空间的成员所需的存储空间D) 该结构体中所有成员所需存储空间的总和(分数:2.00)A.B.C.D.31.有如下程序: #includelostreanl using namesp
12、ace std; elass MyClass public: MyClass( )+count; MyClass( )-count; static int getCount( )return count; private: static int count; ; int MyClass:count=0; int main( ) MyClass obj; coutobjgetCount( ); MyClass*ptr=new MyClass; coutMyClass:getCount( ); delete ptr; coutMyCiass:getCount( ); return 0; 程序的输出
13、结果是 A) 121 B) 232 C) 221 D) 122(分数:2.00)A.B.C.D.32.索引属于A) 模式 B) 内模式 C) 外模式 D) 概念模式(分数:2.00)A.B.C.D.33.下列关于运算符重载不正确的是A) 运算符重载不能改变运算符的操作数个数B) 运算符重载不能改变运算符的优先级C) 运算符重载不能改变运算符的结合性D) 运算符重载能改变对预定义类型数据的操作方式(分数:1.00)A.B.C.D.34.有如下程序:#include iostreamusing namespace std;int main()cout.fill(*);cout.width(6);c
14、out.fill(#);cout123end1;return 0;执行后的输出结果是A) #123 B) 123#C) *123 D) 123*(分数:2.00)A.B.C.D.35.一个类的友元函数或友元类能够通过成员操作符访问该类的( )。A) 私有成员 B) 保护成员C) 公有成员 D) 公用成员、保护成员和私有成员(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:27.00)36.数据库系统在其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.00)填空项 1:_37.在程序设计阶段应该采取 1 和逐步求
15、精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。(分数:1.00)填空项 1:_38.operator 是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为 1 的。(分数:1.00)填空项 1:_39.下面程序的输出为 1。#include iostream.hvoid main2int a10,i, k=0;for(i=0,i10;i+)ai=i;for(i=1;i4;i+)k+=ai+i;coutkend1;(分数:2.00)填空项 1:_40.静态成员函数可以直接访问类的_成员,不能直接访
16、问类的_成员。(分数:2.00)填空项 1:_41.在关系数据库中,用来表示实体之间联系的是 1。(分数:2.00)填空项 1:_42.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为 1。(分数:1.00)填空项 1:_43.对软件设计的最小单位(模块或程序单元)进行的测试通常称为 1 测试。(分数:2.00)填空项 1:_44.为了在两个关系中提取所有相同的元组,则在交与并这两种关系运算中,应使用 1 运算。(分数:2.00)填空项 1:_45.在下面的类定义中,this 指针的用途是_。#includediostream.hclass Sampleint x,y;pub
17、lic:Sample(int i,int j)x=i;y=j;void assign(Sample sa);void Sample:assign(Sample p)if(this!=p)x=p.x;y=p.y;(分数:2.00)填空项 1:_46.在 C+中,一个函数一般由两部分组成,分别是函数头和 1。(分数:2.00)填空项 1:_47.常用的软件结构设计工具是结构图(SC) ,也称程序结构图。其中,用矩形表示 1,用带空心圆的箭头表示传递的是数据。(分数:2.00)填空项 1:_48.在面对对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_49.下列程序编译
18、错误,是由于划线处缺少某个语句,该语句是_。#includeiostream.hclass Aprivate:int numl;public:A( ):numl(0)A(int i):numl(i);class Bprivate:int num2;public:B( ):num2(0)B(int i):num2(i)int my_math(A obj1, B obj2);int B:my_math(A obj1,B obj2)return(obj1.numl+obj2.num2);void main(void)A objl(4);B obj,obj2(5);cout“obj1+obj2:“ob
19、j.my_math(obj1,obj2);(分数:2.00)填空项 1:_50.下列程序的执行结果是_。#includeiostream.hfloat temp;floatreturn temp;void main( )float a=fn2(5.0);floatb=20;couttempendl;(分数:2.00)填空项 1:_二级 C+笔试-409 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:35,分数:59.00)1.内部静态变量的作用域是( )。A) 定义该静态变量的文件外部 B) 定义该静态变量的文件内部C) 定义该静态变量的函数外部 D) 定义该静态变量的
20、函数内部(分数:2.00)A.B.C.D. 解析:解析 内部静态变量只被初始化一次,它在定义该变量的函数内部有效。2.有如下程序:#includeiostreamusing namespace std;int main()cout.fill(*);cout.width (6);cout.fill(#);cout123end1;return 0;执行后的输出结果是_ 。A) #123 B) 123# C) *123 D) 123*(分数:2.00)A. B.C.D.解析:解析 根据定义,开始设置的 coutfill(*),被后面的 coutfill(#)替代,所以cout 的输出结果是#123。
21、3.有如下程序:#includeiostreamusing namespace std;class TestClasspublic:TestClass()cout“default constructor/n“;TestClass(const TestClass ;TestClass userCode(TestClass b)TestClass c(b);return c;int main()TestClass a,d;cout“calling userCode()/a“;d=userCode(a);return 0;在执行过程中,构造函数 TestClass()和 TestClass(cons
22、t TestClass 语句又调用了一次拷贝构造函数,由于函数 userCode 返回的不是引用,而是一个 TestClass 变量,所以还需要执行一次拷贝构造函数,所以一共要执行两次普通构造函数(非拷贝构造函数)与三次拷贝构造函数。4.对于模板定义关键宁 class 和 typename 说法不正确的是( )。A) 程序中的 class 并不能都替换为 typenameB) class 和 typename 都可互相替换C) 程序中的 typename 都能替换为 classD) 程序中的部分 class 可以替换为 typename(分数:1.00)A.B. C.D.解析:5.有如下程序:
23、#includeiostreamusing namespace std;class Baseprivate:char c;piblic:Base(char n):c(n)Base()coutC;class DeriVed:public Baseprivate:char c;public:Derived(char n):Base(n+1),c(n)Derived()coutc;int main()Derived obj(x);return 0;执行上面的程序将输出A) xy B) yxC) x D) y(分数:1.00)A. B.C.D.解析:解析 在 C+中,由于析构函数不能被继承,因此在执行
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 409 答案 解析 DOC
