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