【计算机类职业资格】C++语言笔试-3及答案解析.doc

上传人:cleanass300 文档编号:1318221 上传时间:2019-10-17 格式:DOC 页数:27 大小:75.50KB
下载 相关 举报
【计算机类职业资格】C++语言笔试-3及答案解析.doc_第1页
第1页 / 共27页
【计算机类职业资格】C++语言笔试-3及答案解析.doc_第2页
第2页 / 共27页
【计算机类职业资格】C++语言笔试-3及答案解析.doc_第3页
第3页 / 共27页
【计算机类职业资格】C++语言笔试-3及答案解析.doc_第4页
第4页 / 共27页
【计算机类职业资格】C++语言笔试-3及答案解析.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、C+语言笔试-3 及答案解析(总分:80.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:80.00)1.数据结构主要研究的是数据的逻辑结构、数据的运算和( )。A) 数据的方法 B) 数据的存储结构C) 数据的对象 D) 数据的逻辑存储(分数:2.00)A.B.C.D.2.一棵二叉树的前序遍历结果是 ABCEDF,中序遍历结果是 CBAEDF,则其后序遍历的结果是( )。A) DBAC:EF B) CBEFDAC) FDAEBC D) DFABEC(分数:2.00)A.B.C.D.3.在数据处理中,其处理的最小单位是( )。A) 数据 B) 数据项C) 数据结构 D) 数据元

2、素(分数:2.00)A.B.C.D.4.在数据库系统的内部结构体系中,索引属于( )。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) 软件矛盾 B) 软件危机C) 软件藕合 D) 软件产生(分数:2.00)A.B.C.D.8.

3、关系模型允许定义 3 类数据约束,下列不属于数据约束的是( )。A) 实体完整性约束B) 参照完整性约束C) 属性完整性约束D) 用户自定义的完整性约束(分数:2.00)A.B.C.D.9.关系表中的每一行记录称为一个( )。A) 字段 B) 元组C) 属性 D) 关键码(分数:2.00)A.B.C.D.10.在数据库管理技术的发展中,数据独立性最高的是( )。A) 人工管理 B) 文件系统C) 数据库系统 D) 数据模型(分数:2.00)A.B.C.D.11.下列语句中,错误的是( )。A) const int buffer=-256;B) const int temp;C) const d

4、ouble*point;D) const double *rt=new double(5.5);(分数:2.00)A.B.C.D.12.下列变量名中,合法的( )。A) CHINA B) byte-sizeC) double D) A+a(分数:2.00)A.B.C.D.13.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是( )。A) fail B) eof C) bad D) good(分数:2.00)A.B.C.D.14.对于语句 coutend1x;中的各个组成部分,下列叙述中错误的是( )。A) “cout“是一个输出

5、流对象B) “end1”的作用是输出回车换行C) “x”是一个变量D) “”称作提取运算符(分数:2.00)A.B.C.D.15.以下程序的输出结果是( )。#includeiostream.hmain()int m=5;if(m+5)coutm;else coutm-;A) 7 B) 6 C) 5 D) 4(分数:2.00)A.B.C.D.16.阅读下面的程序:#includeiostream.hvoid main()int x;cinx;if(x+5)coutxend1;elsecoutx-end1;如果两次执行上述程序,且键盘输入分别为 4 和 6,则输出结果分别是( )。A) 4,6

6、B) 3,6 C) 4,7 D) 5,7(分数:2.00)A.B.C.D.17.关于 this 指针的说法不正确的是( )。A) 不能在程序中修改 this 指针B) this 指针可以给其他指针赋值,但不能修改 this 指针C) 静态成员函数中没有 this 指针D) this 指针可以被赋值(分数:2.00)A.B.C.D.18.( )使一个函数可以定义成对许多不同数据类型完成同一个任务。A) 函数模板 B) 重载函数C) 递归函数 D) 模板函数(分数:2.00)A.B.C.D.19.有如下程序:#includeiostreamusing namespace std;int i= 1

7、;class Funpublic:static int i;int value() return i- 1; int value()const return i+ 1; ;int Fun: :i=2;int main()int i=3;Fun fun1;const Fun tim2;_return 0;若程序的输出结果是:123则程序中横线处的与居室( )。A) coutfim 1.value()Fun:ifun2.value();B) coutFun: :ifun1.value()fun2.value();C) coutfun1.value()fun2.value()Fun: :i;D) c

8、outfun2.value()Fun: :ifun1.value();(分数:2.00)A.B.C.D.20.下列对重载函数的描述中,( )是错误的。A) 重载函数中不允许使用默认参数B) 重载函数中编译是根据参数表进行选择C) 不要使用重载函数来描述毫不相干的函数D) 构造函数重载将会给初始化带来多种方式(分数:2.00)A.B.C.D.21.下列关于对象概念的描述中,正确的是( )。A) 对象就是 C 语言中的结构变量B) 对象代表着正在创建的系统中的一个实体C) 对象是一个状态和操作(或方法)的封装体D) 对象之间的信息传递是通过消息进行的(分数:2.00)A.B.C.D.22.在下列

9、double 型常量表示中,错误的是( )。A) E15 B) 35C) 3E5 D) 3E-5(分数:2.00)A.B.C.D.23.下列给字符数组进行初始化中,正确的是( )。A) char sl =“12345abcd“;B) char s23=“xyz“;C) char s33= a, x, y ;D) char s423=“xyz“,“mnp“;(分数:2.00)A.B.C.D.24.对于 int*pa5;的描述,正确的是( )。A) pa 是一个指向数组的指针,所指向的数组是 5 个 int 型元素B) pa 是一个指向某个数组中第 5 个元素的指针,该元素是 int 型变量C)

10、pa5表示某个数组的第 5 个元素的值D) pa 是一个具有 5 个元素的指针数组,每个元素是一个 int 型指针(分数:2.00)A.B.C.D.25.执行后的输出结果是( )。#includeiostream.hvoid main()int i(0);while(+i)if(i= =10) break;if(i%3 != 1) continue;coutiend1;A) 147 B) 247C) 432 D) 731(分数:2.00)A.B.C.D.26.有如下程序:#includeiostreamusing namespace std;class Apublic:A() cout“A“;

11、class B public:B() cout“B“;class C:public ABb;public:C() cout“C“; ;int main()C obj;return 0;执行后的输出结果是( )。A) CBA B) BAC C) ACB D) ABC(分数:2.00)A.B.C.D.27.下面程序的输出结果是( )。#includeiostream.h#include“string.h“void main()char a=“Hello Test“,b=“Test“;strcpy(a,b);coutaend1;A) Hello B) TestC) Hello Test D) Hel

12、lo Test HelloTest(分数:2.00)A.B.C.D.28.有如下程序:#includeiostream.hvoid main()char str2 5= “1234“,“5678“,*p2;int i,j,s=0;for(i=0;i2;i+)pi= str i;for(i=0; i2;i+)for(j=0;pij/0;j+=2)s=10*s+pij-0;couts;A) 1357 B) 2468 C) 3556 D) 23678(分数:2.00)A.B.C.D.29.以下程序的输出结果是( )。#includeiostreamusing namespace std;void f

13、un(char*q)+q;cout*qend1;main()static char* s = “HI“,“HELLO“,“TEST“;char*p;p=s;fun(p);system(“PAUSE“);return 0;A) 为空 B) HI C) HELLO D) TEST(分数:2.00)A.B.C.D.30.下列程序用来判断数组中特定元素的位置所在,则输出结果为( )。#includeconio.h#includeiostream.hint fun(int*p,int n,int*j)int i;*j=0;for(i=0;in;i+)if(p*jpi)*j=i;return p*j;vo

14、id main()int a10= 1,3,9,0,8,7,6,5,4,2 ;int j;fun(a, 10,coutj,aj;A) 2, 9 B) 3 C) 9 D) 3, 9(分数:2.00)A.B.C.D.31.以下程序的正确运行结果是( )。#includeiostream.hhat fun(int);void main()int a=2,i;for(i=0;i3;i+)coutfun(a)end1;coutend1;int fun(int a)int b=0;static int c=3;b+;c+;return(a+b+c);A) 4, 5, 6 B) 6, 7, 9C) 7, 8

