c#试习题及答案_第1页
c#试习题及答案_第2页
c#试习题及答案_第3页
c#试习题及答案_第4页
c#试习题及答案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

、单项选择题1、下列哪个类型的对象是ADO.NET在非连接模式下处理数据内容的主要对象?(D)A.CommandB.ConnectionC.DataAdapterD.DataSet2、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为(A)。A.intB.sbyteC.uintD.ulong3、创建数据库连接使用的对象是(A)。A.ConnectionB.CommandC.DataReaderD.DataSet4、C#中导入某一命名空间的关键字是(A)。usingB.useC.importD.include5、一般情况下,异常类存放在什么命名空间中?(B)0A.生成异常类所在的命名空间B.System.Exception命名空间C.System.Diagnostics命名空间D.System命名空间6、若将数据库中的数据填充到数据集,应调用SqlDataAdapter的(C)方法。A.OpenCloseC.FillD.Update7、若将数据集中所作更改更新回数据库,应调用SqlAdapter的(A)方法。A.UpdateB.CloseC.FillD.Open8、在使用FileStream打开一个文件时,通过使用FileMode枚举类型的(A)成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。A.AppendB.CreateC.CreateNewD.Truncate9、在菜单项File中,为将F设为助记符,应将该菜单项的Text属性设置为(B)。A.@FileB.&FileC.%FileD._File10、指定操作系统读取文件方式中的FileMode.Create的含义是(D)。A.打开现有文件B.指定操作系统应创建文件,如果文件存在,将出现异常C.打开现有文件,若文件不存在,出现异常D.指定操作系统应创建文件,如果文件存在,将被改写11、枚举类型是一组命名的常量集合,所有整形都可以作为枚举类型的基本类型,如果类型省略,则定义为(D)。A.uintB.sbyteC.ulongD.int12、当运行程序时,系统自动执行启动窗体的(C)事件。A.ClickB.DoubleClickC.LoadD.Activated13、若要使命令按钮不可操作,要对(B)属性进行设置。VisibleB.EnabledC.BackColorD.Text14、在设计窗口,可以通过(A)属性向列表框控件如ListBox的列表添加项。ItemsB.Items.CountC.TextD.SelectedIndex15、引用ListBox(列表框)最后一个数据项应使用(C)语句ListBox1.Items[ListBox1.SelectedIndex]ListBox1.Items[ListBox1.SelectedIndex-1]16、引用ListBox(列表框)当前被选中的数据项应使用(B)语句ListBox1.Items[ListBox1.SelectedIndex]D.ListBox1.Items[ListBox1.SelectedIndex-1]17、窗体中有一个年龄文/框txtAge,下面(D)代码可以获得文本框中的年龄值。intage=txtAge;intage=txtAge.Text;intage=Convert.ToInt32(txtAge);intage=int.Parse(txtAge.Text);18、下面(B)代码可以显示一个消息框。欢迎共阅Dialog.Show();MessageBox.Show();Form.Show();Form.ShowDialog();19、当需要使用一种数据类型表达同一类事物的不同状态,比如:男人、女人、小孩、老人或者春夏秋冬时,C#中最可靠和直观的解决方案是什么?(B)A.使用struct结构B.使用enum枚举C.使用int类型,用不同的数值{0,1,2……}表示D.C#中无法通过一种数据类型实现同一事务的不同状态。20、在C#中创造一个对象是,系统最先执行的是(B)中的语句。A.main方法B.构造函数C.初始化函数D.字符串函数21、异常捕获发生在(B)块中?A.tryB.catchC.finallyD.throw22、在C#中,程序使用(B)语句抛出系统异常或自定义异常。A.runB.throwC.catchD.finally23、创建菜单后,为了实现菜单项白^命令功能,应为菜单项添加(C)。事件处理方法。A.DrawItemB.PopupC.ClickD.Select24、C#中TestClass为一自定义类,其中有以下属性定义publicvoidProperty{使用以下语句创建了该类的对象,并使变量obj引用该对象:TestClassobj=newstClass()|B么,可通过什么方式访问类TestClass的Property属性?(A)。A.Obj.Property;B.MyClass.Property;C.obj::Property;D.obj.Property();25、StreamReade关的(A)方法用于从流中读取一行字符。如果到达流的末尾,则返回null。A.ReadLineB.ReadCWriteLineD.Write26、NET框架中的SqlCommand对象的ExecuteReader7j法返回一个:(A)。A.SqlDataReaderB.DataSetC.SqlDataAdapterD.XmlReader二、判断题1当有多个异常要捕获时,应先捕获特殊(具体)异常再捕获普通(一般)异常。V2、在控制台应用程序中,若想从键盘上输入数据,可以使用Console.Read(和Console.ReadLine()3、填充数据集应使用SqlDataAdapter的Update()方法x4、命令对象的ExecuteScalar(方法是在获取单值的时候使用。V5、被sealed关键字修饰的方法不能被继承。V6、委托是将方法作为参数传递给另一方法的一种数据类型。事件与委托没有关系。x7、try、catch、finally三个字句必须同时出现,才能正确处理异常x8、try字句中所抛出的异常一定能被catch字句捕获x9、无论异常是否抛出,finally子句中的内容都会被执行。V10、如果使用的整数索引小于0,或者大于数组的大小,编译器将抛出一个IndexOutOfRangeException异常;V三、填空题1、System.Array有一个(length)属性,通过它可以获取数组的长度。2、SQL语句中删除一个表中记录,使用的关键字是(delete)。3、封装的对象之间进行通信的一种机制叫做(消息传递)。4、(Stack段表示对象的先进后出集合。5、在异常处理结构中,抛出的异常要用(catch)语句捕捉。6、Timer控件的(interval)属性,用来指定时钟空间触发时间的时间问隔,单位毫秒。7、在windows程序中,若想选中复选框,则应将该控件的(Checked)属性设置为true。8、数据库表中的每一行称为一条(记录)欢迎共阅9、要关闭已打开的数据库连接,应使用连接对象的(close)方法。10、SQL语句中的选择语句,使用的关键字是(SELECT)。11、SQL语句中删除一个表中记录,使用的关键字是(delete)。12、在windows程序中,若想选中复选框,则应将该控件的(checked)属性设置为true。13、委托声明的关键字是(delegate)。14、String类的(Compare)方法实现的功能是比较两个字符串的值。15、使用Message.Show(方法可以显示消息框,消息框的返回值是一个(DialogResult)类型。四、简答题1什么是异常?异常有什么作用?异常是错误的一种,它的结果是导致程序不能正确运行,如系统崩溃、程序非正常退出、死循环等。当抛出异常后,程序将不正常终止。但是,如果能很好的在程序中俘获异常并处理异常,可以增强程序的健壮性。2.C#中处理异常采用的结构化异常处理语句有哪些?并简要说明。C#中共包含3种结构化异常处理语句:try・・・catch语句,try・-finally语句和try・-catch…巾nally语句。其中:try块语句中用来指明有可能出现异常的代码;catch块内指明对所出现的异常的处理,若没有异常,则catch块不执行;finally块是无论是否发生异常均要执行的代码,主要用来清理资源或执行要在try块末尾执行的其它操作,或不需要清理代码,则可以不使用该块。3什么是委托?委托与函数指针有何不同?函数指针用指针获取一个函数的入口地址,实现对函数的操作。委托与函数指针不同,委托是引用类型,是面向对象的,在使用时要先定义后实例化,然后再调用。委托可以在运行时间接调用一个或多个方法。4什么是事件?事件作为C#的一种类型,主要为类和类的实例定义发出通知的能力,从而将事件和可执行代码捆绑在一起。事件最常见于窗体编程,如点击按钮事件、鼠标移动事件等等。5如何在程序中定义和使用自定义事件?(1)首先,必须在类中声明事件并确定将要使用的委托和参数。(2)其次,必须定义在触发事件时要调用的委托。(3)最后,必须设计事件参数类,该参数类的实例会将信息传递给被调用的方法。如果使用内置的EventArgs对象和EventHandler委托,则可以不执行该步骤。6对象的方法与对象的事件方法有何异同?两者都是用一段代码完成特定的功能。事件方法代码是由用户添加的,事件方法由事件的发生而被自动调用;对象的方法代码是系统预定义的,对用户是隐藏的,不可见的,而且对象的方法必须在代码中调用。7简述按钮、标签和文本框控件的作用。按钮控件通常用来接收用户的操作信息,激发相应的事件,按钮是用户与程序交互的最简便的方法。标签控件的主要功能是输出信息,可以用来标识其他无法显示标题的控件。文本框控件用于数据的输入与输出,文本框中的文本在程序运行时,可以被用户编辑。8单选按钮与复选框控件各有什么作用?RadioButton控件即单选按钮,提供由两个或两个以上互斥选项组成的选项集。它支持勾选和不勾选两种状态,在文字前用一个可以勾选的圆点来表示,用户只能在一组选项中选择一项。CheckBox控件即复选框控件,通常用来设置选项,用户可以一次选择任意数量的复选框。9实际应用中,菜单分为哪两种形式?C#中设计主菜单使用哪种控件?实际应用中,菜单分为主菜单和弹出式菜单(上下文菜单)。通常使用MenuStrip控件实现主菜单设计。10简述已连接环境与非连接环境的区别与优缺点。已连接环境是指应用程序和数据库之间保持连续的通信,优点是能及时刷新数据库,安全性较高,缺点是需要固定的数据库连接,不宜多个用户共同使用同一个数据库,扩展性差。非连接环境是指应用程序能够在与数据库断开的情况下进行操作,优点是应用程序可以随时连接到数据库获取相应的信息,缺点是获得的数据可能不是最新的,并且对数据更改时可能引发冲突,因为在某一时刻可能有多个用户同时对统一数据操作。11何谓数据绑定技术?所谓数据绑定技术就是把已经打开的数据集中某个或者字段绑定到组件的某些属性上的一种技术,就是把已经打开的数据的某个或者某些字段绑定到TextBox、ListBox>ComboBox等组件能够显示数据的属性上,当对组件完场数据绑定后,其显示字段的内容将随着数据记录指针的变化而变化。12事件是一种委托吗?为什么?事件不是委托,不过由于事件的性质决定了处理它的程序逻辑能访问的参数,因此,在C#中处理事件的逻辑都包装为委托。13列举ADO.NET中的五个主要对象,并简单描述Connection连接对象,Command执行命令和存储过程,DataReade而]前只读的数据流,DataAdapter适配器,支持增删查询,DataSet数据级对象,相当于内存里的一张或多张表。14NET中读写数据库需要用到那些类?他们的作用?DataSet数据存储器;DataCommand执行语句命令;DataAdapter:数据的集合,用于填充。15DataReade庠口DataSet的异同DataReader#用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReade的异常..因为DataReade海次只在内存中加载一条数据一,所以占用的内存是很小的..因为DataReade的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作.16解释virtual、sealedoverride和abstract的区另1virtual声明虚方法的关键字,说明该方法可以被重写;seale眦明该类不可被继承;override重写基类的方法;abstract声明抽象类和抽象方法的关键字,抽象方法不提供实现,由子类实现,抽象类不可实例化。17什么叫泛型(generics)?使用泛型,可以定义使用类型参数定义的和/或方法。当客户端代码实例化类型时,会指定一个特定的类型作为参数。五、计算题1、定义方法floatave(float口a)实现求数组的平均值,在主函数中使用委托调用该方法,求数组(23,45,12,67.8,12.3珀平均值。publicstaticfloatave(float口a){floatsum=0;foreach(floatnina)sum=sum+n;returnsum/a.Length;}publicdelegatefloatF(float口a);staticvoidMain(string口args){float[]a1=newfloat[]{23,45,12,67.8F,12.3F};Ff=newF(ave);Console.WriteLine("数组平均值:{0}",f(a1));Console.ReadKey();2、List集合的使用ListlistEmail=newList();staticstringqueryDomain;privatevoidForm1_Load(objectsender,EventArgse){foreach(stringstrinlistEmail)}3、使用Dictionary<K,V>泛型集合实现学生管理系统publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicclassStuInfo{privatestringid;privatestringname;privatestringclasses;privatestringtelephone;publicstringId{get{returnid;}set{id=value;}}publicstringName{get{returnname;}set{name=value;}}publicstringClasses{get{returnclasses;}set{classes=value;}}publicstringTelephone{get{returntelephone;}set{telephone=value;}}publicStuInfo(string_id,string_name,string_classes,string_telephone){一一一一this.id=_id;=_name;this.classes=_classes;this.telephone=_telephone;}.}Dictionary<string,StuInfo>stuDic=newDictionary<string,StuInfo>();privatevoidForm1_Load(objectsender,EventArgse){—StuInfozhang=newStuInfo("1001","张三","软件StuInfoli=newStuInfo("1002","李四","软件StuInfoma=newStuInfo("1003","马玲","软件StuInfowang=newStuInfo("1004","王强","软件stuDic.Add(zhang.Id,zhang);stuDic.Add(li.Id,li);stuDic.Add(ma.Id,ma);stuDic.Add(wang.Id,wang);panel1.Visible=false;this.Height=270;fillGrid(stuDic);}publicvoidfillGrid(Dictionary<string,StuInfo>dic){if(dataGridViewInfo.ColumnCount==0){DataGridViewTextBoxColumncol1=newDataGridViewTextBoxColumn();col1.HeaderText='学号";col1.DataPropertyName="Id";col1.Name="No";DataGridViewTextBoxColumncol2=newDataGridViewTextBoxColumn。;col2.HeaderText=姓名";col2.DataPropertyName="Name";col2.Name="Name";DataGridViewTextBoxColumncol3=newDataGridViewTextBoxColumn。;col3.HeaderText=班级";col3.DataPropertyName="Classes";col3.Name="Classes";DataGridViewTextBoxColumncol4=newDataGridViewTextBoxColumn。;col4.HeaderText='电⑵S??";col4.DataPropertyName="Telephone";col4.Name="Telephone";}BindingSourcebs=newBindingSource();bs.DataSource=dic.Values;dataGridViewInfo.DataSource=bs;}privatevoidbtnQuery_Click(objectsender,EventArgse){―if(txtQueryInfo.Text==""){fillGrid(stuDic);return;}if(stuDic.ContainsKey(txtQueryInfo.Text)){StuInfostu=stuDic[txtQueryInfo.Text];Dictionary<string,StuInfo>subdic=newDictionary<string,StuInfo>();subdic.Add(stu.Id,stu);fillGrid(subdic);}else{MessageBox.Show(查无止匕人","出错!",MessageBoxButtons.OK,MessageBoxIcon.Error);}欢迎共阅privatevoidbtnAdd_Click(objectsender,EventArgse)(—panel1.Visible=true;this.Height=400;txtID.Focus();}privatevoidbtnSubmit_Click(objectsender,EventArgse){―if(txtID.Enabled==true){if(stuDic.ContainsKey(txtID.Text)){MessageBox.Show(学号已存在","出错!",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}if(txtID.Text==""||txtName.Text==""||txtClass.Text==""||txtTelephone.Text==""){MessageBox.Show(信息不能为空!","出错",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}StuInfostu=newStuInfo(txtID.Text,txtName.Text,txtClass.Text,txtTelephone.Text);stuDic.Add(stu.Id,stu);fillGrid(stuDic);txtID.Text="";txtName.Text="";txtClass.Text="";txtTelephone.Text="";panel1.Visible=false;this.Height=270;}else{if(txtName.Text==""||txtClass.Text==""||txtTelephone.Text==""){MessageBox.Show(信息不能为空","出错",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}stuDic.Remove(txtQueryInfo.Text);StuInfostu=newStuInfo(txtID.Text,txtName.Text,txtClass.Text,txtTelephone.Text);stuDic.Add(stu.Id,stu);fillGrid(stuDic);txtID.Text="";txtName.Text="";txtClass.Text="";txtTelephone.Text="";panel1.Visible=false;this.Height=270;txtID.Enabled=true;}}欢迎共阅privatevoidbtnCancel_Click(objectsender,EventArgse){―txtID.Text="";txtName.Text="";txtClass.Text="";txtTelephone.Text="";panel1.Visible=false;this.Height=270;}privatevoiddataGridViewInfo_CellContentClick(objectsender,DataGridViewCellEventArgse){―}privatevoidbtnDel_Click(objectsender,EventArgse){.if(!stuDic.ContainsKey(txtQueryInfo.Text)){MessageBox.Show(用户不存在","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}else{stuDic.Remove(txtQueryInfo.Text);fillGrid(stuDic);txtQueryInfo.Text="";}}publicMessageBoxButtonsError{get;set;}privatevoidbtnUpdate_Click(objectsender,EventArgse){―if(!stuDic.ContainsKey(txtQueryInfo.Text)){MessageBox.Show(用户不存在","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);return;}else{panel1.Visible=true;StuInfostu=stuDic[txtQueryInfo.Text];txtID.Text=stu.Id;txtName.Text=stu.Name;txtClass.Text=stu.Classes;txtTelephone.Text=stu.

温馨提示

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

评论

0/150

提交评论