2011面向对象程序设计 -信管10B答案
2011春 浙大远程 面向对象程序设计 在线答案

B 派生类还可以再作为另一派生类的基类
C 从派生类到基类称为派生
D 从派生类到基类称为继承
正确答案:C
18.关于抽象类的下列描述中,错误的是
A 如果一个类至少有一个纯虚函数,那么该类为抽象类
B 抽象类只能用作其他类的基类,不能建立抽象类对象
C 抽象类可以用来定义指针
C 构造函数
D 友员函数
正确答案:C
14.不是构造函数的特征是
A 构造函数与类同名
B 构造函数必须说明返回类型
C 构造函数可以有形式参数
D 编译系统会自动调用构造函数
正确答案:B
15.是构造函数的特征是
A 构造函数不能与类同名
B 构造函数必须说明返回类型
A 必须有一个关键字,以示区别
B 每个对象必须有一个名字
C 有属性
D 有操作
正确答案:A
52.不是面向对象系统的特性是
A 封装性
B 继承性
C 保密性
D 多态性
正确答案:C
53.类的概念是
A 所有对象的集合
B 同一类记录的集合
C 同一类数据的集合
D 所有对象的集合
正确答案:A
7.打开磁盘文件的打开方式中,以写方式打开文件为
A ios::ate
B ios::out
C ios::in
D ios::app
正确答案:B
8.在面向对象的程序设计中,定义类时保留字是用
A type
B class
C private
C 构造函数可以有形式参数
D 程序中必须有调用构造函数的语句
C++模拟试卷(2011年)及答案

面向对象程序设计答案(模拟卷)一、单选题(共15题,每题2分,共30分) 1、 D 2、 A 3、 D 4、 B 5、 C二、填空题(共8题,15空,每空1分,共15分) 1、(1)int *p=new int[3] (2)delete[] p; 2、(3)改造基类成员 (4)添加新成员 3、(5)this (6)正在被成员函数操作的对象 4、(7)5 (8)c1、b2、b3、A2、A3 5、(9)事件 (10)消息6、(11)类的名字(12)基类的名字7、(13)对话框(菜单)8、(14)模式 (15)无模式三、综合题(共7题,共40分) 1、(5分) 0 2 4 6 2、(8分,每空2分) (1)int *maxaddr (2)a[idx] (3)i < size (4)array[max]3、(5分)保护继承方式使基类的public 成员在派生类中的访问属性变为protected ,所以派生类Rectangle 的对象r 不能直接访问基类的成员函数move()、getx()和gety()。
其改正方法有两种:1) 将Rectangle 的继承方式改为公有继承public ;2) 在Rectangle 类中重定义move(),getx()和gety()函数,覆盖基类的同名函数。
void move(int x_off,int y_off) { Point::move(x_off,y_off); } int getx() { return Point::getx();} int gety() { return Point::gety();} 4、(5分)3 4 5、(6分)6、D7、B 8、C 9、A 10、B11、D 12、B 13、C 14、D 15、AData cons.Base cons.Data cons.Derived cons.Derived des.Data des.Base des.Data des.Press any key to continue6、重载的运算符的实现如下:(5分)SmallInt &SmallInt::operator+=(const SmallInt &si){SmallInt tmp(val+si.val);val=tmp.val;return *this;}或SmallInt &SmallInt::operator+=(const SmallInt &si){val+=si.val;if(val>127)val-=256;if(val<-128)val=256;return *this;}7、(6分)在视图区(客户区)画一个边框为蓝色实线的矩形。
面向对象程序设计课后答案(完整版)

