《面向对象程序设计》第10章在线测试
C#程序设计第十章课后习题答案

单选:(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)事件。
西安石油大学大二(上)C++面向对象程序设计课件各章习题

习题1基本概念题:9.1 填空题:(1)一个完整的可运行程序中必须有一个名为________的函数。
(2)一条表达式语句必须以________作为结束符。
(3)一个函数定义由________和________两部分组成。
(4)若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的________语句。
(5)C++头文件和源程序文件的扩展名分别为________和________。
(6)程序文件的编译错误分为________和_________两类。
(7)当使用________保留字作为函数类型时,该函数不返回任何值。
(8)当函数参数表用_________保留字表示时,则表示该参数表为空。
(9)从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为________,该函数带有________个参数。
(10)在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。
(11)重载一个函数的条件是:该函数必须在参数的个数或参数的__________上与其它同名函数有所不同。
(12)如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的________部分。
(13)函数形参的作用域是该函数的____________。
(14)当定义一个结构体变量时,系统分配给该变量的内存大小等于各成员所需内存大小的_______。
9.2 选择题:(1)以下说法中正确的是()。
A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main函数开始执行C. C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中(2)以下叙述中不正确的是()。
A. 在一个函数中,可以有多条return语句B. 函数的定义不能嵌套,但函数的调用可以嵌套C. 函数必须有返回值D. 不同的函数中可以使用相同名字的变量(3)函数重载是指()。
c++面向对象程序设计—考试题及习题讲解(免费下载)

c++面向对象程序设计—考试题及习题讲解(免费下载)第一部分选择题(共20分)一、单项选择题(本大题共10小题,每小题2分,共20分)1.在C++中,函数原型不能标识( D )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能p108有叙述2.在C++程序中,对象之间的相互通信通过( B ) ?A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为( B )A.0B.1C.2D.3P288 析构函数不接受参数,也不返回数值。
类只可能有一个析构函数,不能进行析构函数的重载。
4.下面函数模板定义中不正确的是( A )A.templateB.templateQF(Q x){ QF(Q x){return Q+x; return x+x;} }C.templateD.templateTF(T x){ TF(T x){return x*x; return x>1;} }5.友元关系不能( c A )?A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系p316D.提高程序的运行效率6.语句ofstream f(〃SALARY.DAT〃,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( A )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是( B )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是( D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( A )A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针10.对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<<〃class B func 1〃<<end1;}< p="">virtual void func2( ){cout<<〃class B func 2〃<<end1;}< p="">};下面正确的叙述是( C )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数第二部分非选择题(共80分)二、填空题(本大题共10小题,每小题2分,共20分)11.定义类的动态对象数组时,系统只能够自动调用该类的拷贝构造函数对其进行初始化。
面向对象程序设计智慧树知到期末考试章节课后题库2024年山东建筑大学

面向对象程序设计智慧树知到期末考试答案章节题库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<>();下面的这行代码是正确的。
17秋北理工面向对象程序的设计在线作业

北理工《面向对象程序设计》在线作业试卷总分: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. 在横线处填入语句()后,下列语句序列能够正确执行。
《面向对象程序设计》在线测试

