武汉大学计算机学院C#考试卷子.doc_第1页
武汉大学计算机学院C#考试卷子.doc_第2页
武汉大学计算机学院C#考试卷子.doc_第3页
武汉大学计算机学院C#考试卷子.doc_第4页
武汉大学计算机学院C#考试卷子.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉大学计算机学院C#程序设计试卷(A)(20102011学年度第2学期 2008级)开卷,答题时间120分钟一、单项选择题(每小题2分,共30分)1. 在C#中,表示一个字符串的变量应使用以下 语句定义。A. CString str;B. string str; C. Dim str as stringD. 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.CommandB.ConnectionC.DataAdapterD.DataSet10. Web窗体文件的扩展名为 。A.aspB.aspxC.ascxD.html11. XML是 。A.一种标准标记语言B.一种扩展标记语言C.一种超文本标记语言D.都不是12. 分析下列程序中类MyClass的定义class BaseClasspublic int i;class MyClass:BaseClasspublic new int i;则下列语句在Console 上的输出为 。MyClass y = new MyClass();BaseClass x = y;x.i = 100;Console.WriteLine(0, 1,x.i,y.i);A.0, 0B.100, 100C.0, 100D.100, 013. 有以下类声明:class Class1public static int Count = 0;public Class1()Count+;在执行以下语句后,Class1.Count的值是 。Class1 o1 = new Class1();Class1 o2 = new Class1();A.1B.2C.3D.414. 有以下程序:abstract class BaseClasspublic virtual void MethodA()Console.WriteLine(BaseClass);public virtual void MethodB()class Class1: BaseClasspublic void MethodA()Console.WriteLine(Class1);public override void MethodB()class Class2: Class1new public void MethodB()class MainClasspublic static void Main(string args)Class2 o = new Class2();o.MethodA(); 该程序输出结果是 。A.BaseClassB.BassClass Class1C.Class1D.Class1 BassClass15. 有以下的程序:class Apublic A( )Console.WriteLine(A);class B:Apublic B()Console.WriteLine(B);class Programpublic static void Main()B b = new B();Console.ReadLine();上述代码运行后,将在控制台窗口输出 。A.AB.BC.A BD.B A二、填空题(每小题2分,共10分)1. 当整数a赋值给一个object对象时,整数a将会被 。2. 在C#中,一个类可以从 个类继承。3. 在定义类时,如果希望类的某个方法能够在派生类中进一步进行改进,以处理不同的派生类的需要,则应将该方法声明成 方法。4. 语句string, strArray = new string34;创建了 个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. B2.C3. C4. C5. B6. A7.A8. B9. D10. B11. B12. D13. B14. C15. C二、填空题(每小题2分,共10分)1.装箱2. 13. virtual4. 125. Graphics三、问答题(共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( 编号:0,no); Console.WriteLine( 姓名:0,name); public class Student : Person /学生类 private string sclass; /班号 private int degree; /成绩 public void input() base.input(); Console.Write( 班号:); sclass = Console.ReadLine(); Console.Write( 成绩:); degree = int.Parse(Console.ReadLine(); new public void disp() base.disp(); Console.WriteLine( 班号:0,sclass); Console.WriteLine( 成绩:0,degree); public class Teacher : Person /教师类 private string prof; /职称 private string depart; /部门 public void input() base.input(); Console.Write( 职称:); prof = Console.ReadLine(); Console.Write( 部门:); depart = Console.ReadLine(); new public void disp() base.disp(); Console.WriteLine( 职称:0, prof); Console.WriteLine( 部门:0, depart); 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(); 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#2005school.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 (myb

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论