第二章2-4#include <iostream>using namespace std;Add(int a,int b);int main(){int x,y,sum;cout<<"please input x and y:";cin>>x>>y;sum = add(x,y);cout <<x<<"+"<<y<<"="<<sum<<endl;}Add(int a,int b){return a+b;}2-5(1)this is a C++ program.(2)x=50.6 y=10 z=Ax=216.34 y=10 z=Ax=216.34 y=2 z=Ax=216.34 y=2 z=E(3)x y z500 1000 0500 1500 1500500 200 15002-6#include <iostream>using namespace std;int main(){int *p,*init;int countp=0;int countn=0;p = new int[20];init = p;for(int i=0;i<20;i++){cin>>*p;p++;}p = p-20;for( i=0;i<20;i++){if(*p>0) countp++;if(*p<0) countn++;cout<<*p<<" ";p++;}cout<<"正数有:"<<countp<<endl; cout<<"负数有:"<<countn<<endl;p = init;delete[] p;return 0;}2-7不做要求#include <iostream>//#include <string>using namespace std;void checkagescore(string name,int age) {if (name == "exit") throw name;if(age<0||age>50)throw age;int main(){string name;int age;for(int i=0 ;i<5 ;i++ ){cin.ignore ();getline(cin,name );cin>>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<" age :"<<age<<endl;}return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B (7)B (8)C (9)C3-7(1)main()函数中p1.age = 30;语句是错误的。
面向对象程序设计习题及答案