15、, 9 D) 7, 7, 7(分数:2.00)A.B.C.D.32.有以下程序:#includeiostreamusing namespace std;int a;int fun();int main()extem int a;int b;a=10;b=fun();coutbend1;return ();int fun()extern int a;return(10*a);其运行后的输出结果是( )。A) 10 B) 1 C) 100 D) 1000(分数:2.00)A.B.C.D.33.静态数据成员在( )进行初始化。A) 成员函数列表 B) 类体外C) 构成函数 D) 成员函数(分数:2.

16、00)A.B.C.D.34.有如下程序:#includeiostreamusing namespace std;class TestClass 1public:TestClass 1 () cout“ TestClass 1 “;TestClass 1 () cout“TestClass 1 “;class TestClass2:public TestClass 1TestClassl *p;public:TestClass2() cout“ TestClass2“;p=newTestClass 1(); TestClass2() cout“TestClass2“;delete p;int m

17、ain()TestClass2 obj;return 0;执行这个程序的输出结果是( )。A) TestClass2TestClass 1TestClass1TestClass1TestClass2TestClass1B) TestClass 1TestClass2TestClass1TestClass2TestClass1TestClass1C) TestClass2TestClass 1TestClass1TestClass2TestClass1TestClass1D) TestClass 1TestClass2TestClas1TestClass1TestClass2TestClass1

18、(分数:2.00)A.B.C.D.35.有如下类声明:class TestClass int x;public:TestClass (int n) x=n;class TestClass 1 :public TestClass int y;public:TestClass 1 (int a,int b);在构造函数 TestClass1 的下列定义中,正确的是( )。A) TestClass1:YestClassl (int a,int b):x(a),y(b)B) TestClass 1 :TestClass 1 (int a,int b):TestClass(a),y(b)C ) Yest

19、Class 1 :TestClass 1 (int a,int b):x(a),TestClass 1(b)D) TestClass 1 :TestClass 1 (int a,int b):TestClass(a),TestClass 1 (b)(分数:2.00)A.B.C.D.36.在声明派生类时,如果不显示地给出继承方式,缺省的类继承方式是私有继承 Drivate。已知有如下类定义:class TestClassprotected:voidfun(1);class TestClass 1:TestClass;则 TestClass 类中的成员函数 fun(),TestClass1 类中的

20、访问权限是( )。A) public B) privateC) protected D) vinual(分数:2.00)A.B.C.D.37.下面叙述错误的是( )。A) 对基类成员的访问能力在 private 派生类中和 public 派生类中是相同的B) 基类的 private 成员在 public 派生类中不可访问C) 基类中的 public 成员在 protected 派生类中是 protected 的D) 基类中的 public 成员在 protected 派生类中仍然是 public 的(分数:2.00)A.B.C.D.38.在 C+中,实现封装性需借助于( )。A) 枚举 B)

21、类 C) 数组 D) 函数(分数:2.00)A.B.C.D.39.下列关于类和对象的叙述中,错误的是( )。A) 一个类只能有一个对象B) 对象是类的具体实例C) 类是对某一类对象的抽象D) 类和对象的关系是一种数据类型与变量的关系(分数:2.00)A.B.C.D.40.下列关于 C+函数的说明中,正确的是( )。A) 内联函数就是定义在另一个函数体内部的函数B) 函数体的最后一条语句必须是 return 语句C) 标准 C+要求在调用一个函数之前,必须先声明其原型D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式(分数:2.00)A.B.C.D.C+语言笔试-3 答案解析(总

22、分:80.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:80.00)1.数据结构主要研究的是数据的逻辑结构、数据的运算和( )。A) 数据的方法 B) 数据的存储结构C) 数据的对象 D) 数据的逻辑存储(分数:2.00)A.B. C.D.解析:解析 数据结构是研究数据元素及其之间的相互关系和数据运算的一门学科,它包含 3 个方面的内容,即数据的逻辑结构、存储结构和数据的运算。2.一棵二叉树的前序遍历结果是 ABCEDF,中序遍历结果是 CBAEDF,则其后序遍历的结果是( )。A) DBAC:EF B) CBEFDAC) FDAEBC D) DFABEC(分数:2.00)A

