【计算机类职业资格】二级C++笔试94及答案解析.doc

上传人:explodesoak291 文档编号:1324833 上传时间:2019-10-17 格式:DOC 页数:13 大小:69KB
下载 相关 举报
【计算机类职业资格】二级C++笔试94及答案解析.doc_第1页
第1页 / 共13页
【计算机类职业资格】二级C++笔试94及答案解析.doc_第2页
第2页 / 共13页
【计算机类职业资格】二级C++笔试94及答案解析.doc_第3页
第3页 / 共13页
【计算机类职业资格】二级C++笔试94及答案解析.doc_第4页
第4页 / 共13页
【计算机类职业资格】二级C++笔试94及答案解析.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、二级 C+笔试 94及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.执行语句序列 ofstream outfile(“data.dat“); if(.)cout“ok“;else cout“fail“; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if语句的“.”处的表达式是( )。(分数:2.00)A.outfilfail()或 outffleB.outfilgood()或!outfileC.outfilgood()或 outfileD.outfilfail()或!outfile2.有如下程序: #in

2、chdeiostream.h void fun(int int main() int a2=23,42); fun(a1,a0); std:couta0“,“a1Std:endl; return 0; 执行后的输出结果是( )。(分数:2.00)A.42,42B.23,23C.23,42D.42,233.下列叙述中正确的是( )。(分数:2.00)A.数据的逻辑结构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对4.软件详细设计的主要任务是确定每个模

3、块的( )。(分数:2.00)A.算法和使用的数据结构B.外部接口C.功能D.编程5.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同6.程序的三种基本控制结构是( )。(分数:2.00)A.过程、子过程和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移7.设有语句:char str1=“string“,str28,*str3,*str4=“string“;,则下列对库函数 strcpy调用不正确的是( )。(分数:2.00)A.strcpy(str1,“Hellol“)

4、;B.strcpy(str2,“Hello2“);C.strcpy(str3,“Hello3“);D.strcpy(str4,“Henllo4“);8.下面程序的输出结果是( )。 #includeiostream using namespace std; int main() int n=10; while(n7) n-; cout11,; coutendl; (分数:2.00)A.10,9,8,B.9,8,7,C.10,9,8,7,D.9,8,7,6,9.当需要将一个函数 bool isnumber(char c)声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.en

