




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#练习题C#程序设计 王晨阳94、在C#中,( C )访问修饰符修饰的类成员只能由当前程序集访问。 a) publicb) protectedc) internald) private95、在ADO.NET中,SqlConnection 类所在的命名空间是( D )。 a) Systemb) System.Data96、在C#程序中,下列用来处理异常的结构,错误的是( A )。a) catchfinallyb) tryfinallyc) trycatchfinallyd) trycatch97、在ADO.NET中,执行数据库的某个存储过程,则至少需要创建( D )并设置它们的属性,调用合适的
2、方法a) 一个Command对象和一个DataAdapter对象b) 一个Command对象和一个DataSet对象c) 一个Connection对象和一个DataSet对象d) 一个Connetction对象和一个Command对象98、在C#中,如果要将数组作为一个方法的参数,则传递的是( C )。 a) 数组中的所有元素b) 数组的第一个元素c) 对象的引用d) 以上皆非99、下列关于C#中索引器理解正确的是( C )。a) 索引器的参数必须是两个或两个以上b) 索引器的参数类型必须是整数型c) 索引器不能声明为staticd) 以上皆非100、在C#中,装箱、拆箱操作发生在( C )。
3、a) 类与对象之间b) 对象与对象之间c) 引用类型与值类型之间d) 引用类型与引用类型之间二、填空题1、面向对象的语言具有_性、_继承_性、_多态_性。2、C#中,所有类型(包括所有的值类型和所有的引用类型)的基类是_object类_。3、当整数b赋值给一个object对象时,这个过程称为_装箱_。4、在C#中,关键字_base_用于从派生类中访问基类的成员。5、在C#中,通过_interface_关键字定义一个接口。6、在C#程序中,程序的执行总是从_Main_方法开始的。7、在C#中,表达式Math.Pow(2,-2)的值是_0.25_。8、在C#中,在实例化类对象时,系统自动调用该类的
4、_构造函数_进行初始化。9、在C#中,当一个对象离开它的作用域或不再被使用时,系统将会自动调用类的_析构函数_。10、在C#中,数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为_void_。11、在C#中,定义方法时使用的参数是_形参_,调用方法时使用的参数是_实参_。12、在C#中,在类的成员声明时,若使用了_protected_问修饰符,则该成员只能在该类或其派生类中使用。13、在C#中,类的静态成员属于_类_所有,非静态成员属于类的实例所有。14、在C#中,已知某类的类名为MyClass,则该类的析构函数名为_MyClass_.15、在C#中,在声明类时,在类名
5、前加_abstract_声明类只能作为其他类的基类,不能被实例化。16、在C#中,Exception类中_Message_属性用于获取描述当前异常的消息。17、在C#中,在循环执行过程中,希望当某个条件满足时退出循环,使用_break_语句。18、GDI是_ Graphics Device Interface _的英文缩写。19、在C#中的图形编程中,最常用的命名空间是_ System.Drawing _。20、在C#窗体编程中,如果想在文本框中输入密码,常指定_ PasswordChar _属性。21、Timer控件的_ Interval _属性用来设置定时器Tick事件发生的时间间隔。22
6、、在C#的switch语句中,在分支的最后应有一条_ break _语句。23、在try-catch-finally结构中,_ try _块封装了可能引发异常的代码。24、在try-catch-finally结构中,_ finally _块将一定被执行。25、在C#中,异常对象是从_ Exception _类派生而来的。26、在C#中,要给属性对应的数据成员赋值,通常要使用set访问器,set访问器始终使用隐式参数_ value _来设置属性的值。27、C#方法的参数有四种,分别是:值参数、引用参数、输出参数和数组型参数,在形参中声明数组型参数时应使用_ params _关键字。28、在C#中
7、,要声明一个委托类型MyFun1,该委托类型MyFun1可以引用一个采用int作为参数并且返回类型为int的方法,使用的语句是_ delegate int MyFun1(int n)_。29、设x为int型变量,请写出描述“x是奇数”的C#语言表达式_ x%2 != 0_。30、设x为int型变量,请写出描述“-10<=x<=10”的C#语言表达式_-10<=x && x<=10_。31、在C#中,要定义一个3行4列的单精度型二维数组f,使用的定义语句为_ float, f = new float3, 4;_。32、在C#中,要定义一个为int型的参数数
8、组a,数组有两行,第一行一个元素,第二行两个元素并赋初值3和4,使用的语句如下:int a=_ new int2_;a0= _ new int1_;a1= _ new int 3, 4 _;33、在C#中,值类型的数据存储在内存的_栈_中,引用类型的数据存储在内存的_堆_中。34、在C#中,bool类型只有两种值,分别是_true_和_false_。35、在C#中,要声明一个密封类(即禁止被继承),只需要在声明类时加上_sealed_关键字。36、在C#中,分部类可以将类的声明拆分到两个或多个源文件中,若要声明一个分部类,则类的每一部分的声明前都要用_partial_关键字修饰。37、在C#类
9、中,要声明一个虚拟方法,则在该方法定义前要加上_virtual_关键字修饰。38、在C#中,子类要隐藏基类的同名方法应使用关键字_new_;子类要重写基类的同名方法应使用关键字_override_。39、在.Net托管代码中我们不用担心内存漏洞,这是因为有了_垃圾回收器_。40、在.NET Framework下,所有的程序语言在编译时会先转为与平台机器无关的_中间语言_代码,再与元数据一同编译成可执行代码,就可以在任何安装有CLR的机器上运行;当程序被运行时,CLR会启动_实时编译器_进行实时编译,它会侦测硬件设备而将程序进一步转换成该机器的本机代码。41、ADO.NET对象模型中有5个主要的
10、组件,分别是_Connection_、_command_、DateSet、_DateAdapter_、DataAdapter。42、在C#中,引用命名空间使用_using_关键字。43、在C#中,有多种注释方法,其中_/_适用于单行注释,_/*/_适用于多行注释。44、在C#中,使用_const_关键字声明符号常量。45、在C#中,当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以 or 不可以)从T派生出新的类,_不可以_(可以 or 不可以)直接创建T的任何实例。46、在.NET中所有可序列化的类都被标记为_Serializable_。47、在面向对象中,多态分为编译
11、时多态(静态多态)和_运行时_多态(动态多态),其中编译时多态主要是通过_方法重载_实现的。48、C#程序设计中的错误主要分为两类:_语法错误_和运行错误。49、在VS 2005中,单步跟踪是指用跟踪来一次一条语句地执行代码,那么在调试过程中,单步跟踪的键盘快捷键是_F11_。50、CLR全称是_Common Language Runtime_。三、判断题1、在C#中,抽象类里面的方法一定不能含有实现。(×)2、运行.NET程序,不需要安装.NET Framework。(×)3、C#中委托只包含单点委托。(×)4、C#中已经不包含指针。()5、在C#中,类的静态成
12、员方法不能对非静态的数据成员进行操作。()6、在C#中,不允许使用未初始化的变量。()7、C#中标识符严格区分大小写。()8、在C#中,类和结构体都属于引用类型。(×)9、在C#中,static const int i = 1;该行代码能编译通过。(×)10、在C#中,Array类是所有数组类型的抽象基类型。()11、在C#中,类的构造函数可以重载,析构函数也可以重载。(×)12、在C#中,类的构造函数和析构函数都不能被继承。()13、在C#中,定义一个类时,声明了一个构造函数,则编译器不会再提供默认的构造函数。()14、在C#中,可以为类的字段指定默认值。()1
13、5、在C#中,在类的属性声明中,只有get访问器表明属性只能读出而不能写入。()16、在C#中,允许同一个类中存在两个或多个方法签名一样的成员方法。(×)17、在C#中,类的索引器必须作为实例成员。()18、C#不支持运算符重载。(×)19、C#不支持私有继承和保护继承。()20、在C#中,类的成员默认访问修饰符是private,而接口的成员默认访问修饰符是public。()21、在C#中,接口的成员声明中包含任何修饰符都是错误的。()22、在C#中,抽象类可以包含构造函数,接口不能包含构造函数。()23、在C#中,抽象类和接口都不能直接实例化。()24、在C#中,定义一个
14、类时,用户不可以声明一个析构函数,因为析构函数是由编译器自动生成的。(×)25、C#中抽象方法是隐式的虚方法,实现抽象方法用关键字override。()四、程序阅读1、阅读下面代码,写出输出结果:using System;public class Apublic static void Method1(out int x, params object objs) x = 0;foreach (object obj in objs)x += int.Parse(obj.ToString();public class Teststatic void Main()int x;A.Metho
15、d1(out x, 1, 2, 3, 4, 5);Console.WriteLine(x);输出结果:_1+2+3+4+5=15_2、阅读下面代码,写出输出结果:using System;public class Apublic static void Method1(ref int x, int y) int temp = x;x = y;y = temp;public class Teststatic void Main()int x = 1, y = 2;A.Method1(ref x, y);Console.WriteLine("x=0,y=1", x, y); 输
16、出结果:_x=2,y=2_3、阅读下面代码,写出输出结果:using System;public class Apublic A() Console.WriteLine("构造函数A"); A() Console.WriteLine("析构函数A"); ;public class B:Apublic B() Console.WriteLine("构造函数B"); B() Console.WriteLine("析构函数B"); ;public class Teststatic void Main()A a = new
17、 B();输出结果:_构造函数A_构造函数B_析造函数B_析构函数A_4、阅读下面代码,写出输出结果:using System;public class Apublic static int i = 1;public A() Console.WriteLine("构造函数A"); static A() Console.WriteLine("静态构造函数A"); A() Console.WriteLine("析构函数A"); ;public class Teststatic void Main()A a = new A();输出结果:_
18、静态构造函数A_构造函数A_析构函数A_5、阅读下面代码,写出输出结果:using System;public class Apublic static int i = 1;public A() Console.WriteLine("构造函数A"); static A() Console.WriteLine("静态构造函数A"); A() Console.WriteLine("析构函数A"); ;public class B : Apublic B() Console.WriteLine("构造函数B"); B()
19、 Console.WriteLine("析构函数B"); ;public class Teststatic void Main()A a = new B();输出结果:_静态构造函数A _ _构造函数A _ _构造函数B _析构函数B_析构函数A_6、阅读下面代码,写出输出结果:using System;public class Aprivate int length = 5;private string names = new string5; public int Lengthget return this.length; public string thisint i
20、ndexget return namesindex; set namesindex = value; ;public class Teststatic void Main()A a = new A();for (int i = 0; i < a.Length; i+) ai = i.ToString();Console.WriteLine(a3);输出结果:_3_7、阅读下面代码,写出输出结果:using System;public class Apublic void fun1(int n)Console.WriteLine("0的2倍=1", n, 2 * n);
21、 public void fun2(int n)Console.WriteLine("0的3倍=1", n, 3 * n); ;public delegate void mydelegate(int n);public class Teststatic void Main()A a = new A();mydelegate p = new mydelegate(a.fun1); p += a.fun2;p(1);输出结果:_1的2倍=2_1的3倍=3_8、阅读下面代码,写出输出结果:using System;public class Apublic void fun1(in
22、t n)Console.WriteLine("0的2倍=1", n, 2 * n); public void fun2(int n)Console.WriteLine("0的3倍=1", n, 3 * n); ;public delegate void mydelegate(int n);public class Testpublic static event mydelegate p; static void Main()A a = new A();p += new mydelegate(a.fun1); p(1);输出结果:_1的2倍=2_9、阅读下
23、面代码,写出输出结果:using System;class Apublic static int X;static A()X = B.Y + 1;class Bpublic static int Y = A.X + 1;static B() static void Main()Console.WriteLine("X=0,Y=1", A.X, 输出结果:_x=1,y=2_10、阅读下面代码,写出输出结果:using System;namespace paramclass Class1static int i = getNum();int j = getNum();static int num = 1; B.Y);static int getNum()return num;STAThreadstatic void Main(string args)Console.Wr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《护理专业解析与应用课件》课件
- 媒体广告投放交易合同具体规定
- 劳务派遣协议用工单位
- 畜牧养殖与饲料供应合作协议
- 车厂供应商合同协议
- 配货生意转让合同协议
- 转让工地临建房合同协议
- 购买木板材合同协议模板
- 产品销售代理协议条款细则
- 转让矿山破碎设备合同协议
- 系统集成方案
- 比亚迪催账制度
- 数学建模与系统仿真智慧树知到期末考试答案章节答案2024年南京理工大学
- 电力建设安全工作规程 第2部分:电力线路
- 导航栏式毕业开题答辩有内容模板
- 初中生涯规划班会课教案
- 睑缘解剖和睑缘炎病理机理课件
- 2024年湖南省高中英语学业水平考试合格考模拟试卷(答案详解)
- 常用元器件识别与测量课件
- 中国调味品协会:2024中国调味品行业可持续发展白皮书
- 乡村振兴视域下的乡村生态振兴路径及对策研究
评论
0/150
提交评论