【计算机类职业资格】国家二级(C++)机试模拟试卷165及答案解析.doc
《【计算机类职业资格】国家二级(C++)机试模拟试卷165及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C++)机试模拟试卷165及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C+)机试模拟试卷 165 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于栈叙述正确的是( )。(分数:2.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除2.下列叙述中正确的是( )。(分数:2.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度
2、为(假设根结点在第 1 层)( )。(分数:2.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(分数:2.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括( )。(分数:2.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是( )。(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详
3、细设计的表示工具7.负责数据库中查询操作的数据库语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。(分数:2.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下: (分数:2.00)A.自然连接B.并C.交D.差10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是( )。(分数:2.00)A.-369B.369C.0369D.整数集合1,2,3,4,511.C+语言对 C 语言做了很多
4、改进,C+语言相对于 C 语言的最根本的变化是( )。(分数:2.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念12.下列( )是 C+语言的有效标识符。(分数:2.00)A.No1B.No1C.12345D.int13.设有定义 int x;float y;,则 10+x+y 值的数据类型是( )。(分数:2.00)A.intB.doubleC.floatD.不确定14.下列程序的执行结果为( )。#includeiostreamhvoid main()int a=3,b=0;int*p=&a;b=+a+:cout*p“
5、,“bendl;(分数:2.00)A.3,4B.4,3C.3,4D.4,415.下面程序的运行结果为( )。#includeiostreamhvoid main()for(int a=0,x=0;!x&a=10;a+)a+;coutaendl;(分数:2.00)A.10B.11C.12D.016.下面有关 for 循环的正确描述是( )。(分数:2.00)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在 for 循环中,不能用 break 语句跳出循环体D.在 for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来17.以下程序中
6、调用 cin 函数给变量 a 输入数值的方法是错误的,其错误原因是( )。#includeiostreamhvoid main()int*p,*q,a,b;p=&a;cout“input a:“:cinp;(分数:2.00)A.*p 表示的是指针变量 p 的地址B.p 表示的是变量 a 的地址,而不是变量 a 的值C.*p 表示的是指针变量 P 的值D.*P 只能用来说明 P 是一个指针变量18.假定 int 类型变量占用两个字节,其有定义 int x10=0,2,4;,则数组 x 在内存中所占字节数是( )。(分数:2.00)A.3B.6C.10D.2019.下列选项,不正确的是( )。(分
7、数:2.00)A.for(int a=1;a=10;a+);B.int a=1; do a+: while(a=10);C.int a=1; while(a=10) a+; D.for(int a=1;a=10;a+)a+;20.下面关于数组的初始化正确的是( )。(分数:2.00)A.char str=a,b,cB.char str2=a,b,cC.char str23=a,b,c,d,e,fD.char str()=a,b,c21.下列程序的输出结果为( )。#includeiostreamhvoid main()char*a=“hello“,“the“,“world“;char*pa=a
8、:pa+;cout*paendl;(分数:2.00)A.helloB.theC.woddD.hellotheworld22.决定 C+语言中函数的返回值类型的是( )。(分数:2.00)A.return 语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型23.有以下程序:#includeiostreamhvoid fun(int a,int b,int c)a=456,b=567,c=678;void main()int x=10,y=20,z=30;fun(x,y,z);coutx,y,zendl;输出结果是( )。(分数:
9、2.00)A.30,20,10B.1020,30C.456,567,678D.678,567,45624.以下叙述正确的是( )。(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义25.下列程序的输出结果是( )。#includeiostreamhint min(int a,int b)if(ab)return a;else return b;return0;void main()coutmin(1,min(2,3)endl;(分数:2.00)A.0B.1C.2D.326.下列程序
10、的运行结果为( )。#includeiostreamhvoid print(double a)cout+a:void print(int a,int b)coutba:void main()print(12);cout“ “;print(3,4);(分数:2.00)A.12 34B.22 34C.12 43D.22 4327.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )。(分数:2.00)A.公有类型B.私有类型C.保护类型D.友元类型28.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是( )。(分数:
11、2.00)A.友元函数B.虚函数C.构造函数D.析构函数29.类的析构函数的作用是( )。(分数:2.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象30.下列说法正确的是( )。(分数:2.00)A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义31.下面对静态数据成员的描述中,正确的是( )。(分数:2.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态
12、数据成员不能受 private 控制符的作用D.静态数据成员可以直接用类名调用32.下面对于友元函数描述正确的是( )。(分数:2.00)A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员33.在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是( )。(分数:2.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针34.下面程序的运行结果为( )。#includeiostreamhclass
13、 Apublic:A()cout“1“;A()cout“2“;class B:public Apublic:B()cout“3“;B()cout“4“;void main()B b;(分数:2.00)A.1234B.1324C.1342D.314235.下列关于虚基类的描述,错误的是( )。(分数:2.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数36.下列关于多态性的描述,错误的是( )。(分数:2.00)A.
14、C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定37.下列运算符中,在 C+语言中不能重载的是( )。(分数:2.00)A.*B.=C.:D.38.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:inB.ios:outC.ios:in|ios:outD.以上都不对39.下列程序的运行结果是( )。#includeiostreamhclass Aint a;public:A()a=0;A(int aa)a=
15、aa;couta+:;void main()A x,y(2),z(3);coutendl;(分数:2.00)A.00B.23C.34D.2540.下面程序的输出结果是( )。#includeiostreamhclass exampleint a;public:example(int b)a=b+;void print()a=a+1;couta“ “;void print()constcouta“ “;void main()example x(3);const example y(2);xprint();yprint();(分数:2.00)A.2 2B.4 3C.4 2D.3 2二、基本操作题(
16、总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 proj1,其中有枚举 DOGCOLOR、狗类Dog 和主函数 main 的定义。程序中位于每个“ERROR*found*”下的语句行有错误,请加以改正。改正后程序的输出结果应该是:There is a white dog named HohoThere is a black dog named HahaThere is a motley dog named Hihi注意:只修改每个ERROR*found*下的那一行,不要改动程序中的其他内容。#includeiostreamusing n
17、amespace std;狗的颜色:黑、白、黄、褐、花、其他 enum DOCCOLORBLACK,WHITE,YELLOW,BROWN,PIEBALD,OTHER;class Dog狗类DOGCOLOR color;char name20;static int count;puMic:Dog(char name,DOGCOLOR color)strcpy(this-name,name);ERROR*found*strcpy(this-color,color);DOGCOLOR getColor()constreturn color;ERROR*found*const char*getName
18、()constlretulnlIInttnl;const char*getColorString()constswitch(color)case BLACK:return“black“;case WHITE:return“white“;case YELLOW:return“yellow“;case BROWN:return“brown“;case PIEBALD:return“piebald“;return“motley“;void show()constcout“There is a“getColorString()“dog named“nameendl;int main()ERROR*fo
19、und*Dog dog1(“Hoho“,WHITE),dos2(“Haha“,BLACK);dog3(“Hihi“,OTHER);dog1show();dos2show();dog3show();return0;(分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2 下的工程 proj2,其中有矩阵基类MatrixBase、矩阵类 Matrix 和单位阵 unitMatrix 的定义,还有 main 函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:1 2 3 4 52 3 4
20、 5 63 4 5 6 71 0 0 0 0 00 1 0 0 0 00 0 1 0 0 00 0 0 1 0 00 0 0 0 1 00 0 0 0 0 1 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“*found*”。#includeiostreamusing namespace std;矩阵基础类,一个抽象类 class MatrixBaseint rows,cols;public:MatrixBase(int rows,int cols):rows(rows),cols(cols)int getRows()constreturn rows;矩阵行数 i
21、nt getCols()constreturn cols;矩阵列数 virtual double getElement(int r,int c)const=O;取第 i 个元素的值 void show()const分行显示矩阵中所有元素 for(int i=0;irows;i+)coutendl:for(int j=0;jcols;j+)*found*cout_“ “;矩阵类 class Matrix:public MatrixBasedouble*val:public:*found*Matrix(int rows,int cols,double m=NULL):_*found*val=_;f
22、or(int i=0;irows*cols;i+)vali=(m=NULL?00:mi);Matrix()deleteval;double getElement(int r,int c)constreturn valr*getCols()+c;单位阵(主对角线元素都是 1,其余元素都是 0 的方阵)类 class UnitMatrix:public MatrixBasepublic:UnitMatrix(int rows):MatrixBase(rows,rows)单位阵行数列数相同 double getElement(int r,int c)const*found*if(_)return10
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 模拟 试卷 165 答案 解析 DOC
