当前位置:首页 >> IT/计算机 >> 武汉大学计算机学院C#考试卷子

武汉大学计算机学院C#考试卷子


武汉大学计算机学院《C#程序设计》试卷(A) (2010-2011 学年度第 2 学期 2008 级)
[开卷,答题时间 120 分钟] 一、单项选择题(每小题 2 分,共 30 分)
1. 在 C#中,表示一个字符串的变量应使用以下 语句定义。 A. CString str; B. string str; C. Dim str as string D. char * str; 2.下列选项中, 是引用类型。 A.enum 类型 B.struct 类型 C.string 类型 D.int 类型 3. 下列关于 C#中索引器理解正确的是 。 A.索引器的参数必须是两个或两个以上 B.索引器的参数类型必须是整数型 C.索引器没有名称 D.都不是 4. 以下是一些 C#中的枚举型的定义,其中错误的用法有



A.public enum var1{ Mike = 100, Nike = 102, Jike } B.public enum var1{ Mike = 100, Nike, Jike } C.public enum var1={ Mike=-1 , Nike, Jike } D.public enum var1{ Mike , Nike , Jike } 5. 调用重载方法时,系统根据________来选择具体的方法。 A.方法名 B.参数的个数和类型 C.参数名及参数个数 D.方法的返回值类型 6. 接口是一种引用类型,在接口中可以声明 ,但不可以声明公有的域或私有的 成员变量。 A.方法、属性、索引器和事件 B.方法、属性信息、属性 C.索引器和字段 D.事件和字段 7. C#中关于委托的说法正确的是 。 A.委托类型是一种数据类型 B.委托类型和委托对象是一回事 C.定义委托对象时需要使用 delegate 关键字 D.都不对 8. C#程序中,可使用 try..catch 机制来处理程序出现的 错误。 A.语法 B.执行 C.逻辑 D.拼写 9. 下列哪个类型的对象是 ADO.NET 在非连接模式下处理数据内容的主要对象? A.Command B.Connection 10. Web 窗体文件的扩展名为 C.DataAdapter 。 D.DataSet

A.asp B.aspx C.ascx 11. XML 是 。 A.一种标准标记语言 B.一种扩展标记语言 C.一种超文本标记语言 D.都不是 12. 分析下列程序中类 MyClass 的定义
class BaseClass { public int i; } class MyClass:BaseClass { public new int i; }

D.html

则下列语句在 Console 上的输出为
MyClass y = new MyClass(); BaseClass x = y; x.i = 100; Console.WriteLine("{0}, {1}",x.i,y.i);



A.0, 0 B.100, 100 13. 有以下类声明:
class Class1 { public static int Count = 0; public Class1() { Count++; } }

C.0, 100

D.100, 0

在执行以下语句后,Class1.Count 的值是
Class1 o1 = new Class1(); Class1 o2 = new Class1();



A.1 B.2 14. 有以下程序:
abstract class BaseClass { public virtual void MethodA() {

C.3

D.4

Console.WriteLine("BaseClass"); }

public virtual void MethodB() { } class Class1: BaseClass { public void MethodA() { Console.WriteLine("Class1"); } }

public override void MethodB() { }

} class Class2: Class1 { new public void MethodB() { } class MainClass { public static void Main(string[] args) { Class2 o = new Class2(); o.MethodA(); } } }

该程序输出结果是 A.BaseClass C.Class1 15. 有以下的程序:
class A { public A( ) { } class B:A { public B() { } class Program {

。 B.BassClass Class1 D.Class1 BassClass

Console.WriteLine("A"); }

Console.WriteLine("B"); }

public static void Main() { B b = new B(); Console.ReadLine(); }

}

上述代码运行后,将在控制台窗口输出 A.A B.B C.A B

。 D.B A

二、填空题(每小题 2 分,共 10 分)
1. 当整数 a 赋值给一个 object 对象时,整数 a 将会被 。 2. 在 C#中,一个类可以从 个类继承。 3. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同 的派生类的需要,则应将该方法声明成 方法。 4. 语句 string[,] strArray = new string[3][4];创建了 个 string 对象。 5. 在 GDI+的所有类中, 类是核心,在绘制任何图形之前,一定要先用它创建 一个对象。

