【计算机类职业资格】二级C++笔试372及答案解析.doc
《【计算机类职业资格】二级C++笔试372及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试372及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 372 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.设有数组定义:char array=“China“;则数组 array 所占的空间为(分数:2.00)A.4 个字节B.5 个字节C.6 个字节D.7 个字节2.如下程序的输出结果是 main( ) int a=2,b=-1,c=2; if(aB) if(b0)c=0 else c+; coutcendl; (分数:2.00)A.0B.1C.2D.33.按“先进后出”原则组织数据的结构是(分数:2.00)A.有序表B.栈C.队列D.二叉树4.下列语句中,输出与众不
2、同的是(分数:2.00)A.cout“1.“setfill()“Hello!“endl;B.cout“1.“Hello! /n“;C.cout“1. Hello!“endl;D.cofit“1.“setw(7)“Hello!“;5.有以下程序 main( ) int i=0,s=0; do if (i%2)i+;continue; i+; s+=i; while(i7); coutsendl; 执行后输出结果是(分数:2.00)A.16B.12C.28D.216.阅读以下程序 #includefstream.h void main( ) ifstream infile; ofstream ou
3、tfile; fstream iofile; iofile.open(“a.txt“,ios:in); iofile.close( ); iofile.open(“b.txt“,ios:out); 下列描述错误的是(分数:2.00)A.对象 infile 只能用于文件输入操作B.对象 outfile 只能用于文件输出操作C.对象 iofile 在文件关闭后,不能再打开另一个文件D.对象 iofile 可以打开一个文件同时进行输入和输出7.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是(分数:2.00)A.字符 AB.
4、字符 aC.字符 eD.非法的常量8.以下选项中合法的用户标识符是(分数:2.00)A.longB._2 TestC.3 DmaxD.dat9.关于类和对象描述错误的是(分数:2.00)A.对象(Objec 是现实世界中的客观事物,对象具有确定的属性B.类是具有相同属性和行为的一组对象的集合C.对象是类的抽象,类是对象的实例D.类是对象的抽象,对象是类的实例10.有关构造函数的说法中错误的是(分数:2.00)A.构造函数名字和类的名字一样B.构造函数在对象被创建时由系统自动调用C.构造函数无任何函数类型D.构造函数有且只有一个11.下列叙述中正确的是(分数:2.00)A.全局变量的作用域一定比
5、局部变量的作用域范围大B.静态类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值12.有以下程序 main( ) int a3=1,2,3,4,5,0),(*pa)3,i; pa=a; for(i=0;i3;i+) if(i2)pa1i=pa1i-1; else pa1i=1; couta11+a11+a12endl; 执行后输出结果是(分数:2.00)A.7B.6C.8D.无确定值13.若执行下面的程序时,从键盘上输入 3 和 4,则输出结果是 main( ) int a,b,s; cinab;
6、 s=a; if(aB)s=b; s=s*s; coutsendl; (分数:2.00)A.14B.16C.18D.2014.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对15.在最坏情况下,下列各排序方法的比较次数正确的是(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 n(n+1)/2C.快速排序为 n/2D.快速排序为 n(n-1)/216.有以下程序 main( ) int p7=11,13,14,15,16,17,18,i=0,k=0; while(
7、i7i+;) coutkendl; 执行后输出结果是(分数:2.00)A.58B.56C.45D.2417.以下有关析构函数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参C.析构函数指定返回类型D.析构函数名前必须冠有符号“”18.以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为 main( ) int a,b; scanf (“%d%d“, cinab; cout“a=“a“b=“b; a=a+b;b=a-b;a=_; cout“a=“a“b=“bendl; (分数:2.00)A.a+bB.a-bC.b*aD.a/b19.对下
8、列二叉树进行中序遍历的结果是 (分数:2.00)A.ZBTYCPXAB.ATBZXCYPC.TZBACYXPD.ATBZXCPY20.数据库概念设计中由分散到集中的设计方法是(分数:2.00)A.视图设计B.视图集成设计C.集中式模式设计D.分散式模式设计21.如果 a=1,b=2,c=3,d=4,则表达式 ab? a: cd? c: d 的值为(分数:2.00)A.1B.2C.3D.422.如下程序的输出结果是 main( ) float x=2.0,y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; coutyendl; (分数:2
9、.00)A.0.000000B.0.250000C.0.500000D.1.00000023.为了培养良好的程序设计风格,下列描述中正确的是(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无24.下列叙述中正确的是(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试25.以下程序的输出结果是 intf( ) static int i=0; int s=1; s+=i;i+; return s; main( ) int i,a=0
10、; for(i=0;i5;i+)a+=f( ); coutaendl; (分数:2.00)A.20B.24C.25D.1526.以下程序的输出结果是 main( ) int num=0; while(num=2) num+;coutnum; (分数:2.00)A.1234B.123C.12D.127.在测试中,下列说法错误的是(分数:2.00)A.测试是为了发现程序中的错误而执行程序的过程B.测试是为了表明程序的正确性C.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案D.成功的测试是发现了至今为止尚未发现的错误的测试28.下列不是循环语句的是(分数:2.00)A.while 语句B.
11、dowhile 语句C.for 语句D.ifelse 语句29.下列叙述中正确的是(分数:2.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定高C.耦合程度弱的模块,其内聚程度一定低D.上述三种说法都不对30.以下正确的描述为(分数:2.00)A.每个 C+语言程序必须在开头用预处理命令:B.预处理命令必须位于 C+源程序的首部C.在 C+语言中预处理命令都以“ #“开头D.C+语言的预处理命令只能实现宏定义和条件编译的功能31.以下对 C/C+语言函数的描述中,正确的是(分数:2.00)A.C 程序由一个或一个以上的函数组成B.C 函数既可以嵌套定义又可以递归调
12、用C.函数必须有返回值,否则不能使用函数D.C+程序中调用关系的所有函数必须放在同一个程序文件中32.有以下程序 void fun(int*a,int i,int i) int t; if(ij); t=ai;ai=aj;aj=t; fun(a,+i,- -j); main( ) int a=1,2,3,4,5,6,i; fun(a,0,5); for(i=0;i6;i+) coutai; 执行后输出结果是(分数:2.00)A.6 5 4 3 2 1B.4 3 2 1 5 6C.4 5 6 1 2 3D.1 2 3 4 5 633.有以下程序段 int k=0; while(k=1)k+; w
13、hile 循环执行的次数是(分数:2.00)A.无限次B.有语法错,不能执行C.一次也不执行D.执行 1 次34.下列叙述中正确的是(分数:2.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对35.以下关于类中静态成员的叙述不正确的是(分数:2.00)A.静态成员为类的所有对象所公有B.静态成员变量可以在类内任何位置上声明C.静态成员变量的赋初值必须放在类外D.定义静态成员变量时必须赋初值二、B填空题/B(总题数:15,分
14、数:30.00)36.在深度为 5 的完全二叉树中,叶子结点的个数最多为 1。(分数:2.00)填空项 1:_37.在一个容量为 25 的循环队列中,若头指针 front=15,尾指针 rear=6,则该循环队列中共有_个元素。(分数:2.00)填空项 1:_38.符合结构化原则的三种基本控制结构为:顺序结构,选择结构和 1。(分数:2.00)填空项 1:_39.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为 1。(分数:2.00)填空项 1:_40.数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的
15、数据,处理用户对数据库的访问,这组软件称为 1。(分数:2.00)填空项 1:_41.执行“coutchar(F-2)endl;“语句后得到的输出结果后 1。(分数:2.00)填空项 1:_42.十进制 28 和 3.26 的类型分别是 1。(分数:2.00)填空项 1:_43.已知 int DBL (int n)return n+n;和 long DBL (long n)return n+n是一个函数模板的两个实例,则该函数模板的定义是 1。(分数:2.00)填空项 1:_44.假定要动态分配一个类型为 worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,则使用的语句是 1。
16、(分数:2.00)填空项 1:_45.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函数。此时 const 不是指定函数的返回值,而是修饰 1 指针。(分数:2.00)填空项 1:_46.若要在程序文件中进行标准输入输出操作,则必须在开始的# include 命令中使用头文件 1。(分数:2.00)填空项 1:_47.下列程序的输出结果为_。 #includeiostream.h void Func(char ch) switch(ch) case A:case a: cout“优秀“endl; case B:case b: cout“良好“endl; b
17、reak; case C:case c: cout“及格“endl; break; default: cout“不及格“endl; void main( ) char ch1=b Func(ch1); Func(A); (分数:2.00)填空项 1:_48.根据注释内容在空白处填写适当内容。 class Location private: int X,Y; public: void init(int initX,int initY); int GetX( ); int GetY( ); ; void Location:init(int initX,int initY) X=initX; Y=i
18、nitY; int Location:GetX( ) reutrn X; int Location:GetY( ) reutrn Y; #includeiostream.h void main( ) Location A1; A1.init(20,90); _ /定义一个指向 A1 的引用 rA1 coutrAl.GetX( )“:“rAl.GetY( )endl; (分数:2.00)填空项 1:_49.下列程序的执行结果是_。 #includeiostream.h float temp; float return temp; void main( ) float a=fn2(5.0); fl
19、oat b=20; couttempendl; (分数:2.00)填空项 1:_50.下列类的构造函数不能通过编译,正确的构造函数应该是_。 #includeiostream.h class Sample public: int n; const int con; Sample(int m) con=m+1;n=m; void disp( ) cout“normal:n=“nendl; void disp( )const cout“static:n=“nendl; ; void main( ) const Sample a (12); Sample b (13); a.disp( ); b.i
20、sp( ); couta.n“,“b.conendl; (分数:2.00)填空项 1:_二级 C+笔试 372 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.设有数组定义:char array=“China“;则数组 array 所占的空间为(分数:2.00)A.4 个字节B.5 个字节C.6 个字节 D.7 个字节解析:解析 本题考察在 C+语言中,字符串的存放规则。即字符串存放在字符数组中,而且在字符的后面自动插入标识字符串结束的标识符/0,因此,共 6 个字符,每个字符占用一个字节,故正确答案为C。2.如下程序的输出结果是 ma
21、in( ) int a=2,b=-1,c=2; if(aB) if(b0)c=0 else c+; coutcendl; (分数:2.00)A.0B.1C.2 D.3解析:解析 本题考察的是 ifelse 语句中的配对原则:与最近的配对,故当 ab 为假时直接执行输出语句,即 c 的值是 2,正确答案为 C。3.按“先进后出”原则组织数据的结构是(分数:2.00)A.有序表B.栈 C.队列D.二叉树解析:解析 栈是按“先进后出”原则组织数据的结构;队列是按“先进先出”原则组织数据的结构;而有序表与二叉树均不是。4.下列语句中,输出与众不同的是(分数:2.00)A.cout“1.“setfill
22、()“Hello!“endl; B.cout“1.“Hello! /n“;C.cout“1. Hello!“endl;D.cofit“1.“setw(7)“Hello!“;解析:解析 本题主要考察 setfill 的用法。只用在设置了宽度的情况下,字符填充操作 setfill 才有意义。另外要注意的是设置宽度 setw 是所有格式中唯一一个一次有效的设置。5.有以下程序 main( ) int i=0,s=0; do if (i%2)i+;continue; i+; s+=i; while(i7); coutsendl; 执行后输出结果是(分数:2.00)A.16 B.12C.28D.21解析
23、:解析 本题考察 continue 语句在 while 循环中的使用:直接跳转到条件判断表达式位置,不再执行 continue 后面的语句。另外,根据分析可知,本题循环体的功能是将 0,2,4,6 位元素加一后累加,故结果应是 1+3+5+7,因此正确答案为 A。6.阅读以下程序 #includefstream.h void main( ) ifstream infile; ofstream outfile; fstream iofile; iofile.open(“a.txt“,ios:in); iofile.close( ); iofile.open(“b.txt“,ios:out); 下
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 372 答案 解析 DOC