23、.B. C.D.解析:解析 由于该二叉树的前序遍历结果是 ABCEDF,显然 A 结点为根结点,所以后序遍历时 A 结点是最后遍历的,其后序遍历的结果为 CBEFDA。3.在数据处理中,其处理的最小单位是( )。A) 数据 B) 数据项C) 数据结构 D) 数据元素(分数:2.00)A.B. C.D.解析:解析 数据元素是由多个数据项组成,数据是能够被计算机识别、存储和加工处理的信息载体,数据处理的最小单位是数据项。4.在数据库系统的内部结构体系中,索引属于( )。A) 模式 B) 内模式C) 外模式 D) 概念模式(分数:2.00)A.B. C.D.解析:解析 内模式又称物理模式,它给出了数

24、据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及 hash 等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。5.以下( )不属于对象的基本特征。A) 继承性 B) 封装性C) 分类性 D) 多态性(分数:2.00)A. B.C.D.解析:解析 对象具有如下特征:标识惟一性。指对象是可区分的。分类性。指可以将具有相同属性和操作的对象抽象成类。多态性。指同一个操作可以是不同对象的行为。封装性。从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法。模块独立性好。对象是面向对象的软件的基本模块,

25、对象内部各种元素彼此结合得很紧密,内聚性强。6.数据库系统的核心是( )。A) 数据模型 B) 软件开发C) 数据库设计 D) 数据库管理系统(分数:2.00)A.B.C.D. 解析:解析 数据库管理系统 DBMS 是数据库系统的核心。DBMS 是负责数据库的建立、使用和维护的软件。DBMS 建立在操作系统之上,实施对数据库的统一管理和控制。用户使用的各种数据库命令以及应用程序的执行,最终都必须通过 DBMS。另外,DBMS 还承担着数据库的安全保护工作,按照 DBA 所规定的要求,保证数据库的完整性和安全性。7.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。A) 软

26、件矛盾 B) 软件危机C) 软件藕合 D) 软件产生(分数:2.00)A.B. C.D.解析:解析 随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了入们难以控制软件发展的局面,即所谓的“软件危机”。8.关系模型允许定义 3 类数据约束,下列不属于数据约束的是( )。A) 实体完整性约束B) 参照完整性约束C) 属性完整性约束D) 用户自定义的完整性约束(分数:2.00)A.B.C. D.解析:解析 关系模型允许 3 类数据约束,它们是:实体完整性约束该约束要求关系的主键中属性值不能为空值,这是数据库完整性的最基

27、本要求。参照完整性约束该约束是关系之间相关联的基本约束,它不允许关系引用不存在的元组:即在关系中的外键要么是所关联关系中实际存在的元组,要么就为空值。用户定义的完整性约束用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。9.关系表中的每一行记录称为一个( )。A) 字段 B) 元组C) 属性 D) 关键码(分数:2.00)A.B. C.D.解析:解析 在关系表中,每一列称为一个属性,对应表中的一个字段;每一行称为一个元组,对应表中的一条记录。10.在数据库管理技术的发展中,数据独立性最高的是( )。A) 人工管理 B) 文件系统C) 数据库

28、系统 D) 数据模型(分数:2.00)A.B.C. D.解析:解析 在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。11.下列语句中,错误的是( )。A) const int buffer=-256;B) const int temp;C) const double*point;D) const double *rt=new double(5.5);(分数:2.00)A.B. C.D.解析:解析 符号常量声明语句的语法格式是:const 类型名符号常量=初值表达式,选项 B)中未给常变量赋初值,故错误;而选项 C

29、)中定义的是一个指向浮点型常量的指针,而不是定义一个浮点型常量,所以可以不赋初值。12.下列变量名中,合法的( )。A) CHINA B) byte-sizeC) double D) A+a(分数:2.00)A. B.C.D.解析:解析 变量的定义要符合标识符的定义规则。选项 B)byte-size 中含有不合法的字符“-”;选项C)中的变量名是 C+中的保留字;选项 D)变量名中同样含有非法的字符“+”;只有选项 A)符合要求。13.在进行任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是( )。A) fail B) eof C) b

30、ad D) good(分数:2.00)A.B. C.D.解析:解析 可以用文件流对象的成员函数来判别文件流当前的状态:fail,刚进行的操作失败时返回true,否则返回 false;eof,进行输入操作时,若文件到达文件尾返回 true,否则返回 false;bad,如果进行了非法操作返回 true,否则返回 false good,刚进行的操作成功时返回 true,否则返回 false。14.对于语句 coutend1x;中的各个组成部分,下列叙述中错误的是( )。A) “cout“是一个输出流对象B) “end1”的作用是输出回车换行C) “x”是一个变量D) “”称作提取运算符(分数:2.

31、00)A.B.C.D. 解析:解析 语句 coutend1x;作用是输出回车和变量 x 的值。所以题目中选项 A)、B)、C)的叙述均正确,只有选项 D)叙述错误,“”是插入运算符。15.以下程序的输出结果是( )。#includeiostream.hmain()int m=5;if(m+5)coutm;else coutm-;A) 7 B) 6 C) 5 D) 4(分数:2.00)A.B. C.D.解析:解析 此题中,因为 m+5 成立(此时 m 的值变为 6),所以执行语句 coutm;输出结果为6。16.阅读下面的程序:#includeiostream.hvoid main()int x

32、;cinx;if(x+5)coutxend1;elsecoutx-end1;如果两次执行上述程序,且键盘输入分别为 4 和 6,则输出结果分别是( )。A) 4,6 B) 3,6 C) 4,7 D) 5,7(分数:2.00)A.B.C.D. 解析:解析 此题首先读入数值 4 赋给变量 x,因为 x+5 不成立,因为“+”后缀,之后 x 的值变为5,执行语句 coutx-end1;输出:5,之后 x 的值变为 4。当读入的数值是 6 时,因为 x+5 成立,所以执行语句 coutxend1;输出 7。17.关于 this 指针的说法不正确的是( )。A) 不能在程序中修改 this 指针B) t

33、his 指针可以给其他指针赋值,但不能修改 this 指针C) 静态成员函数中没有 this 指针D) this 指针可以被赋值(分数:2.00)A.B.C.D. 解析:解析 this 指针不能在程序中修改,不能被幅值;静态成员没有 this 指针,因为类中只有一个静态成员函数实例,使用 this 指针无意义。18.( )使一个函数可以定义成对许多不同数据类型完成同一个任务。A) 函数模板 B) 重载函数C) 递归函数 D) 模板函数(分数:2.00)A. B.C.D.解析:解析 函数模板是一系列相关函数的模型或样板,这些函数的源代码形式相同,只是所针对的数据类型不同。因此,函数模板使一个函数

34、可以定义成对许多不同数据类型完成同一个任务。19.有如下程序:#includeiostreamusing namespace std;int i= 1 ;class Funpublic:static int i;int value() return i- 1; int value()const return i+ 1; ;int Fun: :i=2;int main()int i=3;Fun fun1;const Fun tim2;_return 0;若程序的输出结果是:123则程序中横线处的与居室( )。A) coutfim 1.value()Fun:ifun2.value();B) cou

35、tFun: :ifun1.value()fun2.value();C) coutfun1.value()fun2.value()Fun: :i;D) coutfun2.value()Fun: :ifun1.value();(分数:2.00)A. B.C.D.解析:解析 此题因为定义的变量 i 是 static 类型的(main()函数内部的 i 只是一个局部变量),所以,选项 A) 中 fun1.value()的返回值是 1,Fun:i 引用的是外部变量会输出 2;fun2.value();会调用常成员函数 intvalue()constreran i+1;使得外部静态变量 i 的值增加为 3

