1、二级 C+笔试-398 及答案解析(总分:78.00,做题时间:90 分钟)一、选择题(总题数:35,分数:54.00)1.软件工程的出现是由于A) 程序设计方法学的影响B) 软件产业化的需要C) 软件危机的出现D) 计算机的发展(分数:1.00)A.B.C.D.2.算法的空间复杂度是指 A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量 C) 算法程序中的语句或命令条数 D) 算法在执行过程中所需要的临时工作单元数(分数:2.00)A.B.C.D.3.下列关于 getline()函数的描述,不正确的是_。A) getline()函数是用来从输入流中读取字符串的B) get
2、line()函数读取字符串的长度是受到限制的C) getline()函数读取字符串时,遇到终止符时就停止D) getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D.4.一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是( )。A每个派生类的构造函数都要为虚基类构造函数提供实参B多继承时有可能出现对基类成员访问的二义性问题C使用虚基类可以解决二义性问题并实现运行时的多态性D建立最派生类对象时,虚基类的构造函数会首先被调用(分数:2.00)A.B.C.D.5.如果类 A 被说明成类 B 的友元,则A)类 A 的成员即类 B 的成员B)类
3、B 的成员即类 A 的成员C)类 A 的成员函数不得访问类 B 的成员D)类 B 不一定是类 A 的友元(分数:1.00)A.B.C.D.6.有如下程序#includeiostream.hint func(int a,int b) return(a+b) ;void main( )int x=2,y=5,z=8, r;r=func ( func(x,y),z);cout r; 该程序的输出的结果是 A) 12 B) 13 C) 14 D) 15(分数:1.00)A.B.C.D.7.以下选项中合法的实型常数是A) 5 E 2.0 B) E-3 C) .2 E0 D) 1.3 E(分数:2.00)
4、A.B.C.D.8.设有关系 R 及关系 S,它们分别有 p、q 个元组,则关系 R 与 S 经笛卡儿积后所得新关系的元组个数是( )。A) p B) q C) p+q D) p*q(分数:1.00)A.B.C.D.9.下列排序方法中,属于不稳定的排序方法是 _。A) 直接插入排序法 B) 冒泡排序法C) 基数排序法 D) 堆序法(分数:2.00)A.B.C.D.10.有以下程序#include iostreamusing namespace std; class sampleprivate:int x;public:sample(int a)x=a;friend double square(
5、sample s);double square(sample s)return s.x*s.x;int main()sample s1 (20),s2(30);coutsquare(s2)end1;return 0;执行结果是 A) 20 B) 30C) 900 D) 400(分数:1.00)A.B.C.D.11.结构化程序设计的三种基本结构是( )。A过程、子程序和分程序 B顺序、选择和重复C递归、堆栈和队列 D调用、返回和转移(分数:2.00)A.B.C.D.12.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是A)acbed B)decab C)dea
6、bc D)cedba(分数:1.00)A.B.C.D.13.运行以下程序后,如果从键盘上输入 shose 后回车,则输出结果为 _。# includeiostream.hvoid main()int v1=0,v2=0,k=0;char ch80;cinch;while(chk)switch(chk)case s;case h;default: v1+1;case o: v2+;k+;coutv1 “,“v2end1;A) 2, 0 B) 5, 0C) 4, 5 D) 2, 5(分数:2.00)A.B.C.D.14.下列程序的运行结果为( )。#include iostream.hvoid m
7、ain()int a=2:int b=a+1;couta/bendl;A0.66667 B0 C0.7 D0.66666666(分数:2.00)A.B.C.D.15.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 ( )。A) 特定的数据模型 B) 数据无冗余C) 数据可共享 D) 专门的数据管理软件(分数:2.00)A.B.C.D.16.有如下程序:#ncludeiostremnusing namespace std;class Stackpublic:Stack(unsigned n=10:size(n)rep_=new intsize;top=O;Stack(S
8、tackfor(int i=0;isize;i+)rep_i=s.rep_i;top=s.top;Stack()deleterep_;void push(int a)rep_top=a; top+;int opo()-top;return rep_top;bool is Empty()constreturn top=O;pavate:int*rep_;unsigned size,top;int main()Stack s1;for(int i=1;i5;i+) s1.push(i);Stack s2(s1);for(i=1;i3;i+) couts2.pop(),;s2.push(6);s1.
9、push(7);while(!s2.isEmpty() couts2.pop(),;return 0;执行上面程序的输出是A)4,3,2,1 B)4,3,6,7,2,1C)4,3,6,2,1 D)1,2,3,4(分数:1.00)A.B.C.D.17.在一个类体的下列声明中,正确的纯虚函数声明是A) virtual void vf()0;B) void vf(int)0;C) virtual int vf(int);D) virtual void vf(int)(分数:1.00)A.B.C.D.18.下面描述中,符合结构化程序设计风格的是A) 使用顺序、选择和重复(循环)三种基本控制结构表示程序
10、的控制逻辑B) 模块只有一个入口,可以有多个出口C) 注重提高程序的执行效率D) 不使用 goto 语句(分数:2.00)A.B.C.D.19.下列语句中,错误的是A) const int buffer=256; B) const int temp;C) const double *point; D) const double *rtnew double(5.5);(分数:1.00)A.B.C.D.20.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。A) 变量 a 的值,即 3 B) 变量 a 的地址值 C) 变量 P 的地址值 D) 无意义(分数:2.00
11、)A.B.C.D.21.执行语句 for(i =1+4;);,后变量 i 的值是A) 3 B) 4 C) 5 D) 不定(分数:1.00)A.B.C.D.22.关于二义性的描述错误的是( )。A一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B解决二义性可以用对成员名的限定法C父类和子类中同时出现同名函数,也可能存在二义性D一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性(分数:2.00)A.B.C.D.23.设有关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码值递增的次序排序,
12、采用初始增量为 4 的希尔排序法,一趟扫描后的结果为( )。A(15,2,4,18,16,5,8,24,17,9,13,25)B(2,9,4,25,15,16,13,18,17,5,8,14)C(9,4,16,15,2,13,18,17,5,8,24,15)D(9,16,4,25,2,15,13,18,5,17,8,24)(分数:2.00)A.B.C.D.24.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( )A模块之间的调用关系 B程序的组成成分C控制程序的执行顺序 D数据的流向(分数:1.00)A.B.C.D.25.有以下程序:#include iostream#incl
13、ude fstreamusing namespace std;int main ( )ofstream ofile;char ch;ofile.open (“abc.txt“);cinch;while (ch!=# )cinch;ofile.put(ch);ofile.close();return 0;当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt 中的内容为( )。A) 程序编译时出错 B) abc# C) abc D) #(分数:1.00)A.B.C.D.26.执行下面语句后,输出字符“#“的个数是( )。for(int i=50;i;-i)cout#;A) 48
14、B) 49C) 50 D) 51(分数:2.00)A.B.C.D.27.若要把函数 void f()定义为 aClass 的友元函数,则应该在类 aClass 的定义中加入的语句是( )。Avoid f(); Bstatic voidf(); Cfriend f(); Dfriend void f();(分数:2.00)A.B.C.D.28.C+语言中规定函数的返回值的类型是由( )。Areturn 语句中的表达式类型所决定B调用该函数时的主调用函数类型所决定C调用该函数时系统临时决定D在定义该函数时所指定的数据类型所决定(分数:1.00)A.B.C.D.29.带有虚基类的多层派生类构造函数的
15、成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。A与虚基类下面的派生类个数有关 B多次 C两次 D一次(分数:1.00)A.B.C.D.30.有以下类定义class MyClasspublic:MyClass() coutl;);则执行语句 MyClassa,b2,*p2;后,程序的输出结果是A) 11 B) 111C) 1111 D) 11111(分数:2.00)A.B.C.D.31.数据流图用于描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名称标识的图符不属于数据流图合法图符的是( )。A) 控制流 B) 加工 C) 贮存文件 D) 源和潭(分
16、数:1.00)A.B.C.D.32.C+语言中 while 循环和 do-while 循环的主要区别是A) do-while 的循环体至少无条件执行一次B) while 的循环控制条件比 do-while 的循环控制条件严格C) do-while 允许从外部转到循环体内D) do-while 的循环体不能是复合语句(分数:2.00)A.B.C.D.33.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为A) (operator+(x) )operator/(y)B) (operator+(0) )operator/(y)C) operator/( (ope
17、rator+(x,0) ),y)D) operator/( (operator+(0) ),y)(分数:1.00)A.B.C.D.34.关于函数重载,下列叙述中错误的是( )。A) 重载函数的函数名必须相同B) 重载函数必须在参数个数或类型上有所不同C) 重载函数的返回值类型必须相同D) 重载函数的函数体可以有所不同(分数:2.00)A.B.C.D.35.关系数据库管理系统能实现的专门关系运算包括( )。A) 排序、索引、统计 B) 选择、投影、连接C) 关联、更新、排序 D) 显示、打印、制表(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:24.00)36.以下程序的执行结
18、果是 【15】 。#include iostream.h#include fstream.h#include stdlib.hint main()fstream outfile, infile;outfile.open(“D:/text.dat“,ios:out);if(!outfile)cout“text.dat cant open“end1;abort();outfile“1234567890“end1;outfile“abcdefghij“end1;outfile.close();infile.open(“D:/text.dat“,ios:in);if(!infile)cout“text
19、.dat cant open“end1;abort ( );char textline40;int i=0;while(!infile.eof()i+;infile.getline(textline,sizeof(textline);couti“:“textlineend1;infile.close();return 0;(分数:1.00)填空项 1:_37.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 【4】 的联系。(分数:1.00)填空项 1:_38.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函
20、数。此时 const 不是指定函数的返回值,而是修饰 1 指针。(分数:2.00)填空项 1:_39.下列程序的输出结果是 【14】 #includeiOStreamusing namespace std;template typename TT total (T*datA) T s=0;while(*datA) s+=*data+;return s;int main()int x=2,4,6,8,0,12,14,16,18;couttotal(x)end1;return 0;(分数:1.00)填空项 1:_40.C+在重载运算将中,如用成员函数重载一元运算符参数表中需要 _ 个参数,如用友元
21、函数重载一元运算符参数表中需要 _ 个参数。(分数:1.00)填空项 1:_41.数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,所以,基于逻辑结构的应用程序不必修改,称为_。(分数:2.00)填空项 1:_42.有如下程序:#includeiostreamusing namespace std;class ONEpublic:virtual void f() cout “1“; ;class TWO: public ONEpublic:TWO() cout “2“; ;class THREE: public TWOpublic:virtual void f(
22、) TWO:f(); cout “3“; ;int main()ONE aa, *p;TWO bb;THREE cc;p = P-f();return 0;执行上面程序的输出是_(分数:1.00)填空项 1:_43.多态性分为两类:编译时的多态性和 1。(分数:2.00)填空项 1:_44.类中包含了一个静态成员函数,则 main 函数中和 P.f1(P);语句具有同样功能的语句为_。#includeiostream.hclass Mpublic:M(int A)A=a;B+=a;static void f1(M m);private:int A;static int B;void M:f1(
23、M m)cout“A=“m.Aendl;cout“B=“m.Bendl;int M:B=10;void main()M P(5);P.f1(P);(分数:2.00)填空项 1:_45.下列程序中,先声明一个圆类 circle 和一个桌子类 table,另外声明一个圆桌类 roundtable,它是由 circle 和 table 两个类派生的,要求声明一个圆桌类对象,并输出圆桌的高度,面积和颜色。请填空完成程序#includeiostream.h#includestring.hclass circledouble radius;public:circle(double r)radius=r;d
24、ouble get_area()return 3.416*radius*radius;class tabledouble height;public:table(double h)height=h;double get_height()return height;class roundtable:public table,public circlechar *color;public:roundtable(double h,double r,char c): 10 color=new charstrlen(c) +1;11 ;char*get_color()return color;:void
25、 main()roundtable rt(0.8,1.0,“白色”);cout“圆桌的高:“rt. get_height()end1;cout“圆桌面积:“rt.get_area()end1;cout“圆桌颜色:“n.get color()end1;(分数:2.00)填空项 1:_46.Jackson 结构化程序设计方法是英国的 MJackson 提出的,它是一种面向 【2】 的设计方法。(分数:1.00)填空项 1:_47.程序的输出结果是_。#includeiostreamusing namespace std;class Baseint x;Public:Base(int B):x(B)
26、 virtual void display( )coutx;class Derived:public Baseint y;public:Derived(int D):Base(D),y(D)void display( )couty;int main( )Base b(1) ;Derived d(2);Base*p=d;b.display( );d.display( );pdisplay( );return 0;(分数:2.00)填空项 1:_48.目前,有两种重要的高级语言,分别是结构化程序和 1。(分数:2.00)填空项 1:_49.下面程序要实现的功能是打开当前目录下的文件 abc,并向其
27、追加一串字符“How are you!”,然后再关闭该文件,请将程序填写完整。#includefstream.hvoid main()13 f“How are you!“end1;f.close();(分数:2.00)填空项 1:_50.友元类的所有成员函数都是另一个类的 1。(分数:2.00)填空项 1:_二级 C+笔试-398 答案解析(总分:78.00,做题时间:90 分钟)一、选择题(总题数:35,分数:54.00)1.软件工程的出现是由于A) 程序设计方法学的影响B) 软件产业化的需要C) 软件危机的出现D) 计算机的发展(分数:1.00)A.B.C. D.解析:解析:软件工程概念的
28、出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。2.算法的空间复杂度是指 A) 算法在执行过程中所需要的计算机存储空间 B) 算法所处理的数据量 C) 算法程序中的语句或命令条数 D) 算法在执行过程中所需要的临时工作单元数(分数:2.00)A. B.C.D.解析:解析 算法的空间复杂度是指:算法执行过程中所需的存储空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间及算法执行过程中所需要的额外空间。3.下列关于 getline()函数的描述,不正确的是_。A) get
29、line()函数是用来从输入流中读取字符串的B) getline()函数读取字符串的长度是受到限制的C) getline()函数读取字符串时,遇到终止符时就停止D) getline()函数中所使用的终止符只能是换行符(分数:2.00)A.B.C.D. 解析:解析 getline()函数从输入流中读取多个字符,并且允许指定输入终止符,其原型为:getline(char*line,int size, char=/n)其中,第 3 个参数为自定义输入终止符。4.一个类可以同时继承多个类,称为多继承。下列关于多个继承和虚基类的表述中,错误的是( )。A每个派生类的构造函数都要为虚基类构造函数提供实参B
30、多继承时有可能出现对基类成员访问的二义性问题C使用虚基类可以解决二义性问题并实现运行时的多态性D建立最派生类对象时,虚基类的构造函数会首先被调用(分数:2.00)A.B.C. D.解析:5.如果类 A 被说明成类 B 的友元,则A)类 A 的成员即类 B 的成员B)类 B 的成员即类 A 的成员C)类 A 的成员函数不得访问类 B 的成员D)类 B 不一定是类 A 的友元(分数:1.00)A.B.C.D. 解析:解析:本题考查的是友元类的定义:类 A 为类 B 的友元类,则类 A 的所有成员函数都是类 B 的友元函数,但反之则不一定成立。6.有如下程序#includeiostream.hint
31、 func(int a,int b) return(a+b) ;void main( )int x=2,y=5,z=8, r;r=func ( func(x,y),z);cout r; 该程序的输出的结果是 A) 12 B) 13 C) 14 D) 15(分数:1.00)A.B.C.D. 解析:解析 语句 r=func(func(x,y),z);中, fun(x,y)是一次调用函数,它的值作为 func 另一次调用的实参。注意本题调用两次函数。7.以下选项中合法的实型常数是A) 5 E 2.0 B) E-3 C) .2 E0 D) 1.3 E(分数:2.00)A.B.C. D.解析:解析 本题
32、考查实型常数的指数表示法,可以肯定的是指数不能为小数即必须为整数,故排除A由于符号 E 前面必须有数字,故 B 也是错误的。D 在指数符号后面没有数字,是错误的。答案为 C。8.设有关系 R 及关系 S,它们分别有 p、q 个元组,则关系 R 与 S 经笛卡儿积后所得新关系的元组个数是( )。A) p B) q C) p+q D) p*q(分数:1.00)A.B.C.D. 解析:解析 本题考核对笛卡儿积运算的掌握。笛卡儿积是两个关系的合并操作,关系 R 的每一个行依次跟关系 S 的每一个行组成一个新元组,因此关系 R 与 S 经笛卡儿积后所得新关系的元组个数是 p*q。9.下列排序方法中,属于
33、不稳定的排序方法是 _。A) 直接插入排序法 B) 冒泡排序法C) 基数排序法 D) 堆序法(分数:2.00)A.B.C.D. 解析:10.有以下程序#include iostreamusing namespace std; class sampleprivate:int x;public:sample(int a)x=a;friend double square(sample s);double square(sample s)return s.x*s.x;int main()sample s1 (20),s2(30);coutsquare(s2)end1;return 0;执行结果是 A)
34、 20 B) 30C) 900 D) 400(分数:1.00)A.B.C. D.解析:解析 本题考核友元函数的应用。程序中函数 square 是类 sample 的一个友元函数,它可以直接访问类 sample 的所有成员。它的功能是返回类 sample 的私有数据成员 x 的平方。所以程序的执行结果是:900。注意:友元函数不是类的成员函数,在类外定义时不要加上类名及其作用域运算符 (:)。友元函数的调用与一般函数的调用的方式和原理一致,可以在程序的任何地方调用它。11.结构化程序设计的三种基本结构是( )。A过程、子程序和分程序 B顺序、选择和重复C递归、堆栈和队列 D调用、返回和转移(分数
35、:2.00)A.B. C.D.解析:解析 程序的三种基本控制结构包括顺序、选择和重复(循环),这三种结构足以表达出各种其他形式的结构。12.已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是A)acbed B)decab C)deabc D)cedba(分数:1.00)A.B.C.D. 解析:解析 依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由 deba 构成,右子树为空;又由左子树的后序遍历序列可知其根结点为 e,由中序遍历序列可知其左子树为 d,右子树由 ba 构成,如下图所示。求得该二叉树的前序遍历序列为选项 D)。13.运行以下程
36、序后,如果从键盘上输入 shose 后回车,则输出结果为 _。# includeiostream.hvoid main()int v1=0,v2=0,k=0;char ch80;cinch;while(chk)switch(chk)case s;case h;default: v1+1;case o: v2+;k+;coutv1 “,“v2end1;A) 2, 0 B) 5, 0C) 4, 5 D) 2, 5(分数:2.00)A.B.C. D.解析:14.下列程序的运行结果为( )。#include iostream.hvoid main()int a=2:int b=a+1;couta/be
37、ndl;A0.66667 B0 C0.7 D0.66666666(分数:2.00)A.B. C.D.解析:15.在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有 ( )。A) 特定的数据模型 B) 数据无冗余C) 数据可共享 D) 专门的数据管理软件(分数:2.00)A. B.C.D.解析:解析 在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有特定的数据模型。16.有如下程序:#ncludeiostremnusing namespace std;class Stackpublic:Stack(unsigned n=10:size(n)rep_=n
38、ew intsize;top=O;Stack(Stackfor(int i=0;isize;i+)rep_i=s.rep_i;top=s.top;Stack()deleterep_;void push(int a)rep_top=a; top+;int opo()-top;return rep_top;bool is Empty()constreturn top=O;pavate:int*rep_;unsigned size,top;int main()Stack s1;for(int i=1;i5;i+) s1.push(i);Stack s2(s1);for(i=1;i3;i+) cout
39、s2.pop(),;s2.push(6);s1.push(7);while(!s2.isEmpty() couts2.pop(),;return 0;执行上面程序的输出是A)4,3,2,1 B)4,3,6,7,2,1C)4,3,6,2,1 D)1,2,3,4(分数:1.00)A.B.C. D.解析:17.在一个类体的下列声明中,正确的纯虚函数声明是A) virtual void vf()0;B) void vf(int)0;C) virtual int vf(int);D) virtual void vf(int)(分数:1.00)A. B.C.D.解析:解析 本题考核纯虚函数的声明。声明纯虚
40、函数的一般格式为:virtual类型函数名(参数表)0;18.下面描述中,符合结构化程序设计风格的是A) 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B) 模块只有一个入口,可以有多个出口C) 注重提高程序的执行效率D) 不使用 goto 语句(分数:2.00)A. B.C.D.解析:解析 应该选择只有一个入口和一个出口的模块,故 B 选项错误;首先要保证程序正确,然后才要求提高效率,故 c 选项错误;严格控制使用 goto 语句,必要时可以使用,故 D 选项错误。19.下列语句中,错误的是A) const int buffer=256; B) const int temp;
41、C) const double *point; D) const double *rtnew double(5.5);(分数:1.00)A.B. C.D.解析:解析 本题考查了符号常量的特点。符号常量必须在声明的同时为其赋初值。因此选项 B 是错误的。选项 C 定义的是一个指向常量的指针变量,即通过该指针不能改变它所指向的内容,而它自己的内容是可以改变的。定义指针符号常量的格式应该是:double*const point某地址值;。所以选项 C 是合法的,它可以不用在声明时赋初值。故应该选择 B。20.如果有以下定义及初始化:int a=3,*p=则由此可以推断,*p 的值是( )。A) 变量
42、 a 的值,即 3 B) 变量 a 的地址值 C) 变量 P 的地址值 D) 无意义(分数:2.00)A. B.C.D.解析:解析 题目中的定义初始化是定义一个整型变量 a,初始化为 3。而“int *p=”是定义一个整型指针变量 p,将变量 a 的地址作为指针变量 p 的初值。*p 是指针变量 p 指向的存储单元的内窖,即变量值。所以*p 指向 a 的值 3。21.执行语句 for(i =1+4;);,后变量 i 的值是A) 3 B) 4 C) 5 D) 不定(分数:1.00)A.B.C. D.解析:解析 for 语句中的表达式可以部分或全部省略,但两个“;”不能省略,若 3 个表达式均省略
43、,会因为缺少条件判断,导致循环无限执行,而形成死循环。本题中当 i 的值为 5 的时候,循环终止。22.关于二义性的描述错误的是( )。A一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B解决二义性可以用对成员名的限定法C父类和子类中同时出现同名函数,也可能存在二义性D一个子类是从两个父类派生出来的,而这两个父类只有一个共同的父类,对该父类成员进行访问时,可能出现二义性(分数:2.00)A.B.C. D.解析:23.设有关键码序列(16,9,4,25,15,2,13,18,17,5,8,24),要按关键码值递增的次序排序,采用初始增量为 4 的希尔排序法,一趟扫描后的结
44、果为( )。A(15,2,4,18,16,5,8,24,17,9,13,25)B(2,9,4,25,15,16,13,18,17,5,8,14)C(9,4,16,15,2,13,18,17,5,8,24,15)D(9,16,4,25,2,15,13,18,5,17,8,24)(分数:2.00)A. B.C.D.解析:24.在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示( )A模块之间的调用关系 B程序的组成成分C控制程序的执行顺序 D数据的流向(分数:1.00)A. B.C.D.解析:25.有以下程序:#include iostream#include fstreamusing
45、 namespace std;int main ( )ofstream ofile;char ch;ofile.open (“abc.txt“);cinch;while (ch!=# )cinch;ofile.put(ch);ofile.close();return 0;当从键盘终端连续输入的字符为 a、b、c 和#时,文件 abc.txt 中的内容为( )。A) 程序编译时出错 B) abc# C) abc D) #(分数:1.00)A.B.C. D.解析:解析 本题程序的功能是将从键盘终端输入的内容存储到指定的文件中。26.执行下面语句后,输出字符“#“的个数是( )。for(int i=
46、50;i;-i)cout#;A) 48 B) 49C) 50 D) 51(分数:2.00)A.B. C.D.解析:解析 for 语句循环中的循环控制变量 i 的初始值为 50,条件表达式“i1“说明当 i 的值大于 l时重复执行循环体;“-i“表示每循环一次减 1。当 i 等于 1 的时候跳出循环,此时循环次数为 49 次。27.若要把函数 void f()定义为 aClass 的友元函数,则应该在类 aClass 的定义中加入的语句是( )。Avoid f(); Bstatic voidf(); Cfriend f(); Dfriend void f();(分数:2.00)A.B.C.D.
47、解析:28.C+语言中规定函数的返回值的类型是由( )。Areturn 语句中的表达式类型所决定B调用该函数时的主调用函数类型所决定C调用该函数时系统临时决定D在定义该函数时所指定的数据类型所决定(分数:1.00)A.B.C.D. 解析:29.带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚基类的子对象初始化( )。A与虚基类下面的派生类个数有关 B多次 C两次 D一次(分数:1.00)A.B.C.D. 解析:30.有以下类定义class MyClasspublic:MyClass() coutl;);则执行语句 MyClassa,b2,*p2;后,程序的输出结果是A) 11 B) 111C) 1111 D) 11111(分数:2.00)A.B. C.D.解析:解析 本题考核构造