1、二级 C+笔试 350 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.如下程序的输出结果是 main()inta=2, b=-1, c=2;if(aB) if(b0)c=0; else c+;coutcend1;(分数:2.00)A.0B.1C.2D.32.以下选项中合法的用户标识符是(分数:2.00)A.longB._2 TestC.3 DmaxD.A,dat3.有以下程序 void fun(int (分数:2.00)A.654321B.432156C.456123D.1234564.有以下程序段 int k0;while(k1)
2、k+;while 如循环执行的次数是(分数:2.00)A.无限次B.有语法错,不能执行C.一次也不执行D.执行 1 次5.有以下程序 main() int p7= 11,13,14,15,16,17,18,i=0,k=0; while(i7 执行后输出结果是(分数:2.00)A.58B.56C.45D.246.有关构造函数的说法中错误的是(分数:2.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个7.设有数组定义:char array = “China“;则数组 array 所占的空间为(分数:2.00)A.4 个字节B.
3、5 个字节C.6 个字节D.7 个字节8.下列叙述中正确的是(分数:2.00)A.用 E-R 图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型9.数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是(分数:2.00)A.线性链表B.二叉链表C.栈与队列D.循环队列10.以下对 C/C+语言函数的描述中,正确的是(分数:2.00)A.C 程序由一个或一个以上的函数组成B.C 函数既可以嵌套定义又可以递归调用C.函数必须有
4、返回值,否则不能使用函数D.C+程序中调用关系的所有函数必须放在同一个程序文件中11.下列关于栈的叙述中正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表12.下列语句中,输出与众不同的是(分数:2.00)A.cout“ 1. “setfill( ) “ Hello ! “end1B.cout“1. “Hello!“/n“;C.cout“1. Hello!“end1;D.cout1. “setw(7)“Hello! “;13.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表
5、示的字符常量/101是(分数:2.00)A.字符 AB.字符 aC.字符 eD.非法的常量14.以下程序的输出结果是 main() intnum= 0;while(num= 2) num+; coutnum; (分数:2.00)A.1234B.123C.12D.115.如下程序的输出结果是 main()float x=2.0, y;if(x0.0)y=0.0;else if(x10.0)y= 1.0/x;else y= 1.0coutyend1(分数:2.00)A.0.000000B.0.250000C.0.500000D.1.00000016.以下关于静态成员变量的叙述不正确的是(分数:2.
6、00)A.静态成员变量为类的所有对象所公有B.静态成员变量可以在类内任何位置上声明C.静态成员变量的赋初值必须放在类外D.定义静态成员变量时必须赋初值17.有以下程序 main( ) int a3=1,2,3,4,5,0,(*pa) 3, i;pa=a;for(i=0;i3;i+ +) if(i2) pa1i = pa1i-1;else pa1i = 1;couta01+a11+a12end1;执行后输出结果是(分数:2.00)A.7B.6C.8D.无确定值18.以下有关析构函数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参C.析构函数不允
7、许有返回值D.析构函数名前必须冠有符号“”19.以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为 main() int a,b; scanf(“ % d%d“, cinab;cout“a= “aA.对象 infile 只能用于文件输入操作B.对象 outfile 只能用于文件输出操作C.对象 iofile 在文件关闭后,不能再打开另一个文件D.对象 iofile 可以打开一个文件同时进行输入和输出30.下列关于队列的叙述中正确的是(分数:2.00)A.只能插入元素,而不能删除元素B.可以插入元素,也能删除元素C.插入元素时需要移动队列中所有的元素D.删除元素时需要移动队列中所有的元
8、素31.有以下程序 main( ) int i=0,s=0;do if(i%2) i+ +; continue; i+; s+=i;while(i7)coutsend1;执行后输出结果是(分数:2.00)A.16B.12C.28D.2132.下列不是循环语句的是(分数:2.00)A.while 语句B.d while 语句C.for 语句D.i else 语句33.若执行下面的程序时,从键盘上输入 3 和 4,则输出结果是 main() int a,b,s;cinab; s=a; if(aB) sb: s=s*s;coutsend1;(分数:2.00)A.14B.16C.18D.2034.下面
9、对宏定义的描述中不正确的是(分数:2.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参数运算求值D.其实,宏替换只不过是字符替代而已35.下列叙述中正确的是(分数:2.00)A.在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法二、B填空题/B(总题数:15,分数:30.00)36.对具有 n 个结点的线
10、性表进行顺序查找,最坏情况下需要的比较次数为U 【1】 /U。(分数:2.00)填空项 1:_37.设有下列二叉树: (分数:2.00)填空项 1:_38.在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为 U【3】 /U。(分数:2.00)填空项 1:_39.程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为U 【4】 /U。(分数:2.00)填空项 1:_40.在关系模型中,一个关系的属性名表称为U 【5】 /U,也就是二维表的表框架,相当于记录型。(分数:2.00)填空项 1:_41.执行“coutchar
11、(F-2)end1;”语句后得到的输出结果后U 【6】 /U。(分数:2.00)填空项 1:_42.十进制 28 和 3.26 的类型分别是U 【7】 /U。(分数:2.00)填空项 1:_43.假定一个二维数组的定义为“int a35;”,则该数组所含元素的个数为 15,所占的存储空间的字节数为U 【8】 /U。(分数:2.00)填空项 1:_44.假定要动态分配一个类型为 Worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,则使用的语句是U 【9】 /U。(分数:2.00)填空项 1:_45.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成
12、员函数。此时 const 不是指定函数的返回值,而是修饰U 【10】 /U指针。(分数:2.00)填空项 1:_46.若要在程序文件中进行标准输入输出操作,则必须在开始的# include 命令中使用头文件U 【11】 /U。(分数:2.00)填空项 1:_47.下列程序的输出结果为U 【12】 /U。 # include iostream, h void Func(char ch) switch (ch). case A: case a cout“优秀“end1; case B: case b: cout“良好“end1; break; case C: case c: cout“及格“ en
13、d1 break; default cout“不及格“end1; void main() char ch1 =b Fune(chl); Func(A); (分数:2.00)填空项 1:_48.根据注释内容在空白处填写适当内容。 class Location private: int X,Y; public: void init(int init X,int init Y); int GetX( ); int GetY( ) ; void Location: init(int initX,int initY) X = initX Y=initY; int Location: :GetX( ) r
14、eutrn X int Location: :GetY( ) reutrn Y; # ineludeiostream. h void main( ) Location A1; A1. init (20, 90) U 【13】 /U /定义一个指向 A1 的引用 rA1 coutrA1. GetX()“: “rA1. GetY()end1; (分数:2.00)填空项 1:_49.下列程序的招待结果是U 【14】 /U。 # include iostream. h float temp; float float n= m; void disp() cout“normal: n=“nend1; vo
15、id disp()const cout“static: n=“n end1; ; void main() const Sample a(12), Sample b(13), a. disp( ), b. disp() couta, n “b. conend1; (分数:2.00)填空项 1:_二级 C+笔试 350 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.如下程序的输出结果是 main()inta=2, b=-1, c=2;if(aB) if(b0)c=0; else c+;coutcend1;(分数:2.00)A.0B.1C.
16、2 D.3解析:解析 本题考察的是 ifelse 语句中的配对原则:与最近的配对,故当 ab 为假时直接执行输出语句,即 c 的值是 2,正确答案为 C。2.以下选项中合法的用户标识符是(分数:2.00)A.longB._2 Test C.3 DmaxD.A,dat解析:解析 注意 A 选项用了 C+的保留字 long,选项 C 使用了数字开头,选项 D 中存在空格,这些均是错误的标识。正确答案应为 B。3.有以下程序 void fun(int (分数:2.00)A.654321 B.432156C.456123D.123456解析:解析 本题采用递归函数的方式将数组中的元素进行倒置,只要能够
17、看出函数 fun 的功能,即可以得出正确答案为 A。4.有以下程序段 int k0;while(k1)k+;while 如循环执行的次数是(分数:2.00)A.无限次 B.有语法错,不能执行C.一次也不执行D.执行 1 次解析:解析 注意本题有个陷阱,马虎的考生将纷纷落马。本来 while 中的表达式应为 k=1,而本题却为 k=1,是赋值表达式而不是逻辑表达式。因此,编译器将其值一直认为是 1,因此表达式一直为真,陷入无限次的循环。5.有以下程序 main() int p7= 11,13,14,15,16,17,18,i=0,k=0; while(i7 执行后输出结果是(分数:2.00)A.
18、58B.56C.45D.24 解析:解析 分析可知本题中 while 循环体的功能是将数组中元素值为奇数的项目累加,在遇到第一个元素值为偶数时停止累加。因此,观察数组中各元素值可知 14 之前的奇数相加是 11+13,故答案为 D。6.有关构造函数的说法中错误的是(分数:2.00)A.构造函数名字和类的名字一样B.构造函数在说明类变量时自动执行C.构造函数无任何函数类型D.构造函数有且只有一个 解析:解析 本题考察构造函数的定义和使用。构造函数可以重载,故不可能只有一个。7.设有数组定义:char array = “China“;则数组 array 所占的空间为(分数:2.00)A.4 个字节
19、B.5 个字节C.6 个字节 D.7 个字节解析:解析 本题考察在 C+语言中,字符串的存放规则。即字符串存放在字符数组中,而且在字符的后面自动插入标识字符串结束的标识符/0,因此,共 6 个字符,每个字符占用一个字节,故正确答案为C。8.下列叙述中正确的是(分数:2.00)A.用 E-R 图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系 B.用 E-R 图只能表示实体集之间一对一的联系C.用 E-R 图只能表示实体集之间一对多的联系D.用 E-R 图表示的概念数据模型只能转换为关系数据模型解析:解析 用 E-R 图可以简单明了地描述实体及其相互之间的联系,用 E-R 图还可以方便
20、地描述多个实体集之间的联系和一个实体集内部实体之间的联系。因此,选项 A 中的说法是正确的,而选项 B 与 C 中的说法都是错误的。 为了建立用户所要求的数据库必须把概念结构(用 E-R 图表示的概念数据模型)转换为某个具体的数据库管理系统所支持的数据模型,这就是逻辑结构设计所要完成的任务。 在已给定数据库管理系统的情况下,数据库的逻辑设计可以分两步来进行: 将概念模型转换成一般的数据模型; 将一般的数据模型转换为特定的数据库管理系统所支持的数据模型。 由此可知,用 E-R 图表示的概念数据模型不仅能转换为关系数据模型,还可以转换为其他数据模型,如网状模型和层次模型等。因此,选项 D 中的说法
21、也是错误的。9.数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是(分数:2.00)A.线性链表B.二叉链表C.栈与队列 D.循环队列解析:解析 线性链表是线性表的链式存储结构;二叉链表是二叉树的链式存储结构;栈与队列都是特殊的线性表,属于逻辑结构;循环队列是队列的一种存储结构。10.以下对 C/C+语言函数的描述中,正确的是(分数:2.00)A.C 程序由一个或一个以上的函数组成 B.C 函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.C+程序中调用关系的所有函数必须放在同一个程序文件中解析:解析 C 语言的基本单位是函数,本题考察的就是函数的基本涵义
22、及其使用。11.下列关于栈的叙述中正确的是(分数:2.00)A.在栈中只能插入数据B.在栈中只能删除数据C.栈是先进先出的线性表D.栈是先进后出的线性表 解析:解析 栈是特殊的线性表,在栈顶可以插入元素,称为入栈,也可以删除元素,称为退栈。因此,栈是一种先进后出的线性表。12.下列语句中,输出与众不同的是(分数:2.00)A.cout“ 1. “setfill( ) “ Hello ! “end1 B.cout“1. “Hello!“/n“;C.cout“1. Hello!“end1;D.cout1. “setw(7)“Hello! “;解析:解析 本题主要考察 setfill 的用法。只用在
23、设置了宽度的情况下,字符填充操作 setfill 才有意义。另外要注意的是设置宽度 setw 是所有格式中惟一一个一次有效的设置。13.已知大写字母 A 的 ASCII 码值是 65,小写字母 a 的 ASCII 码是 97,则用八进制表示的字符常量/101是(分数:2.00)A.字符 A B.字符 aC.字符 eD.非法的常量解析:解析 首先将八进制数转换成十进制数,则发现是 65,故答案为 A。14.以下程序的输出结果是 main() intnum= 0;while(num= 2) num+; coutnum; (分数:2.00)A.1234B.123 C.12D.1解析:解析 本题考察的
24、是循环次数的判定。有 while 后的逻辑表达式可知,整个循环体需要执行 3 次,故可直接选定正确答案为 B。15.如下程序的输出结果是 main()float x=2.0, y;if(x0.0)y=0.0;else if(x10.0)y= 1.0/x;else y= 1.0coutyend1(分数:2.00)A.0.000000B.0.250000C.0.500000 D.1.000000解析:解析 本题主要考察条件语句的运行规则,考生按照逻辑顺序分析可知正确答案为 C。16.以下关于静态成员变量的叙述不正确的是(分数:2.00)A.静态成员变量为类的所有对象所公有B.静态成员变量可以在类内
25、任何位置上声明C.静态成员变量的赋初值必须放在类外D.定义静态成员变量时必须赋初值 解析:解析 静态成员变量的引入是为了解决同一类的不同对象间数据共享的需要。因此,类的静态数据成员在定义时不能赋初值。只能在类外赋初值,此外要注意赋值时要用类名进行限制。17.有以下程序 main( ) int a3=1,2,3,4,5,0,(*pa) 3, i;pa=a;for(i=0;i3;i+ +) if(i2) pa1i = pa1i-1;else pa1i = 1;couta01+a11+a12end1;执行后输出结果是(分数:2.00)A.7 B.6C.8D.无确定值解析:解析 本题考察对二维数组的使
26、用。只要按照要求细心分析各个数组元素的位置,即可以正确的得到答案为 A。18.以下有关析构函数的叙述不正确的是(分数:2.00)A.一个类只能定义一个析构函数B.析构函数和构造函数一样可以有形参 C.析构函数不允许有返回值D.析构函数名前必须冠有符号“”解析:解析 本题考察析构函数的定义和使用,析构函数不能有形参,也没有返回值,故正确答案应为B。19.以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为 main() int a,b; scanf(“ % d%d“, cinab;cout“a= “aA.对象 infile 只能用于文件输入操作B.对象 outfile 只能用于文件输出操
27、作C.对象 iofile 在文件关闭后,不能再打开另一个文件 D.对象 iofile 可以打开一个文件同时进行输入和输出解析:解析 本题看似复杂,其实掌握技巧的话可以很容易的得出正确答案为 C。按照常识,一个文件关闭后,应该可以再打开另外一个文件。30.下列关于队列的叙述中正确的是(分数:2.00)A.只能插入元素,而不能删除元素B.可以插入元素,也能删除元素 C.插入元素时需要移动队列中所有的元素D.删除元素时需要移动队列中所有的元素解析:解析 队列是一种特殊的线性表,只能在一端插入元素,在另一端删除元素,并且在插入与删除操作时都不需要移动其他元素。31.有以下程序 main( ) int
28、i=0,s=0;do if(i%2) i+ +; continue; i+; s+=i;while(i7)coutsend1;执行后输出结果是(分数:2.00)A.16 B.12C.28D.21解析:解析 本题考察 continue 语句在 while 循环中的使用:直接跳转到条件判断表达式位置,不再执行 continue 后面的语句。另外,根据分析可知,本题循环体的功能是将 0,2,4,6 位元素加一后累加,故结果应是 1+3+5+7,因此正确答案为 A。32.下列不是循环语句的是(分数:2.00)A.while 语句B.d while 语句C.for 语句D.i else 语句 解析:解析
29、 本题很简单,选项 D 是条件语句,不是循环语句。33.若执行下面的程序时,从键盘上输入 3 和 4,则输出结果是 main() int a,b,s;cinab; s=a; if(aB) sb: s=s*s;coutsend1;(分数:2.00)A.14B.16 C.18D.20解析:解析 按照程序的执行顺序考生可以很快得出正确答案为 B。34.下面对宏定义的描述中不正确的是(分数:2.00)A.宏不存在类型问题,宏名无类型,它的参数也无类型B.宏替换不占用运行时间C.宏替换时先求出实参表达式的值,然后代入形参数运算求值 D.其实,宏替换只不过是字符替代而已解析:解析 本题考察对宏的理解。宏其
30、实就是替换,这种替换不是在运行时进行,而是自编译时就完成的。替换时仅仅将表达式展开不进行运算求值。35.下列叙述中正确的是(分数:2.00)A.在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 D.在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法解析:解析 在模块化设计中,要求将一个大程序按人们能理解的大小规模进行分解,使每个模块都能易于理解,各模块的功能尽量单一,各模块之间的联系尽量的少。因此,选项 A 中的说法是错误的。自顶向
31、下、逐步细化的设计过程,主要包括两个方面:一是将一个复杂问题的解法分解和细化成由若干模块组成的层次结构;二是将一个模块的功能逐步分解细化为一系列的处理步骤,直到某种程序设计语言的语句或某种机器指令。即在自顶向下、逐步细化的设计过程中,是按照先全局后局部,先整体后细节、先抽象后具体的方法设计程序。因此选项 B 中的说法也是错误的。 在模块化程序设计中每一个模块完成一个功能,相对独立,要求一个模块内部的控制结构也要符合结构化原则。因此,选项 C 中的说法是正确的。由于在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则,因此,在程序设计过程中,结构化程序设计方法与模块化程序设计方法是要同时
32、采用的。因此,选项 D 中的说法是错误的。二、B填空题/B(总题数:15,分数:30.00)36.对具有 n 个结点的线性表进行顺序查找,最坏情况下需要的比较次数为U 【1】 /U。(分数:2.00)填空项 1:_ (正确答案:n)解析:解析 对具有 n 个结点的线性表进行顺序查找,最坏情况下需要比较 n 次。37.设有下列二叉树: (分数:2.00)填空项 1:_ (正确答案:TZBACYXP)解析:解析 按照二叉树中序遍历的方法:在访问根结点、遍历左子树与遍历右子树这三者中,首先遍历左于树,然后访问根结点,最后遍历右于树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历
33、右子树。对本题中的二叉树进行中序遍历的结果应是 TZBACYXP。38.在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为 U【3】 /U。(分数:2.00)填空项 1:_ (正确答案:消息)解析:解析 在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为消息。39.程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为U 【4】 /U。(分数:2.00)填空项 1:_ (正确答案:动态分析)解析:解析 程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序在运行过程中暴露错
34、误,这种方法称为动态分析。40.在关系模型中,一个关系的属性名表称为U 【5】 /U,也就是二维表的表框架,相当于记录型。(分数:2.00)填空项 1:_ (正确答案:关系模式)解析:解析 在关系模型中,一个关系的属性名表称为关系模式。41.执行“coutchar(F-2)end1;”语句后得到的输出结果后U 【6】 /U。(分数:2.00)填空项 1:_ (正确答案:D)解析:解析 char()在这里作为强制类型转换函数使用,将 F 前相隔两个的字符显示出来,故应为字符D。42.十进制 28 和 3.26 的类型分别是U 【7】 /U。(分数:2.00)填空项 1:_ (正确答案:int 和
35、 double)解析:解析 整型和双精度型。注意除非定义了 float 变量,实型常量隐含为 double 型。43.假定一个二维数组的定义为“int a35;”,则该数组所含元素的个数为 15,所占的存储空间的字节数为U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:60)解析:解析 二维数组总个数为维数之积,占用的存储空间的字节数与类型有关,本题为 int,则在 TC环境下被分配 2 字节,而在 VC 环境下被分配 4 字节。44.假定要动态分配一个类型为 Worker 的具有 n 个元素的数组,并由 r 指向这个动态数组,则使用的语句是U 【9】 /U。(分数:2.00)填
36、空项 1:_ (正确答案:Worker* rnew Workern)解析:解析 在 C+中动态分配栈上内存的命令是 new,释放命令是 delete,注意和 C 语言中的 mallc和 free 向对应。45.将关键字 const 写在函数头之后,函数体之前,说明该函数是一个 const 成员函数。此时 const 不是指定函数的返回值,而是修饰U 【10】 /U指针。(分数:2.00)填空项 1:_ (正确答案:this)解析:解析 const 在修饰指针的时候考生容易混淆。如果 const 位于星号的左侧则 const 就是用来修饰指针所指向的变量,即指针指向为常量;如果 const 位于
37、星号的右侧,const 就是修饰指针本身,即指针本身是常量。而用 const 声明了返回值后,const 按照“修饰原则”进行修饰,起到相应的保护作用,即保护 this 指针不被修改。46.若要在程序文件中进行标准输入输出操作,则必须在开始的# include 命令中使用头文件U 【11】 /U。(分数:2.00)填空项 1:_ (正确答案:iostream.h)解析:解析 本头文件和重要,包含了基本输入输出所需要的库函数。47.下列程序的输出结果为U 【12】 /U。 # include iostream, h void Func(char ch) switch (ch). case A:
38、case a cout“优秀“end1; case B: case b: cout“良好“end1; break; case C: case c: cout“及格“ end1 break; default cout“不及格“end1; void main() char ch1 =b Fune(chl); Func(A); (分数:2.00)填空项 1:_ (正确答案:良好 优秀 良好)解析:解析 本题主要考察 switch 语句中 break 语句的使用。由于 case A 和 case B 之间没有 break语句,导致在输出“优秀”之后顺序执行并输出了“良好”,这与原来的设计思路是不符的。
39、48.根据注释内容在空白处填写适当内容。 class Location private: int X,Y; public: void init(int init X,int init Y); int GetX( ); int GetY( ) ; void Location: init(int initX,int initY) X = initX Y=initY; int Location: :GetX( ) reutrn X int Location: :GetY( ) reutrn Y; # ineludeiostream. h void main( ) Location A1; A1. i
40、nit (20, 90) U 【13】 /U /定义一个指向 A1 的引用 rA1 coutrA1. GetX()“: “rA1. GetY()end1; (分数:2.00)填空项 1:_ (正确答案:Location float float n= m; void disp() cout“normal: n=“nend1; void disp()const cout“static: n=“n end1; ; void main() const Sample a(12), Sample b(13), a. disp( ), b. disp() couta, n “b. conend1; (分数:2.00)填空项 1:_ (正确答案:Sample(int m):con(m+1)nm;)解析:解析 本题考察常数据成员的初始化方法。常数据成员的定义必须出现在类体中,而且初始化只能通过构造函数的成员初始化列表进行,而且不能被更新。