封面作者:PanHongliang仅供个人学习《面向对象程序设计》第04章在线测试剩余时间:59:57答题须知:1、本卷满分20分。
2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、若B类为A类的友元类,则下面的说法正确的是()A、B类的所有成员函数都是A类的友元函数B、B类指定的成员函数才是A类的友元C、A类的所有成员函数可以访问B类的成员D、B类的私有成员函数不能可以访问A类的私有成员2、一个类的友元不是该类的成员,与该类的关系密切,所以它()。
A、有this指针,有默认操作的对象B、没有this指针,可以有默认操作的对象C、有this指针,不能执行默认操作D、没有this指针,也就没有默认操作的对象3、下面的语句中能将类 B 定义为类A的友元类的是()A、friend class B。
B、class A{ friend B}。
C、class A{ friend class B。
}。
D、class friend B class A。
4、如果类 B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是()A、main(){ f(a)。
}B、main(){ b.f。
}。
C、main(){ a.n。
}。
D、main(){ b.f(a)。
}。
5、下面对于友元函数描述正确的是A、友元函数的实现必须在类的内部定义B、友元函数是类的成员函数C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员第二题、多项选择题(每题2分,5道题共10分)1、一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是()。
A、有this指针,有默认操作的对象B、没有this指针,可以有默认操作的对象C、有this指针,不能执行默认操作D、没有this指针,也就没有默认操作的对象2、下面关于友元的说法正确的是()A、友元函数是拥有成员函数一切权利B、友元是一种成员函数C、友元可以直接访问类的所有成员D、友元不能访问类的私有成员3、下面关于友元函数正确的说法是()A、在类中用关键词friend声明友元函数B、友元函数说明的位置只能在类的public区C、友元函数的定义只能放在类的外部D、友元函数不是类的成员函数4、关于友元函数的说法正确的是()A、友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数B、友元函数可以访问多个类的私有成员和保护成员C、在调用友元函数的时候需要使用“.”运算符D、如果友元函数是某个类的成员函数,在定义这个友元函数的时候要使用类前缀。
面向对象C++程序设计——各章习题答案

面向对象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语句,用来实现三路分支。
郑州大学《面向对象程序设计》1-12章在线测试题库

《面向对象程序设计》第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.7.9.11.12章在线测试

3、集合(set)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
4、多重集(multiset)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
5、映射(map)属于( )
A、顺序容器 B、关联容器 C、前向容器
D、双向容器
答案:AABBB
第二题、多项选择题(每题2分,5道题共10分)
第三题、判断题(每题1分,5道题共5分)
1、C++语言中,既允许单继承,又允许多继承。
正确
2、派生类的继承方式有两种,公有继承和私有继承。
错误
3、在公有继承中,基类中只有公有成员对派生类是可见的。
错误
4、析构函数不能被继承。
正确
5、多继承情况下,派生类的构造函数的执行顺序取决于定义派生时所指定的各基类的顺序。
D、多态是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果
第三题、判断题(每题1分,5道题共5分)
1、面向对象开发技术分三个阶段:面向对象分析,面向对象设计和面向对象实现。
C、提取运算符读取键盘输入的所有字符,包括空格 D、一个语句中可以使用多个提取运算符
第三题、判断题(每题1分,5道题共5分)
1、文件是指存储在存储器的数据的集合。计算机中的程序、数据、文档通常以文件方式存放。
正确
2、trunc与out参数的作用是相同的。
正确
3、cout通常与显示器相连,cin通常与键盘相连
2、在公有继承的情况下,基类成员在派生类中的访问权限( )
A、受限制 B、保持不变 C、受保护
D、不受保护
3、可以用 p.a 的形式访问派生类对象 p 的基类成员 a ,其中 a 是 ( )
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]])语句后的输出结果是()。
面向对象程序设计》期末试卷及标准答案

