C#軟件工程師筆試題
C#是一種安全的、穩(wěn)定的、簡(jiǎn)單的、優(yōu)雅的,由C和C++衍生出來(lái)的面向?qū)ο蟮木幊陶Z(yǔ)言。它在繼承C和C++強(qiáng)大功能的同時(shí)去掉了一些它們的復(fù)雜特性(例如沒(méi)有宏以及不允許多重繼承)。下面就由學(xué)習(xí)啦小編為大家介紹一下C#軟件工程師筆試題的文章,歡迎閱讀。
C#軟件工程師筆試題篇1
1. 使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)( )和指定的覆蓋標(biāo)準(zhǔn)
A. 程序的內(nèi)部邏輯 B. 程序的復(fù)雜結(jié)構(gòu)
C. 使用說(shuō)明書(shū) D. 程序的功能
2.在XML中,DTD文件如下配置其中的*號(hào),表示的意思是( )
A. EMAIL出現(xiàn)一次 ? B. EMAIL不出現(xiàn)
C. EMAIL不出現(xiàn)或出現(xiàn)多次 D. EMAIL不出現(xiàn)或出現(xiàn)一次
3.在一個(gè)DTD聲明中定義了一個(gè)元素為
那么如下的XML文檔片段中合法的是( )
A. <聯(lián)系人>
<姓名>sa
B. <聯(lián)系人>
<姓名>sa
C. <聯(lián)系人>
<姓名><姓>sa<名>sa
D. <聯(lián)系人>
<姓名 value = “sa”>
4.在C#中,以下哪些變量的命名是錯(cuò)誤的( )
A. int i ? B. int No.1 ? C. int Int ? D. int @int
5. 在.NET中,以下關(guān)于命名空間描述正確的是( )
A. 命名空間不可以進(jìn)行嵌套
B. 在一個(gè).CS文件中,只能存在一個(gè)命名空間
C. 使用private修飾的命名空間,其內(nèi)部的類也不許訪問(wèn)
D. 命名空間可以使用別名,例如using C1=N1
6.關(guān)于C#中繼承的概念,下列說(shuō)法錯(cuò)誤的是( )
A. 構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能被繼承
B. 除了構(gòu)造析構(gòu)函數(shù),其他成員無(wú)論訪問(wèn)方式,都能被繼承
C. 派生類如果定義了與繼承下來(lái)成員同名的新成員,可以覆蓋已繼承的成員
D. 派生類不能重載基類的虛屬性、虛方法
7. 閱讀以下C#代碼,將在控制臺(tái)窗口輸出( )
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#代碼,將在控制臺(tái)窗口輸出( )
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. 關(guān)于以下C#代碼,下列說(shuō)法正確的是( )
static void Main(string[] args){
Console.WriteLine(“運(yùn)行結(jié)果:{0}”,Console.ReadLine());}
A. 在控制臺(tái)窗口顯示”運(yùn)行結(jié)果:”
B. 在控制臺(tái)窗口顯示”運(yùn)行結(jié)果:{0}”
C. 在控制臺(tái)窗口顯示”運(yùn)行結(jié)果:,Console.ReadLine”
D. 如果用戶在控制臺(tái)輸入”A”,那么程序?qū)⒃诳刂婆_(tái)顯示”運(yùn)行結(jié)果:A”
10. 關(guān)于以下C#程序,下列說(shuō)法正確的是( )
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. 程序?qū)⒊霈F(xiàn)編譯錯(cuò)誤,指示不能實(shí)現(xiàn)接口的類BussinessAccount中定義成員A
B. 程序?qū)⒊霈F(xiàn)編譯錯(cuò)誤,指示public關(guān)鍵字對(duì)接口項(xiàng)無(wú)效
C. 程序編譯正常,但出現(xiàn)運(yùn)行時(shí)錯(cuò)誤,指示變量A沒(méi)有初始化
D. 程序正常運(yùn)行,輸出為0
C#軟件工程師筆試題篇2
1.閱讀下列代碼,編譯時(shí)會(huì)出錯(cuò)的是哪一行( )
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)
2.Session對(duì)象的作用是存儲(chǔ)特定用戶的信息,Web應(yīng)用程序會(huì)為每個(gè)會(huì)話建立一個(gè)Session對(duì)象,下列關(guān)于Session對(duì)象的方法與屬性描述不正確的是( )
A. Abandon方法可以結(jié)束當(dāng)前的會(huì)話
B. Clear方法清除會(huì)話狀態(tài)中的所有信息,結(jié)束會(huì)話
C. IsNewSession屬性判定當(dāng)前會(huì)話是否是一個(gè)新的會(huì)話
D. Add方法向Session對(duì)象添加額外信息
3.如果要制作一個(gè)網(wǎng)站流量的計(jì)數(shù)器應(yīng)該使用以下哪個(gè)對(duì)象( )
A. Application ? B. session ? C. Response ? D. Cookie
4.在Web頁(yè)面中使用RegularExpressionValidator控件用來(lái)檢查一個(gè)控件輸入信息格式是否規(guī)范,若要求輸入的信息符合email的格式規(guī)范,其ValidationExpression屬性應(yīng)如何設(shè)置( )
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]”
5. 除了C#語(yǔ)言能使用try/catch進(jìn)行異常捕捉,ASP.NET也提供其他的方法處理錯(cuò)誤,下面不是ASP.NET提供處理錯(cuò)誤的方法是( )
A. 在頁(yè)面級(jí)錯(cuò)誤事件中,處理單獨(dú)頁(yè)面上的錯(cuò)誤事件
B. 在會(huì)話級(jí)的錯(cuò)誤事件中,處理會(huì)話中的錯(cuò)誤事件
C. 在應(yīng)用程序級(jí)的錯(cuò)誤事件中,處理應(yīng)用程序中的錯(cuò)誤事件
D. 在應(yīng)用程序配置文件中,為應(yīng)用程序執(zhí)行聲明錯(cuò)誤處理
6.在ASP.NET頁(yè)面中有如下的代碼:
void Button_Click(Object src,EventArgs e)
{
Response.Write(“A”);
}
void Click(Object src,EventArgs e)
{
Response.Write(“B”);
}
命令按鈕的代碼:
則頁(yè)面運(yùn)行時(shí),點(diǎn)Button按鈕,將( )
A. 頁(yè)面輸出一個(gè)字符A ? B. 頁(yè)面輸出一個(gè)字符B
C. 頁(yè)面輸出字符AB D. 不會(huì)在頁(yè)面輸出任何字符
7. 在一個(gè)ASP.NET開(kāi)發(fā)的圖書(shū)銷售系統(tǒng)中,有一個(gè)Web窗體,窗體中有個(gè)名為DropDownListBookName的DropDownList控件,以及一個(gè)名為btn的Button控件,在btn控件的Click事件中有如下代碼,點(diǎn)擊Button按鈕后,下列說(shuō)法正確( )
private void btn_Click(object sender,System EventArgs){
string[] bookname = {“.NET基礎(chǔ):C#語(yǔ)言上”,”.NET基礎(chǔ):C#語(yǔ)言中”,”.NET基礎(chǔ):C#語(yǔ)言下”};
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集合中有兩項(xiàng),分別為”.NET基礎(chǔ):C#語(yǔ)言上、”.NET基礎(chǔ):C#語(yǔ)言下”
B. 在DropDownListBookName控件中Items集合中有三項(xiàng),分別為”.NET基礎(chǔ):C#語(yǔ)言上、”.NET基礎(chǔ):C#語(yǔ)言下、”.NET基礎(chǔ):C#語(yǔ)言下”
C. 在DropDownListBookName控件中Items集合中有三項(xiàng),分別為”.NET基礎(chǔ):C#語(yǔ)言上、”.NET基礎(chǔ):C#語(yǔ)言中、”.NET基礎(chǔ):C#語(yǔ)言下”
D. 在DropDownListBookName控件中沒(méi)有任何項(xiàng)
8. 在.net中,Graphics對(duì)象的( )方法可以繪制直線
A. DrawArc ? B. DrawLine ? C. DrawCurve ? D. DrawEllips
9. 在命令行工具中執(zhí)行如下語(yǔ)句的目的是( )
WSDL
A. 創(chuàng)建exam.asmx的WSDL文件
B. 查看exam.asmx相關(guān)的WSDL文件
C. 創(chuàng)建名為exam.cs的代理類
D. 調(diào)用exam.asmx服務(wù)
10. 有關(guān)托管代碼描述正確的是( )
A. 托管代碼的執(zhí)行對(duì).NET的CLR沒(méi)有依賴
B. 托管代碼的執(zhí)行依賴.NET的CLR
C. 托管代碼組件調(diào)用前要先注冊(cè)
D. 托管代碼是二進(jìn)制文件
C#軟件工程師筆試題篇3
設(shè)學(xué)生數(shù)據(jù)庫(kù)中有3個(gè)關(guān)系
學(xué)生關(guān)系 S(SNO,SNAME,AGE,SEX)
學(xué)習(xí)關(guān)系SC(SNO,CNO,GRADE)
課程關(guān)系 C(CNO,CNAME,TEACHER)
以SQL Server 2008為數(shù)據(jù)庫(kù),設(shè)計(jì)E-R圖,并完成以下SQL語(yǔ)句:
(1) 創(chuàng)建數(shù)據(jù)庫(kù)中相關(guān)數(shù)據(jù)表
(2) 編寫(xiě)SQL語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)查詢