1、计算机二级(C+)11 及答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:25,分数:1750.00)1.表达式 10 5 &6%3 的值是( )。(分数:70.00)A.Width 和 HeightB.Width 或 HeightC.StartUpPositonD.Top 和 Left2.如果表达式 x * y + z 中,“ * ”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为 ( )。(分数:70.00)A.operator+(operator*(x,y),z)B.xoperator+(operator
2、*(x,y),z)C.yoperator*(operator+(x,y),z)D.xoperator+(operator*(x,y)3.有以下程序 #include“iostream.h“ void main( ) int i=1,j=1,k=2; if( (j+|k+)&i+) cout i “,“ j “,“ k; cout end1; 执行后输出结果是( )。 (分数:70.00)A.1,1,2B.2,2,1C.2,2,2D.2,2,34.关于 this 指针的说明不正确的是( )。(分数:70.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改
3、this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值5.下面程序的结果为( )。 #includeiostream.h intC; classA private: inta; staticintb; public: A( )a=0;c=0; voidseta( )a+; voidsetb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( );a1.setc( ); a2.seta( ); a2,setb( ); a2.s
4、etc( ); a2.display( ); (分数:70.00)A.121B.122C.112D.2226.以下能对二维数组 a 进行正确初始化的语句是( )。(分数:70.00)A.yoperator+(xoperator-(0)B.y,operator+(x.operator-( )C.yoperator+(operator-t(x,0)D.operator+(xoperator- -t( )7.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:70.00)A.纵栏式报表B.表格式报表C.图表报表D.标签报表8.对于模板定义关键字 class 和 ty
5、pename 说法不正确的是( )。(分数:70.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename9.对以下说明语句的正确理解是( )。 inta10=6,7,8,9,10; (分数:70.00)A.公有类型B.私有类型C.保护类型D.友元类型10.下面关于模板的描述,错误的是( )。(分数:70.00)A.函数模板和类模板的参数可以是任意的数据类型B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的
6、对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才能使用D.类模板的成员函数都是模板函数11.对类的构造函数和析构函数描述正确的是( )。(分数:70.00)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载12.以下程序的输出结果是( )。 #includeiostream.h voidreverse(inta,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b10:=1,2,3
7、,4,5,6,7,8,9,10;inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:70.00)A.(x=y=6,x+y,X+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x+y,x+1)13.以下程序的输出结果是( )。 #includeiostreamh void main( ) inti,j,x=0; for(i=0;i 2;i+) x+; for(j=0;j 3;j+) if (j% 2)continue; x+; x+; cout “x=“ x; (分数:70.00)A.
8、x=4B.x=8C.x=6D.x=1214.下面的哪个选项不能作为函数的返回类型?(分数:70.00)A.voidB.intC.newD.long15.下列程序的输出结果是( )。 #include“ iostream“ using namespace std; int Max(int a,int b) if(a b) else return a; else retum b; void main( ) int m,n; m=10,n=5; int max=Max(m,n); cout max end1; (分数:70.00)A.单项索引文件B.复合索引文件C.结构化复合索引文件D.非结构化复合
9、索引文件16.以下程序的输出结果是( )。 #includeiostreamh voidmain( ) charx=040; cout(x1); (分数:70.00)A.并运算B.交运算C.差运算D.积运算17.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是( )。(分数:70.00)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对18.下列关于运算符重载不正确的是( )。(分数:70.00)A.throwsB.throwC.ThrowableD.Exception19.下面程序的执行结果是( )。 #include“
10、iostreamh“ void main( ) int * p,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.程序错误B.内存为 20 地址的大小C.20D.420.下列程序的运行结果是( )。 #includeiostreamh void fun(int *a,iht *B) int *k; k=a;a=b;b=k; void main( ) inta=3,b=6,*x=&a,*y=&b; fun(x,y); cout a “ “ b; (分数:70.00)A.6 3B.3 6C.编译出错D.02
11、1.下列程序的运行结果为( )。 #includeiostreamh void main( ) int a=2; int b=a+1; cout a/b endl; (分数:70.00)A.实体完整性B.域完整性C.参照完整性D.以上各项都需要定义22.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的是( )。 #includeiostream.h voidmain( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:70.00)A.k/
12、1lB.k%11C.k/11=0D.k%11=023.以下函数调用语句中含有参数的个数是( )。 excc(v1,v2),(v2,v3,v4),v6); (分数:70.00)A.operator+(operator*(x,y),z)B.xoperator+(operator*(x,y),z)C.yoperator*(operator+(x,y),z)D.xoperator+(operator*(x,y)24.面向对象程序设计思想的主要特征中不包括( )。(分数:70.00)A.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性25.对于重载的运算符 ,它是一个( )。(分数:70.00
13、)A.RELEASE MEMORYB.RELEASE ALL LIKEA*C.RELEASE MEMORY LIKE A*D.CLEAR MEMORY LIKE A*26.下列有关数据库的描述,正确的是( )。(分数:-1.00)A.数据库是一个 DBF 文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件27.下列 4 项中说法不正确的是( )。(分数:-1.00)A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性28.视图设计一般有 3 种设计次序,下列不属于视图设计的是( )。(分数:-1.00)A.自顶
14、向下B.由外向内C.由内向外D.自底向上29.开发软件时对提高开发人员工作效率至关重要的是( )。(分数:-1.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力30.需求分析阶段的任务是确定( )。(分数:-1.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能31.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的( )。(分数:-1.00)A.安全性B.一致性C.可理解性D.合理性32.为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这
15、种图称为( )。(分数:-1.00)A.PAD 图B.N-S 图C.结构图D.数据流图33.对建立良好的程序设计风格,下面描述正确的是( )。(分数:-1.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无34.关系表中的每一横行称为一个( )。(分数:-1.00)A.元组B.字段C.属性D.码35.软件工程的出现是由于( )。(分数:-1.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展三、填空题(每空 2 分,共 30 分)(总题数:10,分数:30.00)36.以下程序的执行结果为 1。 #
16、includeiostream using namespace std; class base public: virtual void who2 cout “base class“ end1; ; class derivel:public base public: void who3 cout “derivel class“ end1; ; class derive2:public base public: void who4 cout “derive2 class“ end1; ; void main5 base obj1,* p; derivel obi2; derive2 obj3;
17、p=&obj1; p-who6; p=&obj2; p-who7; p=&obj3; p-who8; (分数:3.00)填空项 1:_37.函数重载要求重载的函数必须有和原函数一样的 1。(分数:3.00)填空项 1:_38.C+语言提供的基本控制结构可以分为 3 种类型:顺序结构、 1 和循环结构。(分数:3.00)填空项 1:_39.构造函数是和 1 同名的函数。(分数:3.00)填空项 1:_40. 1 是 C+语言程序的入口。(分数:3.00)填空项 1:_41.内联函数是通过 1 来实现的,因此内联函数是真正的函数。(分数:3.00)填空项 1:_42.类模板不同于函数模板,类模板只
18、可用 1 型参数。(分数:3.00)填空项 1:_43.C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 1 方式。(分数:3.00)填空项 1:_44.在 C+语言中,访问一个对象的成员所用的运算符是 1,访问一个指针所指向的对象的成员所用的运算符是 2。(分数:3.00)填空项 1:_45.以下程序运行后的输出结果是 1。 #includeiostreamh void fun(int x,int y) x=x+y;y=x-y;x=x-y; cout x “,“ y “ ,“; void main2 int x=2,y=3;fun(x,y);
19、cout x “,“ y endl; (分数:3.00)填空项 1:_46.数据模型按不同应用层次分成 3 种类型,它们是概念数据模型、 1 和物理数据模型。(分数:-1.00)填空项 1:_47.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:-1.00)填空项 1:_48.若串 s=“MathTypes“,则其子串的数目是 1。(分数:-1.00)填空项 1:_49.常用的黑箱测试有等价分类法、 1、因果图法和错误推测法 4 种。(分数:-1.00)填空项 1:_50.件维护活动包括以下几类:改正性维护、适应性维护、 1 维护和预防性维护。(分数:-1.00)填空项 1:_计
20、算机二级(C+)11 答案解析(总分:1765.00,做题时间:90 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:25,分数:1750.00)1.表达式 10 5 &6%3 的值是( )。(分数:70.00)A.Width 和 HeightB.Width 或 HeightC.StartUpPositon D.Top 和 Left解析:RELEASE MEMORY 和 CLEAR MEMORY 只是清除公有和私有变量,不能清除系统变量。要释放所有内存变量应使用 RELEASE ALL。2.如果表达式 x * y + z 中,“ * ”是作为友元函数重载的,“+”是作为友元函
21、数重载的,则该表达式还可为 ( )。(分数:70.00)A.operator+(operator*(x,y),z) B.xoperator+(operator*(x,y),z)C.yoperator*(operator+(x,y),z)D.xoperator+(operator*(x,y)解析:C+中用成员函数重载 x*y 为:xoperator * (y),用友元函数重载 x*y 为:operator *(x,y),用成员函数重载 x/y 为:xoperator+(y),用友元函数重载 x + y 为:operator+(x,y)。3.有以下程序 #include“iostream.h“ v
22、oid main( ) int i=1,j=1,k=2; if( (j+|k+)&i+) cout i “,“ j “,“ k; cout end1; 执行后输出结果是( )。 (分数:70.00)A.1,1,2B.2,2,1C.2,2,2 D.2,2,3解析:本题考查 C+语言中“”和“&”运算符。该题目的关键是要搞清楚“”和“&”两个逻辑运算符的运算功能。运算符“”和“&”是双目运算符,要求有两个运算量。且规定逻辑与运算中,只有前面运算量的值为真的,才需要判别后面的值。只要前面运算量为假,就不必判别后的值。而逻辑或则为只要前面的运算量为真,就不必判别后的值;只有前为假,才判别后。本题中 j
23、+值为真,不进行 k+的运算,所以 k 的值保持不变。4.关于 this 指针的说明不正确的是( )。(分数:70.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值 解析:SQL 的超联接运算符中“*=”代表左联接,“=*”代表右联接。但在 Visual FoxPro 中,不支持超联接运算符“*=”和“=*”,它 有专门的联接运算语法格式,分别用 LEFT JOIN 和 RIGHT JOIN 表示。5.下面程序的结果为( )。 #includeiostream.h int
24、C; classA private: inta; staticintb; public: A( )a=0;c=0; voidseta( )a+; voidsetb( )b+; voidsetc( )c+; voiddisplay( )couta“b“c; ; intA:b=0; voidmain( ) Aa1,a2; a1.seta( ); a1.setb( );a1.setc( ); a2.seta( ); a2,setb( ); a2.setc( ); a2.display( ); (分数:70.00)A.121B.122 C.112D.222解析:C+语言中全局变量是任何函数都可以改变的
25、量,静态变量的有效范围在定义它的类中,而普通的变量的有效性只在使用它的函数中,在本题中 c 为全局变量,b 为静态变量,a 为普通变量,b 和 c 在类A 的对象 a1 和 a2 中都自加 1。所以 b,c 为 2,a 为 1。6.以下能对二维数组 a 进行正确初始化的语句是( )。(分数:70.00)A.yoperator+(xoperator-(0)B.y,operator+(x.operator-( ) C.yoperator+(operator-t(x,0)D.operator+(xoperator- -t( )解析:C+中用成员函数重载 x*y 为:xoperator * (y),用
26、友元函数重载 x*y 为:operator *(x,y),用成员函数重载 x/y 为:xoperator+(y),用友元函数重载 x + y 为:operator+(x,y)。7.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:70.00)A.纵栏式报表 B.表格式报表C.图表报表D.标签报表解析:如果在返回语句中加入了选项 TO MASTER,那么在执行程序嵌套时,它们的返回次序将被改变。子程序 3 中加入选项 TO MASTER,则它们的返回次序将是由子程序 2 直接返回到主程序,并不是按子程序3,2,1 的次序再返回到主程序。8.对于模板定义关键字
27、class 和 typename 说法不正确的是( )。(分数:70.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换 C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename解析:在 C+程序中的 typename 是都可以替换为 class 的,但 class 不能都替换为 typename。9.对以下说明语句的正确理解是( )。 inta10=6,7,8,9,10; (分数:70.00)A.公有类型B.私有类型C.保护类型D.友元类型 解析:对话框的主要特点是:不必有
28、最大化按钮和最小化按钮,对话框中通常设置有退出按钮,用于退出对话框。Visual Basic 有两类对话框:一类是对话框关闭之前,不能执行其他操作,称之为“模式”对话框;另一类是对话框关闭之前,能够继续执行其他操作,称之为“无模式”对话框。10.下面关于模板的描述,错误的是( )。(分数:70.00)A.函数模板和类模板的参数可以是任意的数据类型 B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才能使用D.类模板的成员函数都是模板函数解析:类模板不能被重载,而函数模板可以,它们不能被未知的数据类型 替换。11.
29、对类的构造函数和析构函数描述正确的是( )。(分数:70.00)A.构造函数可以重载,析构函数不能重载 B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载解析:一个类中只能定义一个析构函数,否则会造成对同一对象的多次 删除;而构造函数可以根据不同的参数个数和类型进行多次重载。12.以下程序的输出结果是( )。 #includeiostream.h voidreverse(inta,intn) inti,t; for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t; voidmain( ) int b1
30、0:=1,2,3,4,5,6,7,8,9,10;inti,s=0; reverse(b,8); for(i=6;i10;i+)s+=bi; coutS; (分数:70.00)A.(x=y=6,x+y,X+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y) D.(y=6,y+1,x+y,x+1)解析: 在 Visual Basic 中,允许出现快捷菜单,对用户来说,提供了很大的方便,一般来说,菜单都在窗口的顶部,有时,用户需要执行菜单中的某一命令,就得把鼠标移动到窗口顶部,然后打开菜单选择命令,这对用户来说,会觉得麻烦。而快捷菜单并不需要到窗口的顶部来打开,只要单击鼠标
31、右键,就会弹出菜单。设计快捷菜单仍然可以用 Visual Basic 中提供的菜单编辑器,只要把某个菜单设置成隐藏就可以了,实际上,不管是在窗口顶部菜单条上显示的菜单还是隐藏的菜单,都可以用 PopupMenu 方法把它们作为快捷菜单在运行时显示出来。PopupMenu 方法的使用形式如下: 对象PopupMenu 菜单名,标志,x,y 其中,x,y 是提供菜单显示的位置;标志:指定快捷菜单的行为。当标志为 0 时,快捷菜单中的项只能对鼠标左键起反应;当标志为 2 时,快捷菜单中的项对鼠标右键和左键都反应;标志为 2 时,PopupMenu 方法只能用在 MouseDown 事件过程中。 13
32、.以下程序的输出结果是( )。 #includeiostreamh void main( ) inti,j,x=0; for(i=0;i 2;i+) x+; for(j=0;j 3;j+) if (j% 2)continue; x+; x+; cout “x=“ x; (分数:70.00)A.x=4B.x=8 C.x=6D.x=12解析:该题是一个 for 循环嵌套语句,第一层 for 循环循环 2 次,第二层循环 3 次,但当 j 等于 O 和 1 时,将执行 continue 语句,不执行 x+运算,所以每次执行完内循环后,x 的增量为 1。最后一个 x+运算将每次累加起来就是 x 的值。
33、14.下面的哪个选项不能作为函数的返回类型?(分数:70.00)A.voidB.intC.new D.long解析:new 是动态申请内存空间时使用的关键字,不能作为函数的返回 类型,选项 A)为无返回值,选项B)为返回整型,选项 D)为返回长整型。NULL15.下列程序的输出结果是( )。 #include“ iostream“ using namespace std; int Max(int a,int b) if(a b) else return a; else retum b; void main( ) int m,n; m=10,n=5; int max=Max(m,n); cout
34、 max end1; (分数:70.00)A.单项索引文件B.复合索引文件C.结构化复合索引文件 D.非结构化复合索引文件解析:InputBox 函数的格式为: InputBox(prompt,default,xpos,ypos,helpfile,context) 其中 prompt 是一个字符串,用于提示用户输入,是在对话框中显示的信息,不可省略,故选项 A)和选项D)不正确;Val(字符串)函数的功能是把自变量中的第一个字符串转换为数值,其中的数值是一个双精度的实数,所以正确答案为选项 C);选项 B)没有类型转换符,不正确。 16.以下程序的输出结果是( )。 #includeiostr
35、eamh voidmain( ) charx=040; cout(x1); (分数:70.00)A.并运算B.交运算C.差运算 D.积运算解析: 此题考查了窗体的 KeyPress 事件过程;在默认情况下控件的键盘事件优先于窗体的键盘事件,在此题中只有窗体了。窗体的 KeyPress 事件的格式为: Private Sub Form _ KeyPress(KeyAscii As Integer) End Sub KeyAscii=13 为回车键,所以按下回车键就执行条件语句,输出结果为 12 1(竖排)。 17.类 A 是类 B 的友元,类 B 是类 C 的友元,则下列说法正确的是( )。(分
36、数:70.00)A.类 B 是类 A 的友元B.类 C 是类 A 的友元C.类 A 是类 C 的友元D.以上都不对 解析:选项 A)、选项 B)和选项 C)都不正确,因为友元关系是单项的,并且没有交换性、传递性。18.下列关于运算符重载不正确的是( )。(分数:70.00)A.throwsB.throw C.ThrowableD.Exception解析:字符型数据在计算机内部是以 ASCII 码存储的,英文大写字母和小写字母在 ASCII 码表中都是连续的。大写字母 AZ 是从 6590,小写字母 az 是从 97122。所以只要变量 c 大于等于 a 并且等于小于 2 就能保证其为小写字母。
37、19.下面程序的执行结果是( )。 #include“ iostreamh“ void main( ) int * p,r; p=new in; * p=20; r=sizeof(* p); cout r end1; delete p; (分数:70.00)A.程序错误B.内存为 20 地址的大小C.20D.4 解析:本题考查指针和运算符 sizeof 的运用。理解 sizeof 的用法,它可以运算出各种数据类型所占内存空间的多少。注意:选项 C)中是指针 p 所指向的内存地址中内容是 20。20.下列程序的运行结果是( )。 #includeiostreamh void fun(int *a
38、,iht *B) int *k; k=a;a=b;b=k; void main( ) inta=3,b=6,*x=&a,*y=&b; fun(x,y); cout a “ “ b; (分数:70.00)A.6 3B.3 6 C.编译出错D.0解析:函数的参数不仅可以是整型、实型、字符型等数据,还可以是指针类型。它的作用是将一个变量的地址传送到另一个函数中去。在本题解析中,我们试图将这一问题解释清楚! 大家可以考虑一下利用下面这函数可不可以实现 a 和 b 的互换。 swap(int x,int y) int t; t=x; x=y; y=t 如果在 main 函数中用 swap(a,B) ,会
39、有什么结果呢?在函数调用开始时,a 的值传送给 x,b 的值传递给 y。执行完 swap( )函数后,x 和 y 的值是互换了,但 main( )函数中的 a 和 b 并未互换。也就是说由于“单向传递”的“值传递”方式,形参值的改变无法传递给实参。 为了使在函数中改变了的变量值能被 main( )函数所用,不能采取上述办法,而应该用指针变量做函数参数。在函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主调函数中使用这些改变了的值的目的。 swap(int *p1,int *P2) int p; p= *p1; *p
40、1=*P2; *P2=p; 注意交换。p1 和:p2 的值是如何实现的,如果写成下面这样就有问题了! swap(int *P1,int *p2) int *p; *P=*p1;/ *此语句有问题:*/ *p1=*p2; *p2=*p; * P1 就是 a,是整型变量。而*p 是指针变量 P 所指向的变量,但 P 中并无确切地址,用*p 可能会造成破坏系统的正常工作状态。应该将* p1 的值赋给一个整型变量,用整型变量作为过渡变量实现*P1 和*p2 的交换。 21.下列程序的运行结果为( )。 #includeiostreamh void main( ) int a=2; int b=a+1;
41、 cout a/b endl; (分数:70.00)A.实体完整性B.域完整性 C.参照完整性D.以上各项都需要定义解析:随机文件流提供了访问文件中任意一段位置。如果是一个比较大的文件,我们采用略去前面不必要的内容,直接去读取需要的内容,随机文件流提供了这样的方法,这样会有很多的时间和资源。所以我们用 Random Stream 来访问这个文件。在 Random Stream 中有一个方法 public int skipBytes(int n)throws IOException,随机文件访问跳过指定的字节。这个方法比较有用,在本题的情况下,用它比较快捷的读取必要的内容。 22.下面程序的功能
42、是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的是( )。 #includeiostream.h voidmain( ) inti=0,j,k; doi+;k=316-13*i;while(_); j=k/11; cout“316=13*“i“+11*“j; (分数:70.00)A.k/1lB.k%11 C.k/11=0D.k%11=0解析:do-while 语句的一般形式是: do 语句 while(表达式); 特点是:“直到型”循环结构。先执行一次“语句”,判“表达式”,当“表达式”为非 0,再执行“语句”,直到“表达式”的值为 0 时停止执行语
43、句。在一般情况下,用 while 和 do-while 语句解决同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但当 while 后面的“表达式”一开始就为“假”时,两种循环的结果不同。这是因为此时 while 循环的循环不被执行,而 do-while 循环的循环体被执行一次。本题的关键是两个加数分别能被 13 和 11 整除,在 i=0 时,直接将 316 赋值给 k,当 k%11 的值为 0 时,则不必执行循环,将执行j=k/11 语句,输出结果,所以该表达式合理的条件是 k5%11。 23.以下函数调用语句中含有参数的个数是( )。 excc(v1,v2),(v2,v3,v4)
44、,v6); (分数:70.00)A.operator+(operator*(x,y),z) B.xoperator+(operator*(x,y),z)C.yoperator*(operator+(x,y),z)D.xoperator+(operator*(x,y)解析:C+中用成员函数重载+x 为:xoperator+( ),用友元函数重载+x 为:operator+(x),用成员函数重载 x/y 为:xoperator/(y),用友元函数重载 x/y 为:operator/(x,y)。24.面向对象程序设计思想的主要特征中不包括( )。(分数:70.00)A.继承性B.功能分解,逐步求精
45、C.封装性和信息隐藏D.多态性解析:面向对象程序设计的主要特征是继承性,封装性和信息隐藏,多态性。25.对于重载的运算符 ,它是一个( )。(分数:70.00)A.RELEASE MEMORYB.RELEASE ALL LIKEA* C.RELEASE MEMORY LIKE A*D.CLEAR MEMORY LIKE A*解析:嵌套查询命令中,IN 相当于集合运算符,选项 A),C),D)只是用来迷惑考生。26.下列有关数据库的描述,正确的是( )。(分数:-1.00)A.数据库是一个 DBF 文件B.数据库是一个关系C.数据库是一个结构化的数据集合 D.数据库是一组文件解析:数据库(Database,简称 DB)是数据的集合,它具有统一的结构形式并存放 统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共