C#A卷Word格式.docx
- 文档编号:19808111
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:20
- 大小:80.17KB
C#A卷Word格式.docx
《C#A卷Word格式.docx》由会员分享,可在线阅读,更多相关《C#A卷Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
C、ClickD、ModifiedChanged
5、一个MDI应用程序可以有同一个子窗体的多个实例,通过()属性,可以得到当前具有焦点的子窗体或返回最近活动的子窗体。
A、ActiveMDIChildB、ActiveChild
C、ActiveControlD、MdiParent
福州大学2008~2009学年第一学期考试A卷
6、下列说法错误的是()。
A、调用File类的静态方法CreateText可以创建指定文件并返回一个StreamReader对象
B、调用String类的Split方法可以按给定的分隔符分隔一个字符串
C、若给File类的静态方法Open传递的文件模式参数为Truncate,则在指定文件存在的情况下打开文件并将其截断为零字节大小,否则抛出异常
D、对FileStream对象调用Seek方法可以将文件指针定位至读写操作的位置
7、下列有关线程同步的说法错误的是()。
A、当一个线程写入一个变量,同时有其他线程读取或写入这个变量时,就应同步
该变量
B、通过对指定对象的加锁和解锁可以同步代码段的访问
C、在对象上加锁和解锁会带来某些系统开销
D、两个线程以相同顺序请求两把对象锁,可能导致死锁
8、下列不属于ADO.NET的特点的是()。
A、依赖于连续的活动连接
B、数据保持为XML
C、使用数据集缓存数据
D、数据集独立于数据源
9、若采用OleDb模式与数据库建立连接,为使DataAdapter对象向数据库提交数据集的修改时,能自动生成更新数据库的SQL语句,应创建()类对象。
A、OleDbDataAdapterB、OleDbDataReader
C、OleDbCommandBuilderD、OleDbConnection
10、下列关于ASP.NET说法错误的是()。
A、在服务器系统上需要有ASP.NET运行库
B、ASP.NETWeb页面带有扩展名.aspx
C、客户机对Web页面的第一次请求会启动ASP.NET分析器
D、.NET运行库的编译器所生成的程序集在服务器对客户端的第一次请求返回响应后被删除掉,所以在客户端的后续请求中,需要重新编译程序集
11、从工具箱中拖放到Web页面窗体设计器上的标准控件在.aspx文件中拥有以()开头的元素。
A、formB、asp
C、ascD、ucl
12、若要使Web窗体上的文本框中输入有效的电子邮件地址,应对该文本框使用()验证控件进行验证。
A、RequiredFieldValidatorB、RangeValidator
C、RegularExpressionValidatorD、CompareValidator
13、下列关于ASP.NET的状态管理技术说法正确的是()。
A、ViewState保存的状态存储在客户端上,且状态可保存在多个不同的页面中
B、Cookie保存的状态存储在服务器上,分为临时Cookie和永久Cookie
C、会话状态与浏览器会话有关,客户在服务器上第一次打开ASP.NET页面时,会
话就开始了
D、高速缓存状态在所有的客户端上共享,这个状态在服务器重启动之前都是有效的
14、若要创建一个Web页面,使用户通过输入用户名和密码进行登录,则应在该页面中添加()安全控件。
A、LoginB、LoginStatus
C、LoginViewD、CreateUserWizard
15、下列关于WebParts通信的说法错误的是()。
A、WebPartManager负责初始化和管理WebParts之间的通信
B、利用Connection区域可以把数据从一个WebParts控件传送给同一个页面的另一个WebParts控件
C、WebPartManager需要从消费者处获得可以访问的接口,并将其传送给提供者
D、消费者可以调用提供者的方法接收数据
16、下列关于网络编程类的说法错误的是()。
A、使用WebClient类可以把文件传输给FTP服务器
B、WebClient类利用了WebRequest和WebResponse类,且WebClient只能通过FTP协议访问文件
C、如果要使用UDP协议,应使用UdpListener和UdpClient类编写UDP服务器和
客户端程序
D、如果要独立于协议,或需要对TCP和UDP协议进行更多的控制,可以对.NET
进行套接字编程
17、下列关于方法的修饰符说法错误的是()。
A、用new修饰派生类中的某个方法,表示该方法隐藏了从基类继承来的同名方法
B、用virtual修饰的方法是虚拟方法,该方法的方法体一定为空,可以在派生类中重写该方法
C、用abstract修饰的抽象方法没有具体实现
D、用sealed修饰的方法是密封方法,必须同时包含override修饰符,以防止它的派生类进一步重写该方法
18、下列关于构造函数和析构函数的说法错误的是()。
A、实例构造函数不能被继承
B、静态构造函数仅对静态数据成员进行初始化,且都是私有的
C、如果要使资源在不需要时立即被释放,可以重写Dispose()方法
D、析构函数在垃圾回收器回收对象的存储空间之前调用,故可以预计析构函数的运行时刻
19、下列关于委托的说法错误的是()。
A、委托是引用类型,对委托的使用要先定义后实例化
B、委托实例化的实参方法中的参数和返回类型必须和委托的定义一致
C、将多个方法组合到一个委托中,会顺序调用委托中的每个方法
D、对委托实例化的参数只能是静态方法
20、若要设置菜单项的快捷键,应设置菜单项的()属性。
A、ShortcutKeysB、CheckOnClick
C、CheckedD、DropDownItems
二、填空题(每空1分,共15分)
注:
填空题中涉及到填写方法的空格,写出方法名即可。
1、C#应用程序代码被编译为,并存储在装配件中。
2、对于使用下列语句int[]a={1,2,3,4};
声明并初始化的数组a,使用表达式
可得到数组a的长度。
3、当RadioButton的选中状态改变时,触发事件。
4、列表框中获取被选中项(若选中多项则是第一项)的索引的属性是。
5、在当前线程ta中对另一个线程tb调用Join方法,即tb.Join();
则当前线程ta进入
状态。
6、在C#程序中采用OleDb模式与某个Access数据库文件创建连接后,对OleDbCommand对象调用方法可使数据库执行一个命令但不返回结果集。
7、DataAdapter对象调用方法向数据库提交数据集的修改。
8、服务器端通过控件的属性判断控件的值是否发生了改变,若改变则调用
相应的事件处理程序。
9、应使用关键字指定一个参数可变长的参数表。
10、在Web站点中,主页的文件扩展名是。
11、System.Net命名空间中的Dns类提供的静态方法可以把主机名映射为IP地址。
12、属性定义中的set访问器有一个隐式的值参数,名称为,该参数的类型与属性类型相同。
13、Exception的属性可以获取导致错误的应用程序或对象的名称。
14、将按钮的属性设置为false,可以使按钮变为灰显。
15、对对话框对象调用方法可显示一个对话框。
三、判断题(每小题1分,共10分)
1、在C#中,结构是一种引用类型。
()
2、C#允许同名覆盖,即允许在内层作用域内声明与外层作用域同名的变量。
3、System.Threading.Monitor类提供的静态方法boolWait(Object)可以释放指定对象上的锁并阻塞当前线程,直到它重新获取该锁。
4、数据集中的数据只能来自于数据库。
5、用户控件可以静态或动态方式添加到Web页面中。
6、匿名用户允许使用的所有个性化配置值都可以迁移到授权用户的配置中。
7、接口仅可有一个基接口。
8、当Timer控件处于运行状态时,每当到达指定时间间隔,就会触发Tick事件。
9、可以将属性作为ref或out参数传递。
10、C#不允许重载=运算符。
四、综合题(共45分)
1、阅读程序并回答问题。
(共8分)
usingSystem;
classMyClass
{
privatestring[]data=newstring[5];
publicstringthis[intindex]
{
get
returndata[index];
}
set
data[index]=value;
}
classMyClient
{
publicstaticvoidMain()
MyClassmc=newMyClass();
mc[0]="
Rajesh"
;
mc[1]="
A3-126"
mc[2]="
Snehadara"
Console.WriteLine("
{0},{1},{2}"
mc[0],mc[1],mc[2]);
Console.ReadLine();
(1)上述程序能否通过编译?
若不能,请指出需要改正的地方。
(3分)
(2)写出上述程序(若需修改,即修改后的程序)的执行结果。
(5分)
2、以下程序根据雇员的工资对雇员进行排序。
排序方法Sort采用冒泡排序法对对象数组进行排序,对象数组中的对象可以为任意类类型,并根据该对象指定的比较方式进行排序。
该程序将排好序后的雇员信息输出,运行结果如下图所示。
请补充以下代码。
在横线处填一条语句或一个表达式。
(共10分)
usingSystem;
//以下语句定义委托,名称为CompareOp,该委托指向实现两个对象大小比较的方法
①;
(1.5分)
classBubbleSorter
staticpublicvoidSort(object[]sortArray,②)(1分)
/*该方法使用冒泡排序法对对象数组sortArray中的各对象按照指定的比较方式进行排序,请填写方法体(5分)*/
③
classEmployee
privatestringname;
privatedecimalsalary;
publicEmployee(stringname,decimalsalary)
this.name=name;
this.salary=salary;
publicoverridestringToString()
returnstring.Format(name+"
{0:
C}"
salary);
publicstaticboolCompare(objecte1,objecte2)
Employeeee1=(Employee)e1;
Employeeee2=(Employee)e2;
return(ee1.salary>
ee2.salary)?
true:
false;
classTest
staticvoidMain(string[]args)
Employee[]employees={newEmployee("
王平"
2000),newEmployee("
李明"
1970),newEmployee("
孙丽"
1800),newEmployee("
付新"
1950),newEmployee("
林笑"
1900)};
/*以下语句实例化委托,委托对象名取为EmployeeCompareOp,使其指
向Employee类的Compare方法,该方法定义了雇员的比较方式*/
④;
(1.5分)
//以下语句对employees数组中的雇员按照指定的比较方式进行排序
⑤;
(1分)
for(inti=0;
i<
employees.Length;
i++)
Console.WriteLine(employees[i].ToString());
Console.ReadLine();
3、若在Access的db1数据库中创建了以下三张表。
若要在终端屏幕上输出每个学生的基本信息及其选课情况和课程信息(输出结果如下图所示),请补充以下代码。
(每空1分,共15分)
staticvoidMain(string[]args)
{
OleDbConnectionthisConnection=newOleDbConnection(
@"
Provider=Microsoft.Jet.OLEDB.4.0;
DataSource=E:
\db1.mdb"
);
①;
//创建数据集对象,名称取为thisDataSet
/*以下三条语句创建三个数据适配器对象,向数据库提交查询命令,查询student、选课、Course三个表的内容*/
OleDbDataAdapterstuAdapter=②;
OleDbDataAdaptergrdAdapter=③;
OleDbDataAdaptercrsAdapter=④;
/*以下三条语句使用相应的数据适配器对象向数据集填充查询结果,分别将
student、选课、Course三个表的查询结果填充到名称为Stu、Grd、Crs的三个
数据表中*/
⑤;
⑥;
⑦;
/*以下语句定义Stu和Grd两个数据表间的关系,关系名取为stuGrds*/
DataRelationstuGrdRel=⑧
;
/*以下语句定义Crs和Grd两个数据表间的关系,关系名取为crsGrds*/
DataRelationcrsGrdRel=⑨
foreach(DataRowstuRowin⑩)
/*输出学生的基本信息*/
Console.WriteLine("
姓名:
"
+stuRow["
姓名"
]+"
年龄:
年龄"
]
+"
性别:
性别"
职业:
职业"
]);
/*输出该学生选修的每门课程的课程名、学分、周学时和选修该门课程的成绩*/
foreach(DataRowgrdRowin)
课程名:
++
学分:
++
周学时:
成绩:
+);
thisConnection.Close();
Console.Write("
Programfinished,pressEnter/Returntocontinue:
”);
Console.ReadLine();
4、以下程序从指定的FTP服务器上下载目录列表。
窗体设计如下图所示。
三个文本框的Name属性分别取为textServer、textUsername、textPassword。
三个文本框的Text属性分别取为ftp:
//、Anonymous和空。
列表框的Name属性取为listFiles。
该程序实现的功能如下图所示,在第一个文本框中输入服务器URI资源名,在第二个和第三个文本框中分别输入用户名和密码,点击Open按钮后,在列表框中显示出指定服务器下的所有目录。
(以下每空1分,共12分)
(1)为使第三个文本框在运行时将键入字符显示为’*’,应将文本框的①
属性设置为’*’。
(2)将该Windows应用程序命名为FtpClient,将Form1.cs重命名为FtpClientForm.cs,在该文件中导入System.Net和System.IO命名空间。
在FtpClientForm类中添加以下方法,用stream参数中的所有数据填充列表框。
设流中的目录列表以换行符’\n’分隔,请补充下列代码。
privatevoidFillDirectoryList(Streamstream)
//以下语句在stream的基础上创建字符输入流对象,名称取为reader
②;
stringcontent=③;
//读取流中的所有内容
string[]files=④;
//将目录列表以’\n’分隔为多条目录
//将目录填充到列表框中
⑥;
//关闭字符输入流reader
(3)下列代码给Open按钮添加事件处理程序,用来将指定URI对应服务器中所有目录显示在列表框中。
在客户端使用WebRequest和WebResponse与服务器通信。
请补充下列代码。
privatevoidOnOpen(objectsender,EventArgse)
{
FtpWebResponseresponse=null;
Streamstream=null;
try
//创建请求对象,对象名为request
⑦;
//为request设置身份验证信息
⑧;
//将发送到FTP服务器的命令设置为列出目录
⑨;
//向服务器发出请求并获取响应对象
response=⑩;
//通过响应对象获取包含FTP服务器响应数据的输入流
stream=;
//用从服务器返回的目录列表填充列表框
;
catch(Exceptionex)
MessageBox.Show(ex.Message,"
ErrorFTPClient"
MessageBoxButtons.OK,MessageBoxIcon.Error);
finally
if(response!
=null)
response.Close();
if(stream!
stream.Close();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C#A卷.docx