c#期末复习题答案.docx

上传人:b****6 文档编号:8607929 上传时间:2023-02-01 格式:DOCX 页数:18 大小:126.69KB
下载 相关 举报
c#期末复习题答案.docx_第1页
第1页 / 共18页
c#期末复习题答案.docx_第2页
第2页 / 共18页
c#期末复习题答案.docx_第3页
第3页 / 共18页
c#期末复习题答案.docx_第4页
第4页 / 共18页
c#期末复习题答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

c#期末复习题答案.docx

《c#期末复习题答案.docx》由会员分享,可在线阅读,更多相关《c#期末复习题答案.docx(18页珍藏版)》请在冰豆网上搜索。

c#期末复习题答案.docx

c#期末复习题答案

一、选择题

●Command类的常用方法中用来执行Sql语句,多用于聚合函数,返回单一值的是:

(B)

A、ExecuteNonQuery()B、ExecuteScalar()C、ExecuteReader()D、Execute()

●与MSSQLServer2000数据库连接时,应采用ADO.net中的___B___数据对象

A、ADOConnectionB、SqlConnectionC、OleDbConnectionD、OrcaleConnection

●水晶报表的后缀名是___A___

A、rptB、rbtC、brtD、prt

●关系运算符均是双目运算符,它们的优先级正确的是__D__

A、<小于<=B、<=小于>C、>=大于!

=D、优先级相同

●枚举型的常量的值默认是_A___类型

A、intB、longC、ushortD、double

●在VisualC#中主要用来为对象分配存储空间,完成初始化操作(如给类的成员变量赋值等)的函数是___D___

A、析构函数B、main函数C、sub函数D、构造函数

●关于try…catch…finally语句的说明中,不正确的是__D__

A、catch块可以有多个B、finally块是可选的C、catch块也是可选的D、可以只有try块

●要使窗体刚运行时,显示在屏幕的中央,应设置窗体的___B__属性

A、WindowStateB、StartPositionC、CenterScreenD、CenterParent

●与Oracle数据库连接时,应采用ADO.net中的__D____数据对象

A、ADOConnectionB、SqlConnectionC、OleDbConnectionD、OrcaleConnection

●在过程内定义的变量(不在语句块中)为__C____

A.全局变量B.模块级变量C.局部变量D.静态变量

●下列语句创建了___D___个string对象?

string[,]str=newstring[3,4];

A.3B.4C.7D.12

●以下类MyClass的属性count属于___A__属性.

classMyClass

{

inti;

intcount

{

get{returni;}

}

}

A.只读B.只写C.可读写D.不可读不可

●在ADO.NET中,DataAdapter对象下列___B__属性用于将DataSet中的新增记录保存到数据源?

A.SelectCommand

B.InsertCommand

C.UpdateCommand

D.DeleteCommand

●C#中的类型float对应.NET类库中的___A___。

A.System.SingleB.System.DoubleC.System.Int32D.System.Int64

●C#语言中声明类的关键字是___B___。

A.usingB.classC.namespaceD.Main

●在C#中,用户自定义方法的访问修饰符为___D___时候,该方法能在类及其子类中使用。

A.abstractB.privateC.staticD.protect

●要退出应用程序,可以使用下列的__A__语句。

A.Application.Exit()B.Application.Exit

C.Application.Close()D.Application.Close

●int[]x=newint[4];那么,数组X在内存中占用的字节数为___D___。

A.8B.12C.14D.16

●为了能够在程序中捕获所有的异常,在catch语句的括号中使用的类名为____A_____。

A.Exception

B.DivideByZeroException

C.FormatException

D.以上三个均可

●关于继承的理解,错误的是__A____。

A.子类可以从父类中继承其所有的成员。

B.无论是否声明,子类都继承自object(System.object)类。

C.假如,类M继承自类N,而类N又继承自类P,则类M也继承自类P。

D.子类应是对基类的扩展。

子类可以添加新的成员,但不能除去已经继承的成员的的定义。

●在C#应用程序中,新建一个字符串变量str,并赋初值“Tom’slivingroom”,下面A是正确的写法。

A.stringstr=”Tom\’slivingroom”;B.stringstr=”Tom’slivingroom”;

C.stringstr(”Tom\’slivingroom”);D.stringstr(”Tom\’’slivingroom”);

●下面所列的选项中,属于类的成员个数是___D___。

①属性 ②域(字段) ③构造函数和析构函数 ④成员常量 ⑤事件 ⑥索引

A.3个B.4个C.5个D.6个

●ADO.NET使用___B____命名空间的类访问SQLServer数据库中的数据。

A.System.Data.OleDbB.System.Data.SqlClient

C.System.Xml.SerializationD.System.IO