5、um bool isnumber(char ;B.define bool isnumber(char ;C.inline bool isnumber(char ;D.extem bool isnumber(char ;10.流程控制语句的基本控制结构有三种,不属于这一种结构的是( )。(分数:2.00)A.顺序结构B.选择结构C.循环结构D.计算结构11.有如下程序: #includeiostream using namespace std; class sample private: int x,y; public: sample(int i,int j) x=i; y=j; void di

6、sp() cout“displ“endl; void disp()const cout“disp2“endl; ; int main() const sample a(1,2); a.disp(); return 0; 该程序运行后的输出结果是( )。(分数:2.00)A.disp1B.disp2C.disp1 disp2D.程序编译时出错12.假定 MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.-MyClass(int ;C.MyClass();D.MyClass();13.实现运行时的多态性要使用(分数:2.00

7、)A.重载函数B.析构函数C.构造函数D.虚函数14.( )提供了类对外部的接口,私有成员是类的内部实现,而保护成员不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。(分数:2.00)A.公有成员B.私有成员C.私有成员函数D.保护成员15.类 MyClass的定义如下: class MyClass public: MyClass() MyClass(int i) value=new int(i); int *value; ; 若要对类中的 value赋值,则下面的语句中,正确的是( )。(分数:2.00)A.MyClass my;mvalue=10;B.My

8、Class my;*my,value=10;C.MyClass my;m*value=10;D.MyClass my(10);16.已知枚举类型定义语句为: enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是( )。(分数:2.00)A.枚举常量 NAME的值为 1B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 1017.假定 MyClass为类,执行 MyClass a3,*p2;语句时会自动调用该类构造函数( )次。(分数:2.00)A.2B.3C.4D.518.已知:int

9、n=10;那么下列语句中错误的是( )。(分数:2.00)A.int*p=new long;B.int p;C.int*p=new long(;D.int p10;19.若有以下定义: int a=1,2,3,4,5,6,7); char cl=b,c2=2; 则数值不为 2的表达式是( )。(分数:2.00)A.a1B.d-c1C.a3-c2D.c2-020.下列叙述中,不属于软件需求规格说明书的作用的是( )。(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析21.下列类的

10、定义中,有( )处语法错误。 class Base publiC: Base() Base(int i) data=i; ptivate: int data; ; class DeriVe:public Base public: Derive():Base(0) Derive(int x) d=x; void setvalue(int i) data=i; private: d; ;(分数:2.00)A.1B.2C.3D.422.不能作为函数重载的判断依据的是( )。(分数:2.00)A.constB.返回类犁C.参数个数D.参数类型23.下列关于指针的运算中,( )是非法的。(分数:2.00

11、)A.两个指针在一定条件下,可以进行相等或不等的比较运算B.可以将一个空指针赋值给某个指针C.一个指针可以加上两个整数之差D.两个指针在一定条件下可以相加24.一个函数带有参数说明时,则参数的默认值应该在( )中给出。(分数:2.00)A.函数定义B.函数声明C.函数定义或声明D.函数调用25.下面叙述错误的是( )。(分数:2.00)A.派生类可以使用 private派生B.对基类成员的访问必须是无二义性的C.基类成员的访问能力在派生类中维持不变D.赋值兼容规则也适用于多继承的组合26.以下程序的输出结果是( )。 #includeiostream.h main() int m=5; if(

12、m+5) coutm; else coutm-; (分数:2.00)A.7B.6C.5D.427.数据库管理系统是位于用户与操作系统之间的一个数据管理软件,以下不属于它的基本功能的是( )。(分数:2.00)A.数据共享功能B.数据定义功能C.数据操纵功能D.数据库的运行管理与控制功能28.在 C+语言中,main 函数默认返回一个( )类型的值。(分数:2.00)A.intB.floatC.charD.void29.若有以下程序: #includeiostream using namespace std; class Base public: Base() x=0; int x; ; cla

13、ss Derivedl:virtual public Base publiC: Derivedl() X=10; ; Class Derived2:Virtual public Base public: Dedved2() x=20; ; class Derived:public Delivedl,protected Derived2; int main() Derived obj; coutobj.Xendl; return 0; 该程序运行后的输出结果是( )。(分数:2.00)A.20B.30C.10D.030.假定 MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )。

14、(分数:2.00)A.MyClass(分数:2.00)填空项 1:_43.以下程序段是函数返回 a所指数组中最小的值所在的下标值,请在下划线处填空。 fun(int *a,int n) int i,j=0,p; p=j; for(i=j;in;i+) if(aiap)U 【8】 /U; return(p); (分数:2.00)填空项 1:_44.执行语句序列 int x=10,q+; r=(char*)q; coutrendl; return 0; 该程序的输出结果是U 【10】 /U。(分数:2.00)填空项 1:_46.阅读下面的程序: #includeiomanip.h void mai

15、n() cout.fill(!); coutsetiosflags(ioS:left)填空项 1:_47.以下程序的执行结果是U 【12】 /U。 #includeiostream.h #includeiomanip.h void pnnt(int n) if (n!=0) Print(n-1); for (int i=1;i=n;i+) coutsetw(3)i; coutendl; void main() print(4); (分数:2.00)填空项 1:_48.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是,U 【13】 /U。(分数:2.00)填空项 1:_49.

16、执行以下程序后,输出“#”号的个数是U 【14】 /U。 #includeiostream.h main() int i,j; for(i=1;i5;i+) for(j=2;j=i;j+) cout#; (分数:2.00)填空项 1:_50.阅读以下程序: #includeiostream.h void main() static int a3=9,7,5,3,1,2,4,6,8; int i,j,s1=0,s2=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j)s1=sl+aij; if(i+j=2)s2=s2+aij; couts1“,“s2endl; 则该程

17、序的输出结果为U 【15】 /U。(分数:2.00)填空项 1:_二级 C+笔试 94答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.执行语句序列 ofstream outfile(“data.dat“); if(.)cout“ok“;else cout“fail“; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if语句的“.”处的表达式是( )。(分数:2.00)A.outfilfail()或 outffleB.outfilgood()或!outfileC.outfilgood()或 outfile D.

18、outfilfail()或!outfile解析:2.有如下程序: #inchdeiostream.h void fun(int int main() int a2=23,42); fun(a1,a0); std:couta0“,“a1Std:endl; return 0; 执行后的输出结果是( )。(分数:2.00)A.42,42B.23,23 C.23,42D.42,23解析:3.下列叙述中正确的是( )。(分数:2.00)A.数据的逻辑结构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用

19、数组只能处理线性结构D.以上三种说法都不对 解析:4.软件详细设计的主要任务是确定每个模块的( )。(分数:2.00)A.算法和使用的数据结构 B.外部接口C.功能D.编程解析:5.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同解析:6.程序的三种基本控制结构是( )。(分数:2.00)A.过程、子过程和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:7.设有语句:char str1=“string“,str28,*str3,*str4=“string“;,则

20、下列对库函数 strcpy调用不正确的是( )。(分数:2.00)A.strcpy(str1,“Hellol“);B.strcpy(str2,“Hello2“);C.strcpy(str3,“Hello3“); D.strcpy(str4,“Henllo4“);解析:8.下面程序的输出结果是( )。 #includeiostream using namespace std; int main() int n=10; while(n7) n-; cout11,; coutendl; (分数:2.00)A.10,9,8,B.9,8,7, C.10,9,8,7,D.9,8,7,6,解析:9.当需要将

21、一个函数 bool isnumber(char c)声明为内联函数时,则此内联函数的函数原型为( )。(分数:2.00)A.enum bool isnumber(char ;B.define bool isnumber(char ;C.inline bool isnumber(char ; D.extem bool isnumber(char ;解析:10.流程控制语句的基本控制结构有三种,不属于这一种结构的是( )。(分数:2.00)A.顺序结构B.选择结构C.循环结构D.计算结构 解析:11.有如下程序: #includeiostream using namespace std; clas

22、s sample private: int x,y; public: sample(int i,int j) x=i; y=j; void disp() cout“displ“endl; void disp()const cout“disp2“endl; ; int main() const sample a(1,2); a.disp(); return 0; 该程序运行后的输出结果是( )。(分数:2.00)A.disp1B.disp2 C.disp1 disp2D.程序编译时出错解析:12.假定 MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.v

23、oidMyClass();B.-MyClass(int ;C.MyClass();D.MyClass(); 解析:13.实现运行时的多态性要使用(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数 解析:14.( )提供了类对外部的接口,私有成员是类的内部实现,而保护成员不允许外界访问,但允许派生类的成员访问,这样既有一定的隐藏能力,又提供了开放的接口。(分数:2.00)A.公有成员 B.私有成员C.私有成员函数D.保护成员解析:15.类 MyClass的定义如下: class MyClass public: MyClass() MyClass(int i) value=new i

24、nt(i); int *value; ; 若要对类中的 value赋值,则下面的语句中,正确的是( )。(分数:2.00)A.MyClass my;mvalue=10;B.MyClass my;*my,value=10;C.MyClass my;m*value=10;D.MyClass my(10); 解析:16.已知枚举类型定义语句为: enum TokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列叙述中错误的是( )。(分数:2.00)A.枚举常量 NAME的值为 1 B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PR

25、INT的值为 10解析:17.假定 MyClass为类,执行 MyClass a3,*p2;语句时会自动调用该类构造函数( )次。(分数:2.00)A.2B.3 C.4D.5解析:18.已知:int n=10;那么下列语句中错误的是( )。(分数:2.00)A.int*p=new long;B.int p; C.int*p=new long(;D.int p10;解析:19.若有以下定义: int a=1,2,3,4,5,6,7); char cl=b,c2=2; 则数值不为 2的表达式是( )。(分数:2.00)A.a1B.d-c1C.a3-c2D.c2-0 解析:20.下列叙述中,不属于软

26、件需求规格说明书的作用的是( )。(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:21.下列类的定义中,有( )处语法错误。 class Base publiC: Base() Base(int i) data=i; ptivate: int data; ; class DeriVe:public Base public: Derive():Base(0) Derive(int x) d=x; void setvalue(int i) data=i; private:

27、 d; ;(分数:2.00)A.1B.2 C.3D.4解析:22.不能作为函数重载的判断依据的是( )。(分数:2.00)A.constB.返回类犁 C.参数个数D.参数类型解析:23.下列关于指针的运算中,( )是非法的。(分数:2.00)A.两个指针在一定条件下,可以进行相等或不等的比较运算B.可以将一个空指针赋值给某个指针C.一个指针可以加上两个整数之差D.两个指针在一定条件下可以相加 解析:24.一个函数带有参数说明时,则参数的默认值应该在( )中给出。(分数:2.00)A.函数定义B.函数声明C.函数定义或声明 D.函数调用解析:25.下面叙述错误的是( )。(分数:2.00)A.派

28、生类可以使用 private派生B.对基类成员的访问必须是无二义性的C.基类成员的访问能力在派生类中维持不变 D.赋值兼容规则也适用于多继承的组合解析:26.以下程序的输出结果是( )。 #includeiostream.h main() int m=5; if(m+5) coutm; else coutm-; (分数:2.00)A.7B.6 C.5D.4解析:27.数据库管理系统是位于用户与操作系统之间的一个数据管理软件,以下不属于它的基本功能的是( )。(分数:2.00)A.数据共享功能 B.数据定义功能C.数据操纵功能D.数据库的运行管理与控制功能解析:28.在 C+语言中,main 函

29、数默认返回一个( )类型的值。(分数:2.00)A.int B.floatC.charD.void解析:29.若有以下程序: #includeiostream using namespace std; class Base public: Base() x=0; int x; ; class Derivedl:virtual public Base publiC: Derivedl() X=10; ; Class Derived2:Virtual public Base public: Dedved2() x=20; ; class Derived:public Delivedl,protec

30、ted Derived2; int main() Derived obj; coutobj.Xendl; return 0; 该程序运行后的输出结果是( )。(分数:2.00)A.20 B.30C.10D.0解析:30.假定 MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )。(分数:2.00)A.MyClass(分数:2.00)填空项 1:_ (正确答案:2,1)解析:43.以下程序段是函数返回 a所指数组中最小的值所在的下标值,请在下划线处填空。 fun(int *a,int n) int i,j=0,p; p=j; for(i=j;in;i+) if(aiap)U 【8

31、】 /U; return(p); (分数:2.00)填空项 1:_ (正确答案:p=i)解析:44.执行语句序列 int x=10,q+; r=(char*)q; coutrendl; return 0; 该程序的输出结果是U 【10】 /U。(分数:2.00)填空项 1:_ (正确答案:efgh)解析:46.阅读下面的程序: #includeiomanip.h void main() cout.fill(!); coutsetiosflags(ioS:left)填空项 1:_ (正确答案:400!)解析:47.以下程序的执行结果是U 【12】 /U。 #includeiostream.h #

32、includeiomanip.h void pnnt(int n) if (n!=0) Print(n-1); for (int i=1;i=n;i+) coutsetw(3)i; coutendl; void main() print(4); (分数:2.00)填空项 1:_ (正确答案:1)解析:12 123 123448.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是,U 【13】 /U。(分数:2.00)填空项 1:_ (正确答案:virtual int A()=0;)解析:49.执行以下程序后,输出“#”号的个数是U 【14】 /U。 #includeiostr

33、eam.h main() int i,j; for(i=1;i5;i+) for(j=2;j=i;j+) cout#; (分数:2.00)填空项 1:_ (正确答案:6)解析:50.阅读以下程序: #includeiostream.h void main() static int a3=9,7,5,3,1,2,4,6,8; int i,j,s1=0,s2=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j)s1=sl+aij; if(i+j=2)s2=s2+aij; couts1“,“s2endl; 则该程序的输出结果为U 【15】 /U。(分数:2.00)填空项 1:_ (正确答案:18,10)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1