版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
試卷科目:C#開發(fā)基礎(chǔ)C#開發(fā)基礎(chǔ)(習(xí)題卷27)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC#開發(fā)基礎(chǔ)第1部分:單項(xiàng)選擇題,共52題,每題只有一個(gè)正確答案,多選或少選均不得分。[單選題]1.()在屬性的set塊實(shí)現(xiàn)內(nèi),用于訪問傳遞給該屬性的內(nèi)置參數(shù)。A)ThisB)ValueC)ArgsD)property答案:B解析:概念理解[單選題]2.以下類型中,不屬于值類型的是()A)整數(shù)類型B)布爾類型C)字符類型D)類類型答案:D解析:類是一種引用,ABC均為值類型。[單選題]3.在C#中switch語句用()關(guān)鍵字來處理不匹配case語句的值A(chǔ))defaultB)anyelseC)breakD)goto答案:A解析:[單選題]4.在CSS3.0樣式中,設(shè)置字體大小的屬性是以下哪個(gè)選項(xiàng)()A)font-familyB)font-sizeC)font-weightD)color答案:B解析:[單選題]5.如果要想寫二進(jìn)制文件,請(qǐng)問需要使用下面的哪些類?A)StreamReaderB)BinaryWriterC)StreamWriterD)BinaryReader答案:B解析:當(dāng)向文件中寫入非字符類型的數(shù)據(jù)時(shí),StreamWriter和BinaryWriter存在巨大差異。StreamWriter是把各種類型的數(shù)據(jù)都轉(zhuǎn)化成字符,然后把字符按照一定的格式編碼出來的數(shù)據(jù)寫入文件中。BinaryWriter是直接把數(shù)據(jù)在內(nèi)存中的真實(shí)狀態(tài)寫入到文件中。例子:classProgram{staticvoidMain(string[]args){FileStreamfs=File.Open("E:\\MyFile.txt",FileMode.OpenOrCreate,FileAccess.Write);StreamWritersw=newStreamWriter(fs);BinaryWriterbw=newBinaryWriter(fs);sw.Write(100);bw.Write(100);}}用UEdit查看MyFile.txt的16進(jìn)制碼.sw的輸出為313030,占三個(gè)字節(jié)。代表了'1','0','0'的ASCII碼。它輸出的全是文本數(shù)據(jù)。bw的輸出為64000000,占四個(gè)字節(jié)。這正是100在內(nèi)存中的真實(shí)狀態(tài)。int類型占四個(gè)字節(jié)。用記事本打開,sw的輸出顯示為:"100",bw的輸出顯示為"d",因?yàn)?00對(duì)應(yīng)了ASCII碼的d。BinaryWriter寫進(jìn)去的東西,StreamReader是認(rèn)不出來的,只能用BinaryReader的對(duì)應(yīng)方法來讀取,程序員記住自己是用什么方式寫的,然后在用BinaryReader讀取時(shí),指定好匹配的編碼方式,就可以將原來的數(shù)據(jù)還原了。你當(dāng)初寫進(jìn)去的是int型,就用BinaryReader.ReadInt32()來讀取。例如剛才寫進(jìn)去的100,可以這樣讀?。篶lassProgram{staticvoidMain(string[]args){FileStreamfs=File.Open("E:\\MyFile.txt",FileMode.Open,FileAccess.Read);BinaryReaderbr=newBinaryReader(fs);inta=br.ReadInt32();}}這樣,a就等于100了另外的例子:BinaryWriterbw=newBinaryWriter(fs,Encoding.UTF32);bw.Write('a');輸出為:61000000,占4字節(jié),這就是字符'a'用UTF32格式編碼的結(jié)果。讀取這個(gè)輸出BinaryReaderbr=newBinaryReader(fs,Encoding.UTF32);Console.WriteLine(br.ReadChar());BinaryWriterbw=newBinaryWriter(fs,Encoding.ASCII);bw.Write('a');輸出為:61,占1字節(jié),這就是字符'a'用ACSII格式編碼的結(jié)果。讀取這個(gè)輸出BinaryReaderbr=newBinaryReader(fs,Encoding.ASCII);Console.WriteLine(br.ReadChar());文件的本質(zhì):所謂的.txt文件,本質(zhì)不過是硬盤上一堆二進(jìn)制數(shù)據(jù)而已。往文件中寫文本,就是把文本所對(duì)應(yīng)的編碼(也就是數(shù)字)寫進(jìn)txt文件。當(dāng)你用記事本打開一個(gè)txt,就是使用?記事本?這個(gè)程序?qū)@堆二進(jìn)制數(shù)據(jù)進(jìn)行解釋。比方說記事本在txt中讀到了一個(gè)64H,然后記事本去ASCII字庫里查詢64H代表什么字符,查到它代表?d?,于是記事本就負(fù)責(zé)把?d?這個(gè)字符給顯示出來。其實(shí)文件里存的不是?d?,而是?d?的ASCII編碼。但問題是,世界上存在多種編碼方式,也就對(duì)應(yīng)了不同的字庫,比如GBK,比如Big5,比如Unicode,同樣的編碼在不同的字庫中對(duì)應(yīng)了不同的字。所以記事本對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行解釋的時(shí)候,需要知道這些數(shù)據(jù)使用什么方式編碼,才能去對(duì)應(yīng)的字庫查它是哪個(gè)字。所以文件頭有時(shí)候會(huì)有一些標(biāo)識(shí)數(shù)據(jù),用來提示記事本這個(gè)txt是用什么方式編碼。比如:文件頭的FFFE意味著本文用Unicode格式編碼。而FEFF意味著用BigEndianUnicode方式。所以FFFE8B73被解釋為'王',F(xiàn)EFF8B73被解釋為?譳?。我們新建一個(gè)文本文檔,輸入'王',然后查看其16進(jìn)制的數(shù)據(jù),發(fā)現(xiàn)文檔數(shù)據(jù)為:CDF5。這是默認(rèn)編碼格式下的'王'的編碼。然后將該文本文檔另存為Unicode格式的,發(fā)現(xiàn)其16進(jìn)制數(shù)據(jù)變成了:FFFE8B73。再另存為Unicodebigendin之后,16進(jìn)制數(shù)據(jù)變?yōu)椋篎EFF738B。這些底層數(shù)據(jù)的變化過程是由記事本程序來維護(hù)的,但無論底層數(shù)據(jù)怎么變動(dòng),我們看到的文本都是不變的。記事本程序并負(fù)責(zé)格式轉(zhuǎn)換并保證只改變編碼方式而不改變文本。出現(xiàn)亂碼,就是對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行了錯(cuò)誤的解釋。向文件中寫入字符數(shù)據(jù)時(shí)當(dāng)用于寫字符的時(shí)候,StreamWriter和BinaryWriter是差不多的。二者稍有區(qū)別??聪旅娴睦樱篎ileStreamfs=File.Open("E:\\MyFile.txt",FileMode.OpenOrCreate,FileAccess.Write);StreamWritersw=newStreamWriter(fs,Encoding.Unicode);sw.Write(?王?);MyFile.txt內(nèi)容為:FFFE8B73StreamWritersw=newStreamWriter(fs,Encoding.BigEndianUnicode);sw.Write(?王?);MyFile.txt內(nèi)容為:FEFF738BBinaryWriterbw=newBinaryWriter(fs,Encoding.Unicode);bw.Write(?王?);MyFile.txt內(nèi)容為:8B73BinaryWriterbw=newBinaryWriter(fs,Encoding.BigEndianUnicode);bw.Write(?王?);MyFile.txt內(nèi)容為:738B當(dāng)新建的時(shí)候,StreamWriter會(huì)順便寫入FFFE這樣的標(biāo)識(shí)數(shù)據(jù),而BinaryWriter不會(huì)寫入任何表示數(shù)據(jù),只把'王'的編碼寫入文件。當(dāng)append的時(shí)候,StreamReader設(shè)定的編碼方式是不會(huì)改變文檔原有的編碼方式的。舉例來說。有一個(gè)空的Unicode格式的MyFile.txt,該txt文件中只有兩個(gè)字節(jié)的數(shù)據(jù):FFFE。執(zhí)行如下代碼:FileStreamfs=File.Open("E:\\MyFile.txt",FileMode.Append,FileAccess.Write);StreamWritersw=newStreamWriter(fs);sw.Write('王');執(zhí)行之后,MyFile.txt內(nèi)的數(shù)據(jù)為:FFFEE78E8B,其中E78E8B是StreamWriter采用默認(rèn)編碼格式對(duì)'王'進(jìn)行編碼的結(jié)果。當(dāng)記事本程序試圖將FFFEE78E8B解釋成文本時(shí),遇到FFFE會(huì)認(rèn)為這是Unicode編碼,于是把后邊的所有數(shù)據(jù)都按照Unicode的格式解釋,于是E78E8B被解釋成了亂碼。把FFFE改成0000之后,記事本找不到FFFE,于是就把這一坨數(shù)據(jù)按照默認(rèn)方式解釋,這就正確地將E78E8B解釋成了?王?字。[單選題]6.在HTML5的input標(biāo)簽中,type屬性值不是表示按鈕的是()A)type="submit"B)type="reset"C)type="outset"D)type="button"答案:C解析:[單選題]7.當(dāng)運(yùn)行程序時(shí),系統(tǒng)自動(dòng)執(zhí)行啟動(dòng)窗體的()事件。A)ClickB)DoubleClickC)LoadD)Activated答案:C解析:是窗口的啟動(dòng)時(shí)事件。[單選題]8.在下列字形(FontStyle)中,不能通過FontDialog設(shè)置的是()。A)BoldB)DottedC)ItalicD)Underline答案:B解析:[單選題]9.下列對(duì)象中,不可能添加到狀態(tài)欄上的是()。A)ComboBoxB)StatusLabelC)ProgressBarD)DropDownButton答案:A解析:[單選題]10.下列選項(xiàng)中,序列化的描述正確的是()。A)可以獲取對(duì)象的信息B)可以給對(duì)象進(jìn)行初始化C)可以將對(duì)象持久化到文件或進(jìn)行網(wǎng)絡(luò)傳輸D)以上都不對(duì)答案:C解析:[單選題]11.使用Form類的()方法排列多文檔界面父窗體中的子窗體,以便使其顯示的更加有序。A)Layout()B)LayoutMdi()C)Mdi()D)LayoutMdis()答案:B解析:[單選題]12.關(guān)于類成員訪問控制權(quán)限正確的是A)public能被所有類訪問B)protected能被所有類訪問C)private能被同一文件中的其它類訪問D)internal能被所有類訪問答案:A解析:類中所有的成員,默認(rèn)均為private。C#用多種修飾符來表達(dá)類的不同性質(zhì)。根據(jù)其保護(hù)級(jí)C#的類有五種不同的限制修飾符:public可以被任意存??;protected只可以被本類和其繼承子類存??;internal只可以被本組合體(Assembly)內(nèi)所有的類存取,組合體是C#語言中類被組合后的邏輯單位和物理單位,其編譯后的文件擴(kuò)展名往往是?.DLL?或?.EXE?。protectedinternal唯一的一種組合限制修飾符,它只可以被本組合體內(nèi)所有的類和這些類的繼承子類所存取。private只可以被本類所存取。如果不是嵌套的類,命名空間或編譯單元內(nèi)的類只有public和internal兩種修飾。new修飾符只能用于嵌套的類,表示對(duì)繼承父類同名類型的隱藏。override只能用于嵌套的類,表示對(duì)繼承父類同名類型的覆蓋。abstract用來修飾抽象類,表示該類只能作為父類被用于繼承,而不能進(jìn)行對(duì)象實(shí)例化。抽象類可以包含抽象的成員,但這并非必須。abstract不能和new同時(shí)用。下面是抽象類用法的偽碼:abstractclassA{publicabstractvoidF();}abstractclassB:A{publicvoidG(){}}classC:B{publicoverridevoidF(){//方法F的實(shí)現(xiàn)}}抽象類A內(nèi)含一個(gè)抽象方法F(),它不能被實(shí)例化。類B繼承自類A,其內(nèi)包含了一個(gè)實(shí)例方法G(),但并沒有實(shí)現(xiàn)抽象方法F(),所以仍然必須聲明為抽象類。類C繼承自類B,實(shí)現(xiàn)類抽象方法F(),于是可以進(jìn)行對(duì)象實(shí)例化。sealed用來修飾類為密封類,阻止該類被繼承。同時(shí)對(duì)一個(gè)類作abstract和sealed的修飾是沒有意義的,也是被禁止的。[單選題]13.現(xiàn)有Student類,構(gòu)造函數(shù)對(duì)其屬性Name進(jìn)行賦值操作,()處填充正確代碼。classStudent{privatestringname;publicStringName{get;set;}publicStudent(stringname){()}}A)=NameB)Name==nameC)this.Name=name;D)name=Name答案:C解析:概念理解[單選題]14.在C#中,如果要將數(shù)組作為一個(gè)方法的參數(shù),則傳遞的是()A)數(shù)組中的所有元素B)數(shù)組的第一個(gè)元素C)數(shù)組的引用D)以上都不是答案:C解析:[單選題]15.在C#語法中,在派生類中對(duì)基類的虛函數(shù)進(jìn)行重寫,要求在聲明中使用()關(guān)鍵字A)overrideB)newC)staticD)virtual答案:A解析:override重寫。基本概念。[單選題]16.關(guān)于Dictionary,描述錯(cuò)誤的是()A)可以通過下標(biāo)獲取值B)可以通過鍵獲取值C)描述的是鍵值對(duì)D)Keys屬性表示鍵集合答案:A解析:[單選題]17.將C:\mydir移動(dòng)到C:\public,如果C:\public已存在,則會(huì)引發(fā)異常的語句是______。A)Directory.Move(@?C:\mydir?,@?C:\dir?);B)Directory.Move(@?C:\mydir?,@?C:\public\mydir?);C)Directory.Move(@?C:\mydir?,@?C:\newdir?);D)Directory.Move(@?C:\mydir?,@?C:\public?);答案:D解析:[單選題]18.在C#中,接口與抽象基類的區(qū)別在于()。A)抽象基類可以包含非抽象方法,而接口只能包含抽象方法B)抽象基類可以被實(shí)例化,而接口不能被實(shí)例化C)抽象基類不能被實(shí)例化,而接口可以被實(shí)例化D)抽象基類能夠被繼承,而接口不能被繼承答案:A解析:1抽象類(1)抽象方法只作聲明,而不包含實(shí)現(xiàn),可以看成是沒有實(shí)現(xiàn)體的虛方法(2)抽象類不能被實(shí)例化(3)抽象類可以但不是必須有抽象屬性和抽象方法,但是一旦有了抽象方法,就一定要把這個(gè)類聲明為抽象類(4)具體派生類必須覆蓋基類的抽象方法(5)抽象派生類可以覆蓋基類的抽象方法,也可以不覆蓋。如果不覆蓋,則其具體派生類必須覆蓋它們。如:usingSystem;publicabstractclassA//抽象類A{privateintnum=0;publicintNum//抽象類包含屬性{get{returnnum;}set{num=value;}}publicvirtualintgetNum()//抽象類包含虛方法{returnnum;}publicvoidsetNum(intn)////抽象類包含普通方法{this.num=n;}publicabstractvoidE();//類A中的抽象方法E}publicabstractclassB:A//由于類B繼承了類A中的抽象方法E,所以類B也變成了抽象類{}publicclassC:B{publicoverridevoidE()//重寫從類A繼承的抽象方法。如果類B自己還定義了抽象方法,也必須重寫{//thrownewException("Themethodoroperationisnotimplemented.");}}publicclassTest{staticvoidMain(){Cc=newC();c.E();}}二、接口(1)接口不能被實(shí)例化(2)接口只能包含方法聲明(3)接口的成員包括方法、屬性、索引器、事件(4)接口中不能包含常量、字段(域)、構(gòu)造函數(shù)、析構(gòu)函數(shù)、靜態(tài)成員。如:publicdelegatevoidEventHandler(objectsender,Evente);publicinterfaceITest{//intx=0;intA{get;set;}voidTest();eventEventHandlerEvent;intthis[intindex]{get;set;}}(5)接口中的所有成員默認(rèn)為public,因此接口中不能有private修飾符(6)派生類必須實(shí)現(xiàn)接口的所有成員(7)一個(gè)類可以直接實(shí)現(xiàn)多個(gè)接口,接口之間用逗號(hào)隔開(8)一個(gè)接口可以有多個(gè)父接口,實(shí)現(xiàn)該接口的類必須實(shí)現(xiàn)所有父接口中的所有成員三、抽象類和接口相同點(diǎn):(1)都可以被繼承(2)都不能被實(shí)例化(3)都可以包含方法聲明(4)派生類必須實(shí)現(xiàn)未實(shí)現(xiàn)的方法區(qū)別:(1)抽象基類可以定義字段、屬性、方法實(shí)現(xiàn)。接口只能定義屬性、索引器、事件、和方法聲明,不能包含字段。(2)抽象類是一個(gè)不完整的類,需要進(jìn)一步細(xì)化,而接口是一個(gè)行為規(guī)范。微軟的自定義接口總是后帶able字段,證明其是表述一類?我能做。。。?(3)接口可以被多重實(shí)現(xiàn),抽象類只能被單一繼承(4)抽象類更多的是定義在一系列緊密相關(guān)的類間,而接口大多數(shù)是關(guān)系疏松但都實(shí)現(xiàn)某一功能的類中(5)抽象類是從一系列相關(guān)對(duì)象中抽象出來的概念,因此反映的是事物的內(nèi)部共性;接口是為了滿足外部調(diào)用而定義的一個(gè)功能約定,因此反映的是事物的外部特性(6)接口基本上不具備繼承的任何具體特點(diǎn),它僅僅承諾了能夠調(diào)用的方法(7)接口可以用于支持回調(diào),而繼承并不具備這個(gè)特點(diǎn)(8)抽象類實(shí)現(xiàn)的具體方法默認(rèn)為虛的,但實(shí)現(xiàn)接口的類中的接口方法卻默認(rèn)為非虛的,當(dāng)然您也可以聲明為虛的(9)如果抽象類實(shí)現(xiàn)接口,則可以把接口中方法映射到抽象類中作為抽象方法而不必實(shí)現(xiàn),而在抽象類的子類中實(shí)現(xiàn)接口中方法[單選題]19.分析下列代碼段,運(yùn)行結(jié)果是什么?()。StAtiCvoiDMAin(string[]Args){String[]worDs=newstring[]{?A?,?B?,?C?};ForeACh(intworDinworDs){WorD=?ABC?;Console.WriteLine(worD}Console.ReADKey();}A)ABCB)ABCABCABCC)BCACABD)不能正確編譯答案:D解析:[單選題]20.下面的轉(zhuǎn)換中,不是隱式轉(zhuǎn)換的是______。A)int轉(zhuǎn)換成shortB)short轉(zhuǎn)換成intC)bool轉(zhuǎn)換成stringD)bytes轉(zhuǎn)換成float答案:A解析:[單選題]21.在C#中,在BeautifulBook.cs的代碼文件中編寫了如下代碼,關(guān)于該段代碼說法正確的是()。namespaceExam.Test1{publicclassBeautifulBook{}}namespaceExam.Test2{publicclassBeautifulBook{}publicclassTest{staticvoidMain(){BeautifulBookbeauBook=newBeautifulBook();}}}A)該段代碼不能正確編譯,因?yàn)榇嬖趦蓚€(gè)同名的類BeautifulBookB)代碼?BeautifulBookbeauBook=newBeautifulBook();?不能正確編譯,因?yàn)闊o法確定BeautifulBook類屬于哪個(gè)命名空間C)該段代碼錯(cuò)誤,因?yàn)樵?Exam.Test2?命名空間中包含兩個(gè)類D)該段代碼正確答案:D解析:現(xiàn)的命名空間,正確。[單選題]22.在ADO.NET中,下列代碼運(yùn)行后的輸出結(jié)果是()(選擇一項(xiàng))DataTabledt=newDataTable();dt.Columns.Add(?編號(hào)?,typeof(System.Int16));dt.Columns.Add(?成績?,typeof(System.Single));Console.WriteLine(dt.Columns[1].DataType);A)System.Int16;B)System.SingleC)編號(hào)D)成績答案:B解析:輸出是DataType,所以是System.Single[單選題]23.StreamReader類是以下列哪一種形式讀取文件的()。A)字符串B)字符C)整數(shù)D)文件答案:B解析:[單選題]24.在C#中,設(shè)置窗體的()屬性可以更改窗體圖標(biāo)A)IconB)EnableC)VisiableD)Text答案:A解析:[單選題]25.在C#中,ToUpper()方法作用是()A)獲得字符串小寫的形式B)獲得字符串大寫的形式C)截取字符串D)沒有該方法答案:B解析:[單選題]26.在默認(rèn)的情況下,省略的類訪問修飾符是()A)privateB)publicC)protectedD)internal答案:A解析:[單選題]27.在C#中,設(shè)類B是類A派生類,類C是類B派生類,在創(chuàng)建C類的實(shí)例時(shí),下列描述中正確的是()。A)只調(diào)用類A的構(gòu)造函數(shù)B)只調(diào)用類A和類B的構(gòu)造函數(shù)C)三類的構(gòu)造函數(shù)都會(huì)被調(diào)用,調(diào)用的順序依次為類A類B類C的構(gòu)造函數(shù)D)三類的構(gòu)造函數(shù)都會(huì)被調(diào)用,調(diào)用的順序依次為類C類B類A的構(gòu)造函數(shù)答案:C解析:[單選題]28.關(guān)于重載,以下敘述錯(cuò)誤的是()。A)重載是指在類的內(nèi)部存在若干個(gè)方法名稱一致但是參數(shù)列表不同的方法B)方法重載是指創(chuàng)建多個(gè)名稱相同的方法,其中每個(gè)方法都在某些方面具有唯一性,以便編譯器能夠正確區(qū)別它們C)重載構(gòu)造函數(shù)主要是為了在創(chuàng)建對(duì)象的同時(shí)進(jìn)行賦值D)方法的重載允許兩個(gè)方法的名稱和參數(shù)列表相同,而返回類型不同答案:D解析:1.首先解釋一下什么是方法重載?方法重載是指在同一個(gè)類中方法同名,參數(shù)不同,調(diào)用時(shí)根據(jù)實(shí)參的形式,選擇與他匹配的方法執(zhí)行操作的一種技術(shù)。這里所說的參數(shù)不同是指以下幾種情況:參數(shù)的類型不同參數(shù)的個(gè)數(shù)不同參數(shù)的個(gè)數(shù)相同時(shí)他們的先后順序不同注意:系統(tǒng)會(huì)認(rèn)為是同一個(gè)方法的兩種情況,這樣的兩個(gè)方法不可以在同一個(gè)類里,否則系統(tǒng)會(huì)報(bào)錯(cuò)。⑴返回類型不同,方法名和參數(shù)個(gè)數(shù)、順序、類型都相同的兩個(gè)方法⑵返回類型相同,方法名和參數(shù)的個(gè)數(shù)、順序、類型都相同的兩個(gè)方法,但是參數(shù)的名字不同2.適用范圍:普通方法和構(gòu)造方法都可以3.決定方法是否構(gòu)成重載有以下幾個(gè)條件:在同一個(gè)類中;方法名相同;參數(shù)列表不同。[單選題]29.在.NET中,一些數(shù)據(jù)類型為引用類型,當(dāng)引用類型的值為()時(shí),表明沒有引用任何對(duì)象A)NullB)NothingC)EmptyD)0答案:A解析:[單選題]30.使用()關(guān)鍵字修飾的類不允許被繼承()A)sealedB)overrideC)delegateD)private答案:A解析:概念理解[單選題]31.為了能夠在程序中捕獲所有的異常,在catch語句的括號(hào)中使用的類名為。A)ExceptionB)DivideByZeroExceptionC)FormatExceptionD)以上三個(gè)均可答案:A解析:[單選題]32.以下有關(guān)Directory類和Directoryinfo類的說法中,錯(cuò)誤的是______。A)Directory類和Directorylnfo類可以用來創(chuàng)建目錄、移動(dòng)目錄、刪除目錄B)Directory類和Directoryinfo類可以派生其他類C)Directoiy類的所有方法都是靜態(tài)的,不必創(chuàng)建類的實(shí)例就可以調(diào)用D)Directoryinfo類的所有方法都是實(shí)例方法,必須在創(chuàng)建Directoryinfo類的實(shí)例對(duì)象后才可以調(diào)用答案:B解析:[單選題]33.現(xiàn)有類Class1,選出如下選項(xiàng)中正確的缺省構(gòu)造函數(shù)形式()A)privateintClass1(){}B)privateclass1(){}C)publicClass1(){}D)publicvoidClass1(){}答案:C解析:[單選題]34.下面所列舉的應(yīng)用程序中,不是多文檔應(yīng)用程序的是()A)WordB)ExcelC)PowerPointD)記事本答案:D解析:[單選題]35.用FileStream對(duì)象打開一個(gè)文件時(shí),可用FileMode參數(shù)控制。A)對(duì)文件覆蓋、創(chuàng)建、打開等選項(xiàng)中的哪些操作B)對(duì)文件進(jìn)行只讀、只寫還是讀寫C)其他FileStream對(duì)象對(duì)同一個(gè)文件所具有的訪問類型D)對(duì)文件進(jìn)行隨機(jī)訪問時(shí)的定位點(diǎn)答案:A解析:[單選題]36.在HTML5中,table標(biāo)簽中cellspacing和cellpadding屬性的含義正確的是()A)單元格間距,邊框B)邊框,單元格間距C)單元格間距,單元格填充D)單元格填充,邊框答案:C解析:[單選題]37.使用()關(guān)鍵字修飾類,可避免類被繼承。A)delegateB)abstractC)sealedD)enum答案:C解析:sealed,封閉類,不能被繼承。[單選題]38.關(guān)鍵字用于在C#中從派生類中訪問基類的成員。A)newB)superC)thisD)base答案:D解析:[單選題]39.在C#中,ExecuteNonQuery()方法的返回值類型是()A)intB)boolC)ObjectD)List答案:A解析:[單選題]40.接口Animal聲明如下:PublicinterfaceAnimal{voidMove();//默認(rèn)是publicabstract}則下列抽象類的定義中,是合法的。A)abstractclassCat:Animal{abstractpublicvoidMove();}B)abstractclassCat:Animal(抽象類里沒有抽象方法){virtualpublicvoidMove(){Console.Write(Console.Write("Move!");)}}C)abstractclassCat:Animal{publicvoidMove(){Console.Write(Console.Write("Move!");)};}D)abstractclassCat:Animal{publicvoidEat(){Console.Write(Console.Write("Eat!");)};}答案:A解析:[單選題]41.裝箱是把值類型轉(zhuǎn)換到()類型。A)數(shù)組B)引用C)charD)string答案:B解析:1. 裝箱在值類型向引用類型轉(zhuǎn)換時(shí)發(fā)生2. 拆箱在引用類型向值類型轉(zhuǎn)換時(shí)發(fā)生[單選題]42.在C#中,以下程序的輸出結(jié)果是?inti;for(i='a';i<'f';i++,i++){Console.Write((char)(i-'a'+'A'));}A)ACEB)BDFC)ABDD)CDE答案:A解析:[單選題]43.WinForm中,在界面上繪制矩形、弧、橢圓等圖像對(duì)象,可以使用System.Drawing命名空間的()類來實(shí)現(xiàn)。(選擇一項(xiàng))A)BrushB)PenC)ColorD)Image答案:B解析:1.矩形框的繪制繪制矩形框是用GDI+技術(shù)的DrawRectangle方法來實(shí)現(xiàn)的,它有3種語法,其語法格式如下:publicvoidDrawRectangle(Penpen,intx,inty,intwidth,intheight)publicvoidDrawRectangle(Penpen,floatx,floaty,floatwidth,floatheight)publicvoidDrawRectangle(Penpen,Rectandglerect)DrawRectangle方法的參數(shù)說明如表1所示。表1DrawRectangle方法的參數(shù)說明參數(shù)說明Pen確定矩形的顏色、寬度和樣式x要繪制的矩形的左上角的x坐標(biāo)y要繪制的矩形的左上角的y坐標(biāo)width要繪制的矩形的寬度height要繪制的矩形的高度rect要繪制的矩形的Rectandgle結(jié)構(gòu)例如,用整型值繪制矩形框,代碼如下:Penmypen=newPen(Color.Black,1);//設(shè)置畫筆的顏色及寬度intx=30;inty=30;intwidth=10;intheight=20;g.DrawRectangle(mypen,x,y,width,height);//繪制矩形[單選題]44.定義引用類型的字符串參數(shù)str1的正確形式是()A)refstrstr1B)refStringstr1C)stringstr1D)outstringstr1答案:B解析:[單選題]45.在C#語言中方法重載的主要方式有兩種,包括()和參數(shù)類型不同的重載。A)參數(shù)名稱不同的重載B)返回類型不同的重載C)方法名不同的重載D)參數(shù)個(gè)數(shù)不同的參數(shù)答案:D解析:方法重載是指在同一個(gè)類中方法同名,參數(shù)不同,調(diào)用時(shí)根據(jù)實(shí)參的形式,選擇與他匹配的方法執(zhí)行操作的一種技術(shù)。這里所說的參數(shù)不同是指以下幾種情況:①參數(shù)的類型不同②參數(shù)的個(gè)數(shù)不同③參數(shù)的個(gè)數(shù)相同時(shí)他們的先后順序不同[單選題]46.在C#程序中,實(shí)現(xiàn)抽象類的關(guān)鍵字是()A)abstractB)overriedC)newD)sealed答案:A解析:概念理解[單選題]47.在C#語言中,關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是()A)關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯運(yùn)算符B)邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符C)賦值運(yùn)算符<邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符D)算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯運(yùn)算符答案:C解析:[單選題]48.在C#中,使用()關(guān)鍵字來導(dǎo)入命名空間A)importB)usingC)forD)foreach答案:B解析:[單選題]49.有以下C#程序:UsingSystem;Namespaceaaa{classProgram{staticvoidMain(){Stringstr;str=Console.ReadLine();//讀入字符串?AAAAA?boola=str.Equals("a");//判斷字符串?AAAAA?是否與?a?相同,這里顯然不等,所以返回False并賦值給變量aConsole.WriteLine(a.ToString());//變量a轉(zhuǎn)換為字符串,并輸出值為Falseintb=str.Length;//求字符串?AAAAA?的長度,并賦值給變量b,值為8Console.WriteLine(b.ToString());//變量b轉(zhuǎn)換為字符串,并輸出值為8}}}在程序運(yùn)行時(shí)輸入為:AAAAA(3個(gè)空格加5個(gè)A)則程序輸出為。A)08B)False8C)-18D)False5答案:B解析:[單選題]50.在類MyClass中有下列方法定義:PublicvoidtestParams(paramsint[]arr)//參數(shù)數(shù)組{Console.Write("使用Params參數(shù)!");}PublicvoidtestParams(intx,inty){Console.Write("使用兩個(gè)整型參數(shù)!");}請(qǐng)問上述方法重載有無二義性?若沒有,則下列語句的輸出為。MyClassx=newMyClass();X.testParams(0);//調(diào)用第一個(gè)testParamsX.testParams(0,1);//調(diào)用第二個(gè)testParamsX.testParams(0,1,2);//調(diào)用第一個(gè)testParamsConsole.WriteLine();A)有語義二義性B)使用Params參數(shù)!使用兩個(gè)整型參數(shù)!使用Params參數(shù)!C)使用Params參數(shù)!使用Params參數(shù)!使用Params參數(shù)!D)使用Params參數(shù)!使用兩個(gè)整型參數(shù)!使用兩個(gè)整型參數(shù)!答案:B解析:[單選題]51.在ADO.NET中,為了執(zhí)行一個(gè)存儲(chǔ)過程,需要把Command對(duì)象的CommandType屬性設(shè)置為()。A)CommandType.StoredProcedureB)CommandType.TableDirectC)CommandType.TextD)CommandType.Sql答案:A解析:示例:StringconStr=@"DataSource=host\SQLEXPRESS;InitialCatalog=dbtan;IntegratedSecurity=SSPI";SqlConnectioncon=newSqlConnection(conStr);try{con.Open();Console.WriteLine("ConnectSucess!");SqlCommandcom=newSqlCommand();com.CommandType=System.Data.CommandType.StoredProcedure;com.Connection=con;com.CommandText="insert_persons";SqlParameterpId=newSqlParameter("id",10);SqlParameterpLastName=newSqlParameter("lastname","last");SqlParameterpFirstName=newSqlParameter("firstname","first");SqlParameterpAdress=newSqlParameter("adress","pop");SqlParameterpCity=newSqlParameter("city","Hangzhou");com.Parameters.Add(pId);com.Parameters.Add(pLastName);com.Parameters.Add(pFirstName);com.Parameters.Add(pAdress);com.Parameters.Add(pCity);com.ExecuteNonQuery();}catch(Exceptione){Console.WriteLine(e.ToString());}finally{con.Close();}Console.ReadKey();[單選題]52.在Array類中,可以對(duì)一維數(shù)組中的元素進(jìn)行排序的方法是()A)SortB)ClearC)CopyD)Reverse答案:A解析:第2部分:多項(xiàng)選擇題,共5題,每題至少兩個(gè)正確答案,多選或少選均不得分。[多選題]53.在C#中,下列選項(xiàng)賦值正確的是()【選兩項(xiàng)】A)floata='1';B)floata=1;C)floata=1f;D)floata=1.5;答案:BC解析:[多選題]54.在C#中,要使用適配器對(duì)象獲取MyTable表中所有數(shù)據(jù),假設(shè)con是可用的連接對(duì)象,則正確的方式為()【選三項(xiàng)】A)SqlDataAdapterda=SqlDataAdapter("SELECT*FROMMyTable",con);DataSetds=newDataSet();da.Fill(ds);B)SqlCommandcmd=new("SELECT*FROMMyTable",con);SqlDataAdapterda=SqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);C)SqlCommandcmd=new("SELECT*FROMMyTable",con);SqlDataAdapterda=SqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds,"MyTable");D)SqlDataAdapterda=SqlDataAdapter("SELECT*FROMMyTable",con);DataSetds=newDataSet();da.Fill(ds.Tables["MyTable"]);答案:ABC解析:[多選題]55.下列關(guān)于虛方法的說法,正確的有()A)使用virtual關(guān)鍵字修飾虛方法B)父類中的虛方法可以被其子類重寫C)虛方法必須有自己的方法體D)虛方法一般定義在sealed修飾的類中答案:ABC解析:概念理解[多選題]56.類的成員可以包含()A)字段B)屬性C)方法D)條件答案:ABC解析:[多選題]57.下列關(guān)于DateTime類的Day屬性,描述錯(cuò)誤的是()。A)獲取DateTime類的實(shí)例的日期部分B)獲取DateTime類的實(shí)例所表示的日期為該月中的第幾天C)獲取DateTime類的實(shí)例所表示日期的小時(shí)部分D)獲取DateTime類的實(shí)例所表示日期的月份部分答案:ACD解析:第3部分:填空題,共3題,請(qǐng)?jiān)诳瞻滋幪顚懻_答案。[填空題]58.數(shù)據(jù)類型說明符用來說明方法返回值的類型,如果沒有返回值,則其類型說明符應(yīng)為()。答案:void解析:[填空題]59.get訪問器必須用()語句來返回。答案:return解析:[填空題]60.操作符()被用來說明兩個(gè)條件同為真的情況答案:&&解析:&&且,同為真是為真。||或,一個(gè)為真是為真。第4部分:判斷題,共15題,請(qǐng)判斷題目是否正確。[判斷題]61.在C#中,子類不能繼承父類中用private修飾的成員變量和成員方法。()A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]62.若想在標(biāo)簽中顯示文字,則需設(shè)置標(biāo)簽的name屬性。()A)正確B)錯(cuò)誤答案:錯(cuò)解析:[判斷題]63.C#語言中,值類型包括:基本值類型、結(jié)構(gòu)類型和整數(shù)類型。()A)正確B)錯(cuò)誤答案:錯(cuò)解析:[判斷題]64.聲明靜態(tài)構(gòu)造函數(shù)時(shí)不能帶訪問修飾符,也不能有任何參數(shù)列表和返回值。()A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]65.在結(jié)構(gòu)化異常處理語句trycatchfinally中,finally塊的內(nèi)容可以執(zhí)行也可以不執(zhí)行。答案:錯(cuò)解析:finally定義為出現(xiàn)各種情況都會(huì)執(zhí)行。[判斷題]66.方法重載即?同樣的方法名但傳遞的參數(shù)不同?()A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]67.重載函數(shù)必須具有不同的形參列表。()A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]68.在調(diào)用靜態(tài)屬性時(shí)需要使用?類名.靜態(tài)屬性名?的方式。A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]69.允許有多個(gè)相同名稱的構(gòu)造函數(shù).答案:對(duì)解析:構(gòu)造函數(shù)可以重載,所以正確。[判斷題]70.抽象成員必須在抽象類中聲明,但抽象類可以不包含抽象成員。()A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]71.抽象類中所有的方法必須被聲明為abstract答案:錯(cuò)解析:抽象類可以包括抽象方法,也可以包括已經(jīng)實(shí)現(xiàn)的非抽象方法。[判斷題]72.類只能繼承一個(gè)類,但能繼承多個(gè)接口。答案:對(duì)解析:[判斷題]73.DataTable類作為DataSet類中的重要對(duì)象,其與數(shù)據(jù)表的定義是類似的,都是由行和列構(gòu)成的,并且有唯一的表名。A)正確B)錯(cuò)誤答案:對(duì)解析:[判斷題]74.在C#中,如果在一個(gè)類中沒有定義構(gòu)造方法,系統(tǒng)會(huì)自動(dòng)為這個(gè)類創(chuàng)建一個(gè)默認(rèn)的構(gòu)造方法。A)正確B)錯(cuò)誤答案:對(duì)解析:第5部分:問答題,共25題,請(qǐng)?jiān)诳瞻滋幪顚懻_答案。[問答題]75.枚舉類型使用()關(guān)鍵字聲明。答案:enum解析:[問答題]76.C#通過()和()機(jī)制,可以實(shí)現(xiàn)值類型和引用類型之間的轉(zhuǎn)換。答案:裝箱|拆箱解析:[問答題]77.Collection和Collections的區(qū)別?請(qǐng)簡要描述一下。答案:Collection是集合類的上級(jí)接口,Collections是針對(duì)集合類的一個(gè)幫助類,它提供一系列靜態(tài)方法來實(shí)現(xiàn)對(duì)各種集合的搜索,排序,線程安全化操作。解析:Collection是集合類的上級(jí)接口,Collections是針對(duì)集合類的一個(gè)幫助類,它提供一系列靜態(tài)方法來實(shí)現(xiàn)對(duì)各種集合的搜索,排序,線程安全化操作。[問答題]78.Override,Overload,的區(qū)別?請(qǐng)簡要描述一下。答案:Override是重寫的意思,它表示重寫基類的方法,而且方法的名稱,返回類型,參數(shù)類型,參數(shù)個(gè)數(shù)要與基類相同。Overload是重載是意思,它也表示重寫基類的方法,但是只要方法名相同,別的可以不同。解析:Override是重寫的意思,它表示重寫基類的方法,而且方法的名稱,返回類型,參數(shù)類型,參數(shù)個(gè)數(shù)要與基類相同。Overload是重載是意思,它也表示重寫基類的方法,但是只要方法名相同,別的可以不同。[問答題]79.【填空題】寫出下面程序的運(yùn)行結(jié)果:ClassParent{privateinti;protectedintj;privatevoidDisplay(){Console.WriteLine("父類");}protectedvoidSetvalue(){j=1;i=4;}publicvoidMyDvalue(){Console.WriteLine("i={0},j={1}",i,j);}}classChild:Parent{publicintk;publicvoidDisplay(){Console.WriteLine("子類");}internalvoidChange(){Setvalue();MyDvalue();}}classProgram{staticvoidMain(string[]args){Parentx=newParent();Childy=newChild();x.MyDvalue();y.Change();y.Display();y.MyDvalue();y.k=60;Console.WriteLine("{0}",y.k);Console.ReadKey();}}我的答案:第一空:I=0,j=0i=4,j=1子類i=4,j=1609【填空題】PublicclassFather{publicintx=7;publicvoidoutput(){Console.WriteLine(x);}}publicclassSon:Father{intx=9;publicvoidoutput(intx){base.output();Console.WriteLine(this.x);Console.WriteLine(x);Console.WriteLine(base.x);}}classExclass{publicstaticvoidMain(string[]args){Fatherobfather=newFather();obfather.output();Sonobson=newSon();obson.output(5);Console.ReadLine();}}以上程序的運(yùn)行結(jié)果是_____________________。(可能有多行)答案:第一空:77957解析:[問答題]80.使用ArrayList類()方法可在動(dòng)態(tài)數(shù)組末尾增加一個(gè)元素。答案:Add()解析:[問答題]81.什么是抽象類?請(qǐng)簡要描述一下。答案:抽象類是含有一個(gè)或多個(gè)抽象方法的類,抽象類不能實(shí)例化。解析:抽象類是含有一個(gè)或多個(gè)抽象方法的類,抽象類不能實(shí)例化。[問答題]82.C#中執(zhí)行下列語句后,intn=21;n<<=1;n的值為()答案:42解析:[問答題]83.C#源程序文件的擴(kuò)展名為()。答案:.cs解析:[問答題]84.編一個(gè)程序,輸入一個(gè)正整數(shù)n,把它轉(zhuǎn)換為二進(jìn)制數(shù),并輸出。提示:應(yīng)該利用數(shù)組答案:int[]a=newint[80];inti,j,n=0;while(n<=0){Console.WriteLine("請(qǐng)輸入一個(gè)正整數(shù):");n=int.Parse(Console.ReadLine());}i=0;Console.Write("\n正整數(shù){0}轉(zhuǎn)換為二進(jìn)制數(shù):",n);while(n>0){a[++i]=n%2;n=n/2;}for(j=i;j>0;j--)Console.Write(a[j]);Console.WriteLine();解析:[問答題]85.在C#中,布爾類型的關(guān)鍵字是()。答案:bool解析:[問答題]86.在C#Net中,窗體父子關(guān)系通過()窗口來創(chuàng)建。答案:MDI窗體解析:[問答題]87.【填空題】程序填空題:編寫方法,使用冒泡排序方法對(duì)指定的數(shù)組進(jìn)行降序排序,并測試該方法。ClassProgram{staticvoidMain(string[]args){int[]array={13,2,-51,0,-1};ArraySort(array);foreach(int【1】inarray){Console.Write("{0}",num);}Console.Read();}publicstaticvoidArraySort(int[]array){for(inti=0;i<【2】;i++){for(intj=0;j<【3】;j++){if(【4】){inttemp=array[j];array[j]=array[j+1];array[j+1]=temp;}}}}}答案:第一空:Num第二空:Array.Length第三空:Array.Length-i-1第四空:A[j]>a[j+1]解析:[問答題]88.編一個(gè)程序,輸入一個(gè)正整數(shù),判斷它是否為素?cái)?shù)。如不是,則輸出其所有正約數(shù)答案:Console.WriteLine("請(qǐng)輸入一個(gè)正整數(shù):");uinti,n,flag;boolf=true;n=uint.Parse(Console.ReadLine());//uint.TryParse(Console.ReadLine(),outn);for(i=2;i<n;i++){if(n%i==0){f=false;break;}}if(f)Console.WriteLine("{0}是一個(gè)素?cái)?shù)。",n);else{Console.Write("{0}不是一個(gè)素?cái)?shù)。\n{1}=",n,n);i=2;flag=0;while(i<=n){while(n%i==0){n=n/i;if(flag!=0)Console.Write('*');flag=1;Console.Write("{0}",i);}i++;}}解析:[問答題]89.在C#語言中,用來遍歷數(shù)組元素的循環(huán)語句是()。答案:foreach解析:[問答題]90.在窗體上放置一個(gè)圖片框,名稱為pic1,要將d盤根目錄下的圖片?t.jpg?顯示在該圖片框中,正確的語句是:pic1.()="d:\\t.jpg";答案:ImageLocation解析:[問答題]91.staticvoidMain(string[]args){try{intx=Convert.ToInt32(Console.ReadLine());inty=Convert.ToInt32(Console.ReadLine());intz=x/y;}catch(FormatException){Console.WriteLine("格式不符");}catch(DivideByZeroException){Console.WriteLine("除數(shù)不能是0");}catch(Exception){Console.WriteLine("
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨學(xué)科視角下的小學(xué)生綜合計(jì)算能力培養(yǎng)策略研究總結(jié)
- DB6528T 210-2024板椒聯(lián)合收獲機(jī)作業(yè)技術(shù)規(guī)程
- DB6103T 82-2025夏大豆擴(kuò)行縮株栽培技術(shù)規(guī)范
- 專業(yè)常年法律顧問聘任合同模板
- 個(gè)人投資入股合作合同協(xié)議
- 專利許可合同
- 買賣合同終止及賠償協(xié)議
- 專兼職律師服務(wù)合同格式范本
- 個(gè)人咖啡店轉(zhuǎn)讓合同范本
- 產(chǎn)品設(shè)計(jì)與制造合同范本
- 美發(fā)學(xué)徒助理職業(yè)規(guī)劃書
- 法醫(yī)病理學(xué)課件
- 職代會(huì)提案征集表
- 介紹uppc技術(shù)特點(diǎn)
- 物業(yè)工程工作分配及人員調(diào)配方案
- 《諫逐客書》理解性默寫(帶答案)最詳細(xì)
- 《黑駿馬》讀書筆記思維導(dǎo)圖
- 2023年物理會(huì)考真題貴州省普通高中學(xué)業(yè)水平考試試卷
- 盤扣式懸挑腳手架專項(xiàng)施工方案
- 勞動(dòng)防護(hù)用品知識(shí)考試試題(含答案)
- 高中教師業(yè)務(wù)知識(shí)考試 數(shù)學(xué)試題及答案
評(píng)論
0/150
提交評(píng)論