●在继承中,当子类的成员声明中,隐藏与父类成员同名的成员。

这时,须使用的关键字是B。

A.voidB.newC.baseD.static

●下面集合中,相当于队列,遵循“后进先出”原则的是C。

A.ArrayListB.StackC.QueueD.Hashtable

●在使用C#语言开发Windows程序的过程中,如果需要显示如下图所示的提示消息,应当使用的代码是D。

A.MessageBox.Show(“请输入用户名和密码!

”,“输入提示”,MessageBoxButtons.OK,MessageBoxIcon.Information);

B.MessageBox.Show(“输入提示”,“请输入用户名和密码!

”,MessageBoxButtons.OKCancel,MessageBoxIcon.Information);

C.MessageBox.Show(“请输入用户名和密码!

”,“输入提示”,MessageBoxButtons.YesNo,MessageBoxIcon.Information);

D.MessageBox.Show(“请输入用户名和密码!

”,“输入提示”,MessageBoxButtons.OKCancel,MessageBoxIcon.Information);

●下列的____D___不是构造函数的特征。

A.构造函数的函数名和类名相同

B.构造函数可以重载

C.构造函数可以带有参数

D.可以指定构造函数的返回值

●变量openFileDialog1引用一个OpenFileDialog对象。

为检查用户在退出对话框时是否单击了“打开”按钮,

应检查openFileDialog1.ShowDialog()的返回值是否等于___A____。

A.DialogResult.OKB.DialogResult.YesC.DialogResult.NoD.DialogResult.Cancel

●.NET的目的就是将A作为新一代操作系统的基础,对互联网的设计思想进行扩展。

A.互联网.B.WindowsC.C#D.网络操作系统

●C#的数据类型有B

A.值类型和调用类型;B.值类型和引用类型;

C.引用类型和关系类型;D.关系类型和调用类型;

●在C#中,下列能够作为变量名字的是__C___。

A.3aB.charC._cD.a@

●要退出应用程序,可以使用下列的__A_语句。

A.Application.Exit()B.Application.Exit

C.Application.Close()D.Application.Close

●int[]x=new[10]{1,2,3,4,5,6,7,8,9,10};,那么,数组X在内存中占用的字节数为___C___。

A.10B.20C.40D.80

●类的定义中__C__描述了类的行为能力。

A.属性。

B.字段。

C.方法。

D.命名空间。

●C#采用__A__技术隐藏类的内部数据。

A.属性。

B.命名空间。

C.方法。

D.静态成员。

●在继承中,当子类的成员声明中,隐藏与父类成员同名的成员。

这时,须使用的关键字是___B____。

A.voidB.newC.baseD.static

●在定义类时,可采用___C____修饰符使派生类能够对某个方法进行进一步改进。

A.publicB.overrideC.virtualD.static

●C#程序中,try…catch结构能够处理___B____错误。

A.语法B.运行时C.逻辑D.拼写

●一个DataSet对象包括一组A对象,该对象代表创建在DataSet中的表。

A.DataTableB.DataRelation

C.DataColumnD.DataRow

●下面集合中,相当于堆栈,遵循“先进后出”原则的是B。

A.ArrayListB.Stack

C.QueueD.Hashtable

●为了能够在程序中捕获格式异常,在catch语句的括号中使用的类名为___C______。

A.ExceptionB.DivideByZeroExceptionC.FormatExceptionD.以上三个均可

●以下那个方法是数据阅读器DataReader用于读取数据集中某一列数据的方法__A____

A.getXXX方法B.Read方法C.Close方法D.NextResult方法

●变量openFileDialog1引用一个OpenFileDialog对象。

为检查用户在退出对话框时是否单击了“取消”按钮,应检查openFileDialog1.ShowDialog()的返回值是否等于__D_____;

A.DialogResult.OKB.DialogResult.Yes

C.DialogResult.NoD.DialogResult.Cancel

 

二、填空题

●在.Net托管代码中我们不用担心内存漏洞,这是因为有了___GC___。

●在.Net中所有可序列化的类都被标记为__[serializable]___。

●C#提供了3种循环语句,用来实现重复性的任务:

while、dowhile、for。

●在C#中要产生随机数需要使用Random类

●C#提供了四种参数传递方式:

值传递、引用传递、输出参数、参数数组。

●委托声明的关键字是__delegate____。

●TextBox控件的Text属性是用来获取或设置一个字符串,该字符串指示控件中的文本。

●RichTextBox控件的Find方法用来从RichTextBox控件中查找指定的字符串。

●ListBox控件的SelectedChanged事件是在列表框中改变选中项时发生。

●、在switch语句中,每个语句标号所含关键字case后面的表达式必须是整型或字符型。

●布尔类型(bool)只含有两个数值:

true和____false_____

●运算符必须有运算对象,根据运算对象的多少可以把运算符分成单目运算符、双目运算符和____三目运算符_____。

●在C#中,表达式Math.Pow(2,-2)的值是____1/4_____。

●在C#的Windows应用程序中Timer控件的Interval属性是用来设置定时器两次Tick事件发生的时间间隔,以ms为单位。

●数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其说明符默认应为___void_____。

●定义一个逐字字符串时,需要在字符串的前边加____@____符号。

●程序中的第一条语句“usingSystem;”的作用是___对System命名空间的引用______。

●若希望在菜单标题显示为“工具[T]”,应该把菜单项的Text属性设置为__工具[&T]___。

●在C#中,可以使用数据适配器对象的___Fill__方法从数据源中提取数据以填充数据集。

●在访问数据库时,ADO.NET有两种模式:

保持连接模式和断开模式模式。

●为了便于管理多个项目,在VS2005集成环境中引入了___解决方案_____,用来对企业级解决方案涉及的多个项目进行管理。

●continue语句的作用是__结束本次循环,开始下一次循环______。

●异常对象均是由___Exception_____类派生而来的。

●.NET框架包括公共语言运行库(CommonLanguageRun,CLR)和.NET基类库。

●、C#是一个块结构的编程语言,这些代码块使用“{”和“}”来界定

●变量间的类型转换有两种形式:

隐式转换、显式转换。

●C#的每个字符占2个字节。

●C#提供了4个命令,来控制循环的执行:

break、continue、goto、return。

●在C#中,可以使用两种方式来注释代码:

单行注释和多行注释。

单行注释使用“//”来标记注释;多行注释时,C#以“/*”标记注释的起始位置,以“*/”标记注释结束。

●C#的每条语句都用一个;来结束

●以下代码片断strings="abcdefg";stringss=s.Remove(2,3);returnss;的返回值是“abfg”

●声明变量时,使用static关键字声明的变量为静态变量。

●PictureBox控件的Image属性是用来设置控件要显示的图像。

●TextBox控件的SelectedText属性是用来获取或设置一个字符串,该字符串指示控件中当前选定的文本。

●在ADO.NET中,SqlDataReader对象用于从数据库中检索只读的数据。

假设存在一个SqlCommand对象command,SqlDataReaderreader=command.ExecuteReader();语句可以创建一个SqlDataReader对象。

●在WinForms高级控件中,StatusStrip控件常常放在窗体的底部,用来显示一些基本信息。

 

三、简答题

●与C和C++相比,C#具有什么特点?

●使用ADO.net开发数据库应用程序的一般步骤?

●C#中都有那些数据类型(列举5种)?

●类中都有那些成员(列举5种)?

●隐式转换

答案:

这种转换可以在所有情况下进行,执行的规则非常简单,编译器可以自动进行,不

需要编程人员参与

●显式转换

答案:

这种转换只能在某些特定情况下进行,转换规则比较复杂,需要编程人员的参与。

●类

答案:

通常把具有同样性质和功能的东西所构成的集合叫作类。

●方法

答案:

方法是对象能够执行的一些操作,它体现了对象的功能。

●break、continue、goto、return的区别

答案:

break——立即终止循环;continue——立即终止当前循环,而进行下一次循环;

goto——可以跳出循环,到已经标记好的代码位置上;return——跳出循环及其所包含的函数体。

●ADO.NET的特点

答案:

1、使用ADO.NET访问数据库,分两种模式:

连接模式和断开模式.

2、在ADO.NET中引入一个新的,断开模式用的数据集对象DataSet

3、在ADO.NET中提供了对XML的完全支持

●比较参数传递中的值参数和引用参数的区别

答案:

定义值类型参数的方式很简单,只要注明参数类型和参数名即可。

当该方法被调用时,便会为每个值类型参数分配一个新的存储空间,然后将对应的表达式运算的值复制到该内存控件。

在方法中更改参数的值不会影响到这个方法外的变量。

与传递值类型参数不同,引用类型的参数并没有再分配内存空间,实际上传递的是指向原变量的指针,即引用参数和原变量保存在同一地址。

●委托的使用方法,一般分为那三步

答案:

(1)声明委托

(2)定义一个委托类型的实例变量,让该实例变量指向某一个具体的方法

(3)调用委托类型变量指向的方法。

其一般格式如下

●while循环非常类似于do循环,它和do循环的重要区别。

答:

while循环先判断条件然后执行循环体dowhile循环先执行循环体再判断条件

●在连接字符串中DataSource(Server)、InitialCatalog(Database)和Integratedsecurity代表的意义。

DataSource:

数据服务器名称

DataBase:

