1、二级 C+笔试-270 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.类模板的使用实际上是将类模板实例化成一个具体的( )。(分数:2.00)A.类B.对象C.函数D.模板类2.已知一个类 Sample,( )是定义指向类 Sample 成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和 int a。(分数:2.00)A.Sample*pB.Int Samale:*pc= cinabcd;(分数:2.00)A.10,20空格A,B回车B.10空格20空格A空格B回车C.10空格20,A,B回车D.10
2、,20,A,B回车9.不合法的 main 函数命令行参数表示形式是( )。(分数:2.00)A.main(int a,char*c1B.main(int arc,char*arv)C.main(int argc,char*argv)D.main(int argy,char*argc)10.下面关于类概念的描述中( )是错误的。(分数:2.00)A.类是抽象数据类型的实现B.类是具有共同行为的若干对象的统一描述体C.类是创建对象的样板D.类就是 C 语言中的结构体类型11.下列关于纯虚函数与抽象类的描述中,错误的是( )。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现B.抽象
3、类是指具有纯虚函数的类C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出12.下列语句错误的是( )。(分数:2.00)A.char*p=“John“;P2=a;B.char name5=“John“;name2=aC.char name5=“John“,*p=name;p2=a;D.char name5=“John“,*p=break;case-:*Z=x-y;break:case*:*Z=x*y;break;case/:*z=x/y;break:以下合法的函数调用语句是( )。(分数:2.00)A.sub(10,20,C
4、h,y);B.sub(1.2+3,2*2,+,day=3C.Day day;day=Monday+3D.Day day;day=Tuesday+1023.若二维数组 a 有 m 列,则计算任一元素 aij在数组中相对位置的公式为(假设 a0 0位于数组的第一个位置上) ( )。(分数:2.00)A.i*m+jB.j*m+IC.i*m+j-1D.i*m+j+124.类模板 templateclass Tclass x,其中,友元函数 f 对特定类型 T(如 int),使函数f(xint)C.friend voidA:f()D.friend void CT:f(xTclass derive2;pu
5、blic basepublic:void who() cout“derive2 class“endl;void main()base obj1,*P;derive1 obj2;derive2 obj3:p=for(i=0;_!=/0;i+);return(i);(分数:2.00)填空项 1:_43.有如下的类模板定义:templatetypenameTYPEclassMyClassTYPE n;public:MyClass(TYPE k);其中构造函数 MyClass 用的值初始化数据成员 n。因此在模板类体外,构造函数 MyClass 应定义_。(分数:2.00)填空项 1:_44.以下程序
6、的执行结果是_。#includeiostream.h#includeiomanip.hvoid main()cout.fi1(*);cout.width(10);coutsetiosflags(ios:hex)160endl;cout.width(8);cout160endl;cout.width(4); cout160endl;(分数:2.00)填空项 1:_45.如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是 1。(分数:2.00)填空项 1:_46.流操作子 1 可跳过输入流中的前导空白字符。(分数:2.00)填空项 1:_47.以下程序的执行结果是_。#include
7、iostream.h#includefstream.h#includestdlib.hvoid main()char ch;fstream file;file.open(“abc. dar“,ios:out|ios: in|ios:binary):if(! file)cout“abc.dat 文件不能打开“endl;abort() ;file“12 34 56“endl;file.seekg(o,ios:beg):while(!file.eof()streampos here=file.tellg();file.get(ch);if(ch= )couthere“ “;coutendl:(分数:
8、2.00)填空项 1:_48. 1 是 C+语言程序的人口。(分数:2.00)填空项 1:_49.C+语言中的基本符号可以分为_、_、_三类。(分数:2.00)填空项 1:_50.静态联编所支持的多态性称为_多态性,动态联编所支持的多态性则称为_多态性,动态多态性由_来支持。(分数:2.00)填空项 1:_二级 C+笔试-270 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.类模板的使用实际上是将类模板实例化成一个具体的( )。(分数:2.00)A.类B.对象 C.函数D.模板类解析:2.已知一个类 Sample,( )是定义指向类 Sam
9、ple 成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和 int a。(分数:2.00)A.Sample*pB.Int Samale:*pc= cinabcd;(分数:2.00)A.10,20空格A,B回车B.10空格20空格A空格B回车 C.10空格20,A,B回车D.10,20,A,B回车解析:9.不合法的 main 函数命令行参数表示形式是( )。(分数:2.00)A.main(int a,char*c1B.main(int arc,char*arv)C.main(int argc,char*argv) D.main(int argy,char*a
10、rgc)解析:10.下面关于类概念的描述中( )是错误的。(分数:2.00)A.类是抽象数据类型的实现B.类是具有共同行为的若干对象的统一描述体C.类是创建对象的样板D.类就是 C 语言中的结构体类型 解析:11.下列关于纯虚函数与抽象类的描述中,错误的是( )。(分数:2.00)A.纯虚函数是一种特殊的虚函数,它没有具体的实现 B.抽象类是指具有纯虚函数的类C.一个基类中说明具有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出解析:12.下列语句错误的是( )。(分数:2.00)A.char*p=“John“;P2=a; B.char nam
11、e5=“John“;name2=aC.char name5=“John“,*p=name;p2=a;D.char name5=“John“,*p=break;case-:*Z=x-y;break:case*:*Z=x*y;break;case/:*z=x/y;break:以下合法的函数调用语句是( )。(分数:2.00)A.sub(10,20,Ch,y);B.sub(1.2+3,2*2,+,day=3C.Day day;day=Monday+3D.Day day;day=Tuesday+10解析:23.若二维数组 a 有 m 列,则计算任一元素 aij在数组中相对位置的公式为(假设 a0 0位
12、于数组的第一个位置上) ( )。(分数:2.00)A.i*m+j B.j*m+IC.i*m+j-1D.i*m+j+1解析:24.类模板 templateclass Tclass x,其中,友元函数 f 对特定类型 T(如 int),使函数f(xint) C.friend voidA:f()D.friend void CT:f(xTclass derive2;public basepublic:void who() cout“derive2 class“endl;void main()base obj1,*P;derive1 obj2;derive2 obj3:p=for(i=0;_!=/0;i
13、+);return(i);(分数:2.00)填空项 1:_ (正确答案:*(str+i)或 stri)解析:43.有如下的类模板定义:templatetypenameTYPEclassMyClassTYPE n;public:MyClass(TYPE k);其中构造函数 MyClass 用的值初始化数据成员 n。因此在模板类体外,构造函数 MyClass 应定义_。(分数:2.00)填空项 1:_ (正确答案:templatetypename TYPE TyClassTYPE:MyClass(TYPE k):n(k))解析:44.以下程序的执行结果是_。#includeiostream.h#i
14、ncludeiomanip.hvoid main()cout.fi1(*);cout.width(10);coutsetiosflags(ios:hex)160endl;cout.width(8);cout160endl;cout.width(4); cout160endl;(分数:2.00)填空项 1:_ (正确答案:*a0*a0*a0)解析:45.如果一个类中定义了成员对象,则该类的对象和成员对象先被初始化的是 1。(分数:2.00)填空项 1:_ (正确答案:类的成员对象)解析:46.流操作子 1 可跳过输入流中的前导空白字符。(分数:2.00)填空项 1:_ (正确答案:ws)解析:4
15、7.以下程序的执行结果是_。#includeiostream.h#includefstream.h#includestdlib.hvoid main()char ch;fstream file;file.open(“abc. dar“,ios:out|ios: in|ios:binary):if(! file)cout“abc.dat 文件不能打开“endl;abort() ;file“12 34 56“endl;file.seekg(o,ios:beg):while(!file.eof()streampos here=file.tellg();file.get(ch);if(ch= )couthere“ “;coutendl:(分数:2.00)填空项 1:_ (正确答案:25)解析:48. 1 是 C+语言程序的人口。(分数:2.00)填空项 1:_ (正确答案:main-|_|-函数)解析:49.C+语言中的基本符号可以分为_、_、_三类。(分数:2.00)填空项 1:_ (正确答案:字母 数字 特殊符号)解析:50.静态联编所支持的多态性称为_多态性,动态联编所支持的多态性则称为_多态性,动态多态性由_来支持。(分数:2.00)填空项 1:_ (正确答案:编译时的 动行时的 虚函数)解析: