C2014年1-6月复习题(带答案)_第1页
C2014年1-6月复习题(带答案)_第2页
C2014年1-6月复习题(带答案)_第3页
C2014年1-6月复习题(带答案)_第4页
C2014年1-6月复习题(带答案)_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、C#程序设计期末复习题一、选择1、C#源文件的扩展名为( D )。 A、sln B、cpp C、CSP D、cs2、CLR是一种( B )A、编程语言 B、运行环境 C、开发环境 D、API编程接口3、下列标识符中,正确的是( C )。A、 2age B、4% C、_2S D、enum4、( A )窗口用于浏览解决方案中的文件。A、解决方案资源管理器 B、动态帮助C、属性 D、工具箱5、下列( B )选项不是.net框架可以创建的应用程序。A、控制台应用程序 B、MIS系统C、Web应用程序 D、Windows应用程序6、C#程序的入口是( C )。A、main B、entrance C、Ma

2、in D、Main Class7、在C#中,导入命名空间需要使用( A )关键字。 A、using B、use C、import D、include8、下列选项中,( C )是引用类型。A、enum B、struct C、string D、int9、要将类的成员定义为静态成员需要添加( A )关键字 A、static B、steady C、scaled D、const10、在C#中,下列类中只能被继承的类是( C )。A、公共类 B、保护类 C、抽象类 D、密封类11、在C#中,多继承通过( B )实现。A、属性 B、接口 C、索引器 D、方法12、 下列关于构造函数的描述正确的是( C )A

3、、构造函数可以返回空值void; B、构造函数需要人为调用才能执行C、构造函数的名字必须与类名相同D、一个类可以有多个不同名的构造函数13、下列类型中为值类型的是( C )。A、字符串 B、数组类型 C、枚举类型 D、接口类型C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。14、调用构造函数创建对象时,需要使用( B )关键字。A、typeof B、new C、as D、is15、用( B )关键字定义的方法,属于整个类而不属于类的某个具体对象。A、public B、static C、

4、out D、ref16、在派生类中对虚拟方法重写时,需要在重写的方法中加( D )关键字。A、new B、abstract C、virtual D、override17、若变量值为12.5d,表示该变量时为( C )类型。A、decimal B、float C、double D、 long18、下列选项中,( B )不是引用类型。A、接口 B、enum(枚举) C、代理 D、数组19、在访问Sql Server数据库时必须加载( B )命名空间A、System.Data.Odbc B、System.Data.SqlClientC、System.Data.OleDb D、System.Data.

5、SqlTypes20、在C#中,下列代码的运行结果是( D )。 int num = new int51,3,2,0,0 Array.Reverse(num); foreach(int i in num) Console.Write(i); A、00123 B、12300 C、00132 D、0023121、虚拟方法的执行方式可以被派生类改变,这种改变通常通过( A )实现。A、方法覆盖 B、构造函数 C、 值方法 D、引用型方法22、在下面的访问修饰符中,( B )表示受保护级。A public B protected C protect D private23、.net架构中被用来访问数据

6、库数据的组件集合为( B ) A、ADO B、 ADO.netC、COM+ D、 Data S24、 装箱、拆箱操作发生在( C )。A、类与对象之间 B、对象与对象之间C、引用类型与值类型之间 D、引用类型与引用类型之间25、要创建多文档应用程序,需要将窗体的( D )属性设置为trueA、DrawGrid B、ShowInTaskbar C、Enabled D、IsMdiContainer26、下列( D )对象是ADO.NET 在非连接模式下处理数据内容的主要对象。 A、 Command B、 ConnectionC、 DataAdapter D、 DataSet27

7、、循环控制语句while和do-while的主要区别是( A )。A、do-while的循环体至少无条件执行一次B、while的循环控制条件比do-while的循环控制条件严C、do-while允许从外部转到循环体内D、do-while的循环体不能是复合语句28、在ADO.NET中,SqlConnection 类所在的命名空间是( D )。A、System B、System.DataC、System.Data.OleDb D、System.Data.SqlClient29、方法能在派生类中进行改造,以处理不同派生类的需要,这时应该方法声明为( D)。A、sealed B、public C、ov

8、erride D、virtual30、如果要在窗体中始终显示系统的当前时间,应该使用的控件是( C ) A、CheckBox B、Panel C、Timer D、RadioButton31、关于析构函数的说明不正确的是( C )A、析构函数中不可以包含return语句B、一个类中只能有一个析构函数C、析构函数可以被继承D、析构函数在对象被撤销时,被自动调用32、当更改TextBox的( C )属性,可以使文本框进行多行输入。A、Enable B、Visible C、Multiline D、MaxLength33、Timer控件能够在用户定义的时间间隔内引发( B)事件。 A、Click 事件

9、B、Tick 事件C、Init 事件 D、Load事件34、在ADO.NET中,用于连接的对象为( A ) A、Connection对象 B、Conmmand对象 C、 DataSet对象 D、 DataAdapter35、关于继承与接口的说法,下列选项中正确的是( C )。A、C#允许多接口实现,也允许多继承实现B、C#不允许多接口实现,但允许多继承实现C、C#允许多接口实现,但不允许多继承实现D、C#不允许多接口实现,也不允许多继承实现36、要使窗体开始运行时显示在屏幕中央,应设置窗体的( B)属性。A、WindowState B、StartPosition C、CenterScreen

10、D、CenterParent37、若有说明:int a10=0;下述叙述正确的是( B )。A、只有元素a0可以得到初始值0B、此说明语句不正确C、数组a中的元素都能得到初始值,但不一定都是0D、数组a中的元素都能得到初始值038、SQL语句“delete from department”,需要在SqlCommand对象的( A )方法中执行A、ExecuteNonQuery() B、ExecuteScalar()C、ExecuteReader() D、ExecuteXmlReader()39、( A )对象是DataSet对象和SQL Server数据库之间的桥梁。A、DataAdapter

11、 B、SqlDataAdapter C、 SqlConnection D、 Sqlcommand40、下列( C )控件可以用来代替密码输入框。A、Password B、Lable C、TextBox D、Button41、在ADO.NET中,使用DataAdapter将数据源填充到DataSet,应使用( B )方法。A、 Update方法 B、Fill方法C、 Add方法 D、Load方法42、下列叙述中正确的是( B )。A、接口中可以有虚方法 B、一个类可以实现多个接口C、接口能被实例化 D、接口中可以包含已实现的方法43、使用ADO.NET 访问数据时,Connection 对象的连

12、接字符串中Initial Catalog 的含义是( B )。 A、Connection 对象的身份验证信息 B、Connection 对象连接的数据库的名称 C、Connection 对象的最大连接时间D、Connection 对象使用的缓存大小44、类的( B )描述了该类的对象的行为特征。A、私有字段 B、方法 C、所属的命名空间 D、类名45、( A )方法执行指定为Command对象的命令文本的SQL语句,并返回受SQL语句影响或检索的行数。A、ExecuteNonQuery B、ExecuteReaderC、ExecuteQuery D、ExecuteScalar46、利用窗体的(

13、 A )方法可以实现窗体的隐藏。A、Hide() B、Closed() C、Show() D、Visible()47、下列哪个属性可以设置DataGridView控件的数据源( C )。A、DataTable B、 DataSet C、DataSource D、DataReader48、 下列选项中错误的是( C )。A、类不可以多重继承而接口可以 B、抽象类自身可以定义成员而接口不可以C、一个类可以有多个基类和多个基接口 D、抽象类和接口都不可以被实例化49、在面向对象编程中,“继承”是指( B )。A、对象之间通过消息进行交互B、派生自同一个基类的不同类的对象具有一些共同特征C、对象的内部

14、细节被隐藏D、派生类对象可以不受限制地访问所有的基类对象50、下列程序的输出结果是( B ) public static void Main( )int num =new int1,3,5;For(int i = 9;i=0 ;i- -) ai = 2 *i + 1;Console.WriteLine(“0 1 2”,a0 a1 a2);A、258 B、11119 C、1119 D、369 二、填空1、面向对象程序设计的特征是 封装 、 继承 和 多态 。2、在C#中导入命名空间的关键字是 using 3、要使C#程序不调试直接执行,需要按下 Ctrl+F5 组合键4、C#中所有对象共同的基类

15、是 object类 。5、C#的数据类型有两种,分别是 引用类型 和 值类型 。 6、在C#中使用 接口 可以实现多重继承。7、结构化程序的三种基本结构是 顺序结构、 分支结构 和 循环结构 8、传入某个属性的set方法的隐含参数的名称是 value 。9、Console类的 Readline于实现输入, writeline现输出。10、有数组说明语句int a=new int3,则数组a所占的字节数为 12 。11、抽象类使用 abstract 声明,接口使用 interface12、在C#中,通过 ADO.net 数据库的访问 。 13、类使用 class 关键词声明,类的实例又叫 对象

16、14、Array类的insert方法实现元素的插入, sort方法实现排序15、在A中,每个数据提供程序包括4个核心对象,分别是Connection、Command、DataReader、DataAdapter16、计时器控件Timer的主要属性 Interval 用于定义时间间隔,其值以ms为单位;主要事件是 Tick 事件。17、ADO.net包含两个核心组件,分别是 Data Provider 和 DataSet 。18、在派生类中,通过 base 调用父类中的构造函数。19、已经某类的类名为MyClass,则该类的构造函数名为 _MyClass 。20、利用DataTabl

17、e对象更新数据库时,需要调用DataAdapter对象的 update 方法。21、方法重写时,基类的方法必须用 virtual ,派生类中的方法使用 override 关键词22、DataAdapter在数据源与DataSet之间起桥梁的作用,ADO.NET中提供两种DataAdapter,分别是 sqlDateAdapter 和oleAbDataAapter23、用于显示并操作来自于数据源信息的控件是 DataGridview24、在ADO.NET中,对SQL的Insert、Update、Delete语句利用Command对象的 ExecuteNonQuery 方法执行,select ma

18、x() from table语句,利用Command对象的 ExecuteScalar 方法执行,select * from table语句,利用Command对象的 ExecuteReader 执行25、菜单的 ShortcutKeys 属性用于设置与菜单项相关的快捷键。三、判断1、在C#中,程序的执行总是从Main方法开始。( )2、在C#中,装箱操作是将值类型转化为引用类型( )3、在C#中,接口中的方法声明时需要定义方法体。( )4、在C#中,所有类都是直接或间接地继承System.Object类而得来的。( )5、属性必须同时定义get访问器和set访问器。( )6、静态方法属于类,

19、可以通过对象名调用。( )7、使用base可以在基类中调用父类中的构造方法。( )8、异常类对象均为System.Exception类的对象( )9、 DataAdapter对象的Fill( )方法用于向数据集Dataset中填充数据。( )10、在C#中,任何方法都不能实现多继承。( )11、使用接口可以实现多重继承,在类中给出接口的具体实现。( )12、对象的this引用是该对象本身的引用。( )13、派生类可以继承基类的所有成员。( )14、SqlDataReader对象可以通过调用构造函数创建。( )15、在C#中,子类不能继承父类中用private修饰的成员变量和成员方法。( )16

20、、this可以在构造函数、方法、属性访问器中使用( )。17、菜单项标题中有含有带下划线的字符,这是快捷键。( )18、方法按引用方式传递参数,可以保留对参数的修改。( )19、构造函数可以重载,可以有返回值,可以被重载( )。20、DataSet对象中的表可以和数据库中的表同名,也可以不同名。( )21、抽象方法必须在抽象类中定义,且没有方法体。( )22、Command对象可以执行SQL语句。( )23、在C#类中,this代表了当前类本身。( )24、使用DataReader对象读取数据时,可以对数据进行修改。( )25、抽象类不能实例化,只能作为基类派生子类。( )四、程序填空1、 下

21、面的程序用于输出10行10列的杨辉三角形,请将程序补充完整class yanghui static void Main( ) int, a = new int10, 10 ;/ 定义二维数组 int i, j; for (i = 0; i 10; i+) ai,0 = 1; ai, i = 1 ;/对角线元素值为1 for (i = 1; i 10; i+) for (j = 1; j i; j+) ai, j = ai - 1, j + ai - 1, j - 1 ; / 得到其他位置的元素值 for (i = 0; i 10; i+) for (j = 0; j =i; j+) Conso

22、le.Write(0 ,ai,j); Console,Write(n”); 2、 下列程序用于输出Fibraci数列的前40个数,且每行输出4个数,请将程序补充完整class Fib static void Main( ) int i = 0; int f=new int 40 ;/定义数组,存放40个数 f0 =1; f1=1; for(i=2;i40;i+) fi=fi-1+fi-2 ; /确定数列中的每一项 for(i=0;i40;i+) if (i % 4 = 0) Console.wrire(“n”); Console.Write(0,15,fi); 3、在下列程序中,循环体执行的次

23、数为:( 1 )。public class Programpublic static void Main(String args) int i=0,n; do i+; n=i*i; while(n i);4、 下列程序执行后,变量z的值为( 11 )。public class Programpublic static void Main(String argd) int x,y,z; x=3;y=4;z=7;if(x4) z=9 else z=11;5、阅读以下程序,将程序补充完整。public abstract class graphics const double PI = 3.14 ;/

24、定义常量PI,值为3.14 public abstract void area( ); Public class retangle:graphcs /以抽象类作为基类派生子类rectangle public double h,w; public rectangle(double u,double v) h=u; w=v; public Override void area() /在子类中重写area方法 Console.WriteLine(矩形面积为:0 ,h * w); Public class circle:graphcs /以抽象类作为基类派生子类circlepublic double

25、r;public circle(double r) / 构造函数 this.r=r ;double void peremeter( ) Console.WriteLine(圆周长为:0 ,2 *PI * r );public class Myclass public static void Main( ) Circle ob1=new Circle(3); Console.WriteLine(圆形的周长是: +ob1.perimeter( ); Rectangle ob2 = new Rectangle(4.0,5.0); Console.WriteLine(矩形的面积是: +ob2.area

26、(); 6、阅读下面的程序,给出其运行结果。class Apublic virtual void One()Console.WriteLine(“基类One”); public void Two() Console.WriteLine(“基类Two”); class B : A public override void One()Console.WriteLine(“派生类 One”); new public void Two() Console.WriteLine(“派生类Two”); class Program static void Main(string args) B b = new

27、 B(); A a = new A(); a.One();( ) b.One();( ) a.Two();( )b.Two();( )a=b; a.One();( ) b.One();( ) a.Two();( )b.Two();( ) 基类One派生类 One基类Two派生类Two派生类 One派生类 One基类Two派生类Two7、阅读以下程序,将程序补充完整。 public Interface Figure /定义接口Figure double area( ); Public class Circle:Figure /在类Circle中实现接口 public const double P

28、I = 3.14; public double r; public Circle(double r) This.r=r ;/给字段r赋值 double Area( ) / 实现接口中的方法姓名班级学号座号密封线 return PI * r * r; Public class Rectangle:Figure /在类Rectangle中实现接口 double x, y; public Rectangle(double xt,double yt) x = xt; y = yr; double Area() / 实现接口中的方法 return x*y; 8、下面程序的功能是输出斐波那契数列的前10项

29、,请填空。class Fibo public static long fibonacii(int n) long c = 0; if ( n=1 |n=2 ) c = 1 ; else c =fibonacii(n-1)+ fibonacii(n-2); return c; class Program static void Main(string args) Console.WriteLine(Fibo.fibonacii( 10 ); 9、下面的程序实现成员的隐藏,请填空。class A public int x; public int X get return 0; public voi

30、d Print() Console.WriteLine(父类方法); class B : A public new int x; public new int X get return 0; public new void Print() Console.WriteLine(子类方法); class Program static void Main(string args) B b = new B(); b.Print(); /调用 子类 方法 A a = new A(); a.Print(); /调用 父类 方法 A c = (A)b; c.Print(); /调用 父类 方法 10、下面的

31、程序用于在数据库Northwind的数据表Categories中添加一条记录,请将程序补充完整。Class ProgramStatic void Main( )string conStr;conStr = Data Source =(local); ; / 定义数据源conStr += User ID= user ; / 定义要连接的数据库conStr += User ID= user ;conStr += Password = 123; SqlConnection con = new SqlConnection(constr) ;/创建SqlConnection对象conCon.Open(

32、);SqlCommand Cmd = new SqlCommand( );Cmd.Connection = con;Cmd. CommandText = strSQL ;/设置要执行的SQL语句Cmd. ExecuteNonquery( ); ;/执行SQL语句Con.Close(); 11、下面的程序中,表示把左边选中的某个项目移到右面的列表框中,表示把左面的所有项目一次性移到右边的列表框,请将程序补充完整。private void button1_Click(object sender, EventArgs e)/按钮 listBox2.Items.Add(listBox1.Selecte

33、dItem); / 向listBox2中添加列表项 listBox1.Items.Remove(listBox1.SelectedItem); /从listBox1中删除列表项Private void button2_click(object sender ,EventArgs e)/按钮int i; for (i = listBox1.Items.Count - 1; i = 0; i- -) / 对listBox1中的列表项逐个处理 listBox2.Items.Add(listBox1.ItemslistBox1.Items.Count - 1 - i); listBox1.Items.

34、RemoveAt(listBox1.Items.Count - 1 - i); 12、下面的程序是在示例数据库Northwind中的数据表Categories中删除一条记录,请填空。class Program static void Main(string args) SqlConnection cn = new SqlConnection( Data Source=(local);Initial Catalog=Northwind;Integrated Security=SSPI );/连接字符串 cn. Open() ;/打开数据库的连接 SqlCommand cmd = new SqlC

35、ommand(); cmd.Connection = ; cmd.CommandText = delete from Categories where CategoryID=9; cmd. ExecuteNonQuery() ;/执行SQL语句 cn. Close() ;/断开连接 五、编程1、应用类的继承性,通过基类和派生类,实现以下要求(1)创建正方形类Square,包含属性Side(边长),定义构造方法实现初始化,定义虚拟方法Area和Perimeter分别计算正方形的面积和周长。(2)通过继承创建正方体类Cube, 定义属性长和宽,构造方法,并重写基类中的Area方法计算正方体的表面积

36、,并定义方法Volume计算正方体的体积。 (3) 通过继承创建内切圆类Circle, 定义构造方法,重写基类中的Area和Perimeter方法计算内切圆的面积和周长(4)分别创建正方形类、正方体类、内切圆类的实例,调用方法进行计算并输出。using System;using System.Collections.Generic;using System.Linq;using System.Text;/创建正方形类public class square /定义正方形类 private double side; /定义字段 public double Side /定义属性 get return

37、 side; set side = value; public square(double side)/定义方法 this.side=side; public virtual double Perimeter()/定义虚拟方法 return 4*side; public virtual double Area() /定义虚拟方法 return side*side; public void print() Console.WriteLine(正方形变长:0,Side); Console.WriteLine(正方形周长:0,Perimeter(); Console.WriteLine(正方形面积:

38、0,Area(); /创建正方体类 public class cube:square /通过继承定义正方体类 public cube(double side) :base(side) /使用base调用父类的构造方法 public override double Area() /方法重写 return 6 * Side * Side ; public double Volum() return Side*Side*Side; public new void print() /方法隐藏 Console.WriteLine(正方体变长:0,Side); Console.WriteLine(正方体体

39、积:0,Volum(); Console.WriteLine(正方体表面积:0,Area(); /创建内切圆类public class Circle:square /通过继承定义内切圆类 const double PI=3.14; public Circle (double side) :base(side) /使用base调用父类的构造方法 public override double Perimeter()/方法重写 return PI*Side; public override double Area() /方法重写 return PI *Side *Side; public void

40、Print() /方法隐藏 Console.WriteLine(内切圆变长:0,Side/2); Console.WriteLine(内切圆周长:0:F2,Perimeter(); Console.WriteLine(内切圆面积:0:F2,Area(); /创建圆锥类public class Cone:square /通过继承定义圆锥体 private double hight; const double PI = 3.14; public double Hight get return hight; set hight = value; public Cone (double side,do

41、uble myheight) :base(side) hight = myheight; public override double Area() return PI * (Side / 2) * (Side / 2) + PI * (Side / 2) * Math.Sqrt(hight * hight + (Side / 2)*(Side / 2); public double Volume() return PI * (Side / 2) * (Side / 2) * hight / 3; public new void print() Console.WriteLine(圆锥底面半径:0,Side/2); Console.WriteLine(圆锥表面积:0:F2,Perimeter(); Console.WriteLine(圆锥体积:0:F2,Area(); public class Test static void

温馨提示

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

评论

0/150

提交评论