三、问答题(共 2 小题,每小题 10 分,共计 20 分)
1. 简述在 C#中类(class)与结构(struct)的异同。 2. 简述什么是事件处理程序。

四、程序设计题(共 2 小题,每小题 20 分,共计 40 分)
1. 编写一个控制台应用程序项目,实现学生和教师数据输入和显示功能。学生类 Student 有编号、姓名、班号和成绩等字段,教师类有编号、姓名、职称和部门等字段。要 求将编号、姓名输入和显示设计成一个类 Person,并作为 Student 和 Teacher 的基类。需用 相关数据进行测试。 2. 设计一个 Windows 窗体 Form1,用于浏览 score 表中所有记录,其中 score 表属于 school.mdb 数据库,它由学号、课程名和分数列组成,该窗体界面如图 1 所示。

图 1 Form1 运行界面

参考答案

一、单项选择题(每小题 2 分,共 30 分)
1. B 6. A 11. B 1.装箱 4. 12 2.C 7.A 12. D 3. C 8. B 13. B 2. 1 5. Graphics 4. C 9. D 14. C 5. B 10. B 15. C

二、填空题(每小题 2 分,共 10 分)
3. virtual

三、问答题(共 2 小题,每题 10 分,共计 20 分)
1. 答: Class 可以被实例化, 属于引用类型, 是分配在内存的堆上的,Struct 属于值类型, 是分配在内存的栈上的。 2. 答:事件处理程序是代码中的过程,用于确定事件(如用户单击按钮或消息队列收 到消息)发生时要执行的操作。事件处理程序是绑定到事件的方法。当引发事件时,将执 行收到该事件的一个或多个事件处理程序。

