1、二级 C+笔试-76 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有下列二又树,对此二叉树前序遍历的结果是( )。(分数:2.00)A.B.C.D.2.有以下类定义class MyClassprivate:int id;char gender;char *phone;public:MyClass():id(0),gender(#),phone(NULL)MyClass(int no,char ge=#,char *ph=NULL)id=no;gender=ge;phone=ph;下列类对象定义语句中错误的是( )。(分数:2.00)A.
2、MyClass myObj;B.MyClass myObj(11,“13301111155“);C.MyClass myObj(12,m);D.MyClass myObj(12);3.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMSD.没有任何关系4.如果表达式-x/y 中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。(分数:2.00)A.operator/(x.operator-(),y)
3、;B.operator/(operator-(x),y);C.operator-().operator/(y);D.operator/(operator-(x);5.下列程序的输出结果为( )。#includeiostream.hclass TestClasspublic:TestClass()val+;static,int val;int TestClass:val=0;void main()TestClass cs1;coutcs1.val“;TestClass cs2;TestClass cs3,cs4;coutcs2.valendl;(分数:2.00)_6.有如下程序:#include
4、iostreamusing namespace std;class AAint n;public:AA(int k):n(k)int get()return n;int get()constreturn n+1;int main()AA a(5);const AA b(6);couta.get()b.get();return 0;执行后的输出结果是( )。(分数:2.00)A.55B.57C.75D.777.有如下程序:#includeiostreamusing namespace std;class MyClasspublic:MyClass(int x):val(x)void Print(
5、)constcout“const:val=val/t;void Print()cout“val=“valt;private:int val;int main()const MyClass obj1(10);MyClass obj2(20);obj1.Print();obj2.Print();return 0;程序的输出结果是( )。(分数:2.00)A.val=10 const:val=20B.const:val=10 const:val=20C.const:val=10 val=20D.val=10 val=208.下列运算符中不能在 C+中重载的是( )。(分数:2.00)A.?:B.+C
6、.-D.=9.下列叙述中正确的是( )。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对10.如果类 A 被说明成类 B 的友元,则( )。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得访问类 B 的成员D.类 B 不一定是类 A 的友元11.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计12.最简单的交换排序方法是( )。
7、(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序13.下列各类函数中,不是类的成员函数的是( )。(分数:2.00)A.构造函数B.抽象类C.派生类D.以上都不对14.下列关于构造函数和析构函数的描述,错误的是( )。(分数:2.00)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数15.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是( )。(分数:2.00)A.test(5);B.test
8、(5,8);C.test(6,#);D.test(0,0,*);16.使用 ifstream 流类定义流对象并打开磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:inB.ios:outC.ios:inlios:outD.没有默认17.若有如下程序:#includeiostrearmusing namespace std;class TestClass1private:int a;public:TestClass1(int i)a=i;void disp()couta“,“;class TestClass2private:int b;public:TestClass2(in
9、t j)b=j;void disp()coutb“,“;class TestClass3:public TestClass2,public TestClass1private:int c;public:TestClass3(int k):TestClass1(k-2),TestClass2(k+2)c=k;void disp()TestClasss1:disp();TestClasss2:disp();coutcendl;int main()TestClass3 obj(10);obj.disp();return 0;程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10
10、,12,14C.8,10,12D.8,12,1018.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只允许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟19.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据20.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计
11、中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对21.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:2.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员22.若有如下程序:#includeiostreamusing namespace std;class TestClasspublic:void who()cout“TestClass“andl;class TestClass1:public TestClasspublic:void who()cout
12、“TestClass1“endl;int main()TestClass *p;TestClass1 obj1;p=obj1;p-who();return 0;则该程序运行后的输出结果是( )。(分数:2.00)A.TestClass1B.TestClassC.0D.无输出23.在 C+语言中函数返回值的类型是由( )决定的。(分数:2.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型24.设有定义 char str80;以下不能将输入数据 first/nsecond/nCR读取到数组 str 中的语句是( )。(
13、分数:2.00)A.cin.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.cin.read(str,strlen(str);25.下面关于 break 语句的描述中,不正确的是( )。(分数:2.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内26.有如下程序:#includeiostreamusing namespace std;class DAint k;public:
14、DA(int x=1):k(x)DA()coutk;int main()DA d=DA(3),DA(3),DA(3);DA *p=new DA2;delete p;return();这个程序的输出结果是( )。(分数:2.00)A.111B.333C.11333D.1113327.下列描述正确的是( )。(分数:2.00)A.表示 mn 为 true 或 mn 为 true 的表达式为 mnmnB.switch 语句结构中必须有 default 语句C.if 语句结构中必须有 else 语句D.如果至少有一个操作数为 true,则包含|运算符的表达式为 true28.有如下程序:#includ
15、eiostream.husing namespace std;class Demopublic:Demo() cout“default constructor/n“;Demo(const Demo x)cont“copy constructor/n“;Demo userCode(Demo b)Demo c(b);return c;int main()Demo a;d;eout“calling userCode()/n“;d=userCode(a);return 0;执行上面程序的过程中,构造函数 Demo()和 Demo(const Demo x)被调用的次数分别是( )。(分数:2.00)A
16、.1 和 1B.1 和 2C.2 和 3D.2 和 429.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;SetVariable(int i)value=i;private:int value;则对下列语句序列正确的描述是( )。MyClass *p,my;p=my;(分数:2.00)A.语句 p=my;是把对象 my 赋值给指针变量 pB.语句 MyClass *p,my;会调用两次类 MyClass 的构造函数C.对语句*p.SetVariable(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetV
17、ariable(5)等价30.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域31.下列是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A32.已知类 A 有公用数据成员 a,并重载了一运算符,且有 A obj2;const A *ptr=new A;,则下列语句错误的是( )。(分数:2.00)A.Dtr-
18、a=100;B.ptr=obj2;C.ptr+;D.obj2=*ptr;33.下面程序的运行结果为( )。#includeiostream.hclass Aint num;public:A(int i)num=i;A(A a)num=a.num+;void print()coutnum;void main()A a(1),b(a);a.print();b.print();(分数:2.00)A.11B.12C.21D.2234.在下列程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。#includediostreamusing namespace std;class Apublic
19、:A()coutA;class B:_public:B()coutB;class C:virtual public Apublic:C()coutC;class D:public B,public Dpublic:D()coutD;void main()D obj;(分数:2.00)A.public AB.private AC.protected AD.virtual public A35.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:2.00)A.并运算B.交运算C.差运算D.积运算二、填空题(总题数:15,分数:
20、30.00)36.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_37.在算法的四个特性中,算法必须能在执行有限个步骤之后终止是指的算法的 1 特性。(分数:2.00)填空项 1:_38.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_39.在链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_40.数据库系统的主要特点为数据集成性、数据的高 1 和低冗余性、数据独立性和数据统一管理和控制。(分数:2.00)填空项 1:_41.执行“coutchar(A+2)endl;语句后得到的输出结果为 1。
21、(分数:2.00)填空项 1:_42. 1 允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。(分数:2.00)填空项 1:_43.通过使用 new 和 delete 两个运算符进行的分配为 1 存储分配。(分数:2.00)填空项 1:_44.假定用户没有给一个名为 MyClass 的类定义析构函数,则系统为其定义的默认析构函数首部形式为 1。(分数:2.00)填空项 1:_45.参照函数模板的写法,完成非模板函数的定义,语句为_。#includeiostream.h#includestring.htemplateclass TT min(T a,T b)re
22、turn(ab ?a:b);char*min(char *a,char *b)void main()double a=1.23,b=3.45;char s1=“abcd“,s2=“efg“;eoutmin(a,b)min(s1,s2)endl;(分数:2.00)填空项 1:_46.下列程序的运行结果是_。#includediostream.hclass Sampleint a;public:Sample(int aa=0)a=aa;Sample()cout“Sample=“a;class Derived:public Sampleint b;public:Derived(int aa=0,in
23、t bb=0):Sample(aa)b=bb;Derived()cout“Derived=“b;void main()Derived d1(9);(分数:2.00)填空项 1:_47.下列程序的输出结果是_。#includeiostreamusing namespace std;void fun(int rf)rf *2;int main()int num=500;fun(num);toutnumendl;return 0;(分数:2.00)填空项 1:_48.以下函数模板 main()的功能是:返回数组 a 中最大元素韵值。请将横线处缺失部分补充完整。templatetypename TT
24、max(T a,int n)T m=a0;for(int i=1;in;i+)if(aim_;return m;(分数:2.00)填空项 1:_49.下列程序编译错误,因为 add 函数返回值是一个引用,故对 return 返回值的要求是_。#includediostream.hint & add(int x,int y)return x+y;void main()int i=3,j=19;cout(add(i,j)+=20)endl;(分数:2.00)填空项 1:_50.在下面的类定义中,this 指针的用途是_。#includediostream.hclass Sampleint x,y;
25、public:Sample(int i,int j)x=i;y=j;void assign(Sample sa);void Sample:assign(Sample p)if(this!=p)x=p.x;y=p.y;(分数:2.00)填空项 1:_二级 C+笔试-76 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有下列二又树,对此二叉树前序遍历的结果是( )。(分数:2.00)A.B.C.D. 解析:解析 对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
26、记住三种遍历的顺序:前序,访问根按前序遍历左子树按前序遍历右子树;中序,按中序遍历左子树访问根按中序遍历右子树;后序,按后序遍历左子树按后序遍历右子树访问根。2.有以下类定义class MyClassprivate:int id;char gender;char *phone;public:MyClass():id(0),gender(#),phone(NULL)MyClass(int no,char ge=#,char *ph=NULL)id=no;gender=ge;phone=ph;下列类对象定义语句中错误的是( )。(分数:2.00)A.MyClass myObj;B.MyClass
27、myObj(11,“13301111155“); C.MyClass myObj(12,m);D.MyClass myObj(12);解析:解析 本题考查构造函数的应用。对象建立用初始化列表对数据成员进行时,列表中的参数类型要与构造函数中形参类型一致。B 选项中第二个参数为 13301111155,是字符串,而构造函数中第二个形参为 char 型,两者不一致造成错误。3.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMS D.没有任何关系解
28、析:解析 数据库系统(DBS)由数据库(DBS)、数据库管理系统(DBMS)、数据库管理员、硬件平台和软件平台五个部分组成,可见 DB 和 DBMS 都是 DBS 的组成部分。4.如果表达式-x/y 中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。(分数:2.00)A.operator/(x.operator-(),y);B.operator/(operator-(x),y); C.operator-().operator/(y);D.operator/(operator-(x);解析:解析 本题考核运算符的重载。假定已经作为某个类的成员函数重载
29、了二元运算符+,且 c1、c2都是该类的对象,则 c1.operator+(c2)与 c1+c2 含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与 c1+c2 含义相同。同理,运算符“/”作为友元函数重载,则(-x)/y 与表达式operator/(-x),y)相同。前缀运算符“-”作为友元函数重载,则-x 与 operator-(x)相同,所以组合起来是 operator/(operator-(x),y);,即 B 选项。5.下列程序的输出结果为( )。#includeiostream.hclass TestClasspublic:TestClass()val+
30、;static,int val;int TestClass:val=0;void main()TestClass cs1;coutcs1.val“;TestClass cs2;TestClass cs3,cs4;coutcs2.valendl;(分数:2.00)_解析:解析 由主函数 main 入手,定义 TestClass 类的对象 csl,执行 cs1.val,其中 val 为静态变量,根据 int TestClass:val:=0;初始化,TestClass 中的 TestClass()val+;6.有如下程序:#includeiostreamusing namespace std;cl
31、ass AAint n;public:AA(int k):n(k)int get()return n;int get()constreturn n+1;int main()AA a(5);const AA b(6);couta.get()b.get();return 0;执行后的输出结果是( )。(分数:2.00)A.55B.57 C.75D.77解析:解析 所谓函数重载,是指同一个函数名可以对应着多个函数的实现,类 AA 中定义了两个 get()函数,一个为普通成员函数,另一个为常成员函数。一般对象 a 既可以调用普通成员函数 get,也可以调用常成员函数 get,但是由于常成员函数不能更新
32、对象的数据成员,所以题中通过对象 a 调用的函数为普通成员函数 get(),返回值为 5。常对象 b 只能调用常成员函数,所以题中通过对象 b 调用的函数为常成员函数 get(),返回值为 7。7.有如下程序:#includeiostreamusing namespace std;class MyClasspublic:MyClass(int x):val(x)void Print()constcout“const:val=val/t;void Print()cout“val=“valt;private:int val;int main()const MyClass obj1(10);MyCl
33、ass obj2(20);obj1.Print();obj2.Print();return 0;程序的输出结果是( )。(分数:2.00)A.val=10 const:val=20B.const:val=10 const:val=20C.const:val=10 val=20D.val=10 val=20 解析:解析 在建立类对象时,构造函数的执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承的声明顺序;执行成员对象的构造函数,调用顺序按照各个成员在类中的声明顺序;执行自身的构造函数。根据以上总结以及题意可知答案选择 D 选项。8.下列运算符中不能在 C+中重载的是( )。(分数:2
34、.00)A.?: B.+C.-D.=解析:解析 本题考查运算符的重载。C+中,:、*?:这 4 个运算符不能重载。9.下列叙述中正确的是( )。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对 解析:解析 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况的,它们之间没有内在联系。10.如果类 A 被说明成类 B 的友元,则( )。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得
35、访问类 B 的成员D.类 B 不一定是类 A 的友元 解析:解析 本题考查的是友元类的定义:类 A 为类 B 的友元类,则类 A 的所有成员函数都是类 B 的友元函数,但反之则不一定成立。11.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护 D.详细设计解析:解析 软件的生命周期可分为软件定义、软件开发及软件运行维护三个阶段。其中软件定义阶段的主要工作有可行性研究、计划制定和需求分析等;软件开发阶段的主要工作有概要设计、详细设计和测试等;软件运行维护阶段的主要工作是软件的运行及后期的维护等。12.最简单的交换排序方法是( )。(分数:
36、2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序 解析:解析 交换排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序。冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变得有序。13.下列各类函数中,不是类的成员函数的是( )。(分数:2.00)A.构造函数B.抽象类C.派生类 D.以上都不对解析:解析 构造函数包括默认构造函数和拷贝构造函数等,析构函数和构造函数一样属于类的特殊的成员函数。而友元函数则是为了增加类的访问灵活性而允许其他类的成员函数或全局函数访问类的内部变量或成员函数的一种机制,其缺点是破坏了类的封装性。14.下列关于构
37、造函数和析构函数的描述,错误的是( )。(分数:2.00)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数 解析:解析 构造函数的主要作用是对数据成员初始化。构造函数不能声明为虚函数,这是因为在执行构造函数时类对象还未完成建立过程,当然谈不上函数与类对象的关联。15.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是( )。(分数:2.00)A.test(5);B.test(5,8);C.test(6,#);
38、D.test(0,0,*);解析:解析 题中函数声明带有默认参数,那么在 C 选项的调用中,将会把字符型实参#赋值给整型形参b,这不符合参数传递规则。16.使用 ifstream 流类定义流对象并打开磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:inB.ios:outC.ios:inlios:outD.没有默认 解析:解析 使用 ifstream 流类定义流对象并打开磁盘文件时,文件没有默认的打开方式。其中ios:in 是为输入而打开;iso:out 是为输出而打开。17.若有如下程序:#includeiostrearmusing namespace std;class
39、 TestClass1private:int a;public:TestClass1(int i)a=i;void disp()couta“,“;class TestClass2private:int b;public:TestClass2(int j)b=j;void disp()coutb“,“;class TestClass3:public TestClass2,public TestClass1private:int c;public:TestClass3(int k):TestClass1(k-2),TestClass2(k+2)c=k;void disp()TestClasss1:
40、disp();TestClasss2:disp();coutcendl;int main()TestClass3 obj(10);obj.disp();return 0;程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10,12,14C.8,10,12D.8,12,10 解析:解析 首先定义 TestClass3 的对象 obj,参数为 10。其中 TestClass3 为 TestClass1 和TestClass2 的派生类。然后调用 disp 成员函数。Disp 中首先执行 TestClass1:disp();,然后执行TestClass2:disp();,最后执
41、行输出语句 coutcendl;。TestClass1(k-2),所以第一个输出为 8,TestClass2(k+2),第二个输出为 12,最后一个本类中的输出即为 10。18.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只允许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句 D.语言中所没有的控制结构,应该采用前后一致的方法来模拟解析:解析 限制使用 GOTO 语句是结构化程序设计的原则和方法之一,但不是绝对不允许使用 GOTO 语句。其他三项为结构化程序设计的原则。19.数据的存储结构是指( )。
42、(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式 C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据解析:解析 数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放形式。数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。20.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 D.上述三种说法都不对解析:解析 面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立
43、,相互依赖性小,通过消息来实现对象之间的相互联系。21.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:2.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员 解析:解析 只有公有继承的公有成员才能被派生类的对象直接访问,其他的情况都会因为访问权限问题产生错误。22.若有如下程序:#includeiostreamusing namespace std;class TestClasspublic:void who()cout“TestClass“andl;class TestClass1:public TestCl
44、asspublic:void who()cout“TestClass1“endl;int main()TestClass *p;TestClass1 obj1;p=obj1;p-who();return 0;则该程序运行后的输出结果是( )。(分数:2.00)A.TestClass1 B.TestClassC.0D.无输出解析:解析 程序中的 TestClassl 为 TestClass 的派生类,主函数 main 中定义 TestClass 对象* p,TestClass1 对象 obj1,然后 p 引用 obj1,执行 p-who()则是调用基类中的 who 函数,输出TestClass。
45、23.在 C+语言中函数返回值的类型是由( )决定的。(分数:2.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型 D.调用该函数时的主调函数类型解析:解析 函数类型决定了函数返回值的类型。函数值返回类型可以由编译器自动完成类型转换。在函数有返回值的调用中,编译器将 return 后面的表达式的类型强制转换为该函数定义时指定的返回值类型。24.设有定义 char str80;以下不能将输入数据 first/nsecond/nCR读取到数组 str 中的语句是( )。(分数:2.00)A.cin.get(str,strlen(str);B.cin
46、.getline(str,strlen(str);C.cinstr;D.cin.read(str,strlen(str); 解析:解析 本题考查 cin 流对象的几种成员函数 get,getline,read 及流提取符的使用规则。25.下面关于 break 语句的描述中,不正确的是( )。(分数:2.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内 解析:解析 本题考查 break 语句的使用。break 可以结束 switch 语句和 for 循环语句,但是不能使用在条件判断语句内。26.有如下程序:#includeiostreamusing namespace std;class DAint k;public:DA(int x=1):k(x)DA()coutk;int main()DA d=DA(3),DA(3),DA(3);DA *p=new DA2;delete p;return();这个程序的输出结果是( )。(分数:2.00)A.111B.333C.11333 D.11133解析:解析 本题考查的是析构函数和对象的生存