windows应用开发期末复习资料(共12页).doc
精选优质文档-倾情为你奉上一、选择题:1、在 Visual Studio.NET窗口中,在_窗口中可以察看当前项目的类和类型的层次信息。A.解决方案资源管理器B.类视图C.资源视图D.属性2、下列哪个类型的对象是 ADO.NET 在非连接模式下处理数据内容的主要对象? A.CommandB.ConnectionC.DataAdapterD.DataSet3、应用 ADO.NET 访问数据时,Connection 对象的连接字符串中 Initial Catalog 子串的含义是: A.Connection 对象连接到的数据库的名称B.Connection 对象的身份验证信息C.Connection 对象的最大连接时间D.Connection 对象使用的缓存大小4、在 Visual Studio .NET 中, 新建 DataAdapter 对象后, 可使用_ _来配置其属性A.数据适配器配置向导B.数据窗体向导C.服务器资源管理器D.对象浏览器5、使用 Visual Studio .NET 的“新建 C# 项目”创建一个名为“SimpleForm”的 Windows 表单应用程序,则在生成_文件中可设置该程序集的 Copyright?Trademark 等属性信息。A.Form1.resxB.SimpleForm.slnC.SimpleForm.csprojD.AssemblyInfo.cs6、已知在某 Windows Form 应用程序中,主窗口类为 Form1,程序入口为静态方法 From1.Main。如下所示: public class Form1 : System.Windows.Forms.Form /其他代码 static void Main() /在此添加合适代码 则在 Main 方法中打开主窗口的正确代码是: AA.Application.Run(new Form1();B.Application.Open(new Form1();C.(new Form1().Open();D.(new Form1().Run();7、在 C#中,预处理器指令#region 和#endregion 的作用是: BA.注释#region 和#endregion 之间的代码B.为 Code Editor 定义一段可折叠代码区C.#region 和#endregion 之间的代码在 Debug 版本中不参加编译D.#region 和#endregion 之间的代码在 Release 版本中不参加编译8、用鼠标右击一个控件时出现的菜单一般称为: CA.主菜单B.菜单项C.快捷菜单D.子菜单9、变量 openFileDialog1 引用一个 OpenFileDialog 对象。为检查用户在退出对话框时是否单击了“打开”按钮,应检查 openFileDialog1.ShowDialog()的返回值是否等于_; A.DialogResult.OKB.DialogResult.YesC.DialogResult.NoD.DialogResult.Cancel10、C#程序中,为使变量 myForm 引用的窗体对象显示为对话框,必须: A.使用 myForm.ShowDailog 方法显示对话框B.将 myForm 对象的 isDialog 属性设为 trueC.将 myForm 对象的 FormBorderStyle 枚举属性设置为 FixedDialogD.将变量 myForm 改为引用 System.Windows.Dialog 类的对象11、Windows Form 应用程序中,要求下压按钮控件Button1 有以下特性:正常情况下,该按钮是扁平的,当鼠标指针移动到它上面时,按钮升高。那么,在程序中,属性 Button1.FlatStyle 的值应设定为: A. FlatB. PopupC. StandardD. System12、ADO.NET 使用_命名空间的类访问 SQL Server 数据库中的数据。 A.System.Data.OleDbB.System.Data.SqlClientC.System.Xml.SerializationD.System.IO13、用 FileStream 打开一个文件时,可用 FileShare 参数控制: A.对文件执行覆盖?创建?打开等选项中的哪些操作;B.对文件进行只读?只写还是读/写C.其他 FileStream 对同一个文件所具有的访问类型D.对文件进行随机访问时的定位参考点14、在使用 ADO.NET 编写连接到 SQL Server 2008 数据库的应用程序时,从提高性能角度考虑,应创建_类的对象,并调用其 Open 方法连接到数据库。 A.ConnectionB.SqlConnectionC.OleDbConnectionD.OdbcConnection15、在 ADO.NET 中,DataAdapter 对象下列哪个 Command 属性用于将 DataSet 中的新增记录保存到数据源?A.Select CommandB.Insert CommandC.Update CommandD.Delete Command16、要退出应用程序的执行,应执行下列的_语句。A.Aapplication.Exit();B.Aapplication.Exit;C.Aapplication.Close();D.Aapplication.Close;17、要使窗体刚运行时,显示在屏幕的中央,应设置窗体的_属性。A.WindowsStateB.StartPostionC.CenterScreenD.CenterParenr18、要使文本框控件能够显示多行而且能够自动换行,应设置它的_属性。A.MaxLength和 MultlineB.Multlineh和 WordWrapC.PassWordChar 和 MultlineD.MaxLength和 WordWrap19、在使用 RichTextBox 控件进行文档编辑时,如果希望知道文档上次设置该控件的内容后,文本框中内容是否改变,可使用它的_属性。A.ModifiedB.SelectedTextC.UndoD.SaveFile20、要使复选框控件能够显示出三种状态,应首先设置它的_属性。A.ThreeStateB.CheckedC.CheckStateD.Indeterminate21、已知 OpenFileDialog 控件的 Filter 属性值为“文本文件(*.txt)|*.txt|图形文件 (*.BMP*.JPG)|*.BMP;*.JPG|*.RTF 文件(*.RTF)|*.RTF” ,若希望程序运行时,打开对话框的文件过滤器中显示的文件类型为 RTF 文件(*.RTF),应把它的 FilterIndex 属性值设置为 _。A.2B.3C.4D.522、在设计菜单时,若希望某个菜单项前面有一个“”号,应把该菜单项的_ 属性设置为 true。A.CheckedB.RadioCheckC.ShowShortcutD.Enabled23、在 GDI+的所有类中,_类是核心,在绘制任何图形之前,一定要先用它创建一个对象。A.GraphicsB.PenC.BrushD.Font24、下列各选项中,哪个选项不是.NET Framework的组成部分( )。A.应用程序开发程序B.公共语言规范和.NET Framework类库C.语言编辑器D.JIT编辑器和应用程序执行管理25、下面对公共语言运行时说法正确的是( )。 A.是.NET平台的基础B.提供多种服务,但不包括垃圾收集器C.是.NET Framework的核心组件D.与.NET Framework无关26、下列关于命名空间描述正确的是( )。A.命名空间就是.NET Framework中相关类和命名空间的集合B.System.Windows.Forms 命名空间定义了包含工具箱中的控件及窗体自身的类C.命名控件中的所有类都是从同一个基类中继承的D.上述都对27、下面对程序集和命名空间说法正确的是( )。A.一个程序集只能引用一个命名空间B.一个程序集可以引用多个命名空间,一个命名空间也可以保存在多个程序集中C.一个程序集可以引用多个命名空间,但一个命名空间只能保存在一个程序集中D.一个命名空间可以保存在多个程序集中,命名空间无法包含另外的命名空间28、动态创建一个 button控件实例的代码是() A.Button button; button=new Button(); button.Location=new Point(200,200); button.Size=new Size(75,23); button.Text=“Ok”; button.Show();B.Button button; button=new Button(); button.Location=new Point(); button.Size=new Size(); button.Text=“Ok”; this.Controls.Add(button);C.Button button; button=new Button(); button.Location=new Point(); button.Size=new Size(); button.Text=“Ok”; button.Show();D.Button button; button=new Button(); button.Location=new Point(200,200); button.Size=new Size(75,23); button.Text=“Ok”; this.Controls.Add(button);29、关于 Timer 控件,下列说法正确的是( ) A.Timer 控件是用来显示系统当前时间B.Timer 控件的作用是在规定的时间内触发 Tick控件C.Timer 控件的 Interval 属性值的单位是秒D.Timer 控件实例不能动态创建30、关于滚动控件,下列说法正确的是() A.Value属性表示滚动块在滚动条中的位置,它的值可以为整数也可以为小数B.滚动条控件就是水平滚动条控件C.SmallChange属性表示当用户在滚动区域中单击或使用 Page Up/Page Down时,缩影图 位置发生的改变D.不能自动滚动窗体的内容,需要添加代码才可以31、关于 MainMenu控件,下列说法正确的是()A.控件可以完成其他控件所不能完成的任务B.一个窗体只能有一个控件实例C.一个窗体只能有一个菜单系统与之相关联D.控件实例中不能创建菜单项的热键32、TabControl 控件的 属性可以添加和删除选项卡。A.TabCountB.RowCountC.TextD.TablePage33、MDI应用程序中只有窗体之间的关系描述正确的是() A.MDI应用程序中只有一个窗体可以指定为 MDI子窗体B.MDI子窗体必须出现在 MDI父窗体的可视区域内C.标准窗体必须出现在 MDI父窗体的可视区域内D.MDI子窗体总是带有菜单34、对设置 MDI父窗体说法正确的是() A.调用指定为 MDI父窗体的 Show 方法,使用参数的枚举值 Modi-MdiParentB.使用“项目属性”对话框,设置 IsMdiApplication 属性为 True,然后设置用作父窗体的 窗体的窗体启动对象C.对于指定为 MDI父窗体的窗体,设置 MdiParent 属性为 TrueD.创建一个 MDI应用程序项目,而不是创建 Windows 窗体应用程序项目35、下列说法中对 Mdi 子窗体描述正确的是() A.设置 MdiChildForm属性为 trueB.设置 MdiChild属性为 falseC.设置 MdiChild属性为 trueD.设置 MDI子窗体 MDiParent 属性引用父窗体实例36、下面选项中对菜单合并描述正确的是() A.MerageType和 MerageOrder 属性用来配置菜单合并的方式B.当 MDI父窗体的菜单合并时,不可以删除父窗体上的菜单C.合并菜单时,无法替换多余的菜单D.合并时只能严格按照父窗体和子窗体合并菜单项目37、下面关于 MDI子窗体的布局正确的是() A.Icon,List,ReportB.Icon,Minimize,mdiparentC.ArrangeIcons,Cascade,SelectionD.ArrangeIcons,Casecade,TileHorizontal,TileVeritical38、下面对创建上下文菜单说法正确的是() A.把 Mainmenu控件放置到窗体中即可B.创建一个 ContextMenu控件实例,然后编辑菜单项来创建快捷菜单C.在模态对话框中创建一个 ListBox 控件实例,然后显示模态对话框D.创建一个 MainMenu属性为 True39、下面对 MDI应用程序中子窗体布局说法正确的是() A.C#中无法对子窗体布局B.布局菜单只能放在子窗体上C.布局菜单只能放在父窗体上,并且使用 LayOutMdi 方法D.使用 MdiLayout 方法,布局菜单在哪里无所谓40、下面对 FontDialog控件说法正确的是() A.可以使用它来设置字体颜色B.使用 FontDialog必须在窗体中添加控件C.完全可以不添加控件,使用代码来完成它的添加D.显示 FontDialog时,使用 Show()方法二、多项选择题:1、关于C#语言的基本语法,下列哪些说法是正确的?A.C#语言使用 using 关键字来引用.NET 预定义的名字空间;B.用 C#编写的程序中,Main 函数是唯一允许的全局函数;C.C#语言中使用的名称严格区分大小写;D.C#中一条语句必须写在一行内;2、在下列函数结束后,马上从内存中清除的是_. void Test() int i = 100; int arr = new int10; string str = "this is a test" object r = new System.DateTime(1999,9,9);A.变量 iB.数组变量 arrC.变量 str 所引用的字符串对象D.变量 r 所引用的 DataTime 对象3、C#可以采用下列哪些技术来进行对象内部数据的隐藏? A.静态成员B.类成员的访问控制说明C.属性D.装箱(boxing)和拆箱(Unboxing)技术4、当创建一个新类时,该类将从 System.Object 基类继承下列哪些方法?A.ToStringB.ToObjectC.EqualsD.GetClassInfomation5、访问数据库时,使用连接模式同使用非连接模式相比有何优点? A.更易于控制和维护B.更容易进行并发控制C.可以为更多的用户同时提供数据D.数据实时性更好6、关于程序集,下列正确的说法是: A.程序集可以由一个文件组成,也可由多个文件组成B.一个程序集中可有多个程序集清单C.一个程序集中可定义多个命名空间D.程序集是可自描述的7、下列数组初始化语句哪些是正确的? A.int nums = new int0,1,2,3,4;B.int nums2 =0,1,2,3,4,5;C.int num_1 =new int0,1,new int0,1,2,new int0,1,2,3;D.int num_2 = 0,1,0,1,2,0,1,2,3;8、以下哪些调试操作不是使用 Visual C# 断点的有效方法?A.当代码段第五次执行时,在某一特定行停止执行这部分代码B.当特定的变量值改变时,停止执行C.当指定的代码行执行的次数是 25 的倍数时,停止执行这部分代码D.当特定的表达式求值计算停止时,在某一特定行停止执行这部分代码E.当变量的值改变为 False时,停止执行9、使用 Visual Studio .NET 来创建一个基于 Windows 的应用程序 TimeSheetApp。此应用程序的 main 窗体包括几个与应用程序的设置相对应的复选框。其中一个 CheckBox 控件名为 overtimeCheckBox,该控件的标题是“Overtime”。必须允许用户按 ALT+A 来选择或清除复选框。你该采用哪两个操作?A.设置 overtimeCheckBox.AutoCheck为 TrueB.设置 overtimeCheckBox.AutoCheck为 FalseC.设置 overtimeCheckBox.Tag 为“&Overtime”D.设置 overtimeCheckBox.CheckState为 Unchecked E.设置 overtimeCheckBox.CheckState为 Indeterminate F.设置 overtimeCheckBox.Apperance 为 Button G.设置 overtimeCheckBox.Apperance为 Normal H.设置 overtimeCheckBox.Text 为“&Overtime”10、使用下列哪种方法可以减小一个 ArrayList 对象的容量? A.调用 Remove 方法B.调用 Clear 方法C.调用 TrimToSize 方法D.设置 Capacity 属性二、填空题:1、能用foreach遍历访问的对象需要实现 _ IEnumerable 接口或声明_ GetEnumerator _方法的类型。三、简单题:1、ADO.net中常用的对象有哪些?分别描述一下。答:Connection 数据库连接对象Command 数据库命令DataReader 数据读取器DataSet 数据集2、.net中读写数据库需要用到那些类?他们的作用?答: DataSet:数据存储器。DataCommand:执行语句命令。DataAdapter:数据的集合,用于填充。3、SQL SERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号, LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号答:Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1)4、写出一条Sql语句:取出表A中第31到第40记录(SQL Server以自动增长的ID作为主键,注意:ID可能不是连续的。)答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * from A where id > (select max(id) from (select top 30 id from A )as A) 5、在.net(C#)中如何取消一个窗体的关闭。答:在form_Closing()方法中写入e.Cancel=true。例如:private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)e.Cancel=true; 6、在.net(C# )中,Appplication.Exit 和 Form.Close有什么不同?答:Appplication.Exit是退出整个应用程序;Form.Close是关闭某一个form窗体。7、请说出连接环境下和非连接环境下访问数据库的区别及优缺点,并各列举一个适合的情况说明。答:连接环境:1)DataReader表示数据库记录,但是 DataReader一次只能表示一条数据库记录;2)必须调用Read()方法来从后台数据库的表获取每一条记录到内存,当再次调用Read()方法时,前面获取的记录就丢失了;3)DataReader并不能把数据库查询的结果当成一个整体来处理;4)DataReader 在工作的时候,必须维持对数据库的连接。 优点: 功能简单、速度快,可以用在单纯显示的地方。缺点: 只能单向的读取数据库中的数据。非连接环境: 1)DataSet 表示一组非连接的记录;2)DataSet 可以在服务器内存中表示数据库查询的结果;3)DataSet 提供了内存驻留表示形式,所以可以把数据库查询的结果作为一个整体来处理;4)当DataSet被填充了记录后,就可以把它与后台数据源的连接断开。优点: 提高了服务器的性能;DataSet功能强大,带有查询、修改、排序、添加等功能。缺点: 对内存和时间的消耗都比较大。8、填入下面空白处概念,并简单解释?答:用户界面 DataView DataSet DataTable DataReader DataAdapter Command Conection 数据库解释:DataView:表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。DataSet:ADO.NET的中心概念。可以把DataSet当成内存中的数据库,DataSet是不依赖于数据库的独立数据集合。DataTable:一个临时保存数据的网格虚拟表(表示内存中数据的一个表。)。DataReader:一个简单的数据集,用于从数据源中检索只读数据集,常用于检索大量数据。DataReader:可通过Command对象的ExecuteReader方法从数据源中检索数据来创建。Command:使用存储查询和带有参数的存储过程。Connection:对象代表与数据源进行的唯一会话。四、编程题:1、Employee 职工表 字段 数据类型 描述 EmployeeCodeint 职工编号 Name char (20) 姓名 Address char (35) 地址 int id=(int)textBox1.Text; string name=textBox2.Text; string address=textBox3.Text; SqlCommand command=new SqlCommand(); command.Connection=con; command.CommandText= "insert into Employee values ("+id+",'"+name+"','"+address+"'); int row=command.ExecuteNonQuery(); if(row>0) MessageBox.Show("插入成功"); else MessageBox.Show("插入失败"); 请将上述代码用中的SQL语句执行部分用命令参数的方式改写。答:command.CommandText= "insert into Employee values (id,name,address)" command.Parameters.Add("id",SqlDbType.Int); command.Parameters.Add("name",SqlDbType.Char,20); command.Parameters.Add("address",SqlDbType.Char,35); command.Prepare(); command.Parameters"id".Value=id; command.Parameters"name".Value=name;command.Parameters"address".Value=address; int row=command.ExecuteNonQuery();2、请编程遍历界面上所有TextBox控件并给它赋值为string.Empty?答:foreach (System.Windows.Forms.Control control in this.Controls)if (control is System.Windows.Forms.TextBox)System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox) control ; tb.Text = String.Empty ;3、 Products 产品表 字段 数据类型 描述 ProductId int 产品编号 ProductNamechar(20) 产品名称 ProductRate money 产品价格 (1) 利用 SqlConnection,SqlCommand,SqlDataReader 等打印整张表的数据(2) 利用 SqlConnection,SqlAdapter,DataSet,DataTable,DataView 等打印价格在 10 元以下的产品信息.(要求通过DataView过滤的方式查出信息)答:1)using System; using System.Data.SqlClient; class Class1 static void Main(string args) SqlConnection con=new SqlConnection(); con.ConnectionString="server=127.0.0.1;database=northwind;integrated security=true;Connection timeout=5" SqlCommand command=new SqlCommand(); command.Connection=con; command.CommandText="select ProductId,ProductName,ProductRate from Products" try con.Open(); SqlDataReader reader=command.ExecuteReader(); while(reader.Read()int id=(int)reader0; string name=(string)reader1; decimal price=(decimal)reader2; Console.WriteLine(id+" "+name+" "+price); catch(Exception e) Console.WriteLine(e.ToString(); finally con.Close(); Console.Read(); 2) using System;using System.Data.SqlClient;class Class1 static void Main(string args) SqlConnection con=new SqlConnection("server=127.0.0.1;database=pubs;integrated security=true;"); try con.Open();SqlDataAdapter da=new SqlDataAdapter("select ProductId,ProductName,ProductRate from Products",con); DataSet ds=new DataSet();da.Fill(ds,"Products"); DataTable dt=ds.Tables"Products"DataView view=new DataView();/新建视图 view.Table=dt; string str="" view.RowFilter="ProductRate<10"/设置 DataView的筛选条件 for(int i=0;i<view.Count;i+) str="" for(int j=0;j<view.Table.Columns.Count;j+) str=str+viewij+" "/获取 DataView中的第 i 行的第 j 列数据 Console.WriteLine(str); catch(Exception ee) Console.WriteLine(ee.Message); finally con.Close(); 专心-专注-专业