C#期末考试题.docx
《C#期末考试题.docx》由会员分享,可在线阅读,更多相关《C#期末考试题.docx(81页珍藏版)》请在冰豆网上搜索。
C#期末考试题
C#模拟练习
///////////////////////////////////////////////////
一.选择填空
A1.面向对象的语言具有继承性、多态性和____性。
A)封装B)拆箱C)封闭D)逻辑
B2.以下叙述正确的是____
A)接口中可以有虚方法。
B)一个类可以实现多个接口。
C)接口可以被实例化。
D)接口中可以包含已实现的方法。
C3..当整数a赋值给一个object对象时,整数a将会被____。
A)拆箱B)丢失C)装箱D)出错
D4.floatf=-123.567F;inti=(int)f;i的值现在是_____?
A)123fB)123.56C)-123fD)-123
A5.委托声明的关键字是____。
A)delegateB)deleteC)publicD)interface
B6.在.Net中所有可序列化的类都被标记为____。
A)(serializable)B)[serializable]C)serializableD)serialize
C7.C#中的索引器类型应该是_____类型。
A)整型B)字符型C)任意类型D)数组
A8.在c#中using关键字的作用是_____
A)定义命名空间B)新建实例C)调用类D)引入命名空间
A9.在c#中new关键字的作用是_____
A)新建对象实例B)定义命名空间C)调用类D)引入命名空间
A10.在c#中利用sealed修饰的类_____。
A)密封,不能继承B)密封,可以继承C)表示基类D)表示抽象类
一、单项选择题(每小题2分,共20分)
1.在类作用域中能够通过直接使用该类的()成员名进行访问。
A.私有B.公用C.保护D.任何
答案:
D
2.小数类型(decimal)和浮点类型都可以表示小数,正确说法:
()
A.两者没有任何区别
B.小数类型比浮点类型取值范围大
C.小数类型比浮点类型精度高
D.小数类型比浮点类型精度低
答案:
C
3.能作为C#程序的基本单位是()。
A.字符B.语句C.函数D.源程序文件
答案:
B
4.可用作C#程序用户标识符的一组标识符是()。
A.voiddefine+WORDB.a3_b3_123YN
C.for-abcCaseD.2aDOsizeof
答案:
B
5.引用类型主要有4种:
类类型、数组类型、接口类型和()。
A.对象类型B.字符串类型C.委托类型D.整数类型
答案:
C
6.加载窗体时触发的事件是()。
A.ClickB.LoadC.GotFoucsD.DoubleClick
答案:
B
7.改变窗体的标题,需修改的窗体属性是()。
A.TextB.NameC.TitleD.Index
答案:
A
8.在C#中定义接口时,使用的关键字是()。
A.interfaceB.:
C.classD.overrides
答案:
A
9.在类的成员中,用于存储属性值的是()。
A.属性B.方法C.事件D.成员变量
答案:
成员变量
10.在C#中,定义派生类时,指定其基类应使用的语句是()。
A.InheritsB.:
C.ClassD.Overrides
答案:
B
11.类的以下特性中,可以用于方便地重用已有的代码和数据的是().
A.多态B.封装C.继承D.抽象
答案:
C
12.在Array类中,可以对一维数组中的元素进行排序的方法是()。
A.Sort()B.Clear()C.Copy()D.Reverse()
答案:
A
13.将变量从字符串类型转换为数值类型可以使用的类型转换方法是()。
A.Str()B.CcharC.CStr()D.int.Parse();
答案:
D
14.数据类型转换的类是()。
A.ModB.ConvertC.ConstD.Single
答案:
B
15.字符串连接运算符包括&和()。
A.+B.-C.*D./
答案A
16.先判断条件的当循环语句是()。
A.do...whileB.whileC.while...doD.do...loop
答案:
B
17.C#是一种面向()的语言。
A.机器B.过程C.对象D.事物
答案:
C
18.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A.int[]arr=newint[10,20]
B.int[]arr=intnew[10,20]
C.int[,]arr=newint[10,20]
D.int[,]arr=newint[20;10]
答案:
C
19.以下正确的描述是()。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
答案:
B
20.小数类型和浮点类型都可以表示小数,正确说法:
()
A.两者没有任何区别
B.小数类型比浮点类型取值范围大
C.小数类型比浮点类型精度高
D.小数类型比浮点类型精度低
答案:
C
21.在C#中,可以标识不同的对象的属性是()。
A.TextB.NameC.TitleD.Index
答案:
B
22.在VC#.Net中,可以标识不同的对象的属性是()。
A.TextB.NameC.TitleD.Index
答案:
B
23.在C#中定义接口时,使用的关键字是()。
A.interfaceB.:
C.classD.overrides
答案:
A
24.属于C#语言的关键字()。
A.abstractB.camelC.SalaryD.Employ
答案:
A
25.C#语言中,值类型包括:
基本值类型、结构类型和()。
A.小数类型B.整数类型C.类类型D.枚举类型
答案:
D
26.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A.int[]arr=newint[10,20]
B.int[]arr=intnew[10,20]
C.int[,]arr=newint[10,20]
D.int[,]arr=newint[20;10]
答案:
C
27.以下正确的描述是()。
A.函数的定义可以嵌套,函数的调用不可以嵌套
B.函数的定义不可以嵌套,函数的调用可以嵌套
C.函数的定义和函数的调用均可以嵌套
D.函数的定义和函数的调用均不可以嵌套
答案:
B
28.以下说法正确的是()。
A.接口可以实例化B.类只能实现一个接口
C.接口的成员都必须是未实现的D.接口的成员前面可以加访问修饰符
答案:
C
29.下列关于抽象类的说法错误的是()。
A.抽象类可以实例化B.抽象类可以包含抽象方法
C.抽象类可以包含抽象属性D.抽象类可以引用派生类的实例
答案:
A
30.下列关于重载的说法,错误的是()。
A.方法可以通过指定不同的参数个数重载
B.方法可以通过指定不同的参数类型重载
C.方法可以通过指定不同的参数传递方式重载
D.方法可以通过指定不同的返回值类型重载
答案:
D
31.关于虚方法实现多态,下列说法错误的是()。
A.定义虚方法使用关键字virtual
B.关键字virtual可以与override一起使用
C.虚方法是实现多态的一种应用形式
D.派生类是实现多态的一种应用形式
答案:
B
32.以下关于继承的说法错误的是()。
A..NET框架类库中,object类是所有类的基类
B.派生类不能直接访问基类的私有成员
C.protected修饰符既有公有成员的特点,又有私有成员的特点
D.基类对象不能引用派生类对象
答案:
D
33.继承具有(),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。
A.规律性B.传递性C.重复性D.多样性
答案:
B
34.下列说法中,正确的是()。
A.派生类对象可以强制转换为基类对象
B.在任何情况下,基类对象都不能转换为派生类对象
C.接口不可以实例化,也不可以引用实现该接口的类的对象
D.基类对象可以访问派生类的成员
答案:
A
6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是().
A.Exists()B.GetFiles()C.GetDirectories()D.CreateDirectory()
答案:
B
2.StreamWriter对象的下列方法,可以向文本文件写入一行带回车和换行的文本的是()。
A.WriteLine()B.Write()C.WritetoEnd()D.Read()
答案:
A
3.建立访问键时,需在菜单标题的字母前添加的符号是()。
A.!
B.#C.$D.&
答案:
D
4.在C#.Net中,用来创建主菜单的对象是()。
A.MenuB.MenuItemC.MenuStripD.Item
答案:
C
5.下面所列举的应用程序中,不是多文档应用程序的是()
A.WordB.ExcelC.PowerPointD.记事本
答案:
D
7.下面所列举的应用程序中,不是多文档应用程序的是()
A.WordB.ExcelC.PowerPointD.记事本
答案:
D
5.在Array类中,可以对一维数组中的元素查找的方法是()。
A.Sort()B.BinarySearch()C.Convert()D.Index()
答案:
B
1.在对SQLServer数据库操作时应选用(a)。
a)SQLServer.NETFramework数据提供程序;
b)OLEDB.NETFramework数据提供程序;
c)ODBC.NETFramework数据提供程序;
d)Oracle.NETFramework数据提供程序;
2.下列选项中,(c)是引用类型。
a)enum类型
b)struct类型
c)string类型
d)int类型
3.关于ASP.NET中的代码隐藏文件的描述正确的是(a)
a)Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。
编程逻辑唯一与用户界面不同的文件中。
该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。
b)项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。
c)项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
d)以上都不正确。
4.以下描述错误的是(a)
a)在C++中支持抽象类而在C#中不支持抽象类。
b)C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
c)在C#中可使用new修饰符显式隐藏从基类继承的成员。
d)在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。
5.C#的数据类型有(b)
a)值类型和调用类型;
b)值类型和引用类型;
c)引用类型和关系类型;
d)关系类型和调用类型;
6.下列描述错误的是(d)
a)类不可以多重继承而接口可以;
b)抽象类自身可以定义成员而接口不可以;
c)抽象类和接口都不能被实例化;
d)一个类可以有多个基类和多个基接口;
7.在DOM中,装载一个XML文档的方法(b)
a)save方法
b)load方法
c)loadXML方法
d)send方法
8.下列关于构造函数的描述正确的是(c)
a)构造函数可以声明返回类型。
b)构造函数不可以用private修饰
c)构造函数必须与类名相同
d)构造函数不能带参数
9.以下是一些C#中的枚举型的定义,其中错误的用法有(a)
a)publicenumvar1{Mike=100,Nike=102,Jike}
b)publicenumvar1{Mike=100,Nike,Jike}
c)publicenumvar1{Mike=-1,Nike,Jike}
d)publicenumvar1{Mike,Nike,Jike}
10.int[][]myArray3=newint[3][]{newint[3]{5,6,2},newint[5]{6,9,7,8,3},newint[2]{3,2}};myArray3[2][2]的值是(d)
a)9
b)2
c)6
d)越界
11.接口是一种引用类型,在接口中可以声明(a),但不可以声明公有的域或私有的成员变量
a)方法、属性、索引器和事件;
b)方法、属性信息、属性;
c)索引器和字段;
d)事件和字段;
12.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。
服务器控件有两种类型,它们是(a)
a)HTML控件和Web控件
b)HTML控件和XML控件
c)XML控件和Web控件
d)HTML控件和IIS控件
13.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为(b)
a)<%@RegisterTagPrefix=“Mike”TagName=“Space2”Src=“myX.ascx”%>
b)<%@RegisterTagPrefix=“Space2”TagName=“Mike”Src=“myX.ascx”%>
c)<%@RegisterTagPrefix=“SpaceX”TagName=“Space2”Src=“Mike”%>
d)以上皆非
14.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(c)
a)insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
b)ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
c)Select操作的Sql语句只能由ExecuteReader()方法来执行;
d)ExecuteReader()方法返回一个DataReder对象;
15.下列ASP.NET语句(b)正确地创建了一个与SQLServer2000数据库的连接
a)SqlConnectioncon1=newConnection(“DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB”);
b)SqlConnectioncon1=newSqlConnection(“DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB”);
c)SqlConnectioncon1=newSqlConnection(DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB);
d)SqlConnectioncon1=newOleDbConnection(“DataSource=localhost;IntegratedSecurity=SSPI;InitialCatalog=myDB”);
16.Winform中,关于ToolBar控件的属性和事件的描述不正确的是(d)
a)Buttons属性表示ToolBar控件的所有工具栏按钮
b)ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
c)DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
d)ButtonClick事件在用户单击工具栏任何地方时都会触发
17.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(d),必要时还要设置参数尺寸
a)大小;
b)上限;
c)初始值;
d)类型;
18.如果将窗体的FormBoderStyle设置为None,则(B)
a)窗体没有边框并不能调整大小;
b)窗体没有边框但能调整大小;
c)窗体有边框但不能调整大小;
d)窗体是透明的;
19.如果要将窗体设置为透明的,则(b)
a)要将FormBoderStyle属性设置为None;
b)要将Opacity属性设置为小于100%得值;
c)要将locked属性设置为True;
d)要将Enabled属性设置为True;
20.下列关于C#中索引器理解正确的是(c)
a)索引器的参数必须是两个或两个以上
b)索引器的参数类型必须是整数型
c)索引器没有名字
d)以上皆非
21.下面描述错误的是(D)
a)窗体也是控件;
b)窗体也是类;
c)控件是从窗体继承来的;
d)窗体的父类是控件类;
22.要对注册表进行操作则必须包含(D)
a)System.ComponentModel命名空间;
b)System.Collections命名空间;
c)System.Threading命名空间;
d)Microsoft.Win32命名空间;
23.要创建多文档应用程序,需要将窗体的(d)属性设为true
a)DrawGrid;
b)ShowInTaskbar;
c)Enabled;
d)IsMdiContainer;
24.如果设treeView1=newTreeView(),则treeView1.Nodes.Add("根节点")返回的是一个(a)类型的值
a)TreeNode;
b)int;
c)string;
d)TreeView;
25.下面关于XML的描述错误的是(d)
a)XML提供一种描述结构化数据的方法;
b)XML是一种简单、与平台无关并被广泛采用的标准;
c)XML文档可承载各种信息;
d)XML只是为了生成结构化文档;
26.以下的C#代码,试图用来定义一个接口:
[运行代码][复制到剪贴板][±]CODE:
publicinterfaceIFile
{
intA;
intdelFile()
{
A=3;
}
voiddisFile();
}
关于以上的代码,以下描述错误的是(A,B,d)
a)以上的代码中存在的错误包括:
不能在接口中定义变量,所以intA代码行将出现错误;
b)以上的代码中存在的错误包括:
接口方法delFile是不允许实现的,所以不能编写具体的实现函数;
c)代码voiddisFile();声明无错误,接口可以没有返回值;
d)代码voiddisFile();应该编写为voiddisFile(){};
30.声明一个委托publicdelegateintmyCallBack(intx);则用该委托产生的回调方法的原型应该是(b)
a)voidmyCallBack(intx);
b)intreceive(intnum);
c)stringreceive(intx);
d)不确定的;
1、在C#中,下列常量定义正确的是(B)。
(选择一项)
A.ConstdoublePI3.1415926;
B.Constdoublee=2.7
C.definedoublePI3.1415926
D.definedoublee=2.7
2、以下c#代码:
usingSystem.Threading;
classApp
{
publicstaticvoidMain()
{
Timertimer=newTimer(newTimerCallback(CheckStatus),null,0,2000);
Console.Read();
}
staticvoidCheckSatus(Objectstate)
{
Console.WriteLine("正在进行检查...")
}
}
在使用代码创建定时器对象的时候,同时指定了定时器的事件,运行时将每隔两秒打印一行“正在运行检查...”,因此,TimerCallback是一个(A)。
(选择一项)
A.委托
B.结构
C.函数
D.类名
3、在.NET中,从属性的读写特性上来进行分类,可以划分为以下三种,除了(D)。
(选择一项)
A.只读属性
B.只写属性
C.读写属性
D.不可读不可写的属性
4、阅读以下的C#代码:
publicclassTEApp
{
publicstaticvoidThrowException()
{
thrownewException();
}
publicstaticvoidMain()
{
try
{
Console.WriteLine("try");
ThrowException();
}
catch(Exceptione)
{
Console.WriteLine("catch");
}
finally
{
Console.WriteLine("finally");
}
}
}
请问代码运行结果是(A)。
(选择一项)
A.try catch finally
B.try
C.try catch
D.try finally
5、在C#中,一个类(B).(选择一项)
A.可以继承多个类
B.可以实现多个接口
C.在一个程序中只