面向对象程序设计第10章在线测试
- 格式:doc
- 大小:149.00 KB
- 文档页数:3
单选:(1).NET中的大多数控件都派生于(C)类A. ClassB. FromC. ControlD. Object(2)在以下控件中,可用于输入数据的是(B)A. LabelB. TextBoxC. ButtonD. PictureBox(3)在以下控件中,可实现多项选择的是(A)A. CheckBoxB.RadioButtonboBoxD.NumericUpDown(4)不属于容器控件的是(C)A. GroupBoxB.PanelC.MenuStripD.TapControl(5)(B)控件组合了TextBox控件和ListBox控件的功能。
belboBoxC.ProgressBarD.PictureBox(6)让控件不可以使用的属性是以下哪一个?BA. AllowDropB.EnabledC.BoundsD.Visible(7)让控件不可显示的属性是以下哪一个?DA. AllowDropB.EnabledC.BoundsD.Visible(8)不能用于设置控件布局位置的属性是(C)A.LeftB.TopC.SizeD.Location(9)可用来设置文字颜色的属性是(B)A. BackColorB.ForeColorC.TextD.Parent(10)TextBox控件的(B)属性将输入的字符代替显示为指定的密码字符。
A. TextB.PasswordCharC.TextAlignD.Multiline(11)所有控件都一定具有的属性是(D)A.TextB.BackColorC.Items(12)当用户鼠标左键单击窗体或控件系统将触发(D)事件A. ActivatedB.LoadC.DoubleClickD.Click(13)用户修改了文本框中的内容时,系统将触发(A)事件。
A .xtChanged B.CheckedChanfed C.SelectedIndexChanged D.SizeChanged(14)在列表框或组合框中,当用户重新选择另一个选项时,系统将触发(C)事件。
面向对象程序设计智慧树知到期末考试答案章节题库2024年山东建筑大学1.以下泛型类的定义是正确的。
()public class Generic { private T t =new T(); public void setT(T t) { this.t = t; } public TgetT() { return t; }}答案:错2.以下代码是正确的。
()package test;import java.util.ArrayList;importjava.util.Date;import java.util.List;public class GenericTest1 { publicstatic void main(String[] args) { List list2 = newArrayList<>(); list2.add(new Date()); list2.add(newString("abc")); String str = list2.get(0); }}答案:错3.数组的元素个数是可以变化的。
()答案:错4.限制泛型上界时,如下代码是正确的。
()Generic<? extends List> f =null;f = new Generic();答案:错5.定义一个外部类时,不能使用private和protected来修饰()答案:对6.已知TestClass.java的定义如下:public class TestClass{ public static voidmain(String[] args){ int a; System.out.println("a="+a); }}以上代码是正确的()。
答案:错7.如下代码创建泛型类Generic的对象后,Generic gt5 = newGeneric<>();Genericgt4 = new Generic<>();下面的这行代码是正确的。
北理工《面向对象程序设计》在线作业试卷总分:100 测试时间:--单选题多选题判断题、单选题(共38 道试题,共76 分。
)1. 下列关于C++函数的描述中,正确的是()。
A. 每个函数至少要有一个参数B. 每个函数都必须返回一个值C. 函数在被调用之前必须先进行声明或定义D. 函数不能自己调用自己满分:2 分2. 下列关键字中不能用来声明类成员访问权限的是()。
A. publicB. staticC. protectedD. private满分:2 分3. 在下列的各类函数中,______不是类的成员函数。
A. 构造函数B. 析构函数C. 友元函数D. 拷贝构造函数满分:2 分4. 派生类对象对它的基类成员中()是可以访问的。
A. 公有继承的私有成员B. 公有继承的保护成员C. 公有继承的公有成员D. 私有继承的公有成员满分:2 分5. 定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。
A. int*p=newint[30]B. int*p=newint(30)C. int*p=new[30]int*p=new[30]D. *p=newint[30]满分:2 分6. 多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A. ④③①②B. ②④③①C. ②①③④D. ③④①②满分:2 分7. 若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。
A. Fun(5)B. Fun(5, 'b')C. Fun(5,8)D. Fun(2,4, 'b')满分:2 分8. 在横线处填入语句()后,下列语句序列能够正确执行。
实验一Java程序实例的建立一JBuilder软件的使用1J a v a程序的建立过程使用向导在D盘建立一个应用程序,工程名、文件名为自己的姓名。
步骤1 File\new Project步骤2 在弹出的对话框中输入工程名、路径;单击“浏览”按钮,选择目录,工程名为自己的姓名步骤3 新建一个类;类名为自己的姓名步骤4 编辑程序内容,完成类文件的创立。
程序如下:import java.io.*; // 引入包class HelloWorld{ // 定义类public static void main(String args[]) // main方法{System.out.println(“欢迎来到Java世界!”); // 输出数据}}2 程序的运行菜单项R u n\r u n c l a s s3程序的运行结果在消息窗口看运行结果,另外程序运行若出现错误,则系统在该窗口给出的提示信息。
4J B u i l d e中程序编辑的字体选择选择菜单项T o o l s\P r e f e r e n c e s,选择E d i t o r\d i s p l a y,稍等待后选择合适的字体。
5J B u i l d e r窗口的打开与关闭单击菜单项V i e w\P a n e s,打开或关闭某个窗口。
6小程序的建立过程步骤1 菜单项File\new步骤2 web\Apolet步骤3 完成工程向导提出的问题,即输入工程的路径及名字步骤4 完成小程序向导提出的问题,即输入小程序名字等步骤5 编辑小程序内容,完成小程序文件的创立。
/** HelloToJava.java* /import java.awt.Graphics;import java.applet.*;public class HelloToJava extends Applet {public String sHello;public void init() { sHello="欢迎来到Java世界!";}public void paint(Graphics g){ g.drawString(sHello, 50, 50);} }二练习题目:编写小程序,输出下面的图形。
面向对象C++程序设计各章习题参考答案第1章面向对象技术概论一.选择题1. A2. C3. D4. B5. C二.填空题1. 封装、继承、多态性2. 面向对象分析(OOA)、面向对象设计(OOD)、面向对象实现(OOI)、面向对象测试(OOT)和面向对象系统维护(OOSM)。
3. 实例实例4. 多态性5. 消息消息传递第2章 C++简单程序设计一.选择题:1. B2. B3. B4. C5. C6. D7. D8. C9. D 10. C11. A 12. A二.填空题:1.4;2;2;8;12. 103. 04. 87;79;115. (1)x值为6,表达式的值为6(2)x值为6,但表达式的值为5(3)x值为4,表达式的值为4(4)x值为5,表达式的值为5(5)x变为6,y的值为5(6)x变为4,y的值为4(7)x变为6,y的值为25(8)x的值为6,y的值为366. const7. c+i*sizeof (c[i])8. x<=3||x>=109. a<=b&&b!=510. 30 30三.程序分析题:1.s=552.a,b99,96,194100.2,94.8,1963.i,s=15,564.13 15 22 14 645.14 25四.编程题(参考答案):1. 假设数组中含8个元素,参考答案如下:#include<iostream.h>void main(){int c=0,i,a[8],k;cout<<"input a[i]:"<<endl;for(i=0;i<8;i++)cin>>a[i];cout<<"input k:"<<endl;cin>>k;for (i=0;i<8;i++)if (a[i]>=k) c++;cout<<c;cout<<endl;}2. 参考答案:#include<iostream.h>void main(){const int n=50,m=10;int i,j,k;int index[n]; //存放学号float s,score[n],sum; //存放成绩for(i=0;i<n;i++)cin>>index[i]>>score[i]; //从键盘输入数据sum+=score[i];cout.precision(2); //设置输出宽度cout<<endl<<"A verage score:"<<sum/n; //输出平均分数cout.width(28); //设置输出宽度cout<<endl<<"Student ID:"; //输出学号for(i=0;i<10;i++) //选取前m名分数最高的学生,输出其学号及成绩{s=score[i];k=i;for(j=i+1;j<n;j++)if(s<score[j]){s=score[j];k=j;}if(k>i){score[k]=score[i];score[i]=s;j=index[k];index[k]=index[i];index[i]=j;}cout.width(4); //输出序号,学号和分数cout<<endl<<i+1;cout.width(11);cout<<index[i];cout.width(12);cout.precision(2);cout<<score[i];}cout<<endl;}3.#include<iostream.h>void main(){double x,y;cout<<”Input x:”;cin>>x;if(x<3.0)y=(x-2)*x;elseif(x>=-3.0&&x<=3.0) y=x;else y=x-2;cout<<”x=”<<x<<”,”<<”y=”<<y<<endl;}执行该程序后,显示如下信息:(分别输入3.2,2,-5) Input x:3.2↙输出结果如下:x=3.2,y=1.2Input x:2↙输出结果如下:x=2,y=2Input x:-5↙输出结果如下:x=-5,y=35该程序中使用了if-else if-else语句,用来实现三路分支。
《面向对象程序设计》第02章在线测剩余时间:59:56试答题须知:1、本卷满分20分.2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、在关键字public后面定义的成员为类的()成员。
A、私有B、公用C、保护D、任何2、当一个类对象结束它的生存期的时侯,系统自动调用该类的( )。
A、无参构造函数B、带参构造函数C、拷贝构造函数D、析构函数3、类的构造函数被自动调用执行的情况是在定义该类的 ( )A、成员函数时B、数据成员时C、对象时D、友元函数时4、假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A、0B、1C、2D、35、假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;"语句时共调用该类析构函数的次数为( )。
A、0B、1C、nD、n+1第二题、多项选择题(每题2分,5道题共10分)1、下面有关类说法正确的是(A,B,D )A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是()。
A、通过封装,对象的全部属性和操作结合在一起,形成一个整体B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C、通过封装,每个对象都成为相对独立的实体D、通过封装,对象的属性都是不可见的3、定义析构函数时,错误的说法是()。
A、其名与类名完全相同B、返回类型是 void 类型C、无形参,也不可重载D、函数体中必须有 delete 语句4、假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的语句错误的是()。
实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。
2、掌握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求1、分析下列程序运行的结果。
程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对C功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。
一、填空题(每空1分,共14分)1、观看以下程序:class point{public:void show() {cout<<”point”<<endl;}};void main(){point p1;point *p;p=&p1;______p1.show()_________//通过对象p1访问show函数_______p.show()_______//通过指针p访问show函数}2、在C++类中可以包含___公共___、___保护_____和___私有__三种具有不同访问控制权的成员。
3、定义类时,在类头中将使用关键字__class _____来表示类定义的开始。
4、如果一个类中至少有一个纯虚函数,则该类称为_______抽象类_________。
5、C++类的组成包括数据成员和______成员函数________,友元__是___(是、不是)该类的成员函数。
6、友员函数是用关键字_____friend_______修饰的非成员函数。
7、若有:int i;int &j=i;i=10;j=i+1;则i=____11_____,j=___11______。
8、new的功能是_______分配内存空间______,delete的功能是______释放内存空间______________。
二、选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是(D)。
(A)数据封装(B)继承(C)多态性(D)模板2、( B )是给变量取一个别名,它引入了变量的同意词。
(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。
(A)share (B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是()。
(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的()。
面向对象程序设计课程自我测试您的本次作业分数为:98分单选题1.【第1章】面向对象(O-O)程序设计是一种新的程序设计范型。
这种范型的主要特征是()。
A 程序=对象+消息B 程序=函数+调用C 程序=算法+数据D 程序=过程+调用正确答案:A单选题2.【第1章】不是面向对象系统的特性是()。
A 封装性B 继承性C 保密性D 多态性正确答案:C单选题3.【第2章】关于delete运算符的下列描述中,()是错误的。
A 它必须用于new返回的指针B 使用它删除对象时要调用析构函数C 对一个指针可以使用多次该运算符D 指针名前只有一对方括号符号,不管所删除数组的维数正确答案:C单选题4.【第2章】在C程序中,如果有FILE *fp;则对于文件指针fp,下面说法正确的是()。
A fp是文件读写位置B 可以用一个fp同时对多个文件缓冲区操作C fp是用以描述文件缓冲区信息的结构的指针D 当对文件进行读写操作时,fp也跟着移动单选题5.【第2章】已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为()。
A 14B 15C 16D 17正确答案:D单选题6.【第2章】表示year为闰年的c语言表达式为()。
A (year%4==0&&year%100?!=0)&&(year%400==0)B (year%4==0&&year%100?!=0)||(year%400==0)C (year%4==0)&&(year%400==0)D (year%4==0)||(year%400==0)正确答案:B单选题7.【第2章】下列属于合法的C语言赋值语句的是()。
A a=b=58B i++C a=58,b=58D k=int(a+b)正确答案:A单选题8.【第2章】如果定义并初始化一个数组int s[10]={1,2,3,4,5,6,7,8,9,10};则执行printf("%d\n",a[a[1]*a[2]])语句后的输出结果是()。
电子系计控专业《面向对象的程序设计》期末试卷(B)答案一、选择题(每题2分,共40分)1、下列关于窗体的描述中,错误的是A。
A. 执行Unload Form1语句后,窗体Form1消失,但仍在内存中B. 窗体的Load事件在加载窗体时发生C. 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止D. 窗体的Height、Width属性用于设置窗体的高和宽2、窗体文件的扩展名是_D_。
A.frxB. basC. vbpD. frm3、双击窗体上的控件后,将显示的窗口是 C 。
A. 项目(工程)窗口B. 工具箱C. 代码窗口D.1属性窗口4、表示滚动条控件取值范围最大值的属性是__A__A. MaxB. LargeChangeC. ValueD. Max-Min5、若要设置文本框中文本所显示的颜色,使用的属性是_C__。
A. BackColorB. FillColorC. ForeColorD. BackStyle6、下列属性中, B 属性是列表框不具有的。
A. NameB. CaptionC. ColumnsD. Text7、设计动画时,通常用定时器控件的A属性来控制动画速度。
A. IntervalB. ValueC. MoveD. Enabled8、改变控件在窗体中的左右位置,应设置该控件的__B__。
A. TopB. LeftC.WidthD.Height9、可以同时删除字符串前导和尾部空格的函数是 C 。
A. LtrimB. RtrimC. TrimD. Mid10、列表框的_B_属性返回或设置列表框中各列表项的文本。
A. SelectedB. ListC. TextD. Caption11、以下选项中,不是VB标准控件的是_C_。
A. 单选框B. 复选框C. 对话框D. 定时器12、为了把焦点移到某个指定的控件,所使用的方法是 D 。
A. SetFocusB. VisibleC. RefreshD. GetFocus13、Byte类型的变量可存的最大整数是_A_。
面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。
2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。
3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。
4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。
5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。
6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。
B、对象是类的实例化。
C、类用于描述多个对象的共同特征,它是对象的模板。
D、类与对象没有什么实际关系。
正确答案:D答案解析:对象是通过类来创建的。
7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。
【精品】C++面向对象程序设计题库(含答案)C++面向对象程序设计试题集一、填空题(每空2分,共20分)1. 设a、b、c都是int型变量,则a=(b=4)+(c=2)后,a值为_ _,b值为。
2. 在派生类的成员中有公有成员、、、四类成员。
3. 类Sample的构造函数将形参data赋值给数据成员data。
请将类定义补充完整。
class Sample{public: Sample(int data=0);Private: int data;};Sample::Sample(int data){4. 面向对象程序设计的机制提供了重复利用程序资源的一种途径。
5. 继承发生在利用现有类派生新类时,其中现有类称为,或父类;派生的新类称为,或。
6. 若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为。
7. 已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i,1 的单元,其中1?i,n。
例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a 中元素为2,3,4,4。
请将语句补充完整:for(int i=0;i<n-1;i++) a[i]= 。
8. 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的,共同行为被描述为类中的。
9. 类Sample的构造函数将形参data赋值给数据成员data。
请将类定义补充完整。
class Sample{public:Sample(int data=0);Private:int data; };Sample::Sample(int data){}10. 实现运行时多态,要使用函数。
11. 设A为test类的对象且赋有初值,则语句test B(A); 表示。
12. 在MyClass 类的定义中,对赋值运算符=进行重载。
请将画线处缺失的部分补充完整。
MyClass::operator=(const MyClass rhs) {if(this=&rhs) return *this;value=rhs. value;return *this; }13. C++语言中的每条基本语句以 ________作为结束符,每条复合语句以________ 作为结束符。
第一章测试1下列选项中,可以正确配置classpath的命令是()【答案】set classpath =C:\\Program Files\\Java\\jdk1.7.0_15\\bin2在JDK安装目录下,用于存放可执行程序的文件夹是()【答案】bin3下面关于Java程序的描述中,错误的是(【答案】不同操作系统上的Java虚拟机是相同的4下列选项中,哪些选项用于构成JDK开发环境()【答案】全选5下列关于使用Javac命令编译后生成文件的说法中,正确的是()【答案】编译后生成文件的后缀名为.class【答案】编译后生成的文件为二进制文件【答案】编译后生成的文件可以在Java虚拟机中运行6下列目录中,哪些属于JDK安装后的子目录()【答案】lib目录【答案】jre目录【答案】include目录7ib是library的缩写,用于存放Java类库或库文件。
( )【答案】对8如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。
( )【答案】对9在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。
( )【答案】对10Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中来实现的。
( )【答案】对第二章测试1下列关于注释作用的描述中,错误的是()【答案】会参与编译2下面关于整数类型的描述中,错误的是()【答案】bit是java中的整数类型,它代表的是1个字节。
3下列选项中,按照箭头方向,需要进行强制类型转换的是()【答案】char←byte4下列关于多行注释的应用,正确的是()【答案】程序中可以不写多行注释【答案】写多行注释是一个良好的习惯【答案】多行注释有利于代码的阅读性5下列关于冒泡排序的描述,正确的是()【答案】冒泡排序中会涉及到元素位置的置换【答案】冒泡排序比较的总轮次是"数组长度-1"轮【答案】冒泡排序是不断地比较数组中相邻的两个元素6当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环。
学堂在线《面向对象程序设计C++》期末考试1.多选题 (2分)本题得分: 2分正确答案: A,B,C,D (少选不得分)2.单选题(1分)读下面的代码,代码运行得到的结果是A.1,1,1,1,1,1B.1,2,3,2,1,0C.1,2,3,4,5,6D.1,2,3,5,4,3本题得分:1分正确答案:D3.单选题(1分)设Derived类的基类是Base类,同时还包含了Component类的对象作为数据成员,在Derived类对象的构建过程中,三个不同类的构造函数的调用次序是A. Component类,Base类,Derived类B. Derived类,Component类,Base类C. Base类,Component类,Derived类D. Base类,Derived类,Component类本题得分:1分正确答案:C4.多选题(2分)什么情况下,编译器会生成对拷贝构造函数的调用?A.用一个已构造的对象创建新对象时B.返回非引用类型的对象时C.在已定义的对象之间赋值时D.函数传递非引用类型(值参)时本题得分:2分正确答案:A,B,D (少选不得分)5.单选题(1分)声明C++类的源程序一般放到___中,定义类成员函数的源程序通常放在____中A..h头文件,.cpp源文件B..cpp源文件,.cpp源文件C..cpp源文件,.h头文件D..h头文件,.h头文件本题得分:1分正确答案:C6.多选题(2分)下列语句哪些没有编译错误本题得分:2分正确答案:A,B,C,D (少选不得分)7.单选题(1分)设student是一个类名,则下列语句中,不可能正确的是A.student a;B.student d(“LiSi”);C.student b<3>;D.student c{3};本题得分:1分正确答案:C8.多选题(2分)下列有关重载函数的说法中不正确的是A.重载函数参数个数必须相同B.重载函数必须具有不同的返回值类型C.重载函数名可以不同D.重载函数必须有不同的形参列表本题得分:2分正确答案:A,B,C (少选不得分)9.多选题(2分)关于this指针的描述正确的是A.在拷贝构造函数的定义中必需使用,否则编译不通过B.可用于区分成员变量和成员函数的同名形式参数C.在类的析构函数定义中必需使用,否则编译不通过D.成员函数返回*this时,返回的是当前对象的值(或引用)本题得分:2分正确答案:B,D (少选不得分)10.单选题(1分)如下语句片段:ClassA a;ClassA b = a;ClassA c(b);c = a;按顺序分别调用A.构造函数,赋值运算符函数,拷贝构造函数,赋值运算符函数B.构造函数,拷贝构造函数,拷贝构造函数,赋值运算符函数C.构造函数,拷贝构造函数,赋值运算符函数,赋值运算符函数D.构造函数,赋值运算符函数,拷贝构造函数,拷贝构造函数本题得分:1分正确答案:B11.多选题(2分)关于析构函数,下面哪个说法是错误的A.一个类可以定义多个析构函数B.析构函数的函数名须由波浪号~加类名组成C.析构函数可以有参数D.代码中类可以没有析构函数本题得分:2分正确答案:A,C (少选不得分)12.多选题(2分)关于符号_AND_ 的说法,正确的是(说明:因为该运算符在网页上不能直接显示,所以用_AND_来替代)A.Test test; show(_AND_test);第二句表示传入的参数为Test*B.函数声明为void print(Stu _AND_s),则调用print时会先调用Stu的拷贝构造函数C.AND_AND_既可以用来表示逻辑与运算,也可以表示右值引用D.int a =2, b=10; cout<<(b AND a)<<endl;输出结果为2本题得分:2分正确答案:A,C,D (少选不得分)13.单选题(1分)关于构造函数,下面哪个说法是错误的A.构造函数必须要与类名完全相同B.一个类可以有多个构造函数C.基类的构造函数不能被继承D.代码中类可以没有构造函数本题得分:1分正确答案:C14.单选题(1分)Tree a; Tree b; b=a; 其中,关于b=a会如何执行,说法正确的是A.b对a进行引用B.调用赋值运算符函数C.调用Tree类的默认构造函数D.调用Tree类的拷贝构造函数本题得分:1分正确答案:B15.多选题(2分)必须使用初始化成员列表的有A.初始化常量成员变量B.初始化左值引用成员变量C.调用基类带参数的构造函数D.初始化指针成员变量本题得分:2分正确答案:A,B,C (少选不得分)16.多选题(2分)TypeA, TypeB是用户自定义的类的名字,如果下面的代码能编译通过TypeA* ptr1 = new TypeA(30); TypeB* ptr2 = new TypeB[30]; TypeB* ptr3 = new TypeB{30}; 则,下列说法正确的是A.上述语句会导致类TypeA的构造函数被调用30次B.上述语句会导致类TypeB的构造函数被调用了31次C.类TypeA必须至少定义一个构造函数D.类TypeB可以完全不定义任何构造函数本题得分:2分正确答案:B,C (少选不得分)17.单选题(1分)给出下面一段代码,哪些编号对应的语句有编译错误A. 1B. 2C. 3D. 4本题得分:1分正确答案:C18.多选题(2分)下列哪些函数是属于类的成员函数A.友元函数B.构造函数C.析构函数D.拷贝构造函数。
《面向对象程序设计》第10章在线测试剩余时间:59:51答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、throw后面的表达式不可以是()A、常量B、变量C、对象D、数组2、关于异常的说法,正确的是()A、异常就是错误B、有了异常处理机制,出现错误也没有关系C、异常在C++中以消息的形式传递D、程序中出现的错误都可以用catch块来捕捉处理3、关于catch(。
)的说法错误的是()A、catch(。
)可以捕捉所有类型的异常B、catch(。
)必须放在所有catch块的后面C、catch(。
)可以避免出现没有被捕捉的异常D、catch(。
)不能单独使用4、C++中异常处理的默认模式是()A、终止模式B、恢复模式C、挂起模式D、暂停模式5、关于重新抛出错误的说法是()A、重新抛出是指抛出原来的异常B、用throw语句再次抛出原来的异常C、只能在catch块中抛出D、重新抛出时不能改变异常信号的值第二题、多项选择题(每题2分,5道题共10分)1、关于异常处理的说法正确的是()A、将异常的检测与处理分离B、异常就是错误C、异常由函数调用引起D、在上层调用函数中使用try检测函数调用是否引发异常2、try子句的作用是()A、代码的保护段B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后C、try子句产生异常D、try子句中的throw表达式产生异常3、catch子句的说法正确的是()A、catch子句后的复合语句是异常处理程序B、catch子句捕获throw表达式抛出的异常C、catch子句的异常类型说明只能是类型,不能是数值D、catch子句的异常类型不能是自定义类4、异常处理的执行过程是()A、程序执行try语句块内的保护段,如果发现异常则退出B、如果在try语句内的程序段抛出异常,程序控制转入try块后的catch块C、throw抛出的异常对象如果与catch子句异常类型的值一致,则执行对应的异常处理程序D、如果没有匹配的catch子句,自动调用terminate终止程序5、关于catch(…)语句的说法正确的是()A、catch(…)语句可以捕获任何异常B、catch(…)语句可以放在catch子句的任何位置C、catch(…)语句必须放在catch子句的最后D、catch(…)语句捕获空的异常第三题、判断题(每题1分,5道题共5分)1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.正确错误2、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。
一、单选题 (共50题,每题1分,共50分)1、Bridge(桥接)模式的意图是(C)。
A.将一个无法控制的现有对象与一个特定借口相匹配B.希望简化现有系统的使用方法。
你需要定义自己的借口C.将一组实现部分从另一组使用它们的对象中分离出来D.你需要为特定的客户(或情况)提供特定系列的对象2、在根据不同的机器选择设备驱动程序的案例中,以下叙述不准确的是(D)。
A.可以使用switch语句选择驱动程序B.可以使用继承来实现选择驱动程序,但它可能会产生类组合爆炸问题C.可以选择抽象工厂模式实现,且能避免组合爆炸问题D.使用继承的解决方案要比switch语句有更多的优势3、关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成4、到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A.Simula67语言B.Smalltalk语言C.Java语言D.统一建模语言(UML)的标准5、外观模式的作用是(B)。
A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用C.保证一个类仅有一个实例,并提供一个访问他的全局访问点D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现6、在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)7、将一个类的接口转换成客户希望的另一个接口。
这句话是对下列哪种模式的描述(C)。
A.策略模式(Strategies)B.桥接模式(Bridge)C.适配器模式(Adapter)D.单例模式(Singleton)8、(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
《面向对象程序设计》第10章在线测试剩余时间:59:51
答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)
1、throw后面的表达式不可以是()
A、常量
B、变量
C、对象
D、数组
2、关于异常的说法,正确的是()
A、异常就是错误
B、有了异常处理机制,出现错误也没有关系
C、异常在C++中以消息的形式传递
D、程序中出现的错误都可以用catch块来捕捉处理
3、关于catch(。
)的说法错误的是()
A、catch(。
)可以捕捉所有类型的异常
B、catch(。
)必须放在所有catch块的后面
C、catch(。
)可以避免出现没有被捕捉的异常
D、catch(。
)不能单独使用
4、C++中异常处理的默认模式是()
A、终止模式
B、恢复模式
C、挂起模式
D、暂停模式
5、关于重新抛出错误的说法是()
A、重新抛出是指抛出原来的异常
B、用throw语句再次抛出原来的异常
C、只能在catch块中抛出
D、重新抛出时不能改变异常信号的值
第二题、多项选择题(每题2分,5道题共10分)
1、关于异常处理的说法正确的是()
A、将异常的检测与处理分离
B、异常就是错误
C、异常由函数调用引起
D、在上层调用函数中使用try检测函数调用是否引发异常
2、try子句的作用是()
A、代码的保护段
B、如果预料某段程序代码可能发生异常,就将该段代码放在try子句之后
C、try子句产生异常
D、try子句中的throw表达式产生异常
3、catch子句的说法正确的是()
A、catch子句后的复合语句是异常处理程序
B、catch子句捕获throw表达式抛出的异常
C、catch子句的异常类型说明只能是类型,不能是数值
D、catch子句的异常类型不能是自定义类
4、异常处理的执行过程是()
A、程序执行try语句块内的保护段,如果发现异常则退出
B、如果在try语句内的程序段抛出异常,程序控制转入try块后的catch块
C、throw抛出的异常对象如果与catch子句异常类型的值一致,则执行对应的异常处理程序
D、如果没有匹配的catch子句,自动调用terminate终止程序
5、关于catch(…)语句的说法正确的是()
A、catch(…)语句可以捕获任何异常
B、catch(…)语句可以放在catch子句的任何位置
C、catch(…)语句必须放在catch子句的最后
D、catch(…)语句捕获空的异常
第三题、判断题(每题1分,5道题共5分)
1、异常(Exception)是程序运行过程中,由于环境变化、用户操作失误以及其它方面的原因而产生的运行时不正常的情况.
正确错误
2、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。
正确错误
3、C++引入了关键字throw和catch,用于进行异常处理。
正确错误 4、throw( )表示函数不会抛出任何类型的异常
正确错误 5、在C++程序中如果不定义名字空间,就表示没有使用名字空间。
正确错误。