收藏 分销(赏)

D3(C试题).doc

上传人:a199****6536 文档编号:6659722 上传时间:2024-12-19 格式:DOC 页数:12 大小:111.01KB 下载积分:8 金币
下载 相关 举报
D3(C试题).doc_第1页
第1页 / 共12页
D3(C试题).doc_第2页
第2页 / 共12页


点击查看更多>>
资源描述
--------------------------------------装--------------------------------------订------------------------------线---------------------------------------- 1. 在C#中创建一个类对象时,系统最先执行的是()中的语句。 A. main方法 B. 构造函数 C. 初始化函数 D. 字符串函数 2. 在c#语言开发的程序中,以下关于抽象类的说法错误的是()。 A. 抽象类多数作为基类使用 B. 抽象类可以定义字段、属性、包含有实现的方法 C. 在抽象方法声明中可以使用static或virtual修饰 D. 抽象类可以实现多态 3. 在开发C#程序中,我们会大量的使用类和对象,以下关于类和对象说法正确的是( )。 A. 类的实例被称为对象 B. 对象可以被继承 C. 类可以归纳为对象 D. 在对象的基础上,将状态和行为实体化为类的过程称为实例化 4. 分析如下C#代码,如果输出结果是“Dog Eating…….”,下划线需要填写的代码是()。 abstract class Animal { public____void Eat(); } class Dog:Animal { public____void Eat() { Console.WriteLine(“Dog Eating…..”); } public static void Main(string[] args) { Animal animal = new Dog(); animal.Eat(); } } A. abstract,不填 B. abstract,override C. virtual,不填 D. virtual,override 5. 在C#语言开发的程序中,分析以下代码段,则执行后的输出结果为()。 public static void Main(String [] args) { nt m =100; int n =200; Sub(out m,n); Console.WriteLine(m + "\n"+n); Add(ref m, ref n); Console.WriteLine(m + "\n"+n); } private static void Sub(out int a,int b) { a =10; b = 20; if(a<b) { a =1000; b =0; } int result = a-b; Console.WriteLine(result); } private static void Add(ref int a , ref int b) { int result = a+b; Console.WriteLine(result); } A. 1000 1000 200 3000 1000 2000 B. 1000 1000 200 1200 1000 200 C. 1000 100 200 300 100 200 D. 1000 1000 0 1000 1000 0 6. 在C#中,可通过Thread类中Priority属性设置线程的优先级,在未设置该属性的情况下,线程的默认优先级为()。 A. Lowest B. BelowNormal C. Default D. Normal 7. 使用()关键字修饰类,可避免类被继承。 A. delegate B. abstract C. sealed D. enum 8. 分析如下c#代码,根据类的继承关系,运行后的输出结果是() public class Person { public Person () { Console.Write("不得入内!"); } private int age=0; public int Age { get{return age;} set { if (value>=18) Console.Write("成年人!"); else Console.Write("非成年人!"); age=value; } } } public class Test { static void Main() { Person p = new Person(); p.Age = 17; } } A. 非成年人!不得入内! B. 不得入内!成年人! C. 不得入内! D. 不得入内!非成年人! 9. 在C#类中,()允许相同名称,不同参数个数或者参数类型的方法存在。 A. 方法重写 B. 方法重载 C. 方法取消 D. 方法覆盖 10. 在C#中,下面关于静态方法和实例方法描述错误的是:() A. 静态方法仅能使用类名调用,实例方法需要使用类的实例来调用。 B. 静态方法可以直接调用实例方法 C. this和base关键字不能用在静态方法中 D. 静态方法实例化对象时初始化,实例方法调用前初始化 11. 在.NET中,.NET Framework 由( )组成。 A. FCL和CLR B. CLS和CTS C. ADO.NET和ASP.NET D. WinForm 和 ASP.NET 12. 在C#中,以下()是int的基类。 A. Int32 B. Object C. ValueType D. Int16 13. 在C#中,以下代码运行的结果为( )。 abstract class BaseClass { public virtual void MethodA() { } public virtual void MethodB() { } } class Class1: BaseClass { public void MethodA(string arg) { } public override void MethodB() { } } class Class2: Class1 { new public void MethodB() { } } class MainClass { public static void Main(string[] args) { Class2 o = new Class2(); o.MethodA(); } } A. BaseClass.MethodA B. Class2.MethodA C. Class1.MethodA D. 编译错误 14. 在C#中,下列代码输出结果是()。 class Test { public enum WeekDays { Mon, Tue, Wed, Thur, Fir, Sta, Sun } static void Main() { WeekDays week = (WeekDays)2; Console.WriteLine(week); } } A. 2 B. Tue C. Wed D. 编译错误 15. 下面关于命名空间的说法错误的是()。 A. 命名空间用于组织相关的类和其他类型 B. 命名空间可以嵌套 C. 在同一个应用程序中,不同的命名空间中不允许有相同名称的类 D. using关键字用于引用命名空间 16. 在C#中通过装箱和拆箱实现值类型和引用类型之间的相互转换,下列有()处实现了装箱。 int age = 5; object o = age; o=10; age = (int)o; object oage = age; A. 1 B. 2 C. 3 D. 4 17. 在C#中,当引用类型为()时,表明没有引用任何对象。 A. Empty B. Null C. Nothing D. 0 18. 在C#中,下面关于静态方法和实例方法描述错误的是:() A. 静态方法仅能使用类名调用,实例方法需要使用类的实例来调用。 B. 静态方法可以直接调用实例方法 C. this和base关键字不能用在静态方法中 D. 静态方法实例化对象时初始化,实例方法调用前初始化 19. 以下关于C#代码说法正确的是()。 class MyAnimals { private int bodyTemp=98; public int BodyTemp { get { return bodyTemp; //1 } } } public class Test { static void Main() { MyAnimals a = new MyAnimals(); Console.WriteLine(a.BodyTemp); //2 a.bodyTemp=56; //3 } } A. 代码1错误 B. 代码2错误 C. 代码3错误 D. 代码无错误 20. 在C#中,关于构造函数的说法正确的是( )。 A. 在一个类中允许有多个构造函数,构造函数在创建对象时调用 B. 在一个类中允许有多个不同名称的构造函数 C. 一个类至少声明有一个构造函数 D. 一个类只能有一个构造函数 21. 在C#中,下列代码的运行结果是( )。 public class DaysInYear { private int days; static void Main() { DaysInYear newDaysInYear = new DaysInYear(); Console.WriteLine(newDaysInYear.days - 1); } } A. -1 B. 0 C. 1 D. 编译错误 22. 在C#中,下列( )关键字用于重写基类的虚拟方法。 A. override B. new C. base D. virtual 23. 在C#中,关于抽象类,以下说法正确的是()。 A. 若抽象类中的方法都是非抽象方法时,抽象类可以实例化 B. 子类可以同时实现多个抽象类 C. 抽象类中的所有方法必须都不能有实现 D. 抽象类中的抽象方法不能有实现 24. 在C#中,一个类()。 A. 可以继承多个类 B. 可以实现多个接口 C. 只能被一个子类继承 D. 只能实现一个接口 25. 在C#中,对于以下代码的说法正确的是()。 class TestIndex { private int[] Elements=new int[100]; public int this[int index] //1 { get { return Elements[index]; } set { Elements[index]=value; } } static void Main(string [] arges) { TestIndex Ti=new TestIndex (); Ti[2]=1 ; //2 Console.Write(Ti[0].ToString()+""); //3 } } A. 代码行1不正确。 B. 代码行2不正确。 C. 代码行3不正确。 D. 代码运行时正确输出:0 26. 在C#中,Hashtable类所在的命名空间是()。 A. System.Threading B. System.IO C. System.Collections D. System 27. 在C#中,以下程序的输出结果是()。 class FirstClass { public double Div(int num1,int num2) { return num1/num2; } public int FirstMethod() { return 10; } public int SecondMethod() { return 3; } } class SecondClass:FirstClass { public new int SecondMethod() { return 200; } } public class TestMain { public static void Main() { FirstClass fc=new SecondClass(); Console.WriteLine("Value=" + fc.Div(fc.FirstMethod(), fc.SecondMethod())); } } A. Value=0 B. Value=3 C. Value=3.333 D. Value=0.05 28. 在C#中,下列关于抽象类和接口的说法,正确的是()。 A. 在抽象类中,所有的方法都是抽象方法 B. 继承自抽象类的非抽象子类必须实现其父类(抽象类)中的所有抽象方法 C. 在接口中,可以有方法实现,抽象类中不能有方法实现 D. 一个类可以从多个接口继承,也可以从多个抽象类继承 29. 在C#中,以下代码运行的结果是()。 Hashtable hsStu = new Hashtable(); hsStu.Add(1,2); hsStu.Add(2,4); hsStu.Add(3,6); IDictionaryEnumerator stuEnum = hsStu.GetEnumerator(); int total = 0; while(stuEnum.MoveNext()) { total+=(int)stuEnum.Value; } Console.WriteLine(total); A. 6 B. 12 C. 18 D. 24 30. 在C#中,下面属于值类型的数据类型是()。 A. int[] B. ArrayList C. double D. Object 31. 关于以下C# 代码的说法正确的是()。 public class Child { public static void Cry() { Console.WriteLine("每个孩子都会哭"); } public static void Main() { Cry(); //1 Child ch=new Child(); //2 ch.Cry(); //3 } } A. 代码1错误 B. 代码2错误 C. 代码3错误 D. 没有错误 32. 在C#中,定义如下一个枚举,以下说法正确的是()。 public enum ABC { Monday,TuesDay=1,WednesDay } A. 存在错误。Monday明确进行赋值后将没有错误 B. 存在错误。TuesDay不赋值将没有错误 C. 存在错误。Monday和WednesDay明确进行赋值后没有错误 D. 代码无错误。 33. 下列C#代码中使用了抽象类的概念,关于这段代码的说法中正确的是()。 abstract class WashingMachine { public WashingMachine() { } abstract public void Wash(); } class MyWashingMachine : WashingMachine { public override void Wash() { Console.WriteLine("Wash"); } public static void Main() { WashingMachine wm=new WashingMachine(); wm.Wash(); } } A. 代码编译将产生错误,因为抽象类中的Wash方法没有实现 B. 代码编译将产生错误,因为派生类中存在一个与基类同名的方法 C. 代码编译将产生错误,因为不能创建抽象类的对象 D. 代码编译正确,并且输出“Wash” 34. 在C#中,关于以下代码说法正确的是()。 public class Test { public static void Main() { String str = Convert("2"); Console.WriteLine(str); } public int Convert(String str) { int a = int.parse(str); return a * a; } public String Convert(string str) { return str; } } A. 代码正确输出结果“2” B. 代码正确输出结果“4” C. 代码正确输出结果“6” D. 代码编译错误。 35. 在C#中,下列代码的运行结果是()。 public enum Level { High,middle,loe } public class Teacher { public Level teaLevel; public Teacher (Level lev) { this.teaLevel=lev; } public static void Main() { Teacher tea=new Teacher(Level.middle); Console.WriteLine((int)tea.teaLevel); } } A. -1 B. 0 C. 1 D. 2 36. 在C#中可以使用枚举变量来避免不合理的赋值。以下情况中可以使用枚举变量的是( )。 A. 学生类中的性别属性 B. 圆形类的半径属性 C. 计算圆形面积的II值 D. 以上都可以 37. 构造函数是C# 中类的特殊方法。它用于创建实例时对对象进行初始化,一下代码片段中的构造函数定义正确的是( )。 A. class Hello { public Hello() { Console.WriteLine("Hello!"); } } B. class Hello { public Test() { Console.WriteLine("Hello!"); } } C. class Hello { public int Hello() { Console.WriteLine("Hello"); } } D. class Hello { public Hello(string str) { return str; } } 38. 在.NET中,接口是一种规范和标准,它可以约束类的行为。下列接口定义正确的是()。 A. public interface IBicycle { public void ride(); } B. public interface IBicycle { void ride(){}; } C. public interface IBicycle { string Type { get; set; } } D. public interface IBicycle { string color; } 39. 关于C#中的虚拟方法,以下说法正确的是()。 A. 使用static修饰 B. 不能有方法体 C. 可以被子类重写 D. 使用abstract 40. C#中,可以使用枚举变量来避免不合理的赋值,以下枚举定义中正确的是( )。 A. public enum Sex { mail,female, } B. public enum Sex { mail,female; } C. public Sex enum { mail,female, } D. public Sex enum { mail,female } 41. 下列关于操作数据库的说法中,错误的是( ) A. ExecuteNonQuery一般用来执行增、删、改语句 B. ExecuteScalar一般用来获取单行单列的值 C. 查询数据集时,一般将数据填充到DataSet D. 查询数据时,只能将数据填充到DataSet的方式来进行 42. 下面关于使用存储过程优点的说法中,错误的是( ) A. 提高了代码的重用性 B. 存储过程是预编译的,运行效率更高 C. 存储过程相对SQL语句可以减少网络传输 D. 存储过程比SQL语句更简洁 43. 下列关于三层架构的依赖关系的说法中,正确的是( ) A. 表示层依赖于业务逻辑层 B. 业务逻辑层依赖于数据访问层 C. 数据访问层依赖于业务逻辑层 D. 表示层、业务逻辑层、数据访问层均可依赖于实体层 44. ADO.NET的( )对象用来建立应用程序与数据库的连接 A. DataSet B. DataReader C. Connection D. Command 45. 在三层结构中ADO.NET数据访问类放在( )中使用 A. 表示层 B. 数据访问层 C. 业务逻辑层 D. 每一层都可以 46. DataSet相当于临时数据库,DataSet属于以下哪个命名空间( ) A. System.Data B. System.Data.SqlClient C. System.DataSet D. System.Sql.DataTable 47. 在.NET框架下开发三层架构应用程序时,以下代码最可能出现在( ) If (txtLogInID.Text.Trim()==””){ MessageBox.Show(“请输入用户名”); Txtloginid.Focus(); } 1 2 3 4 5 6 7 8 9 10 B B A B B D C D B B 11 12 13 14 15 16 17 18 19 20 A C C C C C B B C A 21 22 23 24 25 26 27 28 29 30 A A D B D C B B B C 31 32 33 34 35 36 37 38 39 40 D D C D C A A C C D 41 42 43 44 45 46 47 48 49 50 D D D C B A A A D D A. 表现层 B. 业务逻辑层 C. 数据访问层 D. 模型层 48. 在.NET框架下开发三层架构的数据库应用系统时,实体类的主要作用是( ) A. 封装信息 B. 扩展应用 C. 数据保存 D. 数据载体 49. 下列关于三层架构中的数据访问层描述,正确的是( ) A. 数据访问层就是对数据库的数据进行查询 B. 表现层可以直接依赖数据访问层 C. 数据访问层依赖于业务逻辑层 D. 数据访问层可以访问各种类型的数据源,不仅仅是SQL SERVER 数据库 50. 对于DataSet和DataReader区别说法错误的是( ) A. DataSet是断开式,保存在内存中的数据集 B. DataReader是连接式,数据读取完成之前不能断开连接,使用完毕后,必须关闭DataReader对象 C. DataReader是只进、只读的数据访问对象 D. DataSet比DataReader访问数据更快
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服