C#软件工程师入职测试试题

匿名网友 匿名网友 发布于: 2015-08-30 00:00:00
阅读 141 收藏 0 点赞 0 评论 0

一、选择题

1. 使用白盒测试方法时,确定测试数据应根据( )和指定的覆盖标准

A. 程序的内部逻辑      B. 程序的复杂结构

C. 使用说明书      D. 程序的功能

 

2.在XML中,DTD文件如下配置<!ELEMENT 联系人(姓名,EMAIL*)>其中的*号,表示的意思是( )

A. EMAIL出现一次              B. EMAIL不出现

C. EMAIL不出现或出现多次      D. EMAIL不出现或出现一次

 

3.在一个DTD声明中定义了一个元素为

<!ELEMENT 联系人(姓名,EMAIL)>

<!ELEMENT 姓名(#PCDATA)>

<!ELEMENT EMAIL(#PCDATA)>

那么如下的XML文档片段中合法的是( )

A. <联系人>

<姓名>sa</姓名>

<Email>sa@wish-edu.com</Email>

</联系人>

B. <联系人>

<Email>sa@wish-edu.com</Email>

<姓名>sa</姓名>

</联系人>

C. <联系人>

<姓名><姓>sa</姓><名>sa</名></姓名>

<Email>sa@wish-edu.com</Email>

</联系人>

D. <联系人>

<Email>sa@wish-edu.com</Email>

<姓名 value = “sa”></姓名>

</联系人>

4.在C#中,以下哪些变量的命名是错误的( )

A. int i      B. int No.1      C. int Int      D. int @int

 

5. 在.NET中,以下关于命名空间描述正确的是( )

A. 命名空间不可以进行嵌套

B. 在一个.CS文件中,只能存在一个命名空间

C. 使用private修饰的命名空间,其内部的类也不许访问

D. 命名空间可以使用别名,例如using C1=N1

 

6.关于C#中继承的概念,下列说法错误的是( )

A. 构造函数和析构函数都不能被继承

B. 除了构造析构函数,其他成员无论访问方式,都能被继承

C. 派生类如果定义了与继承下来成员同名的新成员,可以覆盖已继承的成员

D. 派生类不能重载基类的虚属性、虚方法

 

7. 阅读以下C#代码,将在控制台窗口输出( )

using System;

public class Test{

static void F(){

try{ G();}

catch(Exception e){

Console.WriteLine(“Exception in F:” + e.Message);

e = new Exception(“F”);

throw;}}

static void G(){ throw new Exception(“G”);}

static void Main(string[] args){

try{ F();}

catch(Exception e){

Console.WriteLine(“Exception in Main:” + e.Message);}}}

A. Exception in F:G       B. Exception in F:G

Exception in Main:G       Exception in Main:F

C. Exception in F:F       D. Exception in F:F

Exception in Main:G       Exception in Main:F

 

8.阅读以下C#代码,将在控制台窗口输出( )

class A{ public A(){ Console.WriteLine(“A”);}}

class B : A{ public B(){ Console.WriteLine(“B”);}}

class App{ static void Main(string[] args){ B b = new B();}}

A. A      B. B      C. AB     D. BA

 

9. 关于以下C#代码,下列说法正确的是( )

static void Main(string[] args){

Console.WriteLine(“运行结果:{0}”,Console.ReadLine());}

A. 在控制台窗口显示”运行结果:”

B. 在控制台窗口显示”运行结果:{0}”

C. 在控制台窗口显示”运行结果:,Console.ReadLine”

D. 如果用户在控制台输入”A”,那么程序将在控制台显示”运行结果:A”

 

10. 关于以下C#程序,下列说法正确的是( )

public interface IAccount{

void PostInterest();

void DeductFees(int feeSchedule);}

class BussinessAccount : IAccount{

int A;

public static void Main(){

BussinessAccount B = new BussinessAccount();

Console.WriteLine(B.A);

Console.ReadLine();}

public void IAccount.PostInterest(){

A = A + 1;}

public void IAccount.DeductFees(int feeSchedule){

A = A + feeSchedule;}}

A. 程序将出现编译错误,指示不能实现接口的类BussinessAccount中定义成员A

B. 程序将出现编译错误,指示public关键字对接口项无效

C. 程序编译正常,但出现运行时错误,指示变量A没有初始化

D. 程序正常运行,输出为0

 

11.阅读下列代码,编译时会出错的是哪一行( )

class Test{

int x;

static int y;

void F(){

x = 1;  //1

y = 1;  //2

}

static void G(){

x = 1;  //3

y = 1;  //4

}

}

A. (1)      B. (2)      C. (3)      D. (4)

 

12.Session对象的作用是存储特定用户的信息,Web应用程序会为每个会话建立一个Session对象,下列关于Session对象的方法与属性描述不正确的是( )

A. Abandon方法可以结束当前的会话

B. Clear方法清除会话状态中的所有信息,结束会话

C. IsNewSession属性判定当前会话是否是一个新的会话

D. Add方法向Session对象添加额外信息

 

13.如果要制作一个网站流量的计数器应该使用以下哪个对象( )

A. Application      B. session      C. Response      D. Cookie

 

14.在Web页面中使用RegularExpressionValidator控件用来检查一个控件输入信息格式是否规范,若要求输入的信息符合email的格式规范,其ValidationExpression属性应如何设置( )

A. ValidationExpression = “.+@.+”

B. ValidationExpression = “[a-Z].+@.+[0-9]{a,Z}”

 

C. ValidationExpression = “[a-z][A-Z]{0-9}.@.[a-z][A-Z][0-9]”

D. ValidationExpression = “[a-zA-Z0-9].@.[a-zA-Z0-9]”

 

15. 除了C#语言能使用try/catch进行异常捕捉,ASP.NET也提供其他的方法处理错误,下面不是ASP.NET提供处理错误的方法是( )

A. 在页面级错误事件中,处理单独页面上的错误事件

B. 在会话级的错误事件中,处理会话中的错误事件

C. 在应用程序级的错误事件中,处理应用程序中的错误事件

D. 在应用程序配置文件中,为应用程序执行声明错误处理

 

16.在ASP.NET页面中有如下的代码:

<stript language = “C#” runat = “server”>

void Button_Click(Object src,EventArgs e)

{

Response.Write(“A”);

}

void Click(Object src,EventArgs e)

{

Response.Write(“B”);

}

</script>

命令按钮的代码:

<asp:Button id = “Button1” onClick = “Click” runat = “server”……></asp:Button>

则页面运行时,点Button按钮,将( )

A. 页面输出一个字符A      B. 页面输出一个字符B

C. 页面输出字符AB       D. 不会在页面输出任何字符

 

17. 在一个ASP.NET开发的图书销售系统中,有一个Web窗体,窗体中有个名为DropDownListBookName的DropDownList控件,以及一个名为btn的Button控件,在btn控件的Click事件中有如下代码,点击Button按钮后,下列说法正确( )

private void btn_Click(object sender,System EventArgs){

string[] bookname = {“.NET基础:C#语言上”,”.NET基础:C#语言中”,”.NET基础:C#语言下”};

ArrayList bookname Arr = new ArrayList();

for(int i = 0;i < bookname.length;i++){

booknameArr.Add(bookname[i].Replace(“中”,”下”));}

this.DropDownListBook.DataSource = booknameArr;

this.DropDownListBook.DataBind();}

A. 在DropDownListBookName控件中Items集合中有两项,分别为”.NET基础:C#语言上、”.NET基础:C#语言下”

B. 在DropDownListBookName控件中Items集合中有三项,分别为”.NET基础:C#语言上、”.NET基础:C#语言下、”.NET基础:C#语言下”

C. 在DropDownListBookName控件中Items集合中有三项,分别为”.NET基础:C#语言上、”.NET基础:C#语言中、”.NET基础:C#语言下”

D. 在DropDownListBookName控件中没有任何项

 

18. 在.net中,Graphics对象的( )方法可以绘制直线

A. DrawArc      B. DrawLine      C. DrawCurve      D. DrawEllips

 

19. 在命令行工具中执行如下语句的目的是( )

WSDL http://www.wish-edu.cn/pro/exam.asmx?WSDL

A. 创建exam.asmx的WSDL文件

B. 查看exam.asmx相关的WSDL文件

C. 创建名为exam.cs的代理类

D. 调用exam.asmx服务

 

20. 有关托管代码描述正确的是( )

A. 托管代码的执行对.NET的CLR没有依赖

B. 托管代码的执行依赖.NET的CLR

C. 托管代码组件调用前要先注册

D. 托管代码是二进制文件

 

 

二、问答题

1. 设学生数据库中有3个关系

学生关系 S(SNO,SNAME,AGE,SEX)

学习关系SC(SNO,CNO,GRADE)

课程关系 C(CNO,CNAME,TEACHER)

以SQL Server 2008为数据库,设计E-R图,并完成以下SQL语句:

(1)       创建数据库中相关数据表

(2)       编写SQL语句实现数据查询

  1. 检索学习课程为C2或C4的学生学号,姓名与成绩
  2. 检索不学C2课程的学生姓名与年龄
  3. 检索学习过课程表中全部课程的学生。
  4. 将课程学号S4选修课程号为C4的成绩改为85分
  5. 将新课程(‘C10’,’PHYSICS’,’YU’)加入到课程表中

 

2.试用c# 实现希尔排序算法。

评论列表
文章目录