C# OOP 内部测试笔试题和答案
更新时间:2024-06-07 15:47:01 阅读量: 综合文库 文档下载
《深入.NET平台和C#编程》内部测试题-笔试试卷
一 选择题
1) 以下关于序列化和反序列化的描述错误的是( )。 a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和Deserialize()方法可以分别用来实现序列化和反序列
化过程
c) 如果一个类可序列化,则它的子类和包含的各成员对象也一定可序列化 d) 标识一个类可以序列化要使用[Serializable]
2) 在C#中,下列关于简单工厂设计模式的说法不正确的是( )。
a) 简单工厂产生的对象都是静态对象 b) 创建产品的方法返回类型都是父类
c) 使用该模式解决了代码中大量使用new 的问题 d) 简单工厂的缺点是对修改不封闭,新增加产品就需要修改工厂
3) 下列关于虚方法和抽象方法的描述中错误的是( )。 4)
a) b) c) d)
虚方法必须有方法体,可以被子类重写
抽象方法不允许有方法体,且必须被子类重写
抽象方法必须在抽象类中,而虚方法可以在所有类中
在子类中重写抽象方法或虚方法,都需要用override关键字
在UML类图中使用( )符号表示私有成员。 a) b) c) d)
+ - * #
5) 分析以下使用抽象类的C#代码,其最终的运行结果是( )。
public abstract class Class1 {
public void F() {
Console.Write(\ }
abstract public void ABS(); }
public class Class2 : Class1 {
public override void ABS()
6) 下列代码的运行结果是( )。
class Test {
public void F() {
Console.Write(\ } }
class B : Test {
new public void F() {
Console.Write(\ }
static void Main() {
Test objA = new B(); objA.F(); } } a) A b) B c) BA d) AB
7) 关于C#中的虚方法,以下说法正确的是( )。
{
Console.Write(\ }
public Class2() {
Console.Write(\ }
static void Main() {
Class2 objB = new Class2(); objB.ABS(); } }
a) 12 b) 21 c) 13 d) 23
a) 使用static修饰 b) 可以没有方法体 c) 可以被子类重写 d) 使用abstract修饰
8) 分析如下C#代码,如果输出结果是“Dog Eating......”,下划线需要填写的代码是( ) abstract class Animal {
public __________ void Eat(); }
class Dog:Animal {
public __________ void Eat() {
Console.WriteLine(\ }
static void Main(string[] args) {
Animal animal = new Dog(); animal.Eat(); } } a) abstract,不填 b) abstract,override c) virtual,不填 d) virtual,override
9) 在开发C#程序过程中,会大量地使用类和对象,其使用方法不包括( )。
a) b) c) d)
将类实例化为对象 将对象实例化为类
通过类访问非静态属性或方法 通过对象访问非静态属性或方法
10) 运行下面C#代码将会出现编译错误,出现错误的位置是( )。
class Teacher {
public Teacher(string name) {
this.Name = name; //1 }
private string name; public string Name
{
set { name = value; } //2 }
static void Main(string[] args) {
Teacher teacher = new Teacher(\ //3 Console.WriteLine(teacher.Name); //4 }
} a) 1 b) 2 c) 3 d) 4
11) 现有类“c1”,它所在的命名空间为“a.b”,则下列说法中错误的是( )。 a) 不同命名空间下仍可存在名称为c1的类 b) 不同命名空间下使用c1时,可以通过“using a.b”引入命名空间 c) 同一命名空间下的类,使用c1时不需要引入c1的命名空间 d) 不同命名空间下使用c1时,不可以直接通过“a.b.c1”的方式使用
12) 下面关于泛型集合Dictionary
13) 已知Company.xml文件节点代码如下:
现有如下C#代码片段:
XmlDocument myXml = new XmlDocument(); myXml.Load(\
XmlNode company = myXml.DocumentElement; foreach(XmlNode node in company.ChildNodes ) {
switch (node.Name)
{
case \一汽大众\
Console.WriteLine(\车名:{0}\ break;
case \价格\
Console.WriteLine(\价格为:{0}\ break; } }
则正确的输出结果为()。 a) 车名:一汽大众
价格为:10万 b) 车名:一汽大众
价格为:20万 c) 车名:一汽大众
车名为:日本丰田 d) 价格为:10万
价格为:20万
14) 已知Animal、Cat、Tiger三个类,其继承关系为Cat: Animal,Tiger: Animal,
已知Animal中成员color的访问修饰符为protected,Cat中成员height的访问修饰符为private,Tiger中成员weight的访问修饰符为public,则下面描述中错误的是( )。 a) Cat可以访问Animal中的成员color b) Cat可以访问Tiger中的成员weight c) Tiger可以访问Animal中的成员color d) Tiger可以访问Cat中的成员height
15) 在C#中,( )关键字用于子类的构造函数明确指明调用的父类的构造函数。 a) new b) this c) base d) is
16) C#中的多态不能通过( )实现。 a) 方法重载 b) 抽象类 c) 虚方法 d) 密封类
17) 分析如下C#代码片断,运行后输出的结果是( )。
ArrayList list = new ArrayList();
list.Add(\list.Add(\list.Add(\list.RemoveAt(1);
Console.WriteLine(list[1]);
a) Yahoo b) Sina c) Google
d) 代码出现运行错误
18) 在C#语言中,以下关于集合的说法错误的是()。 19)
a) b) c) d)
ArrayList只能通过索引来访问和删除值 Hashtable可以直接通过键名来获取值
使用List
分析如下C#程序,运行输出的结果是( )。 public struct Size {
public int x; public int y;
public Size(int x, int y) {
this.x = x; this.y = y; } }
class Test {
static void Main() {
Size size1 = new Size(8,10); Size size2 = size1; size1.y = 200;
Console.WriteLine(\ } } a) 200 | 200 b) 200 | 10 c) 10 | 10
d) 10 | 200
20) 假设要使用C#设计一个日志系统,要求程序运行时,检查 system.log 文件是否存在,如果已经存在则直接打开,如果不存在则创建一个,为了实现这个目的,应该以FileMode的( )方式创建文件流。 a) CreateNew b) Open c) OpenOrCreate d) Create
21) 下面关于单例模式说法错误的是()。
a) 在单例模式中,允许通过new 构造实例 b) 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例 c) 在C# 中,static 是实现单例模式的重要关键字 d) 单例模式可以确保所有对象都访问唯一的实例
22) 下面不是C#中类的访问修饰符的是()。 a) protected b) internal c) public d) internal protected
23) 在C#中,下面关于结构的说法中,正确的是()。
a) b) c) d)
24) 关于如下C#的代码,说法正确的是();
public class A {
string S1;
protected string S2; protected void M1() {} }
public class B : A {
protected string S3; }
结构和类都是引用类型 定义结构的变量必须用new
不能在定义结构时给结构的成员设置初始值 结构中的整型成员被自动初始化为1
a) b) c) d)
在A中可以访问S3 在B中可以访问S1 在B中可以访问S2 在M1( ) 中可以访问S3
25) 关于如下C#代码的说法中,正确的是()。
public class Test //⑴ {
private static int Max = 100; //⑵ public Test(int max) {
Max = max; //⑶ }
public int GetMax() {
return Max; //⑷ } }
a) b) c) d)
26) 在C#中,下面是方法的重载的是()。
a) public string Test(int x, int y){ ?}和public string Test(int a, int b){ ?} b) public string Test1(int x, int y){ ?}和public string Test2(int x, int y){ ?} c) public string Test(int x, int y){ ?}和public string Test(int a){ ?} d) public string Test(int x, int y){ ?}和public int Test(int x, int y){ ?}
27) 下面C#代码执行的结果是()。
public class A { } public class B : A {
static void Main() {
A a = new A(); B b = a as B; if (b == null)
Console.WriteLine(\
在⑴行中必须将Test类定义为静态类
在⑵中不能将静态成员Max定义为private的 在⑶中不能给静态成员Max赋值 在⑷中可以使用静态成员Max
else
Console.WriteLine(b is A); } }
a) null b) True c) False d) 出现异常
28) 如下C#代码的执行结果是()。
public class Test {
public int i = 1; public Test(int i) {
this.i += i; }
static void Main() {
Test t = new Test(2); Console.WriteLine(t.i); } }
a) b) c) d)
29)有如下C# 代码,则下面选项中说法正确的是()。
public class A { } public class B : A { } A a = new A(); B b = new B();
a) b) c) d)
表达式a is B的值为true 表达式b is A的值为true 表达式a as B的值为null 表达式b as A的值为null 1 2 3 4
30) a) b) c) d) 在C#中,下面类型中是引用类型的是()。 DialogResult枚举 System.Int64 string
StringBuilder
二 简答题:
1.请简述泛型集合List
2.面向对象的三大特性是什么?并简述每个原则的基本功能。
《深入.NET平台和C#编程》内部测试题-笔试试卷答案
答案
一、选择题 1、c 6、a 11、d 16、d 21、a 26、c
2、a 7、c 12、c 17、c 22、d 27、a 3、c 8、b 13、d 18、c 23、c 28、c 4、b 9、bc 14、d 19、b 24、c 29、bc 5、d 10、d 15、c 20、c 25、d 30、cd
二 简答题 1、要点:
? List
? ArrayList与List
? ArrayList与List
? ArrayList获取元素时需要类型转换,List
? 同一个ArrayList可以保存不同类型的元素,List
2、要点:
? 封装:保证对象自身数据的完整性、安全性;
? 继承:建立类之间的关系,实现代码复用,方便系统的扩展; ? 多态:相同的方法调用可实现不同的实现方式。
《深入.NET平台和C#编程》内部测试题-笔试试卷答案
答案
一、选择题 1、c 6、a 11、d 16、d 21、a 26、c
2、a 7、c 12、c 17、c 22、d 27、a 3、c 8、b 13、d 18、c 23、c 28、c 4、b 9、bc 14、d 19、b 24、c 29、bc 5、d 10、d 15、c 20、c 25、d 30、cd
二 简答题 1、要点:
? List
? ArrayList与List
? ArrayList与List
? ArrayList获取元素时需要类型转换,List
? 同一个ArrayList可以保存不同类型的元素,List
2、要点:
? 封装:保证对象自身数据的完整性、安全性;
? 继承:建立类之间的关系,实现代码复用,方便系统的扩展; ? 多态:相同的方法调用可实现不同的实现方式。
正在阅读:
C# OOP 内部测试笔试题和答案06-07
让数学课堂小结也精彩03-13
夹持装置中的增力机构09-03
2017广东车改最新消息02-15
关于中小企业吸引人才的调查报告03-10
辽代(契丹)音乐形成的背景和风格03-11
我的宠物作文450字06-24
岭南园林造园模式09-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C#
- 笔试
- 内部
- 答案
- 测试
- OOP