1、二级 C+-227 及答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:38,分数:63.50)1.下面叙述错误的是 _ 。(分数:1.00)A.基类的 protected 成员在派生类中仍然是 protected 的B.基类的 protected 成员在 public 派生类中仍然是 protected 的C.基类的 protected 成员在 private 派生类中是 privated 的D.基类的 protected 成员不能被派生类的对象访问2.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1;
2、cout a/b endl; (分数:2.00)A.0.66667B.0C.0.7D.0.666666663.下面有关重载函数的描述中正确的是_。(分数:1.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同4.下列字符串中,不可以用做 C+标识符的是_。(分数:1.00)A.y_2006B._TEST_HC.ReturnD.switch5.若目前 D 盘根目录下并不存在 test.txt 文件则下列打开文件方式不会自动创建 test.txt 文件的是_。(分数:1.00)A.ifstream fin;fin.open
3、(“d:/test.txt“,iso_base:in);B.fstream fio;fio.open(“d:/test.txt“,iso_base:out);C.ofstream fort;fout.open(“d:/test.txt“,ios_base:out);D.ofstream fout;fout.open(“d:/test.txt“,iso_base:app);6.下列表示纯虚函数的成员函数是_。(分数:1.00)A.virtual int func(int);B.void func(int)=0;C.virtual void func=0;D.virtual void func(i
4、nt)7.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持软件系统的详细没计B.软件设汁是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具8.已知类 MyClass 中有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。若语句序列 MyClass x(4.2), y(6.5), z(0.0); z=8.1-y; y=x-2.8; 能够正常运行,运算符“operator-”应该在类中声明为_。(分数:2.50)A.friend MyCIass operator-(MyClassB.frie
5、nd MyClass operator-(MyClass, MyClass);C.friend MyClass operator-(MyClass, MyClassD.friend MyClass operator-(MyClass9.下列语句段将输出字符“*“的个数为_。 int i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98 个B.99 个C.100 个D.101 个10.通过运算符重载,可以改变运算符原有的 _ 。(分数:2.00)A.操作数类型B.操作数个数C.优先级D.结合性11.有如下程序: #includeios
6、tream #includeiomanip using namespace std; int main() coutsetfill(“#“)setw(4)“OK“123endl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.#OK123B.#OK#123C.OK#123D.OK#123#12.下列属于黑盒测试方法的是_。(分数:2.50)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径分析13._既可重载为一元运算符,义可重载为二元运算符。(分数:1.00)A.“*”B.“=”C.“=”和“*”D.“*”和“* +”14.对类的构造函数和析构函数描述正确的是 _ 。(分
7、数:2.00)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载15.下列字符串中不能作为 C+标识符使用的是_。(分数:2.00)A.DOUBLEB.abcC._5_D.xyz16.软件设计中模块划分应遵循的准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合C.低内聚高耦合D.高内聚高耦合17.在 C+中,编译系统自动为一个类生成缺省构造函数的条件是_。(分数:3.00)A.该类没有定义任何有参构造函数B.该类没有定义任何无参构造函数C.该类没有定义任何构造函数D.该类没有定义
8、任何成员函数18.下列有关类继承的叙述中,错误的是_。(分数:1.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D.派生类没有继承基类的私有成员19.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: vold Display()/*函数体程序略*/ ; int main() Instrument s; Ins
9、trument*p=0; /.; return 0; 下列叙述中正确的是_。(分数:2.50)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrumen 是一个虚基类20.树是结点的集合,它的根结点的数目是_。(分数:1.00)A.有且只有 1 个B.1 或多于 1C.0 或 1D.至少有 2 个21.有如下程序: #includeiostream using namespace std; class Base public: void fun1()cout“Baseha
10、/n“; virtual void fun2()cout“Base/n“; ; class Derived:public Base public: void fun1()cout“Derived/n“; void fun2()cout“Derived/n“; ; void f(Baseb.fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是_。(分数:2.00)A.BaseBaseB.BaseDerivedC.DerivedBaseD.DerivedDerived22.若变量 a 的定义为“int a=8;”,则下列逻辑表
11、达式中其值为 false 的是_。(分数:2.50)A.aB.Data operator+(Data);C.Data+operator(Data);D.operator+(Data.Data);24.下列选项中,错误的 C+表达式是_。(分数:2.00)A.a+B.“b“=10C.double(3/5)D.x+!=3|y25.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.*(p+8)C.*p+=9D.p+826.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为 _ 。(分数:2.
12、00)A.125B.n/2CnD.n+127.设计数据库的存储结构属于_。(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计28.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.staticC.protectedD.private29.有如下程序: #includeiostream using namespace std; class Rect int x, y; public: Rect(int x1=0, int y1=0):x(x1), y(y1) int get() return x*y; ; class Cube Rect plane;
13、 int high; public: Cube(int cx, int cy, int ch):plane(cx, cy), high(ch) int get()return plane.get()*high; ; int main() Cube e(3, 4, 5); coutc.get()endl; return 0; 运行时的输出结果是_。(分数:1.00)A.12B.35C.60D.8030.有如下类定义: class Animal public: virtual void Name()=0; ; class Koala:public Animal public: void Name(
14、)/*函数体略*/ ; 关于上述类定义,下列描述中错误的是_。(分数:2.50)A.类 Koala 是类 Animal 的派生类B.类 Koala 中的 Name 函数是一个虚函数C.类 Animal 中的 Name 函数是一个纯虚函数D.语句“Animal a;”能够建立类 Animal 的一个对象 a31.执行以下程序时,输入一行字符串为“Thank you very much!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00
15、)ATB.ThankC.Thank you very much!D.Thank you32.有以下程序: #include iostream using namespace std; int main() int num23,*p; int t,i,j,k=10; p=num0; for(i=0;i2;i+) for(j=0;j3;j+) k+; *p=k; for(t=2;t*p;t+) if(!(*pt) j-; *p-; break; *p+; cout*(p-1)end1; return 0; 程序运行后的输出结果是 _ 。(分数:1.00)A.19B.11C.29D.2333.当使用
16、 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对34.C+中设置虚基类的目的是_。(分数:1.00)A.简化程序B.消除二义性C.提高运行效率D.实现数据的隐藏性35.以下程序的输出的结果是 _ 。 #includeiostream.h void main() int i,k,a10,p3; k=5; for(i=0;i9;i+)ai=i; for(i=0;i3;i+)pi=ai*(i+1); for(i=0;i3;i+)k+=pi*2; coutk; (
17、分数:2.00)A.20B.21C.22D.2336.为了使类中的成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为 _ 。(分数:2.00)A.publicB.protectedC.staticD.private37.软件调试的目的是_。(分数:2.50)A.发现错误B.改善软件的性能C.改正错误D.验证软件的正确性38.有如下程序: #qncludeiostream #includeiomanip using namespace std; class CSum int x,y; public: CSum(int x0,int y0):x(xo),y(yo) friend
18、ostream return os; ; int main() CSum y(3.5; coutsetfill(“*“)8 couty; return0; 执行上面程序的输出是(分数:1.00)A.88B.*88C.*8*8D.8*8二级 C+-227 答案解析(总分:63.50,做题时间:90 分钟)一、选择题(总题数:38,分数:63.50)1.下面叙述错误的是 _ 。(分数:1.00)A.基类的 protected 成员在派生类中仍然是 protected 的 B.基类的 protected 成员在 public 派生类中仍然是 protected 的C.基类的 protected 成员
19、在 private 派生类中是 privated 的D.基类的 protected 成员不能被派生类的对象访问解析:2.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; (分数:2.00)A.0.66667B.0 C.0.7D.0.66666666解析:解析 表达式值的类型是由操作数的类型决定的,因为本题的两个数都是 int 型的,所以得出的结果也为 int 型,即去掉小数点后的部分,只取商的整数部分。3.下面有关重载函数的描述中正确的是_。(分数:1.00)A.重载函数必须具有不同的返回值类型
20、B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表 D.重载函数名可以不同解析:解析 所谓函数重载,是指同一个函数名可以对应多个函数的实现,进行函数重载时,要求同名函数的参数个数不同,或者参数类型不同。4.下列字符串中,不可以用做 C+标识符的是_。(分数:1.00)A.y_2006B._TEST_HC.ReturnD.switch 解析:解析 本题考查 C+标识符的命名规则,其规则有如下几点:所有标识符必须由字母、数字或下画线组成,且必须由字母或下画线开头;所有标识符不能使用 C+已有的关键字;大、小写字母表示不同意义,即代表不同的标识符。选项 C 中虽然 return 是关键字
21、,但因首字母大、小写不同,也可用于标识符,但不建议使用。故答案为 D。5.若目前 D 盘根目录下并不存在 test.txt 文件则下列打开文件方式不会自动创建 test.txt 文件的是_。(分数:1.00)A.ifstream fin;fin.open(“d:/test.txt“,iso_base:in); B.fstream fio;fio.open(“d:/test.txt“,iso_base:out);C.ofstream fort;fout.open(“d:/test.txt“,ios_base:out);D.ofstream fout;fout.open(“d:/test.txt“
22、,iso_base:app);解析:解析 ifstream 为输入流,iso_base:in 表示以只读的方式打开文件,所以 A 不会创建文件。6.下列表示纯虚函数的成员函数是_。(分数:1.00)A.virtual int func(int);B.void func(int)=0;C.virtual void func=0; D.virtual void func(int)解析:解析 本题考查纯虚函数的定义形式。由于纯虚函数在最后要有“=0”,故据此排除 A 和 D。而B 中没有出现 virtual 关键词,故正确答案为 C。7.下面描述中错误的是_。(分数:1.00)A.系统总体结构图支持
23、软件系统的详细没计 B.软件设汁是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解析:解析 软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。8.已知类 MyClass 中有一个只需要一个 double 型参数的构造函数,且将运算符“-”重载为友元函数。若语句序列 MyClass x(4.2), y(6.5), z(0.0); z=8.1-y; y=x-2.8; 能够正常运行,运算符“operator-”应该在类中声明为_。(分数:2.50)A.friend MyCIass operator-(MyClass
24、B.friend MyClass operator-(MyClass, MyClass); C.friend MyClass operator-(MyClass, MyClassD.friend MyClass operator-(MyClass解析:解析 运算符作为类友元函数重载的格式为: “friend返回类型operator运算符(形参表);” 同时,根据调用该运算符的语句分析,该题的形参表中不能使用类对象的引用。9.下列语句段将输出字符“*“的个数为_。 int i=100; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98 个B.9
25、9 个 C.100 个D.101 个解析:10.通过运算符重载,可以改变运算符原有的 _ 。(分数:2.00)A.操作数类型 B.操作数个数C.优先级D.结合性解析:11.有如下程序: #includeiostream #includeiomanip using namespace std; int main() coutsetfill(“#“)setw(4)“OK“123endl; return 0; 运行这个程序的输出结果是_。(分数:2.50)A.#OK123 B.#OK#123C.OK#123D.OK#123#解析:解析 stew 函数是用来设置输出宽度的。12.下列属于黑盒测试方法的
26、是_。(分数:2.50)A.语句覆盖B.逻辑覆盖C.边界值分析 D.路径分析解析:解析 黑盒测试用于对软件的功能进行测试和验证,不须考虑程序内部的逻辑结构。黑盒测试的方法主要包括:等价类划分法、边界值分析法、错误推测法、因果图等。语句覆盖、逻辑覆盖、路径分析均是白盒测试的方法。13._既可重载为一元运算符,义可重载为二元运算符。(分数:1.00)A.“*” B.“=”C.“=”和“*”D.“*”和“* +”解析:解析 本题考查的是运算符的有关概念。“*”是二元运算符,既可用于间接访问也可用于两数相乘;而“=”和“+”都是一元运算符。14.对类的构造函数和析构函数描述正确的是 _ 。(分数:2.
27、00)A.构造函数可以重载,析构函数不能重载 B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载解析:15.下列字符串中不能作为 C+标识符使用的是_。(分数:2.00)A.DOUBLEB.abc C._5_D.xyz解析:16.软件设计中模块划分应遵循的准则是_。(分数:1.00)A.低内聚低耦合B.高内聚低耦合 C.低内聚高耦合D.高内聚高耦合解析:解析 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系
28、统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。17.在 C+中,编译系统自动为一个类生成缺省构造函数的条件是_。(分数:3.00)A.该类没有定义任何有参构造函数B.该类没有定义任何无参构造函数C.该类没有定义任何构造函数 D.该类没有定义任何成员函数解析:解析 如果一个类中定义了一个缺省的构造函数,则使用该函数。如果一个类中没有定义任何构造函数,编译器将生成一个不带参数的共有缺省构造函数。18.下列有关类继承的叙述中,错误的是_。(分数:1.00)A.继承可以实现软件复用B.虚基类可以解决由多继承产生的二义性问题C.派生类构造函数要负责调用基类的构造函数D
29、.派生类没有继承基类的私有成员 解析:解析 本题考查类继承。派生类继承了基类的全部数据成员和私有成员,只是基类的私有成员在派生类中是隐藏的,只能在基类内部访问。19.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: vold Display()/*函数体程序略*/ ; int main() Instrument s; Instrument*p=0; /.; return 0;
30、 下列叙述中正确的是_。(分数:2.50)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编译时出错 C.类 Piano 中的 Display 函数不是虚函数D.类 Instrumen 是一个虚基类解析:解析 抽象类只能作为别的类的基类,不能生成对象。20.树是结点的集合,它的根结点的数目是_。(分数:1.00)A.有且只有 1 个B.1 或多于 1C.0 或 1 D.至少有 2 个解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。21.有如下程
31、序: #includeiostream using namespace std; class Base public: void fun1()cout“Baseha/n“; virtual void fun2()cout“Base/n“; ; class Derived:public Base public: void fun1()cout“Derived/n“; void fun2()cout“Derived/n“; ; void f(Baseb.fun2(); int main() Derived obj; f(obj); return 0; 执行这个程序的输出结果是_。(分数:2.00)
32、A.BaseBaseB.BaseDerived C.DerivedBaseD.DerivedDerived解析:解析 此题考查的是虚函数的概念。在 C+语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在 f()函数中,形参 b 是一个基类的引用,它引用的是主函数中定义的派生类对象 obj,所以在调用 fun1()时,运行的是基类的版本,而 fun2()运行的是派生类的版本。22.若变量 a 的定义为“int a=8;”,则下
33、列逻辑表达式中其值为 false 的是_。(分数:2.50)A.aB.Data operator+(Data); C.Data+operator(Data);D.operator+(Data.Data);解析:解析 重载运算符的函数一般格式如下: 函数类型 operator 运算符名称(形参列表),因此选 B。24.下列选项中,错误的 C+表达式是_。(分数:2.00)A.a+B.“b“=10 C.double(3/5)D.x+!=3|y解析:25.有如下说明: int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为 9 的表达式是_。(分数:1.00)A.*p+9B.
34、*(p+8) C.*p+=9D.p+8解析:解析 本题考查指向数组的指针,本题中指针变量 p 指向数组 a,那么*p 的值就是 1,即表示数组的第一个元素,那么数值为 9 的表达式就是将指针向后移动 8 个地址,即 p+8 指向的是数组元素值为9,所以数值为 9 的表达式是*(p+8)。26.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为 _ 。(分数:2.00)A.125B.n/2Cn D.n+1解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个
35、元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。27.设计数据库的存储结构属于_。(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计 解析:解析 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题。物理设计阶段包括:选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。28.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.static C.protectedD.private解析:解析 类的成员访问权限有 3 种:public(公用)、protected(保护)、private(私有)。2
36、9.有如下程序: #includeiostream using namespace std; class Rect int x, y; public: Rect(int x1=0, int y1=0):x(x1), y(y1) int get() return x*y; ; class Cube Rect plane; int high; public: Cube(int cx, int cy, int ch):plane(cx, cy), high(ch) int get()return plane.get()*high; ; int main() Cube e(3, 4, 5); cout
37、c.get()endl; return 0; 运行时的输出结果是_。(分数:1.00)A.12B.35C.60 D.80解析:解析 类 Cube 在构造函数的初始化列表中先调用类 Rect 的构造函数,完成 Rect 类对象 plane 的初始化,所以对象 plane 的 x 成员初始化为 cx,值为 3,y 成员初始化为 cy,值为 4;完成 plane 的初始化后,再初始化 high 成员为 ch,值为 5;再调用 c.get()时,plane.get()返回对象 plane 中 x 与 y 的乘积,即 3*4=12,再将返回值 12 与 high 相乘,得到 12*5=60,答案为 C
38、选项。30.有如下类定义: class Animal public: virtual void Name()=0; ; class Koala:public Animal public: void Name()/*函数体略*/ ; 关于上述类定义,下列描述中错误的是_。(分数:2.50)A.类 Koala 是类 Animal 的派生类B.类 Koala 中的 Name 函数是一个虚函数C.类 Animal 中的 Name 函数是一个纯虚函数D.语句“Animal a;”能够建立类 Animal 的一个对象 a 解析:31.执行以下程序时,输入一行字符串为“Thank you very much
39、!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.Thank C.Thank you very much!D.Thank you解析:32.有以下程序: #include iostream using namespace std; int main() int num23,*p; int t,i,j,k=10; p=num0; for(i=0;i2;i+) for(j=0;j3;j+) k+; *p=k; for(t=2
40、;t*p;t+) if(!(*pt) j-; *p-; break; *p+; cout*(p-1)end1; return 0; 程序运行后的输出结果是 _ 。(分数:1.00)A.19B.11C.29 D.23解析:解析 本题考核数组与指针的关系。程序首先初始化指针 p,让其指向二维数组 num 的首元素,即 num00。程序中,第 1 个 for 循环是为二维数组的每行元素赋值而设置的循环,第 2 个 for 循环是为二维数组的每列元素赋值而设定的,第 3 个 for 循环是为判断数组元素是否是素数而设置的。在第 3个 for 循环中,如果*p 的值能被小于它的数整除(即不是素数),则执
41、行“j-;*p-;”,然后跳出第 3个 for 循环。j-的含义是让其前面的赋值语句重新赋值,而*p-的含义是使指针指向前一个单元。语句“*p+;”将指针移到下一个单元,在下一次循环时,k 加 1,并 k 赋给*p,看*p 是否为素数,这样一直到满足条件为止,即数组 num23中的数都为素数。最后数组 num 中各元素的值分别为大于 10 的素数,即分别为:11,13;17,19,23,29。 程序最后要求输出*p 的值,由于此时指针已指向数组 num 的最后一个元素,即 num12。所以输出的值是 29。33.当使用 fstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式
42、为 _ 。(分数:1.00)A.ios:inB.ios: outC.ios:in lios:outD.以上都不对 解析:34.C+中设置虚基类的目的是_。(分数:1.00)A.简化程序B.消除二义性 C.提高运行效率D.实现数据的隐藏性解析:解析 多重继承的派生类有可能从两个或多个基类中继承同名成员,对该成员不加限定的访问就会造成二义性,虚基类就是为了解决这个二义性问题,无论该类在派生层次中作为虚基类出现多少次,都只继承一个共享的基类子对象,从而消除二义性。答案选 B 选项。35.以下程序的输出的结果是 _ 。 #includeiostream.h void main() int i,k,a1
43、0,p3; k=5; for(i=0;i9;i+)ai=i; for(i=0;i3;i+)pi=ai*(i+1); for(i=0;i3;i+)k+=pi*2; coutk; (分数:2.00)A.20B.21 C.22D.23解析:解析 程序中首先在第一个 for 循环中将数组 a 每一个元素赋值为 0,1,2,。然后在第二个循环中数组 p 的第 i 元素为 a 中的第 i*(i+1),即 0,2,6,第三个循环中数组 p 中的每个元素值乘以2,然后加上 5,累加。36.为了使类中的成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为 _ 。(分数:2.00)A.public
44、 B.protectedC.staticD.private解析:解析 public 允许类对象对类的属性和方法进行访问;private 不允许类对象访问类的属性和方法;protected 不允许类及其子类的对象访问父类的属性和方法,但子类可以访问父类中定义的protected 属性和方法。37.软件调试的目的是_。(分数:2.50)A.发现错误B.改善软件的性能C.改正错误 D.验证软件的正确性解析:解析 在对程序进行了成功的测试之后将进入程序调试,程序调试的任务是诊断和改正程序中的错误。38.有如下程序: #qncludeiostream #includeiomanip using namespace std; class CSum int x,y; public: CSum(int x0,int y0):x(xo),y(yo) friend ostream return os; ; int main() CSum y(3.5; coutsetfill(“*“)8 couty; return0; 执行上面程序的输出是(分数:1.00)A.88B.*88 C.*8*8D.8*8解析: