一、填空:
.Net review Page 1 of 5
、 封装
、 多态
。 英语:inherit
package
polymorphism
是软件重用的一种形式,在这个过程中新类吸收现有类的数据和行为并为这些类添加新功能。
给该类型。
new
继承
签名
和
Exit
checked
。
抽象
类。4
类可以显示消息对话框。
消息
问题
出错
可获得和释放对象上的锁。
在控制台窗口中显示信息。
在因特网上标记和发送信息。
和 Console.WriteLine()
是当一些动作发生时发出的信号,这些动作如:单击一个按钮、或者改变一个值。
操作符动态地给指定类型的对象分配内存,并返回一个 引用 reference
1.面向对象的语言具有 继承
2.Web 服务使用 XML 和 SOAP
3. 用 console 类的方法 Console.Write()
4. 用 MessageBox()
5.消息框图标的 4 种类型是: 警告
6. 事件
7.
8.
9.如果一个类包含一个或多个 abstract 方法,它是一个
10.使用关键字 sealed
声明的类不能被继承。
11.在整型运算中发生算数溢出时,为了强制发生异常,使用运算符
12.处理相同事件的方法必须具有相同的
13.如果 ComboBox 中的元素超过其显示范围,就会出现 滚动条
14.Monitor 类方法 Enter
15.导致一个激活的线程不处于 Started 状态的 4 个原因 等待 、 挂起 、 睡眠 、 等待输入输出请求
16.当一个线程睡眠指定毫秒数后要继续执行,必须调用 Thread 类的
17.BinaryFormatter 类的 Serialize 方法接受一个 Stream
18.在 C#中可以将数据库作为 DataSet
类图形化的将数据显示在 DataSet 中。
19.程序员可以用 DataGrid
private
20.类成员的几种访问形式: public
1.C#用 XML 在数据源之间传输数据。
2. 图形界面
3.当一组程序语句的循环次数预先不知道时, 哑元/信号 值可以用来结束循环。
4.C#中的程序模型称为 类
5. Random.Next
6.ImageList 用于在
7.异常处理程序可以处理
8.一个类与它的派生类之间存在
9. 层叠
10. FileFill
11.StreamWriter 方法 WriteLine()
12.StreamReader 方法 ReaderLine() 读取文件的一行文本。
技术允许我们创建一个 GUI,而不需要写一行代码。
中显示图标。
错误,但不能处理
方法将磁盘上的图像载入 Image.
internal
protected
sleep()
Object
方法
为参数。
层次结构
关系。
和 对象
。
方法用来产生随机数。
写入一行文本到文件。
ListView()
同步
和一个
对象进行操作。
窗口布局选项可是所有窗口具有相同次春并且分层显示,因而可显示每个标题栏(如果允许)。
异步 错误。
二、判断 ,错误的写原因:
1.无论使用哪种.NET 语言,MSIL 是所有的.net 程序编译成的通用中间格式。
对
2. 控件只能通过编写代码修改。
错,也可以通过属性窗口来修改
3. 方法 Int32.Parse 把一个整数转换成一个字符串。
错,将字符串转换成整型
4.1 在 if 结构的条件后面放置分号也可以是一个程序块。
4.2 在 if 结构的条件后放置分号是一个语法错误。
错,在 if 结构的条件后面放置分号是一个逻辑错误
5. 当循环结束条件总为真时将引起死循环。
错,当循环继续条件总为真时将引起死循环
6.Math 类的 Abs 方法把它的参数四舍五入为最小的整数。
错。返回整型数字的绝对值
7.1const 变量必须在定义时就对他进行初始化,否则将会发生语法错误
对
7.2const 变量必须在声明的同一条语句进行初始化,否则将会产生语法错误。 对
.Net review Page 2 of 5
7.3 声明为 const 的变量,必须在声明时或在该类的构造函数中初始化。
错,必须在声明时进行初始化
8. 为确定数组元素的个数我们可以调用 NumberOfElements 来确定。
错,应该利用 Length 属性
9.使用 Thread 类的 Sleep 方法,在线程睡眠时不消耗处理器时间。
对
10.1 抽象基类的方法中,所有方法必须被声明为 abstract。
错,不是所有的方法都必须被声明为 abstract
10.2 声明为 abstract 的方法在他们被声明时仍必须被实现。
错,声明为 abstract 的方法不需要被实现,除非在派生的具体类中。
10.3 具有抽象方法的类必须声明为 abstract。
对
11. Equals 方法和相等运算符“==”对字符串的操作是相同。
对
12. 每个控件都有相应的 Graphics 对象。
对
13. 线程执行的代码在它的 Main 方法中定义。
错,线程执行的代码由线程的 ThreadStart()委托的方法进行定义
14. 每个窗体都继承了 OnPaint 方法。
对
15. String 类没有 ToString 方法。
错,String 从 Object 类继承 ToString 方法
16. StreamReader 类继承于 Stream 类。
错。StreamReader 类继承于 TextReader
17. 只有 SQL 的 UPDATE 语句可以对数据库进行更新。
错,insert 和 delete 也可以更新数据库
18. OleDbDataAdapter 能将数据将数据填入 DataSet 中。
对
19. ListBox 控件只允许单一选择,而 CheckListBox 控件允许多重选择。
错 ListBox 和 CheckListBox 均可以进行单一或多重选择。
20. 如果在方法中出现 finally 块,可以保证 finally 块执行。
错,只有程序控制进入到相应的 try{}块中,finally 块才可以执行
21. 异常始终在最初检测到异常的方法中进行处理。
错,在 A 处发现异常,可以在 A 的引用中对其进行处理
调用方法调用堆栈中的方法进行处理
1.NET 框架对于非 Windows 平台是兼容的。
对
14.所有的对象都通过引用传递参数。
对
15.Trim 方法可以删除字符串开始和结尾的所有空格。
对
16.在随机访问文件中顺次查询指定记录是不必要的 。
对
17.所有的窗体、组件和控件都是类。
对
18.Static 成员即便该类型没有对象存在也可以引用。
对
19.向一个变量赋值始终要比实例化一个对象快。
对
.Net review Page 3 of 5
20.默认情况下,所有方法都可以被覆盖。
错,被覆盖的类要声明为 virtual
21.字符串创建后可以被修改。
错,字符串创建后不可被修改,StringBulider 创建的可以被修改
22.所有鼠标事件使用的是相同的事件参数类。
错,鼠标事件有的是用的事件是 EventArgs,还有的使用的事件是 MouseEventArgs
23.事件以属性为基础。
错,事件以委托为基础
24.在派生类使用相同的符号重定义基类后,称为派生类覆盖了基类的方法。
错,派生类是用相同的符号重定义基类方法后,成为派生类覆盖了基类的方法
1.为什么 static 方法不能访问非 static 成员
被声明为 static 的方法不可以访问未经实例化的非 static 成员,非 static 成员必须实例化才可以被 static 方法访问,
通过“实例名.成员名”进行访问。
三、阐述题:
2.一个类和它的派生类的关系
答:一个类与其派生类的关系是层次结构关系。
一个类可以有多个派生类,一个派生类是基类的子集,派生类的对象都是基类的对象,基类对象不是派生类的对
象。例如,兔子是动物,而并非所有的动物都是兔子。
如果用树形结构来描述基类和派生类的关系,他们之间有层次关系,基类是父节点,派生类是子节点
3. 为什么说使用派生类的引用来引用一个基类是很危险的,使用基类的引用来引用一个派生类的对象是不是也
是危险的?
使用派生类的引用来引用一个基类会产生编译器错误,未了避免这样的错误,要将派生类的引用显示强制转换为
基类引用,在转换过程中,派生类引用必须引用派生类对象,否则 C#将会产生 InvalidCastException 异常。
使用基类的引用引用派生类对象不危险,因为派生类对象都是基类对象
4. 异常始终在最初检测到异常的方法中进行处理吗?
不是,通过调用方法(委托)调用堆栈中的方法进行处理
5. CLR 为.NET 提供“自动消除程序中的语法错误”的服务吗?举例 CLR 提供的服务的 3 项
不提供
(1) 垃圾回收
.Net review Page 4 of 5
(2) 代码验证和类型安全
(3) 代码访问安全
6.给出类成员访问的 4 种形式
Public 所属类和非所属类均可访问
Private 所属类内可以访问
Protected 所属类和派生类可以访问
Internal 当前程序集可以访问
7.为什么面向对象比面向过程好?为什么用 C#?
面向过程以逻辑过程为
8.为什么要用封装性?isolation
四、编程题:
1.用 Random 类方法编一段 C#程序用来产生随机数。 简单几句话即可,不要写一个方法。
Using System;
Using System.Collection.Generic;
Using System.Text;
Namespace suijishu
{
Class Program
{
Static void Main(string[] args)
{
Random rnumber=new Random();
int start=0;
int end=10;
for(int i=0;i<10;i++)
{
Console.write(“{0}”,rnumber,Next(start,end));
}
}
}
}
2.编写一个 console 任务,使用循环、read、WritenLine····要有显示
3.排序:ABCD 顺序打乱,要求按 ABCD 排序或倒序
Using System
Using system.Collection.Generic
Using system.text;
Namepspace paixu
{
Class program
{
Static void main(string[] args)
{
.Net review Page 5 of 5
Char[] a=new char[10];
For(int i=0;i<10;i++)
{
a[i]=char.Prase(Console.ReadLine());
}
For(int i=1;i<10;i++)
{
For(int j=0;j<10-i;j++)
{
If(a[j]