36、,故输出 3。20.下列对重载函数的描述中,( )是错误的。A) 重载函数中不允许使用默认参数B) 重载函数中编译是根据参数表进行选择C) 不要使用重载函数来描述毫不相干的函数D) 构造函数重载将会给初始化带来多种方式(分数:2.00)A. B.C.D.解析:解析 选项 A)中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫无相干的函数;重载函数中编译是根据参数表进行选择,包括参数的个数和类型。21.下列关于对象概念的描述中,正确的是( )。A) 对象就是 C 语言中的结构变量B) 对象代表着正在创建的系统中的一个实体C) 对象是一个状态和操作(或方法)的封装体

37、D) 对象之间的信息传递是通过消息进行的(分数:2.00)A.B.C.D. 解析:解析 对象之间的信息传递是通过消息进行的。对象=方法(函数)+属性(数据),而 C 语言的结构体其实就是不同类型数据的组合。并没有处理数据的方法。22.在下列 double 型常量表示中,错误的是( )。A) E15 B) 35C) 3E5 D) 3E-5(分数:2.00)A. B.C.D.解析:解析 在 C+中,科学计数法表示小数的方法:E(e)左右必须有数,且 E(e)的右侧只能为整数。23.下列给字符数组进行初始化中,正确的是( )。A) char sl =“12345abcd“;B) char s23=“

38、xyz“;C) char s33= a, x, y ;D) char s423=“xyz“,“mnp“;(分数:2.00)A.B.C. D.解析:解析 在 C+中定义二维数组时并赋值,则数组的行数可以省略不写。选项 A)、B)、D)均是字符字符串初始化。24.对于 int*pa5;的描述,正确的是( )。A) pa 是一个指向数组的指针,所指向的数组是 5 个 int 型元素B) pa 是一个指向某个数组中第 5 个元素的指针,该元素是 int 型变量C) pa5表示某个数组的第 5 个元素的值D) pa 是一个具有 5 个元素的指针数组,每个元素是一个 int 型指针(分数:2.00)A.

39、B.C.D.解析:解析 语句“int*p5”表示一个数组 p,它的大小是 5,里面存放的数据类型是 int*,也就是整型指针。称之为指针数组(从右向左解析这个表示)。25.执行后的输出结果是( )。#includeiostream.hvoid main()int i(0);while(+i)if(i= =10) break;if(i%3 != 1) continue;coutiend1;A) 147 B) 247C) 432 D) 731(分数:2.00)A. B.C.D.解析:解析 从 if(i=10)break;语句了解本循环只到 10,输出 i 的条件是只要 1-10 之间的数对 3 取

40、余为 1 的输出,所以输出的 1 4 7。26.有如下程序:#includeiostreamusing namespace std;class Apublic:A() cout“A“;class B public:B() cout“B“;class C:public ABb;public:C() cout“C“; ;int main()C obj;return 0;执行后的输出结果是( )。A) CBA B) BAC C) ACB D) ABC(分数:2.00)A.B.C.D. 解析:解析 此题中,语句 C obj 对象初始化首先调用基类的构造函数 A(),输出“A”,其次是 C 类中对象的构

41、造函数的调用,即调用 B(),输出“B”;最后是调用自身的构造函数 C(),输出“C”。27.下面程序的输出结果是( )。#includeiostream.h#include“string.h“void main()char a=“Hello Test“,b=“Test“;strcpy(a,b);coutaend1;A) Hello B) TestC) Hello Test D) Hello Test HelloTest(分数:2.00)A.B. C.D.解析:解析 程序中首先定义字符数组 a 和 b,其值分别为“Hello Test”和“Test”。然后利用strcpy 复制函数,将 b 的