《面向对象程序设计C++》期末考试一试卷(A)班级:姓名:学号:分数:题号一二三四总分得分试卷说明:本套试题共四个大题,所有题目都答在答题纸上,写在其余地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每题2分,共40分)1、C++是(C )。
面向对象的程序设计语言面向过程的程序设计语言既支持面向对象的程序设计又支持面向过程的程序设计的混淆型语言非结构化的程序设计语言2、面向对象程序设计思想的主要特点中不包含( D )。
A.封装性B.多态性C.继承性D.功能分解,逐渐求精3、若定义:stringst r;当语句cin>>str;履行时,从键盘输入:MicrosoftVisualStudio6.0!所得的结果是str=(B)。
A.MicrosoftVisualStudio6.0!B.MicrosoftC.MicrosoftVisualD.MicrosoftVisualStudio6.04、考虑下边的函数原型申明:voidtestDefaulParam(inta,intb=7,charz='* ');下边函数调用中,不合法的是(C )。
A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');5、以下语句中,将函数intsum(intx,inty)正确重载的是( C )。
A.floatsum(intx,inty);B.intsum(inta,intb);C.floatsum(floatx,floaty);D.doublesum(inty,intx);6、以下表示引用的方法中,(A)是正确的。
已知:inta=1000;A.int&x=a; B.char&y; C.int&z=1000; D.float &t=&a;7、在一个函数中,要求经过函数来实现一种不太复杂的功能,而且要求加快履行速度,采纳(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++面向对象程序设计题库(含答案)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++语言中的每条基本语句以 ________作为结束符,每条复合语句以________ 作为结束符。
2022年智慧树Java面向对象程序设计1-11单元测试答案

第一章测试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++》期末考试

学堂在线《面向对象程序设计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章在线测试

《面向对象程序设计》第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、抛出异常的模块只是报告某个地方存在错误,这个报告可以帮助异常处理器解决这个错误。
《面向对象程序设计》C++综合练习(学生版 ) - 含答案

C++面向对象程序设计习题册姓名学号学院班级第三章类和对象考核题型:(1)填空题(2)选择题(3)简答题(4)程序阅读题(5)程序设计题(其中,基础知识题占70%左右,中等难度的题占20%左右,难题占10%左右)一、选择题1. 在一个类的定义中,包含有(C )成员的定义。
A. 数据B. 函数C. 数据和函数D. 数据或函数2. 在类作用域中能够通过直接使用该类的(D)成员名进行访问。
A. 私有B. 公用C. 保护D. 任何3. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。
A. x(a)B. x[a]C. x->aD. x.a4. 假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为(B )。
A. x.aB. x.a()C. x->aD. x->a()5. 假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为(C )。
A. px(a)B. px[a]C. px->aD. px.a6. 假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为(D)。
A. x.aB. x.a()C. x->GetValue()D. x.GetValue()7. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为(A)。
A. int AA::a()B. int AA:a()C. AA::a()D. AA::int a()8. 假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为(A )。
A. aB. AA::aC. a()D. AA::a()9. 若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( B )放在函数原型或函数头的前面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》第10章在线测试
A B
C D 、关于异常对象的说法正确的是(
A
B
对象
C、以引用方式传递异常对象时,抛出的是局部静态对象
D 对象
A块相当于一个以类型为单一参数的函数
B 以捕捉
C块中可以声明变量,该变量可以在块外使用
D 数值
A B
C D
、为保证程序中的全局变量不与开发商提供的全局变量重名,可以采取的措施是(
A B
C D
C、C++程序绝对不能出现错误
D、异常处理使C++程序在出现错误的情况下仍能继续运行
2、下面说法正确的是()
A、C++程序中可以存在多个名字空间
B、不同的名字空间中不能出现名字相同的变量
C、名字空间能避免名字冲突
D、C++程序中也可以不定义名字空间
3、关于异常处理的说法正确的是()
A、将异常的检测与处理分离
B、异常就是错误
C、异常由函数调用引起
D、在上层调用函数中使用try检测函数调用是否引发异常
4、下面与异常处理相关的关键字有()
A、Throw
B、throw
C、try
D、Try
5、下面的说法正确的是()
A、引发异常用关键字throw
B、在被调用函数中检测到异常条件用throw都可以引发异常
C、被调用函数只有在try块中用throw才可以引发异常
D、检测到的异常由catch捕获并处理
第三题、判断题(每题1分,5道题共5分)
1、抛出异常的模块并不负责异常的处理,该异常的处理可以程序中的任何位置。
正确错误、异常处理器根据抛出异常模块的报告来处理异常。
正确错误、异常信号传递方式有三种:传值方式、引用方式和指针方式。
正确错误表示函数将会抛出所有类型的异常
正确错误处理程序的出现次序无关紧要。
正确错误。