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