【计算机类职业资格】二级C++笔试324及答案解析.doc
《【计算机类职业资格】二级C++笔试324及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试324及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 324 及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于静态数据成员的描述中正确的是(分数:2.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化2.有如下程序: #includeiostream.h void main( ) char ch2 5 “6937“,“8254“,* p2 ; int i,j,s0; for(i0;i2;i) pi chi ; for(i0;i2;i) for(j0;p
2、i j /0;j2) s10 * spi j 0; cout s; 该程序的输出结果是(分数:2.00)A.69825B.63825C.6385D.6938253.以下不正确的定义语句是(分数:2.00)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 ,/x10,/xa,/x8;4.对于模板定义关键字 class 和 typename 说法不正确的是(分数:2.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替
3、换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename5.对以下说明语句的正确理解是 int a10 6,7,8,9,10;(分数:2.00)A.将 5 个初值依次赋给 a1 至 a5B.将 5 个初值依次赋给 a0 至 a4C.将 5 个初值依次赋给 a6 至 a10D.因为数组长度与初值的个数不相同,所以此语句不正确6.下面不属于软件设计原则的是(分数:2.00)A.抽象B.模块化C.自底向上D.信息隐蔽7.以下对 C语言函数的有关描述中,正确的是(分数:2.00)A.在 C语言中调用函数时,只能把实参的值传给形参,形参的值不能传
4、送给实参B.C语言函数既可以嵌套定义又可以递归调用C.函数必须无返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定8.设有 int x11;,则表达式(x * 2/3) 的值是(分数:2.00)A.7B.8C.11D.129.每个 C程序中都必须有且仅有一个(分数:2.00)A.类B.预处理命令C.主函数D.语句10.下表正确的是 在父类中的访问属性 访问修饰符 在子类中的访问属性(分数:2.00)A.public private 不能直接访问B.protect public publicC.private public 不能直接访问D.protect private protect
5、11.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在下画线处应填入的选项是 #includeiostream.h void main( ) int a, b, t; cin a b; while(_) if(ab) ta;ab;bt; cout a “ “ b endl; cin a b; (分数:2.00)A.! abB.a!bC.abD.ab12.对表达式 for(表达式 1;表达式 3) 可理解为(分数:2.00)A.for(表达式 1;0;表达式 3)B.for(表达式 1;1;表达式 3)C.for(表达式 1;表达式 3;)D.for(;表达
6、式 3)13.下面这个程序的结果是 #includeiostream.h class A private: int a; public: void seta( ) ;int geta( ) ; void A: :seta( ) a1; int A: :geta( ) retum a; class B private: int a; public: void seta( ) ;int geta( ) ; void B: :seta( ) a2; int B: :geta( ) return a; class C: public A,public B private: int b; public:
7、 void display( ) ; void C: :display( ) int bgeta( ) ; cout b; void main( ) C c; c. seta( ) ; c. display( ) ;) 1 ) 2 ) 随机输出 1 或 2 ) 程序有错(分数:2.00)A.B.C.D.14.对于下面的程序: ifstream fin(c:/test.txt) ; if(fin) cout “ok“; else cout “wrong“; if 语句中的内容可以换为(分数:2.00)A.fi fail( ) ;B.fi bad( ) ;C.fi good( ) ;D.fi eo
8、f( ) ;15.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算,以及(分数:2.00)A.数据的存储结构B.计算方法C.数据映象D.逻辑存储16.下列运算符中全都可以被友元函数重载的是(分数:2.00)A.、/B. 、( ) 、newC.、*、D. 、*17.复制构造函数的参数一般是(分数:2.00)A.某对象名B.某对象成员名C.某对象的引用名D.指向对象的指针名18.不合法的 main 函数命令行参数表示形式是(分数:2.00)A.main(int a,char * c )B.main(int arc,char * * arC.main(int argc,
9、char*argD.main(int argv,char * argc )19.以下不属于对象的基本特点的是(分数:2.00)A.分类性B.多态性C.继承性D.封装性20.数据库、数据库系统和数据库管理系统之间的关系是(分数:2.00)A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.三者没有明显的包含关系21.下列 SQL 语句中,用于修改表结构的是(分数:2.00)A.ALTERB.CREATEC.UPDATED.INSERT22.串的长度是(分数:2.00)A.串中不同字符的个数B.串中不同字母的个数C.串中所含字
10、符的个数且字符个数大于零D.串中所含字符的个数23.关系模型允许定义 3 类数据约束,下列不属于数据约束的是(分数:2.00)A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束24.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做(分数:2.00)A.软件投机B.软件危机C.软件工程D.软件产生25.下列函数的运行结果是 #includeiostream.h int f(int a,int b) int c; if(ab) c1; else if(ab) c0; else c1; return(c) ; void main( ) int i2,j3;
11、 int pf(i, j) ; cout p; ) 1 ) 1 ) 2 ) 编译出错,无法运行(分数:2.00)A.B.C.D.26.有如下说明: int a10 1,2,3,4,5,6,7,8,9,10,* pa; 则数值为 9 的表达式是(分数:2.00)A.*p9B.* (p8)C.* p9D.p827.下面叙述不正确的是(分数:2.00)A.基类的保护成员在派生类中仍然是保护的成员B.基类的保护成员在公有派生类中仍然是保护的C.基类的保护成员在私有派生类中仍然是私有的D.对基类成员的访问必须是无二义性28.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是(分数:2
12、.00)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对29.以下程序的输出结果是 #includeiostream.h void main( ) char x040; cout (X 1) ;(分数:2.00)A.100B.80C.64D.3230.在计算机中,算法是指(分数:2.00)A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法31.sizeof (float) 是(分数:2.00)A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式32.以下程序的输出结果是 #includeiostream
13、.h long fun(int n) long s; if(n1 | | 1n2) s2; else snfun(n1) ; return s; void main( ) cout fun(3) ;(分数:2.00)A.1B.2C.3D.433.C语言中标点符号中表示一条预处理命令开始的是(分数:2.00)A.#B.;C.*D.34.开发大型软件时,产生困难的根本原因是(分数:2.00)A.大系统的复杂性B.人员知识不足C.客观世界千变万化D.时间紧、任务重35.设有程序段: int k10; while(k0) kk1; 则下面描述中正确的是(分数:2.00)A.循环执行 10 次B.无限循
14、环C.循环体语句一次也不执行D.循环体语句执行一次二、B填空题/B(总题数:13,分数:26.00)36.长度为 n 的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为U /U。(分数:2.00)填空项 1:_37.用树形结构表示实体类型及实体间联系的数据模型称为U /U。(分数:2.00)填空项 1:_38.类是一个支持集成的抽象数据类型,而对象是类的U /U。(分数:2.00)填空项 1:_39.数据流图的类型有U /U和事务型。(分数:2.00)填空项 1:_40.当数据的物理结构(存储结构、存取方式等) 改变时,不影响数据库的逻辑结构,从而
15、不会引起应用程序的变化,这是指数据的U /U。(分数:2.00)填空项 1:_41.在 C语言的面向对象程序设计框架中,U /U是程序的基本组成单元。(分数:2.00)填空项 1:_42.C语言程序的注释可以出现在程序中的任何地方,一个注释以U /U作为开始和结束的标记。(分数:2.00)填空项 1:_43.以下程序的输出结果是U /U。 #includeiostream.h void fun( ) static int a0; a2; cout a “ “; void main( ) int cc; for(cc1;cc4;cc) fun( ) ; cout endl;(分数:2.00)填空
16、项 1:_44.用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 个字节的动态存储空间,请填空。 st(char * )U /U;(分数:2.00)填空项 1:_45.以下程序的输出结果是U /U。 #includeiostream.h unsigned fun(unsigned num) unsigned k1; dok * num%10;num/10;while(num) ; return k; void main( ) unsigned n26; cout fun(n) endl; (分数:2.00)填空项 1:_46.下列程序在构造函数和析构函数中申请和释放类的数据
17、成员 int * a,申请时使用形参 b 初始化 a,请填空。 class A public: A(int b) ; A( ) ; private: int * a; ; A: :A(int b) U 11 /U; A: :A( ) U 12 /U; (分数:2.00)填空项 1:_47.C语言中的多态性是在编译时通过U 13 /U和模板体现的,在运行时是通过U 14 /U体现的。(分数:2.00)填空项 1:_48.将 xy * z 中的“”用成员函数重载,“ * “用友元函数重载应写为U /U。(分数:2.00)填空项 1:_二级 C+笔试 324 答案解析(总分:96.00,做题时间:9
18、0 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关于静态数据成员的描述中正确的是(分数:2.00)A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化 解析:解析 C类中的静态成员变量是该类中所有对象所共有的,它能够被类中的任何函数调用,所以选项 A) 、选项 B) 、选项 C) 是错误的。而类的静态数据成员是必须要进行初始化才能使用的。2.有如下程序: #includeiostream.h void main( ) char ch2 5 “6937“,“8254“,
19、* p2 ; int i,j,s0; for(i0;i2;i) pi chi ; for(i0;i2;i) for(j0;pi j /0;j2) s10 * spi j 0; cout s; 该程序的输出结果是(分数:2.00)A.69825B.63825C.6385 D.693825解析:解析 该题主要搞清楚以下几点: 定义了一个指针数组 char * P2 后,程序中第一个循环for(i0;i2;i) pi chi ;的作用是使指针数组的 p0 元素(它本身是一个指针) 指向了二维数组 ch 的第一行字符串,并使指针数组的 p1 元素指向了二维数组 ch 的第二行字符串,这样,就使指针数组
20、 p 和二维数组 ch 建立起了一种对应关系,以后对二维数组 ch 的某个元素的引用就有两种等价的形式:chi j 或 pi j 。对二维数组 ch 的初始化,使其第一行 ch0 中存入了字符串“6937”,第二行 ch1 中的内容为字符串“8254”。程序中第二个循环中的循环体 ss * 10pi j 0;的功能是这样的,每执行一次,将 s 中的值乘以 10(也即,将 s 中的数值整体向左移动一位,并在空出来的个位上添一个 0) ,再将当前 Pi j 中的字符量转换为相应的数字,然后把这个数字加到 s 的个位上。注意到内层循环的循环条件 pi j /0是指 pi j 中的字符只要不是字符串结
21、束标志/0就继续循环,语句 j2;是使下标 j 每次增加 2,也即一个隔一个地从 pi 所指向的字符串中取出字符。经过上述解析后,不难看出,该程序首先从 P0 所指向的字符串“6937”中一个隔一个地取出字符,分别是“6”和“3”,然后从 p1 所指向的字符串“8254”中一个隔一个地取出字符,分别是“8”和“5”,同时经过转换和相加运算后,结果 s 中的值应该是 6385。3.以下不正确的定义语句是(分数:2.00)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 ,/
22、x10,/xa,/x8;解析:解析 在一维数组中要注意的是作为下标表达式的常量表达式的值必须是大于等于 0,并且小于自身,本题中选项 B) 的下标表达式的值超过了自身。4.对于模板定义关键字 class 和 typename 说法不正确的是(分数:2.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换 C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename解析:解析 在 C程序中的 typename 是都可以替换为 class 的,但 class 不能都替换为 typena
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 324 答案 解析 DOC
