计09面向对象程序设计考试试卷(B卷)参考解答
《面向对象高级设计》期末考试试卷(B卷)及答案
《面向对象高级设计》期末考试试卷(B 卷) 适用专业:1. 按要求编写Java 应用程序。
(20分) (1)建立一个名叫Cat 的类: 属性:姓名、毛色、年龄 行为:显示姓名、喊叫 (2)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。
ChongZai ,该类中有3个重载的方法void print();其次, 再编写一个主类来测试ChongZai 类的功能。
(20分)3. 编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。
(30分)(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。
(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。
(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。
(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。
Vehicle,包含的属性有车轮个数wheels和车重weight。
小车类Car是Vehicle的子类,其中包含的属性有载人数loader。
卡车类Truck是Car类的子类,其中包含的属性有载重量payload。
每个类都有构造方法和输出相关数据的方法。
最后,写一个测试类来测试这些类的功能。
(30分)《面向对象高级设计》期末试卷答案(B)1///////////////catpublic class Cat {String name;String color;String age;public Cat(String name,String color,String age){ = name;this.color = color;this.age = age;}void SayName(){System.out.println(name);}void Call(){System.out.println(" 咪咪");}}//////////////TestCarpublic class TestCar {public static void main(String[] args) {Cat cat = new Cat("妮妮","灰色","2");System.out.println();System.out.println(cat.color);cat.SayName();cat.Call();}}2//////////////// ChongZaipublic class ChongZai {void print(){System.out.println("重载1");}void print(String a){System.out.println("重载方法2");}void print(String a,String b){System.out.println("重载方法3");}}////////////// TestChongZaipublic class TestChongZai {public static void main(String[] args) { ChongZai cz = new ChongZai();cz.print();cz.print("a");cz.print("a", "b");}}3////////// Monkeypublic class Monkey {public Monkey(String s){}public void speak(){System.out.println("咿咿呀呀......");}}//////////////Peoplepublic class People extends Monkey {public People(String s) {super(s);}public void speak() {System.out.println("小样的,不错嘛!会说话了!");}void think(){System.out.println("别说话!认真思考!");}}/////////////////Epublic class E {public static void main(String[] args) {Monkey monkey = new Monkey("a");monkey.speak();People people = new People("a");people.speak();people.think();}}4///////////Vehiclepublic class Vehicle {String wheels;String weight;public Vehicle(String wheels,String weight){this.weight = weight;this.wheels = wheels;}@Overridepublic String toString() {return wheels+weight;}}/////////Carpublic class Car extends Vehicle{String loader;public Car(String wheels, String weight,String loader) { super(wheels, weight);this.loader = loader;}public String toString() {return super.toString()+loader;}}//////////////Truckpublic class Truck extends Car{String payload;public Truck(String wheels, String weight, String loader,String payload) {super(wheels, weight, loader);this.payload = payload;}public String toString() {return super.toString()+payload;}。
[09_10(2)]09计机《面向对象程序设计C 》期末B卷(答案)
2009-2010学年第二学期 计算机系《面向对象程序设计C ++》期末考试试卷(B 卷)2、此试卷适用专业:计算机本科专业 一、 填空题:(20分,每空2分) 1.在说明引用时用const 修饰的引用为常引用,它所引用的对象不允许更改。
2.信息隐藏是指将对象的 数据和操作 隐藏起来的技术。
3.运行时多态性主要是通过 虚函数 来实现的。
4.类的对象成员的构造函数的调用次序取决于这些对象成员 在类中声明 的次序,与它们在初始化列表中出现的次序无关。
5.拷贝构造函数是一种特殊的构造函数,其形参是本类对象的引用;其作用是使用一个已经存在的对象去初始化另一个同类的对象。
6.在C++中,可以通过在运算符函数参数表中是否插入关键字int 来区分前缀和后缀这两种方式。
7.构造函数 是一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。
8.如果在一个类中说明了常数据成员,那么构造函数就只能通过成员初始化列表对该数据成员进行初始化, 任何其他函数都不能对该成员赋值。
9.联编是指将函数调用与相应函数体代码彼此关联的过程。
若此过程在程序开始运行前的编译时完成,则称之为 静态 联编。
10.一个非成员函数必须声明为一个类的 friend 才有可能存取该类的私有数据成员。
二、 判断题:(10分,每小题1分) 1.如果类中含有指针类型的数据,深拷贝就会产生错误。
(╳) 2. 类模板不是代表一个具体的、实际的类, 而是代表着一类类。
(√) 3. 常常用将类的下标运算符 [ ] 重载为友元函数。
(╳) 4. 类类型转换函数既没有参数, 也不显式给出返回类型。
(√)—————————————装——————————————订———————————————线————————————5. 动态联编在程序运行阶段完成的联编。
(√)6. 编译时多态性主要是通过函数重载和运算符重载实现的。
面向对象考试题目和答案
面向对象考试题目和答案一、单项选择题(每题2分,共20分)1. 面向对象程序设计中,对象的状态由()来表示。
A. 属性B. 方法C. 消息D. 类答案:A2. 在面向对象程序设计中,封装的目的是()。
A. 隐藏对象的属性B. 隐藏对象的方法C. 隐藏对象的实现细节D. 隐藏对象的消息答案:C3. 面向对象程序设计中,继承的主要优点是()。
A. 重用代码B. 减少代码量C. 提高程序的可读性D. 所有以上选项答案:D4. 在面向对象程序设计中,多态性是指()。
A. 一个对象可以有多个类B. 一个类可以有多个对象C. 一个消息可以有多个行为D. 一个类可以有多个属性答案:C5. 在面向对象程序设计中,以下哪个不是类的组成部分()。
A. 属性B. 方法D. 函数答案:D6. 在面向对象程序设计中,以下哪个概念不是面向对象的核心概念()。
A. 封装B. 继承C. 多态D. 过程答案:D7. 在面向对象程序设计中,以下哪个概念是面向对象的核心概念之一()。
A. 函数B. 过程C. 消息D. 抽象8. 在面向对象程序设计中,以下哪个不是类的成员()。
A. 属性B. 方法C. 函数D. 消息答案:C9. 在面向对象程序设计中,以下哪个不是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:D10. 在面向对象程序设计中,以下哪个不是类的访问修饰符()。
B. 保护C. 公共D. 静态答案:D二、多项选择题(每题3分,共15分)1. 面向对象程序设计中,以下哪些是类的属性()。
A. 私有属性B. 保护属性C. 公共属性D. 全局属性答案:ABC2. 面向对象程序设计中,以下哪些是类的成员()。
A. 属性C. 函数D. 消息答案:ABD3. 面向对象程序设计中,以下哪些是类的访问修饰符()。
A. 私有B. 保护C. 公共D. 静态答案:ABC4. 面向对象程序设计中,以下哪些是面向对象的核心概念()。
《面向对象程序设计C++》期末试卷及标准答案(B)(最新整理)
3、constructing A
constructing B
constructing C
destructing C
destructing B
destructing A 四、编程题(共27分) 1、(10分) Complex::Complex(){real=0;imag=0;} Complex::Complex(double r){real=r;} Complex::Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c1,Complex &c2) { Complex c;
第7页
须通过调用total函数计算)。 第8页
《面向对象程序设计 C++》期末考试试卷(B)标准答案
班级:
姓名:
学号:
分数:
题号
一
二
三
四
总分
得分
一、单项选择题(每小题 2 分,共 40 分)
1-5.D A C A D
6-10.D B C D C
11-15.D C B D B
16-20.A D C C C
下面函数调用中,不合法的是( )。
A.testDefaulParam(5);
B.testDefaulParam(5,8);
C.testDefaulParam(5,'#');
D.testDefaulParam(0,0,'*');
4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选
项中,不能作为依据的是( )。
11、可以在类外用p.a的形式访问派生类对象p的基类成员a,其中a是( )。
计09面向对象程序设计 考试试卷(B卷)参考解答
{ cout<<"Num="<<Num<<" Name="<<Name.c_str()<<" Age=" <<Age<<"
Sex="<<Sex<<endl;
}
int main()
{ doctor s1,s2(1002,"周博士",28,'0'),*p;
s1.display();
s2.display(); p = new doctor(1003,"马博士",29,'0');
doctor(int Num0=1001, string Name0="彭博士", int Age0=30,char Sex0='1')
{ Num = Num0; Name = Name0; Age = Age0; Sex = Sex0;
}
void display();
};
void doctor::display()
错误
2 3 4 5 6 7 8 9 10
的打
×
(每
小题
————————————————————————密封线——————————————————————
学号
姓名
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级
湖南工业大学考试试卷纸
三、填空题(每空 2 分, 共 10 分)
第 1 页 共4 页
(4) new Number(5)
void print(); };
(5) p->GetNum()
(完整word版)《面向对象程序设计C 》期末试卷及标准答案(B)
《面向对象程序设计C++》期末考试试卷(B)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第8页上)一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( D )是错误的。
A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的2、已知:int m=10; 下列表示引用的方法中,( A )是正确的。
A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是( C )。
A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是(A )。
A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的是( D )。
A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了( D )次构造函数。
A.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是(B )。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是( C )。
《面向对象程序设计C++》期末试卷(B)标准答案
《面向对象程序设计C++》期末考试试卷(B)标准答案班级:姓名:学号:分数:一、单项选择题(每小题2分,共40分)1-5.D A C A D6-10.D B C D C11-15.D C B D B16-20.A D C C C二、填空题(前16个空,每空1分,后2个空,每空2分,共20分)1.抽象、实例2.public 、private _ ___、protected 、private _ ___ 3.virtual ___ 4.friend void fun(A &a) _ 5.静态数据成员、静态成员函数6.结合性、优先级_ ___ 7.Template 、 class(或typename) 8.类、结构体___ 9.在创建对象时初始化对象的数据成员___ 10. A operator++(int)___三、阅读程序(共13分)1、a=89,b=56,c=122、12/31/200912/31/20091/1/20101/1/20103、constructing Aconstructing Bconstructing Cdestructing Cdestructing Bdestructing A四、编程题(共27分)1、(10分)Complex::Complex(){real=0;imag=0;}Complex::Complex(double r){real=r;}Complex::Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c1,Complex &c2){ Complex c;c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag;return c;}ostream& operator << (ostream& output,Complex& c){ output<<"("<<c.real<<"+"<<c.imag<<"i)"<<endl;return output;}istream& operator >> (istream& input,Complex& c){ cout<<"input real and imaginary part of complex number:";input>>c.real>>c.imag;return input;}2、(17分)class Circle:public Shape{public:Circle(double r){radius=r;}void set(){ cout<<"Please input the value of the circle:"<<endl;cin>>radius;}void show(){ cout<<"the radius of the circle="<<radius<<endl; }double area() {return 3.14159*radius*radius;} private:double radius;};class Square:public Shape{public:Square(double a){this->a=a;}void set(){ cout<<"Please input the value of a:"<<endl;cin>>a;}void show(){ cout<<"a="<<a<<endl; }double area(){return a*a;}private:double a;};int main(){Circle C(5.5);C.show();Square S(9.9);S.show();Shape *s[]={&C,&S};cout<<"total="<<total(s,2)<<endl;return 0;}。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案
一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.class x { .... } B.static class x implements y1,y2 { .... }C.public class x extends Applet { .... } D.class x extends y { .... }3.下列语句序列执行后,k 的值是Bint m=3, n=6, k=0;while( (m++) < (- - n) ) ++k;i++先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++ii先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,A.0 B.1 C.2 D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0] = 7; B.i = i + 2 C.i++ - --j; D.a(0) = 66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k 的值是Cint i=10, j=18, k=30;switch( j - i ) {case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A.31 B.3 C.2 D.337.设有定义float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是CA.x > y || x > z B.z > ( y + x ) C.x != y D.x < y & ! ( x < z )8.下列修饰符中,定义类头时能使用的修饰符是CA.private B.static C.abstract D.protected9.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是BA.x( int m){ ... } B.void x( int m){ ... }C.x( int m, int n){ ... } D.x( int h,int m,int n){ ... }10.下列对封装性的描述中,错误的是 DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型C.包是使用package语句创建的D.包有有名包和无名包两种12.下列关于Applet程序的描述中,错误的是 CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是CA.Dialog B.Frame C.List D.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是DA.hasNext()B.next()C.remove()D.nextElement()16.主线程属于(C )A.守护线程B.Thread线程C.用户线程D.Runnable线程二、填空题1.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。
面向对象程序设计复习题(附参考答案)
【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。
[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。
[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。
[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。
1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。
[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。
1 C++面向对象程序设计(甲)试卷B和参考答案
desktop.ChangeCpu("Ivy Bridge i7");notebook.ChangeCard("GTX550 Ti");notebook.ChangeCpu("Ivy Bridge i5");desktop.DisplayMe();notebook.DisplayMe();return 0;}第2题#include <iostream>using namespace std;class ControlItem {public: virtual void Click() = 0;void Fun() {cout << "ControlItem::Fun Called" << endl;}};class Menu :public ControlItem {public: void Click() { cout << "do something for Menu !\n"; } void Fun(){cout << "Special Fun For menu Called" << endl;}};class Button :public ControlItem {public: void Click() { cout << "do something for Button !\n"; } };void Select(ControlItem &item) {item.Click();item.Fun();}int main(){Menu someMenu;Button someButton;Select (someMenu);Select (someButton);return 0;}第3题#include <queue> #include <iostream>using namespace std;int main (){queue<int> Q1,Q2;for (int i= 0;i < 10;i ++)if (i % 2 == 0)Q1.push (i);elseQ2.push (i);while (!Q1.empty ()) {int x = Q1.front ();Q1.pop ();cout << x << '\t';}cout << endl;while (!Q2.empty ()) {int x = Q2.front ();Q2.pop ();cout << x << '\t';}cout << endl;return 0;}第4题#include <algorithm>#include <vector>#include <iostream>using namespace std;void DisplayVector (const vector<int> &V){ vector<int>::const_iterator it;for (it = V.begin (); it !=V.end (); it++) cout << *it << '\t';cout << endl;}int main (){。
《面向对象的程序设计》期末试卷(B)答案
电子系计控专业《面向对象的程序设计》期末试卷(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_。
面向对象程序设计-试卷[附参考答案]
《面向对象程序设计》试卷第一学期“本科”期末考试计算机专业面向对象程序设计试题一、单项选择题(每小题1分,共20分)1.由C++源程序文件编译而成的目标文件的默认扩展名为(C)。
A.cppB.exeC.objD.lik2.设x和y均为bool量,则x&&y为真的条件是(A)。
A. 它们均为真B.其中一个为真C. 它们均为假D. 其中一个为假3.在下面的二维数组定义中,正确的语句是(C)。
A.int a[5][];B.int a[][5];C.int a[][3]={{1,3,5},{2}};D.int a[][10];4.在文件包含命令中,被包含文件的扩展名(C)。
A.必须是 .h;B.不能是 .h;C.可以是 .h或 .cpp;D.必须是 .cpp;5.要使语句“p=new int[10][20]”正确,p应事先定义为(D)。
A.int *p;B.int **p;C.int *p[20];D.int (*p)[20];6.在关键字public后定义的成员为该类的(B)成员。
A.私有B. 公有C.保护D.任何7.假定AA为一个类,a为该类私有的数据成员,若要在该类的一个成员函数中访问它,则书写格式最好为(B)。
A.aB.AA::aC.a( )D. AA::a( )8.队列具有(A)的操作特性。
A.先进先出B.先进后出C.进出无序D.仅进不出9.假定AB为一个类,则执行“AB a,b(3),*p”语句时共调用该类构造函数的次数为(D)。
A. 5B. 4C. 3D. 210.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是(B)。
A. 作为友元函数重载的1元运算符B. 作为成员函数重载的1元运算符C. 作为友元函数重载的2元运算符D. 作为成员函数重载的2元运算符二、填空题(每空2分,共20分)1.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到下一行的开始位置。
《面向对象的程序设计》期末试卷(A)答案
电子系计控专业《面向对象的程序设计》期末试卷(A)答案一、选择题(每题1分,共20分)1、如果要改变窗体的标题,则需要设置的属性是 A 。
A. CaptionB. NameC. BackColorD. BorderStyle2、工程文件的扩展名是_C_。
A. frx B. bas C. vbp D.frm3、初始状态下,VB工具箱的控件称为_A_。
A. 标准控件(或内部控件)B. 外部控件C. ActiveX控件D. 可插入对象4、将命令按扭Command1设置为不可见,应修改命令按钮的 A 属性。
A. VisibleB. ValueC. CaptionD. Enable5、在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。
用于标识各个控件数组元素的参数是 B 。
A. TagB. IndexC. ListIndexD. Name6、要改变控件的高度,应修改控件的_D_属性。
A. Top B. Left C. Width D. Height7、只能用来显示字符信息的控件是 B 。
A. 文本框 B. 标签 C. 图片框 D. 图象框8、InputBox$(函数返回值的类型为 B 。
A. 数值B. 字符串C. 变体D. 数值或字符串(视输入的数据而定)9、确定复选框是否选中,可访问的属性是_A_。
A. Value B. CheckedC. SelectedD. Caption10、选中复选框时,Value的值为 B 。
A. 0 B.1 C. True D. False11、添加列表框中的项目,应该用列表框的 C 属性。
A. Selected B. Value C. List D. Text12、若要在同一窗体中安排两组单选按扭,可用_D_控件来分隔。
A. 列表框B. 组合框C. 图片框D. 框架13、用户可以通过设置菜单项的_C_属性的值为False来使该菜单项失效。
A. HideB. VisibleC. EnableD. Checked14、在程序运行期间,如果拖动滚动条上的滚动块,则触发的滚动事件是 C 。
面向对象程序设计试题及答案
面向对象程序设计试题及答案一、试题1. 请简要解释面向对象(Object-Oriented)程序设计的概念。
2. 列举面向对象程序设计中的四个基本特征,并分别进行简要描述。
3. 请说明封装(Encapsulation)在面向对象程序设计中的作用和优势。
4. 解释继承(Inheritance)在面向对象程序设计中的概念和用途。
5. 什么是多态(Polymorphism)?请解释多态的概念以及其在面向对象程序设计中的重要性。
6. 简要介绍抽象类(Abstract Class)和接口(Interface)的概念,并说明它们之间的区别。
7. 请解释类(Class)与对象(Object)之间的关系。
8. 在面向对象程序设计中,什么是构造函数(Constructor)?请说明构造函数的作用和使用方法。
9. 请示范一个使用面向对象程序设计的简单实例,并说明你所设计的类的结构和功能。
二、答案1. 面向对象程序设计是一种以对象为中心的编程方法,通过定义表示对象属性和行为的类来组织程序结构,以实现代码的重用性、灵活性和可维护性。
2. (1)封装:将数据和对数据的操作封装在一个类中,通过访问权限控制,保护数据的安全性和完整性。
(2)继承:通过建立类之间的继承关系,实现代码的重用,具有层次性和扩展性。
(3)多态:允许不同类的对象对同一消息作出不同的响应,实现代码的灵活性和扩展性。
(4)抽象:通过抽象类和接口的定义,隐藏对象的具体实现细节,提供统一的接口和规范。
3. 封装的作用是将数据和对数据的操作封装在一个类中,外部无法直接访问类的内部实现细节,只能通过类提供的接口访问和操作数据。
封装的优势包括:(1)提高代码的可维护性和可读性,减少代码的重复。
(2)保护数据的安全性和完整性,防止外部直接对数据进行非法操作。
(3)降低模块之间的耦合度,提高代码的灵活性。
4. 继承是面向对象程序设计中的一个重要概念,它通过建立类与类之间的继承关系,实现代码的重用和扩展。
(完整版)面向对象程序设计试卷及答案
考试试卷A(答案)面向对象程序设计注意事项:1。
请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。
不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。
满分100分,考试时间为120分钟。
一。
单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)12。
面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。
C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。
引用类型存储在( B )中。
(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。
在中,用来与数据源建立连接的对象是( A )。
(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int10。
在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。
面向对象程序设计基础期末考试试卷b卷
I 选择题(共10小题,每小题2分,共20分)(1)以下哪个符号(或组合)是作用域限定符()A)-> B). C):: D)[](2)以下程序对一维坐标点类Point进行运算符重载,输出结果是()#include <iostream>using namespace std;class Point {public:Point (int val) { x = val; }Point operator ++() { x++; return *this; }Point operator ++(int) { Point old = *this; ++(*this); return old; }Point operator +(Point a) { x += a.x; return *this; }int GetX() const { return x; }private:int x;};int main(){Point a(10);cout << (++a).GetX();cout << a++.GetX();}A)1111 B)1011 C)1112 D)1010(3)下面程序的输出结果是()#include <iostream>using namespace std;int countp=0;class Point{int X,Y;public:Point(int x=0,int y=0) { X=x; Y=y;}Point(Point &p){X=p.X;Y=p.Y;countp++;}friend Point myfun(Point p1 ,Point p2 ,const Point &p3);};Point myfun(Point p1,Point p2,const Point &p3){Point tmp(p1.X+p2.X+p3.X,p1.Y+p2.Y+p3.Y);return tmp;}void main(){Point pp0,pp1(1,2),pp2(1);myfun(pp0,pp1,pp2);std::cout<<countp<<endl;}A)0 B)4 C)3 D)6(4)在下列关于C++函数的叙述中,正确的是()A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己(5)对于类的常成员函数的描述正确的是()A)常成员函数不修改类的数据成员B)常成员函数可以对类的数据成员进行修改C)常成员函数只能由常对象调用D)常成员函数不能访问类的数据成员(6)下面程序的输出结果是()#include <iostream>using namespace std;int i = 0;int fun(int n){static int a = 2;a++;return a+n;}void main(){int k = 5;{int i = 2;k += fun(i);}k += fun(i);cout << k;}A)13 B)14 C)15 D)16(7)下面程序的输出结果是()#include <iostream>using namespace std;class A{public:A (int i) { x = i; }void dispa () { cout << x << “,”; }private :int x ;};class B : public A{public:B(int i) : A(i+10) { x = i; }void dispb() { dispa(); cout << x << endl; }private :int x ;};void main(){B b(2);b.dispb();}A)10,2 B)12,10 C)12,2 D)2,2(8)下列有关继承和派生的叙述中,正确的是( )A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现(9)下列字符串中,正确的C++标识符是()A)enum B)2b C)foo-9 D)_32(10)以下哪个关键字对应的属性破坏了程序的封装性()A)const B)friend C)public D)protectedII 基本语法结构(共30分)1 执行完下列语句后,a、b、c 3个变量的值各为多少?(3分)a = 30;c = ++a;b = a++;2 执行完下列语句后,n的值为多少?(3分)int n;for(n = 1; n < 100; n++);3 写出下列表达式的值:(3分)① 41/4.0② 23/4③ 102%44 写出下列表达式的值:(3分)① 12 < 3 && 7 < 9② !(5 < 6)③ !(13 > 14) || ( 16 < 9)5 若a = 2,b = 3,c = 4,下列各式的结果是什么?(4分)① a | (b – c)② a ^ b & -c③ a & b | c④ a | b & c6 若a = 1,下列各式的结果是什么?(4分)① !a|a② ~a|a③ a^a④ a>>27 写出下面程序运行的结果:(10分)#include <iostream>using namespace std;void myFunction();int x=2,y=3;int main(int argc, char* argv[]){cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;myFunction();cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;return 0;}void myFunction(){int y=10;cout<<"x="<<x++<<endl;cout<<"y="<<y++<<endl;}打印的结果:x=y=x=y=x=y=III上机编码试题,共5小题,每小题10分,共50分,请按要求答在给定的项目文件中提交。
《面向对象程序设计C++》期末试卷及标准答案(B)
《面向对象程序设计C++》期末试卷及标准答案(B) 《面向对象程序设计C++》期末考试试卷(B) 班级: 姓名: 学号: 分数:题号一二三四总分得分试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第8页上)一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( D )是错误的。
A(C语言是C++语言的一个子集 B(C语言与C++语言是兼容的C(C++语言对C语言进行了一些改进 D(C++语言和C语言都是面向对象的 2、已知:int m=10; 下列表示引用的方法中,( A )是正确的。
A(int &x=m; B(int &y=10; C(int &z; D(float &t=&m; 3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是(C )。
A(testDefaulParam(5); B(testDefaulParam(5,8);C(testDefaulParam(5,'#'); D(testDefaulParam(0,0,'*'); 4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( D )。
A(函数的返回值类型 B(参数的类型 C(函数名称 D(参数个数 5、下列有关C++类的说法中,不正确的是( A )。
A(类是一种用户自定义的数据类型B(只有类中的成员函数或类的友元函数才能存取类中的私有成员C(在类中,如果不做特别说明,所有成员的访问权限均为私有的D(在类中,如果不做特别说明,所有成员的访问权限均为公用的 6、已知X 类,则当程序执行到语句X array[3];时,调用了( D )次构造函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
public: int n; int TwoTimes (int n) //递归函数 TwoTimes (n)求 2n 。 { if (___(1)___) return 0; if (n==0) ___(2)___;
c=f(a,b,c);
cout<<"a="<<a<<" c="<<c<<endl;
2.程序 2(10 分) #include <iostream.h> class A { private:
static int n; int Num; public:
}
A(int x=0) { Num=x; n++; }
解答:(评分标准:每空 2 分,共 10 分,等价写法给满分)
(1) n<0
(2) return 1
姓名
学号
————————————————————————密封线——————————::print() { cout << "n=" << n << ", Num=" << Num<< endl; } int A::n = 0; void main() { A *p=new A(20);
return 0;
} int f(int x,int y,int z)
1. 程序 1
{
答:运行结果为:
else return ___(3)___;
int m;
a=8 c=22
}
m = x+y+z;
int GetNum() {
return(m); }
(评分标准:每对一个得 3 分)
return Num;
学号
姓名
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级
湖南工业大学考试试卷纸
三、填空题(每空 2 分,共 10 分)
四、阅读下面的程序,写出程序运行的结果。(共 26 分)
根据程序说明和程序中的注释,填充程序中不完整的部分。
1.程序 1(6 分)
类 Number 的成员函数 TwoTimes 是递归函数,功能是求 2n (假设 n<0 时返回值为 0)。 #include <iostream>
调用不同的重载函数是在编译时决定的。
9. 面向对象的编程方法还是要以面向过程的编程方法做基础,故学了面向过程的编程方法后,
对学习面向对象的编程方法很有帮助。(
)
10.在 VC6.0 开发环境中,对导入的位图资源进行编辑是有限制的。(
)
第 1 页 共4 页
————————————————————————密封线——————————————————————
没有撤销。(
)
5.构造函数和析构函数均不能被说明为虚函数。(
)
6.在 C 语言中,不使用命名空间,但在 C++程序中,一定要使用命名空间。(
)
7.ASCII 码文件和二进制文件都可在记事本中直接打开。(
)
8.类的友员函数是指可以访问本类私有成员的其它类的成员函数。(
)
3..函数重载的主要作用是什么?调用不同的重载函数是在编译时决定还是在运行 时决定? 答:(评分标准:前两个知识点各 4 分) 函数重载主要作用是:用同一个函数名可以去调用不同参数或功能的函数,即用同 一个函数实现不同的操作。
×√×√××××√√
1.在 c++语言中,只能使用 class 来定义一个类。(
)
2.采用 inline 定义内联函数时,在对于函数代码少、频繁调用的情况下特别有效。(
)
3.函数重载时,它们的参数个数和类型要求都不能相同。(
)
4.类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并
题分 10 24 10 26 10 20
统分人 签名
100
1.什么是面向对象的程序设计?它的几个特征是什么? 答:(评分标准:两个知识点各 4 分,后一个知识点每小点 1 分) 面向对象的程序设计:它的整个程序由一系列相互作用的对象构成,对象之间的交 互通过发送消息来实现,对象通过响应消息来实现程序的功能。 它有四个基本的特征,即抽象、封装、继承和多态性。
} Number(int n=0) {Num = n;} }; void main() { Number *p; p =___(4)___;//动态生成由 p 指向的 Number 对象,并使 Num 为 5。 cout<<p->TwoTimes(___(5)___);//输出 2Num delete p;
得分
姓名
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级
湖南工业大学考试试卷纸
考生注意事项:1、本试卷共 4 页,试卷如有缺页或破损,请立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。(答案请写在 密封线内和答卷正面,否则不记分)
2.类和结构有什么异同? 答:(评分标准:两个知识点各 4 分)
一、判断题,正确的在下列表格中打√,错误的打×(每小题 1 分, 结构是类的一种特例,在结构体中也可以定义成员函数、构造函数和析构函数,成
员也可使用 private、protected、public。结构和类的区别是:在缺省情况下,结
共 10 分)
构中的所有成员都是公有的,而在类中是私有的。
1 2 3 4 5 6 7 8 9 10
————————————————————————密封线——————————————————————
学号
课程名称: 面向对象程序设计 ( B 卷 闭卷)
二、简答题(每小题 8 分,共 24 分)
适用专业年级:计算机科学与技术 09 级 考试时间: 100 分钟
(参考解答)
题号 一 二 三 四 五 六 七 八 九 十 总分
~A( ) { n-- ; } static int GetNum(){ return n; }
(3) 2*TwoTimes(n-1)
(4) new Number(5)
void print(); };
(5) p->GetNum()
第 2 页 共4 页
湖南工业大学考试试卷纸
系(院) 计算机与通信学院 课程名称 面向对象程序设计 班级
#include <iostream>
using namespace std; int main()
using namespace std;
{
class Number
int a=7,b;
{
int &c=b;
private:
int f(int x,int y,int z);
int Num;
b=a++;