1.在.NET中,.NET Framework 由()组成。
A.FCL和CLRB.CLS和CTS和D.C#.NET 和 2.在C#中,下列的描述,错误的是()A.类默认的访问修饰符是internal,类成员的访问修饰符是privateB.实例方法既可以调用实例方法,也可以调用静态方法;反之,静态方法可以调用静态方法,也可以调用实例方法C.构造方法可以重载D.命名空间用来将具有相同功能的相似类从逻辑上进行分组3.在C#中,下列关于OOP的描述,错误的是()A.OOP的三大特征是封装、继承和多态B.继承是面向对象编程中提供的子类可以沿用父类某些行为和特征的一种方式,使用“:”实现继承C.多态是指具有相同父类的不同子类对于同一个方法的不同实现D.通过sealed修饰的类可以被继承,但通过sealed修饰的方法不能被重写4.以下关于C#中方法重载的说法正确的是()(选两项)A.如果两个方法名称相同,返回类型相同,参数类型不同,那它们可以构成方法重载B.如果两个方法名称相同,返回类型相同,参数数量不同,那它们可以构成方法重载C.如果两个方法名称相同,参数数量相同,返回类型不同,那它们可以构成方法重载D.如果两个方法名称不同,参数数量不同,返回类型不同,那它们可以构成方法重载5.在C#语法中,如果在派生类中对基类的虚方法进行重写,要求在声明中使用()关键字A.overrideB.newC.virtualD.base6.在C#中,下列关于类和接口的说法正确的是()A.类和接口都可以实现多重继承B.类和接口都可以定义方法、属性和字段C.抽象类和接口中都不能有方法实现D.继承了接口的类必须实现接口中的方法7.在C#中,下列关于集合的说法正确的是()A.ArrayList和Hashtable的容量都可以动态改变,ArrayList的Count属性获取ArrayList中的实际元素个数,Hashtable的Count属性获取Hashtable中包含的键/值对数目B.ArrayList可以通过下标访问元素,下标从1开始; Hashtable用于存储键/值对,可通过key访问valueC.ArrayList中可以添加重复的元素;Hashtable中可以添加相同的键值D.在使用ArrayList和Hashtable时,必须先指定初使容量8.在C#中,下列关于数据类型的说法中错误的是()A.值类型转换为引用类型的过程称为装箱,反之称为拆箱;装箱和拆箱会降低程序执行的效率,应尽量避免使用B.枚举一般在命名空间中定义,不能在类中定义,关键字用enumC.int、Boolean、double都是值类型;string、类、接口、数组都是引用类型D.out和ref 都是采用引用方式传递参数,out侧重返回,ref侧重修改9.在C#中,下列关于文件操作的说法中错误的是()A.使用File和FileInfo类可以方便地对文件进行创建、移动、复制和删除等操作B.使用Directory和DirectoryInfo类可以方便地对目录进行创建、移动、复制和删除等操作C.如果要对文件进行操作,必须先引用System.IO命名空间D.StreamReader对象通常用来对文件进行写操作;StreamWriter对象通常用来对文件进行读操作10.三层架构中的数据访问层描述,正确的是()A. 数据访问层就是对数据库的数据进行查询B. 表现层可以直接依赖数据访问层C. 数据访问层依赖于业务逻辑层D. 数据访问层可以访问各种类型的数据源,不仅仅是SQL SERVER 数据库11.下列代码中,能够遍历出DataSet对象中第一个DataTable对象中的数据的选项是()A. DataSet ds = new DataSet();DataTable dt=ds.Tables[0];foreach(DataRow r in dt.Rows){foreach(DataColumn c in dt.Columns){Console.Write(r[c]+" ");}Console.WriteLine();}B. DataSet ds = new DataSet();DataTable dt=ds.Tables[0];foreach(DataColumn c in dt.Columns){foreach(DataRow r in dt.Rows){Console.Write(c[r]+" ");}Console.WriteLine();}C. DataSet ds = new DataSet();DataTable dt=ds.Tables[1];foreach(DataRow r in dt.Rows){foreach(DataColumn c in dt.Columns){Console.Write(r[c]+" ");}Console.WriteLine();}D. DataSet ds = new DataSet();DataTable dt=ds.Tables[1];foreach(DataColumn c in dt.Columns){foreach(DataRow r in dt.Rows){Console.Write(c[r]+" ");}Console.WriteLine();}12.实现对数据库全部的增删改查任务的DBHelper类在( )层定义。
A. UIB. BLLC. DALD. Model13.在C#中,下列关于调用SQL Server存储过程的说法中,错误的是()A. 通过Command对象设置存储过程相关信息,包括存储过程名称、参数名称、参数类型、参数方向等B. 存储过程中的每一个参数都对应一个SqlParameter对象C. 如果存储过程返回的是结果集,可以通过Command对象的ExecuteReader()方法读取返回的数据,也可以通过SqlDataAdapter对象将返回的数据填充到DataSet中D. 输入、输出参数在调用存储过程前必须给它们赋值14.现有一存储过程pro_count,具体实现如下:create proc pro_count@cNO varchar(50),@count int outputasbeginselect @count=count(*) from t_Student where stuName=@cNOend通过调用时,下列()项代码可以完善命令对象的设置SqlCommand cmd=new SqlCommand();cmd.Connection=conn;cmd.Parameters.Add(para1);cmd.Parameters.Add(para2);A. mandType = CommandType.StoredProcedure;mandText = "pro_count";SqlParameter para1 = new SqlParameter("@cNO",SqlDbType.Int);SqlParameter para2 = new SqlParameter("@count",SqlDbType.Int);para2.Direction = ParameterDirection.Output;B. mandText = "pro_count";SqlParameter para1 = new SqlParameter("@cNO",SqlDbType.Int);para1.value=1;SqlParameter para2 = new SqlParameter("@count",SqlDbType.Int);para2.Direction = ParameterDirection.Output;C. mandType = CommandType.StoredProcedure;mandText = "pro_count";SqlParameter para1 = new SqlParameter("@cNO",SqlDbType.Int);para1.value=1;SqlParameter para2 = new SqlParameter("@count",SqlDbType.Int);para2.Direction = ParameterDirection.Output;D. mandType = CommandType.Text;mandText = "pro_count";SqlParameter para1 = new SqlParameter("@cNO",SqlDbType.Int);para1.value=1;SqlParameter para2 = new SqlParameter("@count",SqlDbType.Int);para2.Direction = ParameterDirection.Output;15.在SQL查询时,使用()子句指出的是分组后的条件?A. WHEREB.HAVINGC.WHEND.GROUP16.下面关于命名空间的说法错误的是()。
A.命名空间用于组织相关的类和其他类型B.命名空间可以嵌套C.在同一个应用程序中,不同的命名空间中不允许有相同名称的类ing关键字用于引用命名空间17.在Exception类中,获取异常的详细信息的属性是()。
A. MessageB. StackTraceC. TargeSiteD. Source18.在C#中创建一个类对象时,系统最先执行的是()中的语句。
A.main方法B.构造函数C.初始化函数D.字符串函数19.以下关于抽象类的说法错误的是()。
A.抽象类多数作为基类使用B.抽象类可以定义字段、属性、包含有实现的方法C.在抽象方法声明中可以使用static或virtual修饰D.抽象类可以实现多态20.分析如下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,overrideC.virtual,不填D.virtual,override21.在C#语言开发的程序中,分析以下代码段,则执行后的输出结果为()。