【计算机类职业资格】二级C++模拟486及答案解析.doc
《【计算机类职业资格】二级C++模拟486及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++模拟486及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+模拟 486 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列关于栈叙述正确的是_。(分数:1.00)A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除2.下列叙述中正确的是_。(分数:1.00)A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第
2、1 层)_。(分数:1.00)A.3B.4C.6D.74.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。(分数:1.00)A.学生成绩管理系统B.C 语言编译程序C.UNIX 操作系统D.数据库管理系统5.结构化程序所要求的基本结构不包括_。(分数:1.00)A.顺序结构B.GOTO 跳转C.选择(分支)结构D.重复(循环)结构6.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具7.负责数据库中查询
3、操作的数据库语言是_。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。(分数:1.00)A.1:1 联系B.1:m 联系C.m:1 联系D.m:n 联系9.有三个关系 R、S 和 T 如下: R A B C a 1 2 b 2 1 c 3 1 S A B C a 1 2 b 2 1 T A B C b 2 1 c 3 1 则由关系 R 和 S 得到关系 T 的操作是_。(分数:1.00)A.自然连接B并C交D差10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化
4、值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1, 2, 3, 4, 511.C+语言对 C 语言做了很多改进,C+语言相对于 C 语言的最根本的变化是_。(分数:1.00)A.增加了一些新的运算符B.允许函数重载,并允许设置默认参数C.规定函数说明符必须用原型D.引进了类和对象的概念12.下列_是 C+语言的有效标识符。(分数:1.00)A._No1B.No. 1C.12345D.int13.设有定义 int x; float y;,则 10+x+y 值的数据类型是_。(分数:1.00)A.intB.doubleC.floatD.不确定14.下列程序的执行结果为
5、_。 #includeiostream. h void main() int a=3, b=0; int*P= b=+a+; cout*P“,“bendl;(分数:1.00)A.3, 4B.4, 3C.3, 4D.4, 415.下面程序的运行结果为_。 #includeiostream. h void main() for(int a=0, x=0;! x a+) a+; coutaendl; (分数:1.00)A.10B.11C.12D.016.下面有关 for 循环的正确描述是_。(分数:1.00)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达
6、式C.在 for 循环中,不能用 break 语句跳出循环体D.在 for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来17.以下程序中调用 cin 函数给变量 a 输入数值的方法是错误的,其错误原因是_。 #includeiostream. h void main() int*P, *q, a, b; P= cout“input a:“; cinP; (分数:1.00)A.*P 表示的是指针变量 P 的地址B.P 表示的是变量 a 的地址,而不是变量 a 的值C.*P 表示的是指针变量 P 的值D.*P 只能用来说明 P 是一个指针变量18.假定 int 类型变量占用两个字节,
7、其有定义 int x10=0, 2, 4;,则数组 x 在内存中所占是_。(分数:1.00)A.3B.6C.10D.2019.下列选项,不正确的是_。(分数:1.00)A.for(int a=1; a=10; a+);B.int a=1;doa+; while(a=10);C.int a=1;while(a=10)a+;D.for(int a=1; a=10; a+)a+;20.下面关于数组的初始化正确的是_。(分数:1.00)A.char str=“a“, “b“, “c“B.char str2=“a“, “b“, “c“C.char str23=“a“, “b“, “c“, “d“, “e
8、“, “f“D.char str()=“a“, “b“, “c“21.下列程序的输出结果为_。 #includeiostream. h void main() char*a=“hello“, “the“, “world“; char*pa=a; pa+; cout*paendl; (分数:1.00)A.helloB.theC.wordD.hellotheworld22.决定 C+语言中函数的返回值类型的是_。(分数:1.00)A.return 语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型23.有以下程序: #includ
9、eiostream. h void 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; 输出结果是_。(分数:1.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45624.以下叙述正确的是_。(分数:1.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义25.下列程序的输出结果
10、是_。 #includeiostream. h int min(int a, int b) if(ab)return a; else return b; return 0; void main() coutmin(1, min(2, 3)endl; (分数:1.00)A.0B.1C.2D.326.下列程序的运行结果为_。 #includeiostream. h void print(double a) cout+a; void print(int a, int b) coutba; void main() print(1. 2); cout“ “; print(3, 4); (分数:1.00)
11、A.1.2 34B.2.2 34C.1.2 43D.2.2 4327.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是_。(分数:1.00)A.公有类型B.私有类型C.保护类型D.友元类型28.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是_。(分数:1.00)A.友元函数B.虚函数C.构造函数D.析构函数29.类的析构函数的作用是_。(分数:1.00)A.一般成员函数的初始化B.类的初始化C.对象的初始化D.删除类创建的对象30.下列说法正确的是_。(分数:1.00)A.内联函数在运行时是将该函数的目标代码插入
12、每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字 inline 定义31.下面对静态数据成员的描述中,正确的是_。(分数:1.00)A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受 private 控制符的作用D.静态数据成员可以直接用类名调用32.下面对于友元函数描述正确的是_。(分数:1.00)A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员33.在公有派
13、生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是_。(分数:1.00)A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针34.下面程序的运行结果为_。 #includeiostream. h class A public: A() cout“1“; A() cout“2“; ; class B: public A public: B() cout“3“; B() cout“4“; ; void main() B b; (分数:1.00)A.1234B.1324C.1342D.31
14、4235.下列关于虚基类的描述,错误的是_。(分数:1.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数36.下列关于多态性的描述,错误的是_。(分数:1.00)A.C+语言中的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态绑定37.下列运算符中,在 C+语言中不能重载的是_。(分数:1.00)A.*B. =C.
15、: :D./38.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为_(分数:1.00)A.ios:inB.ios:outC.ios:in | ios:outD.以上都不对39.下列程序的运行结果是_。 #includeiostream. h Class A int a; public: A() a=0; A(int aa) a=aa; couta+; ; void main() A x, y(2), z(3); coutendl; (分数:1.00)A.00B.23C.34D.2540.下面程序的输出结果是_。 #includeiostream. h cla
16、ss example int a; public: example(int b) a=b+; void print() a=a+1; couta“ “; void print()const couta“ “; ; void main() example x(3); const example y(2); x. print(); y. print(); (分数:1.00)A.2 2B.4 3C.4 2D.3 2二、基本操作题(总题数:1,分数:18.00)41.请使用 VC6 或使用答题菜单打开 proj1 下的工程 proj1,该工程中包含程序文件 main. cpp,其中有类 Door(“门
17、”)和主函数 main 的定义。程序中位于每个“/ERROR *found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为: 打开 503 号门门是锁着的,打不开。 打开 503 号门的锁锁开了。 打开 503 号门.门打开了。 打开 503 号门.门是开着的,无须再开门。 锁上 503 号门先关门门锁上了。 注意:只修改每个“/ERROR *found*”下的那一行,不要改动程序中的其他内容。 #includeiostream using namespace std; class Door int num;/门号 bool closed;/true 表示门关着 bool loc
18、ked;/true 表示门锁着 public: Door(int num) /ERROR *found* num=this-num; closed=locked=true; bool isClosed()const return closed; /门关着时返回 true, 否则返回 false bool isOpened()const return ! closed; /门开着时返回 true, 否则返回 false bool isLocked()const return locked; /门锁看时返回 true, 否则返回 false bool isUnlocked()const retur
19、n ! locked; /门未锁时返回 true, 否则返回 false void open() /开门 coutendl“打开“num“号门.“; /ERROR *found* if(closed) cout“门是开着的,无须再开门。“; else if(locked) cout“门是锁着的,打不开。“; else closed=false; cout“门打开了。“; void close() /关门 coutendl“关上“num“号门“; if(closed) cout“门是关着的,无须再关门。“; else closed=tree; cout“门关上了。“; /ERROR *found
20、* void lock()const /锁门 coutendl“锁上“num“号门“; if(locked) cout“门是锁着的,无须再锁门。“; else if(! closed) cout“先关门“; closed=true; locked=true; cout“门锁上了。“; void unlock() /开锁 coutendl“开“num“号门的锁“; if(! locked) cout“门没有上锁,无须再开锁。“; else locked=false; cout“锁开了。“; ; int main() Door door(503); door. open(); door. unlo
21、ck(); door. open(); door. open(); door. lock(); return 0; (分数:18.00)_三、简单应用题(总题数:1,分数:24.00)42.请使用 VC6 或使用答题菜单打开 proj2 下的工程 proj2,该工程中包含一个程序文件 main. epp,其中有日期类 Date、人员类 Person 及排序函数 sortByName 和主函数 main 的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义和函数定义。此程序的正确输出结果应为: 按姓名排序 排序前: 张三 男 出生日期:1978 年 4 月 20 日 王五 女 出
22、生日期:1965 年 8 月 3 日 杨六 女 出生日期:1965 年 9 月 5 日 李四 男 出生日期:1973 年 5 月 30 日 排序后: 李四 男 出生日期:1973 年 5 月 30 日 王五 女 出生日期:1965 年 8 月 3 日 杨六 女 出生日期:1965 年 9 月 5 日 张三 男 出生日期:1978 年 4 月 20 日 注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。 #includeiostream using namespace std; class Date /日期类 int year, month, da
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 模拟 486 答案 解析 DOC
