【计算机类职业资格】二级C++-212及答案解析.doc
《【计算机类职业资格】二级C++-212及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-212及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-212 及答案解析(总分:65.50,做题时间:90 分钟)一、选择题(总题数:40,分数:65.50)1.在数据管理技术发展的三个阶段中,数据共享最好的是_。(分数:1.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同2.下列选项中,正确的 C+表达式是_。(分数:2.00)A.a+b=b+eB.xyz+C.www+9D.a33.下面关于运算符重载的描述错误的是_。(分数:2.50)A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operatorD.在
2、 C+语言中不可通过运算符重载创造出新的运算符4.每个 C+程序中都必须有且仅有一个_。(分数:2.50)A类B.预处理命令C.主函数D.语句5.面向对象程序设计思想的主要特征中不包括(分数:2.00)A.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性6.有如下函数模板: template typename T, typename U T cast(U u) return u; 其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是_。(分数:1.00)A.cast(i);B.cast(i);C.castchar*,
3、int(i);D.castdouble, int(i);7.软件详细设计产生的图如下: (分数:2.50)A.N-S 图B.PAD 图C.程序流程图D.E-R 图8.下面程序的输出结果是_。 #includeiostream.h #includestring.h void main() char p110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); char str50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:1.00)A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC
4、9.有如下程序: #includeiostream using namespace std; void fun(int i) cout“/int i“; void fun(char e)cout“/char c“; int main() fun(0); fun(“0“); retum 0; 运行后的输出结果是_。(分数:1.00)A./int i/int iB./int i/char cC./char c/int iD./char c/char c10.设有定义 charstr80以下不能将输人数据 nrst/nsecond/CR)读取到数组 str 的语句是 _ 。(分数:2.00)A.ci
5、n.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.dn.read(str,strlen(str);11.在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送_来实现。(分数:1.00)A.调用语句B.命令C.中令D.消息12.有如下类定义: class MyClass public: _ private: int data; ; 若耍为 Myclass 类重载流输入运算符,使得程序中可以“cinobj;”形式输入 MyClass 类的对象obj,则横线处的声明语句应为_。(分数:1.00)A.friend is
6、tream operator(istream is,MyClass-a);B.friend istreamoperator(istream is,MyClassa);C.istreamoperator(istreamis,MyClassa);D.istrcamoperator(istreamis,Myclass a);13.若有如下程序: #includeiostream using narnespace std; class TestClass public: void who()cout“TestClass“endl; ; class TestClassl: public TestClas
7、s public: void who()cout“TestClass1“endl; int main() TestClass*p; TcstClass1 obj1; p=obj1; p-who(); return 0; 则该程序运行后的输出结果是_。(分数:1.00)A.TestClasslB.TestClassC.0D.无输出14.计算数列第 n 项的函数定义如下: int fa(int n) if(n=0) return 0; else if(n=1) return 1; else return fa(n-1)+fa(n-2); 若执行函数调用表达式 fa(3)时,返回的函数值为_。(分数
8、:1.00)A.0B.1C.2D.315.以下正确的描述为(分数:2.00)A.每个 C+语言程序必须在开头用预处理命令:B.预处理命令必须位于 C+源程序的首部C.在 C+语言中预处理命令都以“#”开头D.C+语言的预处理命令只能实现宏定义和条件编译的功能16.VisualFoxPro 是一种 _ 。(分数:1.00)A.数据库管理系统软件B.操作系统软件C.文字处理软件D.CAD 软件17.已知类 Time 的定义如下: class Time/时间类 private: int hour, minute, second;/时、分、秒 public: Time(int h,int m, int
9、 s):hour(h),minute(m),second(s) _ switch(index) case0: return hour; case 1: return minute; default: return second; ; 其中横线处应为下标访问运算符的重载函数的函数头,横线处应填入的代码是(分数:2.50)A.int ; class Derived1:public Base; class Derived2:protected Base; int main() Derived1 d1; Derived2 d2; d1.data=0;/ d2.data=0;/ return 0; 下列
10、关于程序编译结果的描述中,正确的是_。(分数:1.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误D.皆有编译错误19.对于算法的每一步,指令必须是可执行的。算法的 _ 要求算法在有限步骤之后能够达到预期的目的。(分数:2.00)A.可行性B.有穷性C.正确性D.确定性20.下面有关类模板的说法中不正确的是 _ 。(分数:2.00)A.类模板的成员函数都是模板函数B.类模板本身在编译中不会生成任何代码C.类模板只是虚拟类型的参数D.用类模板定义一个对象时,不能省略实际参数21.下列不属于软件工程过程的基本活动的是 _ 。(分数:1.00)A.软件规格说明B.软件开发C
11、.软件确认D.软件需求分析22.运算符重载是对已有的运算符赋予多重含义,因此_。(分数:2.00)A.可以对基本类型(如 int 类型)的数据,重新定义“+”运算符的含义B.可以改变一个已有运算符的优先级和操作数个数C.只能重载 C+中已经有的运算符,不能定义新运算符D.C+中已经有的所有运算符都可以重载23.数据库系统的三级模式不包括_。(分数:1.00)A.概念模式B.内模式C.外模式D.数据模式24.单个用户使用的数据视图的描述称为(分数:1.00)A.外模式B.概念模式C.内模式D.存储模式25.有如下函数模板定义: templateclass T T func(T x,T y)ret
12、urn x*x+y*y; 在下列对 func 的调用中,错误的是_。(分数:2.00)A.func(3,5);B.func(3.0,5.5);C.func(3,5.5);D.funcint(3,5.5);26.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 _ 。(分数:1.00)A.showbase()和 eof()B.showpoint()和 eof()C.showpoint()和 bad()D.showpoint()和 good()27.若有定义语句“int i=2,j=3;”,则表达式 i/j 的结果是_。(分数:2.00)A.0B.0.7C.0.66667D.0.666
13、6666728.两个或两个以上模块之间联系的紧密程度称为_。(分数:1.00)A.耦合性B.内聚性C.复杂性D.数据传输特性29.下面程序的运行结果为 #includeiostream.h void main( ) char a=“3“; switch(a) case“3“: cout “3“; case“2“: cout “2“;break; default: cout “1“; (分数:1.00)A.3B.321C.31D.3230.下列关于运算符重载的叙述中,错误的是_。(分数:1.00)A.有的运算符可以作为非成员函数重载B.所有的运算符都可以通过重载而被赋予新的含义C.不得为重载的运
14、算符函数的参数设置默认值D.有的运算符只能作为成员函数重载31.对于一个类定义,下列叙述中错误的是_。(分数:1.00)A.如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B.如果没有定义缺省的构造函数,编译器一定将生成一个缺省的构造函数C.如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D.如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数32.有如下的运算符重载函数定义: double operator+(int i,int k)return double(i+k); 但定义有错误,对这个错误最准确的描述是_。(分数:3.00)A.+只能作为成员函
15、数重载,而这里的+是作为非成员函数重载的B.两个 int 型参数的和也应该是 int 型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int 型数据之和的运算符+,不能再定义同样的运算符33.下列关于运算符重载的描述中,正确的是_。(分数:2.00)A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符B.一元运算符只能作为成员函数重载C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符34.有如下程序: #includeiostream using namespace std; class
16、 Toy public: Toy(char*_n)strcpy(name,_n);count+; Toy()count-; char*GetName()return name; static int getCount()return count; private: char name10; static int count; ; int Toy:count=0; int main() Toy t1(“Snoopy“),t2(“Mickey“),t3(“Barbie“); coutt1.getCount()endl; return 0; 运行时的输出结果是_。(分数:2.50)A.1B.2C.3
17、D.运行时出错35.判断字符型变量 ch 是否为大写英文字母,应使用表达式 _ 。(分数:2.00)A.ch=“A“ class Media public: void Name(); void Show(); protected: int page; ; class Book:private Media public: void Print()coutpageendl; void Show()Media:Show(); / ; int main() Book Bible; Bible.Name(); / Bible.Print(); / Bible.Show(); / return 0; 编译
18、时有错误的是_。(分数:2.50)A.语句B.语句C.语句D.语句40.对于模板定义关键字 class 和 typename 说法不正确的是_。(分数:1.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename二级 C+-212 答案解析(总分:65.50,做题时间:90 分钟)一、选择题(总题数:40,分数:65.50)1.在数据管理技术发展的三个阶段中,数据共享最好的是_。(分数:1.00)A.人工管理阶段B.文件系统阶
19、段C.数据库系统阶段 D.三个阶段相同解析:解析 数据管理发展至今已经历了三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。其中最后一个阶段结构简单,使用方便逻辑性强物理性少,在各方面的表现都最好,一直占据数据库领域的主导地位,所以选择 C。2.下列选项中,正确的 C+表达式是_。(分数:2.00)A.a+b=b+eB.xyz+C.www+9D.a3 解析:3.下面关于运算符重载的描述错误的是_。(分数:2.50)A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operator D.在
20、 C+语言中不可通过运算符重载创造出新的运算符解析:解析 例如“:”运算符就不能被重载;通过重载可以创造新的运算方式,但是不能臆造新的运算符;定义的时候必须使用关键字 operator,而调用时可直接使用运算符。4.每个 C+程序中都必须有且仅有一个_。(分数:2.50)A类B.预处理命令C.主函数 D.语句解析:解析 每个 C+程序中都要有且仅有一个主函数,该函数是程序的入口,而语句、预处理命令和函数及类在程序中都可以有多个。5.面向对象程序设计思想的主要特征中不包括(分数:2.00)A.继承性B.功能分解,逐步求精 C.封装性和信息隐藏D.多态性解析:解析 C+是一种面向对象的程序设计语言
21、,它充分支持面向对象思想中的 3 个主要特征:封装性,继承性、多态性。B 选项所描述是结构化程序设计的思想。6.有如下函数模板: template typename T, typename U T cast(U u) return u; 其功能是将 U 类型数据转换为 T 类型数据。已知 i 为 int 型变量,下列对模板函数 cast 的调用中正确的是_。(分数:1.00)A.cast(i);B.cast(i);C.castchar*, int(i);D.castdouble, int(i); 解析:解析 本题考查函数模板的基本运用,属于基础知识。函数模板实际上是建立一个通用函数,其函数类型
22、和形参类型不具体指定,用一个虚拟的类型代表,这个通用函数就是函数模板。函数模板可以设定默认参数,这样在调用模板函数时就可以省略实参,函数模板的实例就是一个函数的定义。所以本题答案为 D。7.软件详细设计产生的图如下: (分数:2.50)A.N-S 图B.PAD 图C.程序流程图 D.E-R 图解析:解析 程序流程图基本图符有:控制流(用箭头表示)、加工步骤(用方框表示)、逻辑条件(用菱形表示)。有 5 种控制结构:顺序、选择、多分支选择、后判断重复型和先判断重复型。题目中为选择结构的程序流程图。8.下面程序的输出结果是_。 #includeiostream.h #includestring.h
23、 void main() char p110,p210; strcpy(p1,“abc“); strcpy(p2,“ABC“); char str50=“xyz“; strcpy(str+2,strcat(p1,p2); coutstr; (分数:1.00)A.xyzabcABCB.zabcABCC.xyabcABC D.yzabcABC解析:解析 该函数的调用方式是 strcpy(字符数组,字符串),其中字符串可以是串常量,也可以是字符数组。函数的功能是将字符串完整地复制到字符数组中,字符数组中原有内容被覆盖。使用该函数时注意:字符数组必须定义得足够大,以便容纳复制过来的字符串,复制时,连同
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C212 答案 解析 DOC
