C#開發(fā)基礎(chǔ)(習(xí)題卷3)_第1頁
C#開發(fā)基礎(chǔ)(習(xí)題卷3)_第2頁
C#開發(fā)基礎(chǔ)(習(xí)題卷3)_第3頁
C#開發(fā)基礎(chǔ)(習(xí)題卷3)_第4頁
C#開發(fā)基礎(chǔ)(習(xí)題卷3)_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

試卷科目:C#開發(fā)基礎(chǔ)C#開發(fā)基礎(chǔ)(習(xí)題卷3)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC#開發(fā)基礎(chǔ)第1部分:單項選擇題,共138題,每題只有一個正確答案,多選或少選均不得分。[單選題]1.在界面上創(chuàng)建字體的類是。A)GraphicsB)PenC)BrushD)Font答案:D解析:[單選題]2.關(guān)于C#的委托機(jī)制的主要步驟的說明,錯誤的是()A)第一步聲明樣板,需用delegate修飾,樣板要有方法體實現(xiàn)部分B)第二步定義準(zhǔn)備調(diào)用的方法,該方法的參數(shù)類型、個數(shù)及參數(shù)的順序必須與樣板的定義相同C)第三步定義delegate類型的處理函數(shù),該函數(shù)的參數(shù)就是第二步中調(diào)用的方法D)創(chuàng)建樣板的實例,傳入準(zhǔn)備調(diào)用的方法名答案:A解析:[單選題]3.在C#中,引用命名空間System的正確語句是()A)usingSystem;B)#import<System>;C)usesSystem;D)#inCluDe<System>;答案:A解析:[單選題]4.下列選項中,哪個是代碼intresult=4<5?4+5:4-5;的運(yùn)行結(jié)果()。A)4B)5C)9D)-1答案:C解析:[單選題]5.在C#中,預(yù)處理器指令#region(地區(qū),范圍)和#endregion的作用是:()A)注釋#region和#endregion之間的代碼B)為CodeEditor定義一段可折疊代碼區(qū)C)#region和#endregion之間的代碼在Debug版本中不參加編譯D)#region和#endregion之間的代碼在Release版本中不參加編譯答案:B解析:#region就是將一些有關(guān)聯(lián)的代碼組織在一起,然后折疊起來。這樣你就在一個函數(shù)中看不到很長的令人頭痛的代碼段。例如:publicvoidDoSomething(){boolshouldIDoSomething;#regionDecideifIshoulddosomethingif(needToDoSomething&&haventDoneSomethingThisDay)shouldIDoSomething=true;else{//dosomeotherlogictodecideandsetshouldIDoSomethingtosomevalue}#endregionif(shouldIDoSomething){done++;}}當(dāng)然這段代碼很簡單。在實際項目中,你可能看到上百行甚至更多的代碼在一個#region中。如果把它折疊起來??雌饋砭蜁苷麧崱J前??publicvoidDoSomething(){boolshouldIDoSomething;[DecideifIshoulddosomething]if(shouldIDoSomething){done++;}}只是把一些代碼和一些變量組合起來放在#region中。如果你在仔細(xì)想想,其實我們相當(dāng)與創(chuàng)建了一個新的函數(shù),只是將這些方法內(nèi)置到當(dāng)前函數(shù)中。一個函數(shù)只做單一的一件事情,這是CleanCode這本書的一個原則。為什么我們不把它提取為一個函數(shù)呢,這樣一來,一個函數(shù)就只做一件事情了。publicvoidDoSomething(){if(ShouldIDoSomething()){done++;}}privateboolShouldIDoSomething(){if(needToDoSomething&&haventDoneSomethingThisDay)shouldIDoSomething=true;else{//dosomeotherlogictodecideandsetshouldIDoSomethingtosomevalue}}上面看起來就清楚很多,因為我們降低了之前的DoSomething函數(shù)的復(fù)雜度。兩個函數(shù)可以分開測試,確保沒有邏輯錯誤。小段總結(jié)1:#region不適合在大方法中使用,當(dāng)你在一個方法中使用#region的時候,停下來想想你剛剛寫了什么代碼?大多數(shù)時候,你可以將這些代碼段獨立成一個函數(shù)??纯聪旅孢@段非常漂亮的代碼:#regionGetCustomerpublicvoidGetCustomer(){//codetogetthecustomer}#endregion#regionSaveCustomerpublicvoidSaveCustomer(){//codetosavethecustomer}#endregion將它折疊之后,變成下面這樣:[GetCustomer][SaveCustomer]這樣做很容易閱讀嗎?這樣做的目的是什么,我不明白?代碼折疊就會變得更好?我覺得這樣做只會讓代碼更難以閱讀,因為你每次要看region中的代碼,你都要展開一次。[單選題]6.在.NET的WinForms程序中,可以使用()對象來連接和訪問數(shù)據(jù)庫。(選擇一項)A)MDIB)JITC)ADO.NETD)System.ADO答案:C解析:C#開發(fā)學(xué)習(xí)--ADO.NET幾個重要對象ADO.NET包括多個對象模型,有Connection/Command/DataReader/DataAdapter/DataSet/DataTable/DataView等。命名空間System.Data.SqlClient用于SQLSERVER數(shù)據(jù)庫命名空間System.Data.Odbc命名空間System.Data.OracleClient用于Oracle數(shù)據(jù)庫Connection對象用于連接到數(shù)據(jù)庫和管理對數(shù)據(jù)庫的事務(wù)。連接的串一般是:connectionString="DataSource=;InitialCatalog=;IntegratedSecurity=false;UserID=;password="常用方法:open();close();dispose();//釋放由Connection使用的所有資源。Command對象用來對數(shù)據(jù)源執(zhí)行CRUD等操作,也可以是存儲過程。常用方法:executeNonQuery();執(zhí)行非select的命令,返回所影響的行數(shù)executeScalar();執(zhí)行select,返回第一行第一列的值。count/sum等集函數(shù)executeReader();執(zhí)行select,返回dataReader對象。DataReader對象使用時始終用sqlconnection在線操作數(shù)據(jù)庫,每次在內(nèi)存中加載一條數(shù)據(jù),開銷很小常用方法:read();NextResult();close();不使用時關(guān)閉它DataAdapter對象在DataSet和實際數(shù)據(jù)源之間的橋梁,專門為DataSet所服務(wù)。兩種工作步驟:1:通過Command對象執(zhí)行sql語句從數(shù)據(jù)源中檢索數(shù)據(jù),將檢索的數(shù)據(jù)填充到DataSet表中2:把用戶對dataset對象做出的更改填寫到數(shù)據(jù)源中常用方法:fill();//從數(shù)據(jù)源中提取數(shù)據(jù)以填充數(shù)據(jù)集update();更新數(shù)據(jù)源常用屬性:SelectCommand();InsertCommand();UpdateCommand();DeletCommand();DataSet對象創(chuàng)建在內(nèi)存中的集合對象,使用必須設(shè)置主鍵DataTable對象用于表示DataSet中的表DataView對象用于排序/篩選/搜索/編輯和導(dǎo)航第一種:StringconnectionString="";SqlConnectioncon=newSqlConnection(connectionString);con.open();SqlCommandcmd=newSqlCommand("select/等CRUD語句";con);SqlDataReaderreader=cmd.ExecuteReader();while(reader.Reader()){Response.Write(reader["列名"]);}reader.close();con.close();展示可以借用GirdView實現(xiàn):GirdView.DataSource=reader;GirdView.DataBind();第二種:StringconnectionString="";SqlConnectioncon=newSqlConnection(connectionString);con.open();SqlDataAdapterda=newSqlDataAdapter("CRUD語句",con);DataSetds=newDataSet();da.Fill(ds);或StringconnectionString="";SqlConnectioncon=newSqlConnection(connectionString);con.open();SqlCommandcmd=newSqlCommand("select/等CRUD語句";con);SqlDataAdapterda=newSqlDataAdapter(cmd);DataSetds=newDataSet();da.Fill(ds);或StringconnectionString="";SqlConnectioncon=newSqlConnection(connectionString);con.open();SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=newSqlCommand("select/等CRUD語句";con);DataSetds=newDataSet();da.Fill(ds);GirdView.DataSource=ds;GirdView.DataBind();[單選題]7.通過把窗體的______屬性設(shè)置為True,可以使一個窗體成為MDI主窗體。A)IsMdiContainerB)MdiParentC)MdiChildrenD)IsMdiParent答案:A解析:[單選題]8.列表視圖ListView的View屬性的默認(rèn)值為()A)大圖標(biāo)LargeIconB)小圖標(biāo)SmallIconC)詳細(xì)資料DetailsD)列表List答案:A解析:[單選題]9.在HTML5頁面標(biāo)記中,用于設(shè)置文本框顯示寬度的屬性是()A)sizeB)maxLengthC)valueD)length答案:A解析:[單選題]10.在C#中,關(guān)于static關(guān)鍵字,下列說法錯誤的是()A)創(chuàng)建對象時初始化B)只能訪問靜態(tài)成員C)使用類名進(jìn)行訪問D)靜態(tài)屬性和方法被類的所有對象共享答案:A解析:[單選題]11.針對下面的C#代碼:usingSystem;delegatevoidD(inti);classP{publicstaticvoidMain(){V(newD(R));}publicstaticvoidR(intt){V(21);}publicstaticvoidV(inti){Console.WriteLine(i.ToString());Console.ReadLine();}}以下說法正確的是()(選擇一項)A)代碼中存在錯誤,delegatevoidD(inti);不能定義在名稱空間或者類之外B)代碼中存在錯誤,代碼行V(newD(R));使用委托錯誤C)程序正常運(yùn)行,輸出為0D)程序正常運(yùn)行,輸出為21答案:B解析:[單選題]12.以下描述中表現(xiàn)了繼承關(guān)系的是?()A)橋車是一種機(jī)動車B)引擎是機(jī)動車的一部分C)司機(jī)開橋車D)張三是一個司機(jī)答案:A解析:[單選題]13.下列關(guān)于sealed關(guān)鍵字的說法錯誤的是()。A)sealed關(guān)鍵字不能和abstract同時使用B)sealed關(guān)鍵字可以修飾一個類,該類是密封類C)sealed關(guān)鍵字可以修飾一個方法,該方法不能被重寫D)sealed關(guān)鍵字修飾的類,可以被繼承答案:D解析:[單選題]14.下列說法正確的是()A)虛方法不可以在派生類中重寫B(tài))sealed前可以使用abstract修飾C)聲明密封方法時,sealed修飾符總是和override修飾符同時使用D)以上說法全部正確答案:C解析:概念理解[單選題]15.下列選項中,定義連接數(shù)據(jù)庫的字符串正確的是()。A)server=服務(wù)器名稱/數(shù)據(jù)庫的實例名;uid=登錄名;pwd=密碼;database=數(shù)據(jù)庫名稱B)server=服務(wù)器名稱/數(shù)據(jù)庫的實例名;pwd=密碼;database=數(shù)據(jù)庫名稱C)DataSource=服務(wù)器名稱\數(shù)據(jù)庫實例名;InitialCatalog=數(shù)據(jù)庫名稱D)InitialCatalog=數(shù)據(jù)庫名稱;UserID=用戶名;Password=密碼答案:A解析:[單選題]16.分析以下C#語句,注意類MyClass沒有顯式指定訪問修飾符:Namespaceaaa{classMyClass{publicclasssubclass{inti;}}}該類MyClass的默認(rèn)訪問修飾符是。A)privateB)protectedC)internalD)public答案:C解析:[單選題]17.下列程序段的輸出結(jié)果是inti,j;for(i=0;i<5;i++){for(j=1;j<10;j++)if(j==5)break;if(i<2)continue;if(i>2)break;Console.WriteLine("{0}",j);}Console.WriteLine("{0}",i);A)52B)02C)53D)103答案:C解析:[單選題]18.請問經(jīng)過表達(dá)式A=3+1>5?0:1的運(yùn)算,變量A的最終值是什么?()A)3B)1C)0D)4答案:B解析:[單選題]19.string字符串中可以包含任意字符,這些字符必須包含在一對()之內(nèi)。A)英文雙引號""B)中文雙引號??C)小括號D)大括號答案:A解析:[單選題]20.在C#中,下列關(guān)于屬性的描述正確的是()A)屬性就是以public關(guān)鍵字修飾的字段B)屬性是訪問字段值的一種簡單的形式,屬性更好的實現(xiàn)了數(shù)據(jù)的封裝和隱藏C)要定義只讀屬性只需在屬性名前加上readonly關(guān)鍵字D)屬性不可以使用virtual)override和public限定符答案:B解析:A:錯誤。還可以是其它關(guān)鍵字修飾。B:正確C:常量也是只讀。D:屬性可以用public[單選題]21.假設(shè)x=10,以下代碼將在屏幕上輸出什么?System.Console.WriteLine(x++);A)5B)10C)15D)20答案:B解析:[單選題]22.先判斷條件的當(dāng)循環(huán)語句是()。A)do...whileB)whileC)while...doD)do...loop答案:B解析:[單選題]23.在c#程序中,己知某一維數(shù)組名稱為myArray,則該數(shù)組的長度為()A)myArray.LengthB)myArray.CountC)myArray.length()D)myArray.count()答案:A解析:[單選題]24.在C#中,設(shè)類B是類A派生類,類C是類B派生類,在創(chuàng)建C類的實例時,下列描述中正確的是()。A)只調(diào)用類A的構(gòu)造函數(shù)B)只調(diào)用類A和類B的構(gòu)造函數(shù)C)三類的構(gòu)造函數(shù)都會被調(diào)用,調(diào)用的順序依次為類A類B類C的構(gòu)造函數(shù)D)三類的構(gòu)造函數(shù)都會被調(diào)用,調(diào)用的順序依次為類C類B類A的構(gòu)造函數(shù)答案:C解析:[單選題]25.關(guān)于抽象方法和虛方法的區(qū)別說法不正確的是()A)抽象方法和虛方法都是為了實現(xiàn)多態(tài)的功能。B)抽象方法只提供一個功能名稱,要求子類必須實現(xiàn)該功能。C)虛方法使用關(guān)鍵字virtual修飾。D)虛方法雖然不止提供了功能名稱還提供了默認(rèn)的實現(xiàn)方式,但是子類還是必須重新實現(xiàn)該功能。答案:D解析:概念理解[單選題]26.以下中哪個為由現(xiàn)有的類創(chuàng)建新類的過程?()A)繼承B)多態(tài)性C)可重用性D)抽象答案:A解析:[單選題]27.在C#中,以下是TextBox控件常用事件的是()A)DeleteB)CloseC)OpenD)Click答案:D解析:[單選題]28.在HTML5中,表單的提交地址使用的屬性是()A)formB)nameC)actionD)method答案:C解析:[單選題]29.聲明結(jié)構(gòu)型的關(guān)鍵字是()A)enumB)structC)classD)interface答案:B解析:[單選題]30.要獲取ListBox控件當(dāng)前選中項的文本,通過屬性得到。A)SelectedIndexB)SelectedItemC)ItemsD)Text答案:D解析:[單選題]31.SpeedTechLtd是一家汽車生產(chǎn)商,他們制造多種型號的汽車。SpeedTechLtd含有一個car類。car類擁有公司生產(chǎn)的汽車型號的細(xì)節(jié)信息。公司生產(chǎn)的每輛汽車都有一個model類。car類的屬性有carName,carMileage,carNumber和model。Model類的屬性有modelNumber,modelstyle和modelCost。上述情景中car類和model類之間的關(guān)系?()A)繼承關(guān)系B)利用關(guān)系C)實例化關(guān)系D)組合(合成)關(guān)系答案:A解析:[單選題]32.程序編寫完成后可以按______鍵運(yùn)行程序。A)F3B)F5C)F10D)F11答案:B解析:[單選題]33.以下定義并動態(tài)初始化一維數(shù)組的語句中正確的是。A)int[]arr1=newint[];(需確定長度)B)intarr2=newint[4];(int后沒有[])C)int[]arr3=newint[i]{6,5,1,2,3};(i值不確定)D)int[]arr4=newint[]{6,5,1,2,3};答案:D解析:[單選題]34.下列屬于合法C#變量名的有()A)x_123B)ifC)1_xD)3x答案:A解析:[單選題]35.在C#中,下列說法正確的是()A)C#中可以使用override隱藏父類成員實現(xiàn)多態(tài)B)C#中虛方法必須被子類重寫C)C#中抽象方法必須被其子類重寫D)C#中new關(guān)鍵字只有創(chuàng)建對象一種作用答案:C解析:[單選題]36.下列代碼需要輸出?小狗喜歡吃骨頭?,?小貓蹲著睡?,則需要在Main()方法中添加的代碼是()classProgram{staticvoidMain(string[]args){//在這一個位置寫入代碼}}abstractclassAnimal{publicabstractvoidEat();}classDog:Animal{publicoverridevoidEat(){Console.WriteLine("小狗喜歡吃骨頭。");}publicvoidSleep(){Console.WriteLine("小狗趴著睡。");}}classCat:Animal{publicoverridevoidEat(){Console.WriteLine("小貓喜歡吃魚。");}publicvoidSleep(){Console.WriteLine("小貓蹲著睡。");}}A)Animaldog=newDog();dog.Eat();Animalcat=newCat();cat.Eat();B)Animaldog=newDog();dog.Eat();Animalcat=newCat();cat.Sleep();C)Animaldog=newDog();dog.Eat();Catcat=newCat();cat.Sleep();D)Dogdog=newDog();dog.Sleep();Catcat=newCat();cat.Eat();答案:C解析:結(jié)果判斷[單選題]37.在)NET中,Hashtable類所在的命名空間是()(選擇一項)A)System)ThreadintB)System)IOC)System)CollectionsD)System答案:C解析:1、別稱:哈希表、鍵值對、關(guān)聯(lián)數(shù)組2、概述:(1)、用于處理和表現(xiàn)類似Key/Value的鍵值對(2)、key可以是不同數(shù)據(jù)類型,但不能重名,必須滿足唯一性,同時它還區(qū)分大小寫。通常用于快速查找,類似索引。value用于存儲對應(yīng)key的值,二者均為object類型,因此,Hashtable支持任何類型的key/value鍵值對。(3)、Hashtable中的元素存儲在DictionaryEntry對象中。3、聲明之前需引用命名空間:System.CollectionsHashtableht=newHashtable();4、添加方法:(1)Add(鍵,"值")(2)ht[鍵]="值"用第二種方法,可能添加元素,也可能是重新賦值,取決于?鍵?是否已經(jīng)存在!5、遍歷方法:利用foreach循環(huán)(1)用DictionaryEntry對象聲明;foreach(DictionaryEntrymyEntryinht){Console.WriteLine("key鍵:{0}value值:{1}",myEntry.Key,myEntry.Value);}(2)用Object類聲明foreach(objectobjinht.Keys){Console.WriteLine("key鍵:{0}value值:{1}",obj,ht[obj]);}6、刪除方法:Remove(Key鍵)刪除指定元素Clear()清空所有元素7、查找方法:(返回布爾值)ContainsKey按鍵查找ContainsValue按值查找[單選題]38.以下關(guān)于程序的各種錯誤中說法錯誤的是。A)只通過測試無法確保程序運(yùn)行完全正常B)通過異常處理可以捕獲運(yùn)行錯誤C)邏輯錯誤編譯時不能被發(fā)現(xiàn),但是可以通過測試發(fā)現(xiàn)D)語法錯誤容易在運(yùn)行時發(fā)現(xiàn)答案:D解析:[單選題]39.C#可執(zhí)行應(yīng)用程序的入口點是()A)main函數(shù)B)Main函數(shù)C)Run函數(shù)D)情Form_Load函數(shù)答案:B解析:[單選題]40.在.NET中,以下關(guān)于命名空間的描述,正確的是()。(選擇一項)A)命名空間不可以進(jìn)行嵌套B)任一個.cs文件中,只能存在一個命名空間C)便用private修飾的命名空間,其內(nèi)部的類也不允許訪問D)命名空間使得代碼更加有條理、結(jié)構(gòu)更清晰答案:D解析:C:命名空間沒有private。D:正確[單選題]41.在C#編程中,訪問修飾符控制程序?qū)︻愔谐蓡T的訪問,如果不寫訪問修飾符,類的默認(rèn)訪問類型是()。A)publicB)privateC)internalD)protected答案:C解析:[單選題]42.在C#中,下列數(shù)據(jù)類型屬于引用類型的是()。A)整型(int)B)結(jié)構(gòu)(struct)C)接口(interface)D)枚舉(enum)答案:C解析:[單選題]43.下列程序的輸出結(jié)果是StaticvoidMain(string[]args){constintMAX=10;int[]a={1,2,3,4,5,6,7,8,9,10};intsum=1;for(inti=0;i<MAX;i++)sum=sum-a[i];Console.WriteLine("{0}",sum);Console.ReadKey();}A)54B)55C)-54D)-55答案:C解析:[單選題]44.在HTML5中,input元素的type屬性值為()表示該按鈕為復(fù)選框按鈕。A)multiCheckedB)radioC)selectD)checkbox答案:D解析:[單選題]45.下列說法中,正確的是()。A)派生類對象可以強(qiáng)制轉(zhuǎn)換為基類對象B)在任何情況下,基類對象都不能轉(zhuǎn)換為派生類對象C)接口不可以實例化,也不可以引用實現(xiàn)該接口的類的對象D)基類對象可以訪問派生類的成員答案:A解析:A:正確。如B繼承于A。Aa=newB();是可以的。[單選題]46.在C#程序中,使用()關(guān)鍵字來創(chuàng)建數(shù)組A)newB)arrayC)staicD)this答案:A解析:[單選題]47.在C#中,如果一個屬性只有g(shù)et訪問器,那么該屬性為()屬性A)讀寫B(tài))只讀C)只寫D)不確定答案:B解析:[單選題]48.在HTML5中,以下正確設(shè)置網(wǎng)頁標(biāo)題為?HTML5網(wǎng)頁?的代碼是()A)<head>HTML5網(wǎng)頁</head>B)<t>HTML5網(wǎng)頁</t>C)<tltle>HTML5網(wǎng)頁</title>D)<h>HTML5網(wǎng)頁</h>答案:C解析:[單選題]49.關(guān)于泛型的特點,描述錯誤的是()A)泛型是C#2.0新增加的功能B)不會強(qiáng)行對值類型裝箱和拆箱C)數(shù)據(jù)類型默認(rèn)為ObjectD)提高運(yùn)行的性能答案:C解析:[單選題]50.在.Net中所有可序列化的類都被標(biāo)記為()A)(serializable)B)[serializable]C)serializableD)serialize答案:B解析:[單選題]51.取消最近一次的文本編輯操作,可使用RichTextBox控件的______方法。A)FindB)UndoC)RedoD)Do答案:B解析:[單選題]52.顯示消息時,MessAgeBoxTCon枚舉中的Error成員可以消息框中添加一個圖標(biāo),該圖標(biāo)的形狀是()A)問號B)iC)感嘆號D)叉號答案:D解析:[單選題]53.floatf=-123.567F;inti=(int)f;i的值現(xiàn)在是()A)123fB)123.56C)-123fD)-123答案:D解析:[單選題]54.類的以下特征中,可以用于方便地重用已有的代碼和數(shù)據(jù)的是()A)多態(tài)B)封裝C)繼承D)抽象答案:C解析:繼承是在類之間建立一種相交的關(guān)系,使得新定義的派生類的實例可以繼承已有的基類的特征并且還可以添加新的功能。[單選題]55.請仔細(xì)閱讀有如下C#代碼:intA=3;intB=4Console.WriteLine(A+B);因為第二行代碼少寫了一個分號,程序運(yùn)行時將()。A)產(chǎn)生語法錯誤B)產(chǎn)生語義錯誤C)中斷D)正常運(yùn)行答案:A解析:這種叫語法錯誤。語法沒有錯誤,運(yùn)行時錯誤叫異常。[單選題]56.在Winforms窗體中,有一名為txtUser的TextBox控件,其MaxLength屬性為5,該控件的當(dāng)前文本為?網(wǎng)絡(luò)編程?,若再執(zhí)行代碼:txtUser)AppendText(?高手?);則控件的文本為()。(選擇一項)A)網(wǎng)絡(luò)編程B)網(wǎng)絡(luò)編程高C)網(wǎng)絡(luò)編程高手D)出現(xiàn)運(yùn)行時錯誤答案:C解析:Dependencypropertyidentifierfield:MaxLengthProperty.如果將值設(shè)置為0,則指示對于字符數(shù)不存在任何限制。設(shè)置MaxLength僅限制用戶可以輸入的字符數(shù)。它不限制以編程方式進(jìn)行的輸入。如果以編程方式添加到文本框中的字符數(shù)大于MaxLength,則用戶可以刪除字符,但不能添加任何字符。一旦字符數(shù)小于MaxLength,則用戶可以再次添加文本。用戶可以撤消先前的操作并使文本超過MaxLength。如果用戶粘貼到文本框中的文本導(dǎo)致字符數(shù)超出MaxLength,則刪除文本框中位于最后的若干字符。代理項字符被視為一個字符用于確定文本長度。[單選題]57.分析一下C#片段中的屬性,該屬性是()屬性。privatestringname;PublicstringName{get{returnname;}}A)可讀可寫B(tài))只寫C)只讀D)靜態(tài)答案:C解析:只有g(shù)et,所以是只讀。[單選題]58.在C#語言中,下列代碼中聲明數(shù)組正確的是()A)inta[];B)int[]a;C)inta[5];D)inta[5];答案:B解析:[單選題]59.在C#中,分析下列代碼片段的執(zhí)行結(jié)果()inta=5,b=4,c=6,d;Console.WriteLine("{0}",d=a>b?(a>c?a:c):b);A)5B)4C)6D)不確定答案:C解析:[單選題]60.下面的方法,不能用來顯示圖像的是______。A)通過?屬性"窗口設(shè)置PictureBox控件的Image屬性顯示圖像B)通過編程方式設(shè)置PictureBox控件的Image屬性C)使用Bitmap類從文件中讀取一個位圖,并在屏幕中顯示圖像D)使用Bitmap類的Save方法顯示圖像答案:D解析:[單選題]61.在C#中,WinForms窗體的后綴名是()A)csB)aspxC)formD)xml答案:A解析:[單選題]62.在HTML5中,內(nèi)容標(biāo)簽分為兩大類,分別是()A)行級標(biāo)簽和塊級標(biāo)簽B)表格標(biāo)簽和塊級標(biāo)簽C)塊級標(biāo)簽和表單標(biāo)簽D)表單標(biāo)簽和行級標(biāo)簽答案:A解析:[單選題]63.在C#中,可使用StreamWriter對象對文本文件進(jìn)行寫操作,以下方法不屬于該對象的是()。A)Write();B)WriteLine();C)Flush();D)WriteToEnd();答案:D解析:publicoverridevoidClose():關(guān)閉當(dāng)前的StreamWriter對象和基礎(chǔ)流。publicoverridevoidFlush():清理當(dāng)前編寫器的所有緩沖區(qū),并使所有緩沖數(shù)據(jù)寫入基礎(chǔ)流。注意:在寫出數(shù)據(jù)后,必須使用此方法將緩沖中的數(shù)據(jù)寫出到流對應(yīng)的目標(biāo)中。publicoverridevoidWrite(stringvalue):將字符串寫入流,參數(shù)value要寫入流的字符串。如果value為空,則不寫入任何內(nèi)容。publicvirtualvoidWrite(stringformat,paramsObject[]arg):使用與String.Format相同的語義寫出格式化的字符串。參數(shù)format格式化字符串。Arg指定要寫入格式化字符串的對象數(shù)組。publicvirtualvoidWriteLine():將行結(jié)束符寫入文本流。默認(rèn)行結(jié)束符是后跟換行符的回車符(?\r\n?),但使用NewLine屬性可以更改此值。publicvirtualvoidWriteLine(stringvalue):將后跟行結(jié)束符的字符串寫入文本流。參數(shù)value指定要寫入的字符串。如果value為空引用(在VisualBasic中為Nothing),則僅寫入行結(jié)束字符。publicvirtualvoidWriteLine(stringformat,paramsObject[]arg):使用與Format相同的語義寫出格式化的字符串和一個新行。參數(shù)format格式化字符串。Arg指定要寫入格式化字符串的對象數(shù)組。[單選題]64.設(shè)intx=10,a=0,b=25則條件表達(dá)式x<1?a+10:b的值是()A)0B)1C)10D)25答案:D解析:x<1為錯。所以結(jié)果取b=25.[單選題]65.C#類的定義中,在默認(rèn)情況下,省略的類訪問修飾符是()。A)privateB)protectedC)publicD)internal答案:D解析:[單選題]66.在C#程序中關(guān)于抽象類的定義,以下描述有誤的是()A)publicabstractclassA{}B)publicclassabstractA{}C)abstractpublicclassA{}D)abstractclassA{}答案:B解析:概念理解[單選題]67.與?i++?等價的表達(dá)式為()A)i=i+1B)i+1C)i=i+2D)i+2答案:A解析:[單選題]68.以下類型中,不屬于值類型的是____?A)整數(shù)類型B)布爾類型C)字符類型D)類類型答案:D解析:[單選題]69.在C#中,以下不屬于DataGridView常用的屬性是()A)NameB)DataSouceC)RowsD)Count答案:D解析:[單選題]70.如果ListBox控件需要實現(xiàn)必須配合鍵盤才能實現(xiàn),則SelectionMode屬性應(yīng)設(shè)為______。A)SelectionMode.MultiExtendedB)SelectionMode.MultiSimpleC)SelectionMode.NoneD)以上都不是答案:A解析:[單選題]71.類的定義必須使用()關(guān)鍵字。A)publicB)classC)staticD)namespace答案:B解析:[單選題]72.下列關(guān)于屬性中的訪問器的說法,正確的是()A)屬性中可以不包含任何訪問器B)屬性中可以只有g(shù)et訪問器,也可以只有set訪問器C)屬性中只能有g(shù)et訪問器或set訪問器,不能同時包含D)屬性中必須同時包含get訪問器和set訪問器答案:B解析:概念理解[單選題]73.C#語言是微軟.NET公共語言運(yùn)行環(huán)境中內(nèi)置的核心程序設(shè)計語言,是一種()A)面向過程程序設(shè)計語言B)面向?qū)ο蟪绦蛟O(shè)計語言C)跨平臺程序設(shè)計語言D)機(jī)器語言答案:B解析:[單選題]74.調(diào)用?命名空間?的命令是()A)namespaceB)useC)usingD)#include答案:C解析:[單選題]75.在語句usingSystem中,System是()A)名稱空間B)類C)對象D)關(guān)鍵字答案:A解析:[單選題]76.在C#中,ADO.NET中用于建立Connection對象和數(shù)據(jù)集之間的橋梁的對象是()A)DataTable對象B)Command對象C)DataSet對象D)DataAdapter對象答案:D解析:[單選題]77.在以下C#程序的異常處理代碼中,不論是否出現(xiàn)異常,肯定會運(yùn)行的代碼行是()。Try{Console.WriteLine(?Thisisfirststep!?);//1}catch(Exceptionex){Console.WriteLine(?Thisissecondstep!?);//2}finally{Console.WriteLine(?Thisisthirdstep!?);//3}(選擇一項)A)1和2B)2和3C)1和3D)都會運(yùn)行答案:C解析:catch沒有異常的時候不會執(zhí)行。[單選題]78.以下對Read()和ReadLine()方法的敘述中正確的是。A)Read()方法一次只能從輸入流中讀取一個字符B)Read()方法可以從輸入流中讀取一個字符串C)ReadLine()方法一次只能從輸入流中讀取一個字符(ReadLine一次讀取一個字符串)D)ReadLine()方法只有當(dāng)用戶按下回車鍵時返回,而Read()方法不是(都按回車返回)答案:A解析:[單選題]79.在C#中,如果要將數(shù)組作為一個方法的參數(shù),則傳遞的是()A)數(shù)組中的所有元素B)數(shù)組的第一個元素C)數(shù)組的引用D)以上都不是答案:C解析:[單選題]80.分析下列C#語句,注意類MyClass沒有訪問修飾符:namespaceClassLibrary1{classMyClass{publicclasssubClass{inti;}}}若必須為類MyClass添加訪問修飾符,并使MyClass的可訪問域保持不變,則應(yīng)選擇________。A)privateB)protectedC)internalD)public答案:C解析:[單選題]81.在C#中,以下代碼的輸出結(jié)果是()intx=5;x+=x+++++x;Console.WriteLine(x);A)16B)17C)25D)26答案:B解析:[單選題]82.在C#中,winform窗體中有一個年齡文本框txtAge,下列代碼中,可以獲得文本框中的年齡值的選項是()A)intage=txtAge;B)intage=Convert.toInt32(txtAge.Text);C)txtAge.Text=19;D)intage=txtAge.Text;答案:B解析:[單選題]83.以下說法正確的是( )。A)虛方法必須在派生類中重寫,抽象方法不需要重寫B(tài))虛方法可以在派生類中重寫,抽象方法必須重寫C)虛方法必須在派生類中重寫,抽象方法必須重寫D)虛方法可以在派生類中重寫,抽象方法也不需要重寫答案:B解析:虛方法可以重寫也可以不重寫。抽象必須重寫,抽象方法沒有定義方法實體。[單選題]84.聲明?命名空間?的命令是()A)namespaceB)useC)usingD)#include答案:A解析:[單選題]85.在C#程序中,第一個執(zhí)行的方法是:()A)Main()B)main()C)ConsoleD)WriteLineAcceptBikeDetails答案:A解析:[單選題]86.自定義泛型中類型占位符通常情況下用哪個字母表示()。A)WB)TC)BD)O答案:B解析:[單選題]87.在HTML5中可以使用表格來顯示數(shù)據(jù),下面()標(biāo)簽用于創(chuàng)建表格?A)<table></table>B)C)<body></body>D)<head></head>答案:A解析:[單選題]88.記載FileInfo類的實例對象的最近被修改時間的屬性是()。A)LastAccessTimeB)LastAccessTimeUtcC)LastWriteTimeD)LastWriteTimeUtc答案:C解析:[單選題]89.下列選項中,哪個不是數(shù)據(jù)庫的基本特點()。A)數(shù)據(jù)結(jié)構(gòu)化B)實現(xiàn)數(shù)據(jù)共享C)數(shù)據(jù)獨立性高D)數(shù)據(jù)簡單化答案:D解析:[單選題]90.C#中,字符串常量@"123\n456"中,字符的個數(shù)是()個。A)7B)8C)9D)10答案:B解析:[單選題]91.在C#中,try{//代碼塊1return0;}catch(Exceptione){//代碼塊2}finally{//代碼塊3}如果程序沒有捕捉到異常,上面代碼中的執(zhí)行結(jié)果是()A)先執(zhí)行代碼塊3,后執(zhí)行return語句B)程序報錯C)return0語句不執(zhí)行D)先執(zhí)行return語句,后執(zhí)行代碼塊3答案:A解析:[單選題]92.以下有關(guān)接口的敘述中,錯誤的是______。A)接口只是由方法、屬性、索引器或事件組成的框架,并沒有描述任何對象的實例代碼B)接口的所有成員都被自動定義為公有的,不要使用訪問修飾符來定義接口成員C)類或結(jié)構(gòu)可以通過在類型定義語句中包括冒號和接口名來表明它正在實現(xiàn)接口D)一個類型只能夠?qū)崿F(xiàn)一個接口,接口名之間用分號分開答案:D解析:[單選題]93.數(shù)組冒泡排序需要比較()輪,第i輪需要比較()次,下列選項中,關(guān)于數(shù)組冒泡排序比較的輪數(shù)和次數(shù)正確的是()。A)Length,Length-1-i;B)Length-1,Length-i;C)Length-1,Length-i-1;D)Length,Length-1;答案:C解析:[單選題]94.以下代碼將在屏幕上輸出什么?intx=5;inty=2;System.Console.WriteLine(x/y);A)2B)2.5C)5D)10答案:A解析:[單選題]95.通過SaveFileDialog對話框保存文件時,默認(rèn)的初始路徑由()屬性決定。A)FilterB)InitialDirectoryC)ModifiersD)Tag答案:B解析:[單選題]96.當(dāng)運(yùn)行程序時,系統(tǒng)自動執(zhí)行啟動窗體的()事件。A)ClickB)DoubleClickC)LoadD)Activated答案:C解析:是窗口的啟動時事件。[單選題]97.在HTML5中,關(guān)于表格標(biāo)簽應(yīng)用說法錯誤的是()A)表格常用標(biāo)簽主要有table,tr,td。B)tr標(biāo)簽作用是增加一行C)td標(biāo)簽作用是增加一個單元格D)td標(biāo)簽可以單獨使用答案:D解析:[單選題]98.在C#中,以下程序的輸出結(jié)果是?intk=5,n=0;do{switch(k){case1:case3:n+=1;k--;break;case2:case4:n+=2;k--;break;default:n=0;k--;break;}Console.Write(n);}while(k>0&&k<5);A)235B)235C)02356D)2356答案:C解析:[單選題]99.以下屬性可以設(shè)置OpenFileDialog文件篩選器索引的是()A)FilterB)CheckFileExistsC)TitleD)FilterIndex答案:D解析:概念理解[單選題]100.27.在C#語言中,下列異常處理結(jié)構(gòu)中有錯誤的是()A)catch{}finally{}B)try{}finally{}C)try{}catch{}finally{}D)try{}catch{}答案:A解析:trycatchfinally語句,try是必須有的。[單選題]101.變量的作用域直接影響程序的運(yùn)行結(jié)果,下列代碼的運(yùn)行結(jié)果為()PublicclassProgram01{PublicstaticvoidMain(string[]args){intx=12;//定義了變量x{inty=96;//定義了變量y}Console.WriteLine("xis"+x);//訪問變量xConsole.ReadKey();}}A)12B)yis96C)xis12D)96答案:C解析:[單選題]102.在C#中,使用()關(guān)鍵字來導(dǎo)入命名空間A)importB)usingC)forD)foreach答案:B解析:[單選題]103.當(dāng)窗體加載時,會觸發(fā)以下哪個事件()。A)ClickB)LoadC)MouseLeaveD)MouseEnter答案:B解析:[單選題]104.在HTML5圖片標(biāo)簽中,使用()屬性設(shè)置顯示圖片的路徑。A)srcB)hrefC)sourceD)from答案:A解析:[單選題]105.在C#語言中,運(yùn)算符"="和"=="的功能分別是()A)關(guān)系運(yùn)算和賦值運(yùn)算B)賦值運(yùn)算和關(guān)系運(yùn)算C)都是關(guān)系運(yùn)算D)都是賦值運(yùn)算答案:B解析:[單選題]106.在SQLserver中,定義列中可以接受的數(shù)據(jù)值或格式,稱為()A)唯一性約束B)檢查約束C)主鍵約束D)默認(rèn)約束答案:B解析:[單選題]107.訪問組合框的()屬性,可以獲得用戶在組合框中輸入或選擇的數(shù)據(jù)。A)TextB)ItemDataC)SelectedIndexD)SelectedValue答案:A解析:[單選題]108.下列選項中,關(guān)于C#的說法正確的是()。A)C#是一種平臺。B)C#是一種平臺也是一種語言。C)C#是一種語言,可以開發(fā)基于.Net平臺的應(yīng)用。D)以上說法都錯誤。答案:C解析:[單選題]109.重載是()的形式之一。A)接口B)多態(tài)C)繼承D)類答案:B解析:C#多態(tài)的分類多態(tài)性意味著有多重形式。在面向?qū)ο缶幊谭妒街?,多態(tài)性往往表現(xiàn)為"一個接口,多個功能"。多態(tài)分為靜態(tài)多態(tài)和動態(tài)多態(tài)。靜態(tài)多態(tài),函數(shù)的響應(yīng)是發(fā)生在編譯時;動態(tài)多態(tài),函數(shù)的響應(yīng)是發(fā)生在運(yùn)行時。二、靜態(tài)多態(tài)在編譯時,函數(shù)與對象的連接機(jī)制被稱為早期綁定,也被稱為靜態(tài)綁定。C#提供了兩種技術(shù)實現(xiàn)靜態(tài)多態(tài)性,分別為函數(shù)重載和運(yùn)算符重載。(1)函數(shù)重載在同一個范圍內(nèi)對相同的函數(shù)名有多個定義。這多個定義中必須保證方法簽名不同,方法簽名包括方法的參數(shù)個數(shù)和參數(shù)的數(shù)據(jù)類型。(2)運(yùn)算符重載您可以重定義或重載C#中內(nèi)置的運(yùn)算符。因此,程序員也可以使用用戶自定義類型的運(yùn)算符。重載運(yùn)算符是具有特殊名稱的函數(shù),是通過關(guān)鍵字operator后跟運(yùn)算符的符號來定義的。與其他函數(shù)一樣,重載運(yùn)算符有返回類型和參數(shù)列表。示例:[csharp]viewplaincopypublicstaticBoxoperator+(Boxb,Boxc){Boxbox=newBox();box.length=b.length+c.length;box.breadth=b.breadth+c.breadth;box.height=b.height+c.height;returnbox;}注:上面的函數(shù)為用戶自定義的類Box實現(xiàn)了加法運(yùn)算符(+)。它把兩個Box對象的屬性相加,并返回相加后的Box對象。下表描述了C#中運(yùn)算符重載的能力:運(yùn)算符 描述+,-,!,~,++,-- 這些一元運(yùn)算符只有一個操作數(shù),且可以被重載。+,-,*,/,% 這些二元運(yùn)算符帶有兩個操作數(shù),且可以被重載。==,!=,<,>,<=,>= 這些比較運(yùn)算符可以被重載。&&,|| 這些條件邏輯運(yùn)算符不能被直接重載。+=,-=,*=,/=,%= 這些賦值運(yùn)算符不能被重載。=,.,?:,->,new,is,sizeof,typeof 這些運(yùn)算符不能被重載。三、動態(tài)多態(tài)C#允許您使用關(guān)鍵字abstract創(chuàng)建抽象類,用于提供接口的部分類的實現(xiàn)。當(dāng)一個派生類繼承自該抽象類時,實現(xiàn)即完成。抽象類包含抽象方法,抽象方法可被派生類實現(xiàn)。派生類具有更專業(yè)的功能。請注意,下面是有關(guān)抽象類的一些規(guī)則:您不能創(chuàng)建一個抽象類的實例。您不能在一個抽象類外部聲明一個抽象方法。通過在類定義前面放置關(guān)鍵字sealed,可以將類聲明為密封類。當(dāng)一個類被聲明為sealed時,它不能被繼承。抽象類不能被聲明為sealed。當(dāng)有一個定義在類中的函數(shù)需要在繼承類中實現(xiàn)時,可以使用虛方法。虛方法是使用關(guān)鍵字virtual聲明的。虛方法可以在不同的繼承類中有不同的實現(xiàn)。對虛方法的調(diào)用是在運(yùn)行時發(fā)生的。動態(tài)多態(tài)性是通過抽象類和虛方法實現(xiàn)的。[單選題]110.對于過程覆蓋(procedureoverriding)以下陳述中哪個成立?()A)被覆蓋的過程需有不同的變元個數(shù)。B)被覆蓋的過程需有不同的數(shù)據(jù)類型。C)被覆蓋的過程需有同樣的變元。D)被覆蓋的過程需在被派生類中用Overridable關(guān)鍵字聲明。答案:C解析:[單選題]111.異常類對象都是()類對象。A)System.ReflecionB)System.constC)System.exceptionD)system.attribute答案:C解析:C#異常是使用類來表示的。C#中的異常類主要是直接或間接地派生于System.Exception類。System.ApplicationException和System.SystemException類是派生于System.Exception類的異常類。System.ApplicationException類支持由應(yīng)用程序生成的異常。所以程序員定義的異常都應(yīng)派生自該類。System.SystemException類是所有預(yù)定義的系統(tǒng)異常的基類。下表列出了一些派生自Sytem.SystemException類的預(yù)定義的異常類:異常類 描述System.IO.IOException 處理I/O錯誤。System.IndexOutOfRangeException 處理當(dāng)方法指向超出范圍的數(shù)組索引時生成的錯誤。System.ArrayTypeMismatchException 處理當(dāng)數(shù)組類型不匹配時生成的錯誤。System.NullReferenceException 處理當(dāng)依從一個空對象時生成的錯誤。System.DivideByZeroException 處理當(dāng)除以零時生成的錯誤。System.InvalidCastException 處理在類型轉(zhuǎn)換期間生成的錯誤。System.OutOfMemoryException 處理空閑內(nèi)存不足生成的錯誤。System.StackOverflowException 處理棧溢出生成的錯誤。[單選題]112.在窗體的設(shè)計界面中,同時選中多個命令按鈕,要使選中的命令按鈕左對齊,可使用()菜單中的相關(guān)命令。A)編輯B)調(diào)試C)格式D)窗口答案:C解析:[單選題]113.以下哪些功能不屬于C#2.0新增的特性()A)繼承和多態(tài)B)泛型C)可空類型D)遍歷器答案:A解析:繼承和多態(tài)是面向?qū)ο蟮幕咎卣?,不是新特性。[單選題]114.Directory類可以用()方法獲取指定目錄下所有符合檢索條件的文件。A)GetAccessControl()B)GetDirectoryRoot()C)GetDirectories()D)GetFileSystemEntries()答案:D解析:[單選題]115.以下選項中,哪個選項中的變量命名是合法的()A)**zB)_esterC)tc@caacD)答案:B解析:C#標(biāo)識符的命名規(guī)則程序中的變量名、常量名、類名、方法名,都叫做標(biāo)識符。C#有一套標(biāo)識符的命名規(guī)則,如果命名時不遵守規(guī)則,就會出錯。這套規(guī)則簡單說有下面三條:①標(biāo)識符只能由英文字母、數(shù)字和下劃線組成,不能包含空格和其他字符。錯誤的標(biāo)識符聲明:string$user;//錯在使用了其他字符②變量名不能用數(shù)字開頭。錯誤的標(biāo)識符聲明:double6h;//錯在用數(shù)字開頭③不能用關(guān)鍵字當(dāng)變量名。錯誤的標(biāo)識符聲明:charstatic;//錯在用關(guān)鍵字static做變量名[單選題]116.VS模板區(qū)域包含多個項目開發(fā)的模板,如果要開發(fā)C#程序需要選擇以下選項中的哪個模板。()A)VisualBasicB)VisualC#C)VisualC++D)VisualF#答案:B解析:[單選題]117.在CSS3中,徑向漸變使用的函數(shù)是()A)rd-gradient()B)radial-gradient()C)linear-gradient()D)repeating-radial-gradient()答案:B解析:[單選題]118.在C#中,關(guān)于while和do…while,以下說法正確的是A)while先執(zhí)行然后判斷條件是否成立B)while最少的循環(huán)次數(shù)是1次C)do…while先執(zhí)行然后判斷條件是否成立D)do…while最少的循環(huán)次數(shù)是0次答案:C解析:[單選題]119.C#程序中的類myClAss中的成員變量vAr1如下:P..uBliCClAssmyClAss{P..rivAteintvAr1;}則可以訪問vAr1的有()。A)在myClAss類中B)myClAss的繼承類C)myClAss的父類D)和myClAss在同一命名空間下的類答案:A解析:[單選題]120.C#中若要某方法只能在當(dāng)前類或當(dāng)前類的派生類中訪問,可以使用()訪問修飾符A)publicB)privateC)protectedD)internal答案:C解析:[單選題]121.以下關(guān)于WindowsInstaller部署項目的優(yōu)點,說法錯誤的是()。A)具有安裝、卸載或通知等功能B)若應(yīng)用程序損壞,具有自動修復(fù)功能C)安裝失敗,就會自動回滾,安裝失敗之后,所有的內(nèi)容都保持原樣D)具有卸載功能,可以清除所有的文件,注冊表項等答案:B解析:Installer無法修復(fù)程序。[單選題]122.以下關(guān)于for循環(huán)的說法不正確的是__()__?A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B)for循環(huán)是先判定表達(dá)式,后執(zhí)行循環(huán)體語句C)for循環(huán)中,可以用BreAk語句跳出循環(huán)體D)for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來答案:A解析:[單選題]123.下面所列選項中,能夠正確定義具有10個數(shù)據(jù)元素一維整型數(shù)組a的是()。A)int[]a=newint[10];B)inta[10];C)int[]a=int[10];D)int[]a=int(10);答案:A解析:[單選題]124.在C#中,以下是一些C#中的枚舉型的定義,其中錯誤的用法有A)publicenumvar1{?Mike?=100,?Nike?=102,?Jike?};B)enumvar1{Mike=100,Nike,Jike};C)publicenumvar1{Mike=-1,Nike,Jike};D)enumvar1{Mike,Nike,Jike};答案:A解析:[單選題]125.下列關(guān)于對虛方法的描述正確的有()A)不可以在派生類中以override覆蓋此方法B)在派生類中的虛方法若在子類不覆蓋也可由對象調(diào)用C)虛方法可以有方法的實現(xiàn),也可以不實現(xiàn)D)以上說法都正確答案:B解析:[單選題]126.命名空間是一種在程序中防止標(biāo)識符命名沖突而引入的邏輯隔離機(jī)制,C#中使用關(guān)鍵字()表示。A)usingB)spacenameC)classD)namespace答案:D解析:[單選題]127.假設(shè)在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列表達(dá)式正確的是()A)1.0/a*b*cB)1/(a*b*c)C)1/a/b/(float)cD)均正確答案:D解析:[單選題]128.下列選項中關(guān)于抽象類說法錯誤的是()。A)抽象類中的方法可以是抽象方法,也可以是非抽象方法B)抽象類中不允許存在字段和屬性C)繼承自抽象類的子類(非抽象類)必須實現(xiàn)抽象類中的所有抽象方法D)抽象類不能被實例化答案:B解析:[單選題]129.在使用FileStream打開一個文件時,通過使用FileMode枚舉類型的()成員,來指定操作系統(tǒng)打開一個現(xiàn)有文件并把文件讀寫指針定位在文件尾部。A)AppendB)CreateC)CreateNewD)Truncate答案:A解析:Append如果它存在,并且查找到該文件的末尾,或者創(chuàng)建一個新文件,請打開該文件。這要求FileIOPermissionAccess.Append權(quán)限。FileMode.Append可以僅在結(jié)合使用FileAccess.Write。嘗試查找該文件將引發(fā)結(jié)束之前將其置于IOException異常,并且任何嘗試讀取失敗,將引發(fā)NotSupportedException異常。Create指定操作系統(tǒng)應(yīng)創(chuàng)建一個新的文件。如果該文件已存在,則會覆蓋它。這要求FileIOPermissionAccess.Write權(quán)限。FileMode.Create等效于請求,如果該文件不存在,則使用CreateNew;否則為使用Truncate。如果該文件已存在但為隱藏的文件,UnauthorizedAccessException則會引發(fā)異常。CreateNew指定操作系統(tǒng)應(yīng)創(chuàng)建一個新的文件。這要求FileIOPermissionAccess.Write權(quán)限。如果該文件已存在,IOException則會引發(fā)異常。Open指定操作系統(tǒng)應(yīng)打開現(xiàn)有文件。若要打開該文件的能力是依賴于指定的值FileAccess枚舉。一個System.IO.FileNotFoundException如果文件不存在將引發(fā)異常。OpenOrCreate指定操作系統(tǒng)應(yīng)打開一個文件,是否它存在,則否則,應(yīng)創(chuàng)建一個新的文件。如果使用打開該文件FileAccess.Read,,F(xiàn)ileIOPermissionAccess.Read權(quán)限是必需的。如果文件訪問是FileAccess.Write,,F(xiàn)ileIOPermissionAccess.Write權(quán)限是必需的。如果使用打開該文件FileAccess.ReadWrite,,這兩個FileIOPermissionAccess.Read和FileIOPermissionAccess.Write權(quán)限是必需的。Truncate指定操作系統(tǒng)應(yīng)打開現(xiàn)有文件。當(dāng)打開文件時,應(yīng)被截斷,以便其大小為零字節(jié)。這要求FileIOPermissionAccess.Write權(quán)限。嘗試從文件中讀取使用打開FileMode.Truncate導(dǎo)致ArgumentException異常。[單選題]130.有以下程序:UsingSystem;Namespaceaaa{classA{publicA(){Console.Write("A");}}classB:A{publicB(){Console.WriteLine("B");}}classProgram{publicstaticvoidMain(){Bb=newB();}//先調(diào)用A.A(),再調(diào)用B.B()}}上述代碼運(yùn)行后,將在控制臺窗口輸出。A)AB)BC)ABD)BA答案:C解析:[單選題]131.在C#中,一個數(shù)組聲明如下:int[]arr=newint[12];則要獲取數(shù)組中最后一個值所需要使用到的下標(biāo)是()A)11B)12C)13D)以上都不是答案:A解析:[單選題]132.在類的定義中,類的()描述了該類的對象的行為特征。A)類名B)方法C)所屬的名字空間D)私有域答案:B解析:類封裝的基本概念,方法描述特征。[單選題]133.C#數(shù)組主要有三種形式,它們是( )。A)一維數(shù)組、二維數(shù)組、三維數(shù)組B)整型數(shù)組、浮點型數(shù)組、字符型數(shù)組C)一維數(shù)組、多維數(shù)組、不規(guī)則數(shù)組D)一維數(shù)組、二維數(shù)組、多維數(shù)組答案:C解析:數(shù)組概述C#數(shù)組從零開始建立索引,即數(shù)組索引從零開始。C#中數(shù)組的工作方式與在大多數(shù)其他流行語言中的工作方式類似。但還有一些差異應(yīng)引起注意。聲明數(shù)組時,方括號([])必須跟在類型后面,而不是標(biāo)識符后面。在C#中,將方括號放在標(biāo)識符后是不合法的語法。int[]table;//notinttable[];另一細(xì)節(jié)是,數(shù)組的大小不是其類型的一部分,而在C語言中它卻是數(shù)組類型的一部分。這使您可以聲明一個數(shù)組并向它分配int對象的任意數(shù)組,而不管數(shù)組長度如何。int[]numbers;//declarenumbersasanintarrayofanysizenumbers=newint[10];//numbersisa10-elementarraynumbers=newint[20];//nowit'sa20-elementarray聲明數(shù)組C#支持一維數(shù)組、多維數(shù)組(矩形數(shù)組)和數(shù)組的數(shù)組(交錯的數(shù)組)。下面的示例展示如何聲明不同類型的數(shù)組:一維數(shù)組:int[]numbers;多維數(shù)組:string[,]names;數(shù)組的數(shù)組(交錯的):byte[][]scores;聲明數(shù)組(如上所示)并不實際創(chuàng)建它們。在C#中,數(shù)組是對象(本教程稍后討論),必須進(jìn)行實例化。下面的示例展示如何創(chuàng)建數(shù)組:一維數(shù)組:int[]numbers=newint[5];多維數(shù)組:string[,]names=newstring[5,4];數(shù)組的數(shù)組(交錯的):byte[][]scores=newbyte[5][];for(intx=0;x<scores.Length;x++){scores[x]=newbyte[4];}還可以有更大的數(shù)組。例如,可以有三維的矩形數(shù)組:int[,,]buttons=newint[4,5,3];甚至可以將矩形數(shù)組和交錯數(shù)組混合使用。例如,下面的代碼聲明了類型為int的二維數(shù)組的三維數(shù)組的一維數(shù)組。int[][,,][,]numbers;示例下面是一個完整的C#程序,它聲明并實例化上面所討論的數(shù)組。//arrays.csusingSystem;classDeclareArraysSample{publicstaticvoidMain(){//Single-dimensionalarrayint[]numbers=newint[5];//Multidimensionalarraystring[,]names=newstring[5,4];//Array-of-arrays(jaggedarray)byte[][]scores=newbyte[5][];//Createthejaggedarrayfor(inti=0;i<scores.Length;i++){scores[i]=newbyte[i+3];}//Printlengthofeachrowfor(inti=0;i<scores.Length;i++){Console.WriteLine("Lengthofrow{0}is{1}",i,scores[i].Length);}}}輸出Lengthofrow0is3Lengthofrow1is4Lengthofrow2is5Lengthofrow3is6Lengthofrow4is7初始化數(shù)組C#通過將初始值括在大括號({})內(nèi)為在聲明時初始化數(shù)組提供了簡單而直接了當(dāng)?shù)姆椒?。特別要注意的是,如果聲明時未初始化數(shù)組,則數(shù)組成員自動初始化為該數(shù)組類型的默認(rèn)初始值。下面的示例展示初始化不同類型的數(shù)組的各種方法。一維數(shù)組int[]numbers=newint[5]{1,2,3,4,5};string[]names=newstring[3]{"Matt","Joanne","Robert"};可省略數(shù)組的大小,如下所示:int[]numbers=newint[]{1,2,3,4,5};string[]names=newstring[]{"Matt","Joanne","Robert"};如果提供了初始值設(shè)定項,還可省略new語句,如下所示:int[]numbers={1,2,3,4,5};string[]names={"Matt","Joanne","Robert"};多維數(shù)組int[,]numbers=newint[3,2]{{1,2},{3,4},{5,6}};string[,]siblings=newstring[2,2]{{"Mike","Amy"},{"Mary","Albert"}};可省略數(shù)組的大小,如下所示:int[,]numbers=newint[,]{{1,2},{3,4},{5,6}};string[,]siblings=newstring[,]{{"Mike","Amy"},{"Mary","Ray"}};如果提供了初始值設(shè)定項,還可省略new語句,如下所示:int[,]numbers={{1,2},{3,4},{5,6}};string[,]siblings={{"Mike","Amy"},{"Mary","Albert"}};交錯的數(shù)組(數(shù)組的數(shù)組)可以像下例所示那樣初始化交錯的數(shù)組:int[][]numbers=newint[2][]{newint[]{2,3,4},newint[]{5,6,7,8,9}};可省略第一個數(shù)組的大小,如下所示:int[][]numbers=newint[][]{newint[]{2,3,4},newint[]{5,6,7,8,9}};-或-int[][]numbers={newint[]{2,3,4},newint[]{5,6,7,8,9}};請

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論