要链接的数据库名称

Integratedsecurity:

身份验证方式

●BindingSource组件、BindingNavigator控件、DataGridView控件作用

BindingSource组件的作用之一就是实现了统一的数据源绑定表达式。

BindingNavigator控件提供了一个ToolStrip导航条,该导航条默认提供第一条记录、最后一条记录、上一条记录、下一条记录的按钮,以及添加和删除记录的按钮。

DataGridView控件提供了强大而灵活的显示与编辑二维表数据的方法,大大简化了复杂的数据操作。

●请解释何为重载(overload),何为过载(override)

答:

重载是方法的名称相同。

但是方法的参数类型或数量不同,进行多次重载以适应处理不同类型数据的需要。

过载是进行基类中函数的重写。

是面向对象的程序设计语言中实现类的继承过程中多态的机制。

其外在表现是

override+具有相同的名称及参数类型的方法,但是方法的实现是不同的。

●C#中的委托是什么?

事件是不是一种委托?

答:

⑴委托是C#中用来处理如C、C++语言中函数指针可以完成的功能的机制,可以把一个方法作为参数代入另一个方法。

所以委托可以理解为指向一个函数的引用,但是委托是完全面向对象的,是委托类的实例及类型安全的。

⑵事件是一种特殊的委托,以实现类实例之间的消息通知功能。

●试解释何为LINQ技术?

LINQ是.NETFramework3.5提供的一种新的针对数据源操作的技术,它提供一种新的数据查询模型,使用

相同的基本编码模型来查询和转换各种数据源,并定义了一组通用标准的查询运算符,使用这些运算符可以

投影、筛选及遍历数据源数据,同时具有完全的类型检查能力,可以大大提高数据处理能力和开发效率。

●在VisualC#.NET中定义标识符时,必须符合以下命名规则。

(1)标识符必须是由字母、数字、下划线组成的一串符号,且必须以字母或下划线开头。

(2)由于标识符代表对象的名称,所以用户在选取标识符时应选取有意义的字符序列,以便在程序中能从标识符看出所标识的对象,从而便于阅读和记忆。

(3)用户定义的标识符不能与C#语言的关键字同名

●简要谈一下您对微软.NET构架下remoting和webservice两项技术的理解以及实际中的应用。

答:

WS主要是可利用HTTP,穿透防火墙。

而Remoting可以利用TCP/IP,二进制传送提高效率。

remoting是.net中用来跨越machine,process,appdomain进行方法调用的技术,对于三层结构的程序,就可以使用remoting技术来构建.它是分布应用的基础技术.相当于以前的DCOM。

WebService是一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实施。

WebService令基于组件的开发和web的结合达到最佳,基于组件的对象模型。

●什么是XML?

答:

XML(eXtensibleMarkupLanguage)即可扩展标记语言,是从SGML中简化修改出来的。

标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。

如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。

●ADO.NET数据访问的两种模式

答:

保持连接模式进行数据访问时必须时刻与数据库保持连接,主要使用的类是DBConnection,DBCommand,DataReader.

断开模式取得数据后可以与数据库断开连接,数据消费者主要使用DataSet存储数据,在客户端进行处理,然后在需要的时候更新数据源。

●.net的错误处理机制是什么?

答:

.net错误处理机制采用try->catch->finally结构,主要有以下三种实现形式:

(1)try->catch

(2)try->finally(3)try->catch->finally

发生错误时,异常类的实例会被层层抛出,直到找到匹配的Catch为止。

如果没有匹配的catch语句,则程序异常终止。

无论何种情况,finally中的语句都会被执行。

●abstractclass和interface有什么区别?

答:

声明方法的存在而不去实现它的类被叫做抽像类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract类的实例。

不能有抽像构造函数或抽像静态方法。

Abstract类的子类为它们父类中的所有抽像方法提供实现.

●接口(interface)是抽像类的变体。

在接口中,所有方法都是抽像的。

多继承性可通过实现这样的接口而获得。

接口中的所有方法都是抽像的,没有一个有程序体。

接口只可以定义staticfinal成员变量。

接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。

然后,它可以在实现了该接口的类的任何对像上调用接口的方法。

 

四、读程序写结果

●以下程序的输出结果是___6___。

classProgram

{

staticvoidMain(string[]args)

{

inta=5,b=4,c=6,d;

Console.WriteLine("{0}",d=a>b?

(a>c?

a:

c):

b);

}

}

●以下程序的输出结果是x=0y=0

__x=0y=-1____。

classA

{

publicA()

{PrintFields();}

publicvirtualvoidPrintFields(){}

}

classB:

A

{

intx=1;

inty;

publicB()

{

y=-1;

}

publicoverridevoidPri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1