四、程序设计题(共 2 小题,每题 20 分,共计 40 分)
1.解:程序如下:
using System; using System.Collections.Generic; using System.Text; namespace Proj7_17 { public class Person { private int no; private string name; public void input() { Console.Write(" 编号:"); //人类 //编号 //姓名

no = int.Parse(Console.ReadLine()); Console.Write(" 姓名:");

name = Console.ReadLine(); } public void disp() { Console.WriteLine(" Console.WriteLine(" } } public class Student : Person { private string sclass; private int degree; public void input() { base.input(); //学生类 //班号 //成绩 编号:{0}",no); 姓名:{0}",name);

Console.Write("

班号:");

sclass = Console.ReadLine(); Console.Write(" 成绩:");

degree = int.Parse(Console.ReadLine()); } new public void disp() { base.disp(); Console.WriteLine(" Console.WriteLine(" } } public class Teacher : Person { private string prof; private string depart; public void input() { base.input(); Console.Write(" 职称:"); //教师类 //职称 //部门 班号:{0}",sclass); 成绩:{0}",degree);

prof = Console.ReadLine(); Console.Write(" 部门:");

depart = Console.ReadLine(); } new public void disp() { base.disp(); Console.WriteLine(" Console.WriteLine(" } } class Program { static void Main(string[] args) { Student s1 = new Student(); Teacher t1 = new Teacher(); Console.WriteLine("输入一个学生数据:"); s1.input(); Console.WriteLine("输入一个教师数据:"); t1.input(); Console.WriteLine("显示一个学生数据:"); s1.disp(); Console.WriteLine("显示一个教师数据:"); t1.disp(); } } } 职称:{0}", prof); 部门:{0}", depart);

2. 解:程序如下:
using System; using System.Data.OleDb; //新增

using System.Collections.Generic; using System.ComponentModel;

using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Proj13_2 { public partial class Form2 : Form { BindingSource mybs = new BindingSource(); public Form2() { InitializeComponent(); } private void Form2_Load(object sender, EventArgs e) { string mystr, mysql; OleDbConnection myconn = new OleDbConnection(); DataSet myds = new DataSet(); mystr = "Provider = Microsoft.Jet.OLEDB.4.0;" + "Data Source = H:\\C#2005\\school.mdb"; myconn.ConnectionString = mystr; myconn.Open(); mysql = "SELECT * FROM score"; OleDbDataAdapter myda = new OleDbDataAdapter(mysql, myconn); myda.Fill(myds, "score"); mybs = new BindingSource(myds, "score"); Binding mybinding1 = new Binding("Text", mybs, "学号"); textBox1.DataBindings.Add(mybinding1); //将 student.学号与 textBox1 文本框绑定起来 Binding mybinding2 = new Binding("Text", mybs, "课程名"); textBox2.DataBindings.Add(mybinding2); Binding mybinding3 = new Binding("Text", mybs, "分数"); textBox3.DataBindings.Add(mybinding3); myconn.Close(); } private void button1_Click(object sender, EventArgs e) { if (mybs.Position != 0) mybs.MoveFirst(); } private void button2_Click(object sender, EventArgs e) { if (mybs.Position != 0) mybs.MovePrevious(); //移到上一个记录 } //移到第一个记录 //类变量

private void button3_Click(object sender, EventArgs e) { if (mybs.Position != mybs.Count - 1) mybs.MoveNext(); //移到下一个记录 } private void button4_Click(object sender, EventArgs e) { if (mybs.Position != mybs.Count - 1) mybs.MoveLast(); //移到最后一个记录 } } }


更多相关文档:

武汉大学计算机学院《外部设备》期末考试试卷

武汉 大学 计算机学 院《外部设备》期末考试试卷(A 卷)开卷 2010-2011 学年第一学期 一.填空题(每空 2 分,共 30 分) 1. 第一个采用 LGA 775 架构的 ...

武汉大学计算机学院《信息系统安全》试卷(A)

武汉大学计算机学院《信息系统安全》试卷(A)_研究生入学考试_高等教育_教育专区。...计算机信息系统安全保护等级(GB17859-1999)中,以下哪个级别是最高的 ( C )。...

武汉大学计算机学院数据结构06级试题(A)含答案

武汉大学计算机学院 2006 年-2007 学年第二学期“数据结构”考试试题(A)姓名 学号(序号)_ 答案隐藏 班号要求: 所有的题目的解答均写在答题纸上 (每张答题纸上...

2015年武汉大学计算机音乐考试试题及参考答案

2015年武汉大学计算机音乐考试试题及参考答案_设计/艺术_人文社科_专业资料。2015年武汉大学胡壮丽老师计算机音乐试题及参考答案 2015 年武汉大学计算机音乐考试试题及...

武汉大学计算机学院04级《密码学》试题

武汉大学计算机学院04级《密码学》试题武汉大学计算机学院04级《密码学》试题隐藏>> 武汉大学计算机学院 信息安全专业 2004 级“密码学”课程考试题 (卷面八题,共...

武汉大学计算机学院2007级数据库期末试卷A

武汉大学计算机学院 2008—2009 学年度 第二学期 2007 年级 (A) 《数据库原理》期末考试试题班号 姓名 学号 注:所有的答题内容必须写在答题纸上,本试题和答题...

武汉大学计算机学院Linux2010试卷

武汉大学计算机学院Linux2010试卷_工学_高等教育_教育专区。武大,计算机学院,Linux武汉大学计算机学院 2009-2010 学年第一学期期末考试 《Linux 原理与应用 》期末考试...

武汉大学计算机基础期末考试

武汉大学计算机基础期末考试_工学_高等教育_教育专区。计算机武汉大学 计算机基础期末...计算机是一种信息处理机 D、 计算机可以实现高速度的运算 二:填空题 1.关系...

武汉大学计算机学院《微机系统与接口技术》期末考试试...

武汉大学计算机学院 《微机系统与接口技术》期末考试试题(A 卷) 微机系统与接口技术》期末考试试题( 2006-2007 学年第一学期答案一. 判断改错题 ×√√×× 二...

武汉大学密码学试题

武汉大学计算机学院 信息安全专业 2004 级“密码学”课程考试题 (卷面八题,共 100 分,在总成绩中占 70 分) 一、单表代替密码(10 分) ① 使加法密码算法称...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com