面向对象程序设计一、选择填空1. 关于C + +与C语言的关系描述中,(D)是错误的。
(A)C语言是C + +的一个子集 (B) C语言与C++是兼容的(C) C++对C语言进行了一些改进(D) C++和C语言都是面向对象的2. 下面关于对象概念的描述中,(B)是错误的。
(A )对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3. 下面关于类概念的描述中,(D)是错误的。
(A )类是抽象数据类型的实现(B )类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4. 按照标识符的要求,(A )符号不能组成标识符。
(A )连接符 (B)下划线 (C)大小写字母 (D)数字字符5. 下列符号中,(C)不可作为分隔符。
(A), (B) : (C)? ( D);6. 在16位机中,int型字宽为(A)字节。
(A ) 2 ( B) 4 ( C) 6 (D) 87. 类型修饰符unsigned修饰(D)类型是错误的。
(A)char ( B) int (C) long int (D) float& 对于int *pa[5];的描述,(D)是正确的。
(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。
9. 下列关于指针的运算中,(D)是非法的。
(A)两个指针在一定条件下,可以进行相等或不等的运算。
(B)可以有一个空指针赋值给某个指针。
(C)一个指针可以加上一个整数。
(D)两个指针在一定条件下,可以相加。
10. 指针可以用来表示数组元素,下列表示中( A )是错误的。
已知:int a[3][7];(A)*(a+1)[5] ( B) *(*a+3) (C) *(*(a+1)) (D) *(&a[0][0]+2)11. 下列表示引用的方法中,(A )是正确的。
面向对象程序设计B

专业年级:_________________ 学号_______________ 姓名_____________(注意:所有答案必须都写到答题纸上)一、选择题(每题1分,共25分)1.关于类和对象的说法正确的是______。
A、面向对象程序设计方法通过数据抽象和行为抽象,封装形成了“类”B、类具有的行为由变量表示。
C、类的属性一般由函数表示,且定义为public的D、类是具体的,对象是抽象的2.下面赋值语句错误的是。
A、char name[3]="abc";B、char name[3]={'a','b','c'};C、string name=”abc”;D、string name(“abc”);3.关于字符常量的写法,错误的是______。
A、'/'B、"a"C、'\t'D、'\0'4.下面C++标识符命名正确的是:______。
A、classB、@mailC、1varD、_inline5.下面基本数据类型初始化表达式错误的是______。
A、int i(5);B、float f=3.56f;C、char c='ab'D、double f=3.56;6.关于友元,下列说法错误的是______。
A、友元关系可以传递B、友元关系是单向的C、友元关系是不能被继承的D、友元的声明使用关键字friend7.下列函数原型声明中错误的是______。
A、void Fun(int x=0,int y);B、void Fun(int x,int y);C、void Fun(int x,int y=0);D、void Fun(int x=0,int y=0);8.有以下类定义class Point{int _x,_y;public:Point(int x=0,int y=0){_x=x;_y=y;}void Print() const{cout<<'('<<_x<<','<<_y<<')'<<endl;}void Move(int xOff,int yOff){_x+=xOff;_y+=yOff;}};下列语句中会发生编译错误的是______。
Java语言程序设计(面向对象程序设计)

1、下列关于类的描述中,错误的是()。
A.可以将所有类成员的访问权限都设为私有权限B.类可认为是一种高级数据类型C.类包含数据成员和函数成员D.用类所定义出的变量称为对象正确答案:A2、下列关于重用代码的描述中,错误的是()。
A.函数是重用算法代码的语法形式B.类是一种数据类型,因此只能重用数据代码C.结构体类型是重用数据代码的语法形式D.类是同时重用算法代码和数据代码的语法形式正确答案:B3、关于程序开发过程中的程序员角色,下列哪种描述是错误的?A.一个程序员可以使用其他程序员提供的代码,即代码使用者B.一个程序员可以既是代码提供者,同时又是代码使用者C.一个程序员不能既是代码提供者,同时又是代码使用者D.一个程序员可以为其他程序员提供代码,即代码提供者正确答案:C4、关于程序设计方法,下列哪种描述是错误的?A.结构化程序设计分解出的函数是一种算法零件B.程序设计方法是研究如何对大型程序设计任务进行分解的方法C.结构化程序设计分解出的结构体类型是一种数据零件D.面向对象程序设计分解出的类是一种数据零件5、下列哪种思想不属于面向对象程序设计?A.继承B.模块化C.抽象D.封装正确答案:B6、下列关于类的描述中,错误的是()。
A.可以用流程图来描述类的设计B.类是描述客观事物的数据模型C.类的数据成员也被称作属性D.类的函数成员也被称作方法正确答案:A7、按照面向对象程序设计的观点,下列关于对象描述中错误的是()。
A.客观世界中的事物被称作客观对象B.类是描述客观对象的数据模型C.程序中用类定义出的对象被称作内存对象D.同一个类所定义出的两个内存对象可以有不同的成员正确答案:D8、关于面向对象程序设计方法,下列哪种描述是错误的?A.面向对象程序设计方法所设计出的类代码不能重用B.面向对象程序设计方法更便于代码分类管理C.面向对象程序设计方法中的类是客观事物抽象后的数据模型D.面向对象程序设计方法是当今程序设计的主流方法9、假设编写一个教务管理系统,通过分析可抽象出若干个类,其中不应当包括下列哪个类?A.宿舍类B.教师类C.课程类D.学生类正确答案:A10、如果将客观世界中的钟表抽象成一个钟表类,其中不应当包含下列哪个成员?A.设置时间B.显示时间C.功率D.时、分、秒正确答案:C11、下列关于字段成员的描述中,错误的是()。
Java面向对象程序设计_习题解答(耿祥义)

书后习题参考答案习题1 2习题2 3习题3 4习题4 10习题5 11习题6 14习题7 15习题9 16习题12 20习题13 25习题14 27习题15 28习题16 31习题17 39习题11.James Gosling2.(1)使用一个文本编辑器编写源文件。
(2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。
命令:javac –d . 文件名称.java(3)使用Java解释器(java.exe)运行Java程序。
命令:java 包名.类名3.Java的源文件是由若干个书写形式互相独立的类、接口、枚举等组成。
应用程序中可以没有public类,若有的话至多可以有一个public类。
4.新建JAVA_HOME系统环境变量,指向安装目录在系统环境变量path中增加内容:%JAVA_HOME%\bin;新建系统环境变量classpath并填入三项:.; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar5. B6. Java源文件的扩展名是.java。
Java字节码的扩展名是.class。
7. D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class和Xiti8.class(3)java Xiti8(4)执行java Speak的错误提示Exception in thread "main" ng.NoSuchMethodError: main执行java xiti8得到的错误提示Exception in thread "main" ng.NoClassDefFoundError: xiti8 (wrong name: Xiti8)执行java Xiti8.class得到的错误提示Exception in thread "main" ng.NoClassDefFoundError:Xiti8/class执行java Xiti8得到的输出结果I'm glad to meet you9.属于操作题,解答略。
面向对象程序设计教程-答案

面向对象程序设计教程-答案(共19页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--面向对象程序设计教程(C++语言描述)题解与课程设计指导第1章面向对象程序设计概论一、名词解释抽象封装消息【问题解答】面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。
面向对象方法中的封装就是把抽象出来的对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。
消息是面向对象程序设计用来描述对象之间通信的机制。
一个消息就是一个对象要求另一个对象实施某种操作的一个请求。
二、填空题(1)目前有面向过程的结构化程序设计方法和面向对象的程序设计方法两种重要的程序设计方法。
(2)结构化程序设计方法中的模块由顺序、选择和循环3种基本结构组成。
(3)在结构化程序设计方法中,程序可表示为程序=数据结构+算法;而面向对象的程序设计方法,程序可表示为程序=对象+消息。
(4)结构化程序设计方法中的基本模块是过程;而面向对象程序设计方法中的基本模块是类。
(5)面向对象程序设计方法具有抽象性、封装性、继承性和多态性等特点。
三、选择题(至少选一个,可以多选)(1)面向对象程序设计着重于( B )的设计。
A. 对象B. 类C. 算法D. 数据(2)面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制叫做( C )。
A. 抽象B. 继承C. 封装D. 多态(3)在面向对象程序设计中,类通过( D )与外界发生关系。
A. 对象B. 类C. 消息D. 接口(4)面向对象程序设计中,对象与对象之间的通信机制是( C )。
A. 对象B. 类C. 消息D. 接口(5)关于C++与C语言的关系的描述中,( D )是错误的。
A. C语言是C++的一个子集B. C语言与C++是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的【结果分析】C语言是面向过程的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8、在.NET的控件中,Panel、GroupBox、TabControl等分组控件,有时候也被称之为(A)。
A、容器控件B、组合控件C、排列控件D、基类控件
9、在.NET中,以下关于命名空间的描述,正确的是(D)。
A、命名空间不可以进行嵌套
B、任一个.cs文件中,只能存在一个命名空间
C、define double PI 3.1415926D、define double e=2.7
2、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(D)。
A、只读属性B、只写属性
C、读写属性D、不可读不可写的属性
3、在C#中,一个类(B)。
A、可以继承多个类B、可以实现多个接口
A、Try块必须跟catch块组合使用,不能单独使用
B、一个try块可以跟随多个catch块
C、使用throw语句既可引发系统异常,也可以引发由开发人员创建的自定义异常
D.在try … catch …..finally块中,即便开发人员编写强制逻辑代码,也不能跳出finally块的执行
13、在.NET中,一些数据类型为引用类型,当引用类型的值为(B)时,表明没有引用任何对象。
A、EmptyB、nullC、NothingD、0
14、在.NET的WinForms程序中,可以使用(C)对象来连接和访问数据库。
A、MDIB、JITC、D.System.ADO
15、在C#中,(C)访问修饰符修饰的变量只能由当前程序集访问。
A、publicB、protectedC、internalD、private
}
}
解答:
A/B
4、阅读以下的C#代码,请问代码运行结果是:(“/”表示换行)
class Class1 {
private string str = Class1.str;
private int i = 0;
static void StringConvert(string str) {
str =”string being converted.”;
}
static void StringConvert(Class1 c) {
c.str =”string being converted.”;
}
static void Add(int i) {
i++;
}
static void AddWithRef(ref int i) {
i++;
}
static voidMain() {
课程名称面向对象程序设计(B卷)成绩参考答案
班级姓名学号
一、选择题(共20分,每小题1分)
序号
1
2
3
4
5
6
7
8
9
10
11
12
答案
B
D
B
D
B
B
C
A
D
CD
A
BC
序号
13
14
15
16
17
18
19
20
21
22
23
24
答案
B
C
C
A
BD
A
D
A
A
C
A
D
1、在C#中,下列常量定义正确的是(B)。
A、Const double PI 3.1415926;B、Const double e=2.7
System.Console.WriteLine(msg);注意:如果有换行符请用“↙”表示。
12、使用创建一个程序,通过DataGrid控件浏览记录,实现添加、删除、保存、更新功能。设oleDBDataAdapter1数据适配器的SQL语句为“select * from tx1”,并生成数据集dataSet11。Form的构造函数种应填写代码如下,实现数据填充:
A、CommandType.StoredProcedureB、CommandType.TableDirect
C、CommandType.TextD、CommandType.Sql
21、在ComboBox控件的SelectedChangeConmited事件处理方法中,应使用ConboBox对象的()属性获取用户新选项的序号。
ArrayList arr=new ArrayList();
for(int i=0;i<num.Length;i++)
arr.Add(num[i]);
arr.Insert(1,4);
console.Write(arr[2]);
请问代码运行结果是:
3
3、阅读以下的C#代码,请问代码运行结果是:(“/”表示换行)
C、便用private修饰的命名空间,其内部的类也不允许访问
D、命名空间使得代码更加有条理、结构更清晰
10、以下关于C#中方法重载的说法正确的是(CD)。(选择二项)
A、如两个方法名字不同,而参数的数量不同,那么它们可以构成方法重载
B、如两个方法名字相同,而返回值的数据类型不同,那么它们可以构成方法重载
catch(Exception e)
{
Console.WriteLine("catch");
}
finally
{
Console.WriteLine("finally");
}
}
}
解答:
try/catch/finally
2、阅读以下的C#代码,请问代码运行结果是:(“/”表示换行)
int[]num =new int[]{1,3,5};
6、在C#语言中,下列关于属性的描述正确的是(B)。
A、属性系是以public关键字修饰的字段,以public关键字修饰的字段也可称为属性
B、属性是访问字段值的一种灵活机制,属性更好地实现了数据的封装和隐藏
C、要定义只读属性只需在属性名前加上readonly关键字
D、在C#的类中不能自定义属性
7、程序运行过程中发生的错误,叫作(C)。
A、ClosingB、ClosedC、LoadD、VisibleChanged
19、在中,SqlConnection 类所在的命名空间是(D)。
A、SystemB、System.Data
C、System.Data.OleDbD、System.Data.SqlClient
20、在ADO . NET中,为了执行一个存储过程,需要把Command对象的CommandType属性设置为(A)。
int i1 = 10;
int i2 = 20;
string str =“str”;
Class1 c= new Class1();
Add(i1);
C、public myclass();this(100){}
D、public myclass();base(100){}
二、填空题(共20分,1~8小题,每空1分;9~12小题,每题2分)
1、面向对象的语言具有继承性、封装型、多态性。
2、Visual Studio .NET环境中,各种编程语言编译器负责完成编译工作的第一步,即把源代码转换为MSIL代码。
A、将光标定位在GetEmployeeCount前一行,然后输入///
B、将光标定位在GetEmployeeCount前一行,然后输入<XML></XML>
C、将光标定位在GetEmployeeCount前一行,然后输入\\\
D、将光标定位在GetEmployeeCount前一行,然后输入//<?>
C、如两个方法名字相同,而参数的数据类型不同,那么它们可以构成方法重载
D、如两个方法名字相同,而参数的数量不同,那么它们可以构成方法重载
11、在C#语法中,在派生类中对基类的虚函数进行重写,要求在声明中使用(A)关键字。
A、overrideB、newC、staticD、virtual
12、下列关于C#的异常处理的说发法,错误的是(BC)。(选择二项)
A、可以向DataSet的表集合中添加新表
B、DataSet中的数据发生改变之后,它会自动更新数据库中对应的数据
C、DataSet 就好象是内存中的一个“临时数据库”
D、DataSet 中的数据是只读的并且是只进的
18、在WinForms中,为了防止用户无意关闭窗体,需要在(A)事件中编写代码,提示用户是否关闭窗体。
16、(A)方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。
A、ExecuteNonQueryB、ExecuteReader
C、ExecuteQueryD、ExecuteScalar
17、在中,下列关于DataSet类说法有误的是(BD)。(请选二项)
class A
{
public A( )
{
Console.WriteLine("A");
}
}
class B:A
{
public B()
{
Console.WriteLine("B");
}
}
class Program
{
public static voidMain()
{
B b = new B();
Console.ReadLine();
24、C#类myclass定义如下:
public class myclass
{
int count;
private myclass(int I){count=I;}
}
现在需要为该类添加一个公有的构造函数,则下列函数定义正确的有()