42、值复制给 a,所以输出 a 的结果为 Test。28.有如下程序:#includeiostream.hvoid main()char str2 5= “1234“,“5678“,*p2;int i,j,s=0;for(i=0;i2;i+)pi= str i;for(i=0; i2;i+)for(j=0;pij/0;j+=2)s=10*s+pij-0;couts;A) 1357 B) 2468 C) 3556 D) 23678(分数:2.00)A. B.C.D.解析:解析 程序中的“for(i=0;i2;i+)pi=stri;”语句将 str 中的值赋值给指针数组 p。在接下来的二重 for 循

43、环中,跳取“j+=2”,p 指针指向的值即“1”,“3”,“5”,“7”。在分别对字符到整型的转换,即减去字符0,然后依次转换为千位,百位,十位,个位“10*s”操作输出整型 s,即“1357”。29.以下程序的输出结果是( )。#includeiostreamusing namespace std;void fun(char*q)+q;cout*qend1;main()static char* s = “HI“,“HELLO“,“TEST“;char*p;p=s;fun(p);system(“PAUSE“);return 0;A) 为空 B) HI C) HELLO D) TEST(分数:2

44、.00)A.B.C. D.解析:解析 由程序 main 主函数入手,调用 fun 函数,在 fun 函数中执行“cout*qend1;”语句实现程序输出。主函数中变量 char*s 口为指针数组,char*p 表示 p 指向的字符指针数据。*p 就代表p 指向的字符指针。语句“p=s;”表明 p 指向字符指针 s,而*p 则是 s中的第一个字符串“HI”。主函数将变量 p 传值给函数 fun(char*q)中的 q,在函数体内部首先执行“+q”语句,就是将 q 的指针指向s 中的下一个字符串,即“HELLO”,所以输出语句“cout*qend1;”输出该字符串值。30.下列程序用来判断数组中特

45、定元素的位置所在,则输出结果为( )。#includeconio.h#includeiostream.hint fun(int*p,int n,int*j)int i;*j=0;for(i=0;in;i+)if(p*jpi)*j=i;return p*j;void main()int a10= 1,3,9,0,8,7,6,5,4,2 ;int j;fun(a, 10,coutj,aj;A) 2, 9 B) 3 C) 9 D) 3, 9(分数:2.00)A. B.C.D.解析:解析 由程序中的主函数 main 入手,调用 fun 函数。其中第一个实参为数组 a 的名字,数组名作为实参,传递的是数

46、组的起始地址。所以在 fun 函数中指针 p 指向了数组的第一个元素 a0。另外实参整型 j 传递的是引用,也就是 i 的地址。在 fun 函数中在 for 循环中,依次将当前元素 pi与 j 指针值为标识的 p*j进行比较,取较大的。最后循环后的结果就是 p*j存放数组中的最大值,并且指针 j 为该值的标识位。可以看出数组的最大值是 9 标识位为 2。31.以下程序的正确运行结果是( )。#includeiostream.hhat fun(int);void main()int a=2,i;for(i=0;i3;i+)coutfun(a)end1;coutend1;int fun(int a

47、)int b=0;static int c=3;b+;c+;return(a+b+c);A) 4, 5, 6 B) 6, 7, 9C) 7, 8, 9 D) 7, 7, 7(分数:2.00)A.B.C. D.解析:解析 主函数中在 for 循环中依次调用 fun 函数。其中 c 为静态变量,到程序结束有效。第一次循环中 2+1+4=7,第二次循环 20+1+5=8,第三次循环 2+1+6=9。即答案为 7 8 9。32.有以下程序:#includeiostreamusing namespace std;int a;int fun();int main()extem int a;int b;a=

48、10;b=fun();coutbend1;return ();int fun()extern int a;return(10*a);其运行后的输出结果是( )。A) 10 B) 1 C) 100 D) 1000(分数:2.00)A.B.C. D.解析:解析 由主函数 main 入手,首先定义外部变量 a,它的作用域为从变量的定义处开始,到本程序文件的末尾,赋值为 10。然后调用 fun 函数,在 fun 函数中计算 10*a,其中 a 的作用域为到文件结尾,所以这里的 a 为 10,即 10*10。33.静态数据成员在( )进行初始化。A) 成员函数列表 B) 类体外C) 构成函数 D) 成员函

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

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