版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
試卷科目:C#開發(fā)基礎(chǔ)C#開發(fā)基礎(chǔ)(習(xí)題卷9)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC#開發(fā)基礎(chǔ)第1部分:單項選擇題,共52題,每題只有一個正確答案,多選或少選均不得分。[單選題]1.在窗體上有一個名稱為label1的標簽,語句()的功能是使該標簽暫時不可見。A)label1.Enabled=true;B)label1.Visible=true;C)label1.Enabled=false;D)label1.Visible=false;答案:D解析:[單選題]2.有以下程序段:inti,sum=0;for(i=1;i<6;i++)sum+=sum;Console.Write("{0}",sum);程序的輸出結(jié)果是()A)15B)14C)不確定D)0答案:D解析:[單選題]3.在VC#.Net中,可以標識不同的對象的屬性是()A)TextB)NameC)TitleD)Index答案:B解析:[單選題]4.在C#中,有一數(shù)組int[]a=newint[10],若要將數(shù)組中第3個元素賦值為30,則正確的語句為()A)a[2]=30B)a[3]=30C)a[4]=30D)a[5]=30答案:A解析:[單選題]5.若將數(shù)據(jù)集中所作更改更新回數(shù)據(jù)庫,應(yīng)調(diào)用SqlAdapter的( )方法。A)UpdateB)CloseC)FillD)Open答案:A解析:SqlDataAdapter概述SqlDataAdapter是DataSet和SQLServer之間的橋接器,用于檢索和保存數(shù)據(jù)。SqlDataAdapter通過對數(shù)據(jù)源使用適當(dāng)?shù)腡ransact-SQL語句映射Fill(它可更改DataSet中的數(shù)據(jù)以匹配數(shù)據(jù)源中的數(shù)據(jù))和Update(它可更改數(shù)據(jù)源中的數(shù)據(jù)以匹配DataSet中的數(shù)據(jù))來提供這一橋接。當(dāng)SqlDataAdapter填充DataSet時,它為返回的數(shù)據(jù)創(chuàng)建必需的表和列(如果這些表和列尚不存在)。)我們可以通過以下三種方法來創(chuàng)建SqlDataAdapter對象:使用方法1、通過連接字符串和查詢語句[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串strSql="SELECT*FROM表名";SqlDataAdapterda=newSqlDataAdapter(strSql,strConn);DataSetds=newDataSet();//創(chuàng)建DataSet實例da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),調(diào)用SELECT命令這種方法有一個潛在的缺陷。假設(shè)應(yīng)用程序中需要多個SqlDataAdapter對象,用這種方式來創(chuàng)建的話,會導(dǎo)致創(chuàng)建每個SqlDataAdapter時,都同時創(chuàng)建一個新的SqlConnection對象,方法二可以解決這個問題2、通過查詢語句和SqlConnection對象來創(chuàng)建[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串SqlConnectionconn=newSqlConnection(strConn);stringstrSql="SELECT*FROM表名";SqlDataAdapterda=newSqlDataAdapter(strSql,conn);DataSetds=newDataSet();//創(chuàng)建DataSet實例da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),調(diào)用SELECT命令3、通過SqlCommand對象來創(chuàng)建[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串SqlConnectionconnSql=newSqlConnection(strConn);//Sql鏈接類的實例化connSql.Open();//打開數(shù)據(jù)庫//使用SqlDataAdapter時沒有必要從Connection.open()打開,//SqlDataAdapter會自動打開關(guān)閉它。stringstrSql="SELECT*FROM表名";//要執(zhí)行的SQL語句SqlCommandcmd=newSqlCommand(strSql,connsql);SqlDataAdapterda=newSqlDataAdapter(cmd);//創(chuàng)建DataAdapter數(shù)據(jù)適配器實例DataSetds=newDataSet();//創(chuàng)建DataSet實例da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),調(diào)用SELECT命令ConnSql.Close();//關(guān)閉數(shù)據(jù)庫SqlDataAdapterda=newSqlDataAdapter(strSQL,ConnSql);//創(chuàng)建DataAdapter數(shù)據(jù)適配器實例DataSetds=newDataSet();//創(chuàng)建DataSet實例da.Fill(ds,"自定義虛擬表名");//使用DataAdapter的Fill方法(填充),調(diào)用SELECT命令ConnSql.Close();//關(guān)閉數(shù)據(jù)庫注意如果只需要執(zhí)行SQL語句或SP,就沒必要用到DataAdapter,直接用SqlCommand的Execute系列方法就可以了。sqlDataadapter的作用是實現(xiàn)Dataset和DB之間的橋梁:比如將對DataSet的修改更新到數(shù)據(jù)庫。SqlDataAdapter的UpdateCommand的執(zhí)行機制是:當(dāng)調(diào)用SqlDataAdapter.Update()時,檢查DataSet中的所有行,然后對每一個修改過的Row執(zhí)行SqlDataAdapter.UpdateCommand,也就是說如果未修改DataSet中的數(shù)據(jù),SqlDataAdapter.UpdateCommand不會執(zhí)行。使用要點1、SqlDataAdapter內(nèi)部通過SqlDataReader獲取數(shù)據(jù),而默認情況下SqlDataReader不能獲知其查詢語句對應(yīng)的數(shù)據(jù)庫表名,所以下面的代碼:[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串strSql="SELECT*FROM表名";SqlDataAdapterda=newSqlDataAdapter(strSql,strConn);DataSetds=newDataSet();da.Fill(ds);會在DataSet中創(chuàng)建一個新的DataTable,這個新的DataTable會擁有名為CustomerID和CompanyName列,但是DataTable對象的名稱是Table,而不是我們希望的Customers。這個問題,可以通過添加TableMapping來解決:[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串strSql="SELECT*FROM表名";SqlDataAdapterda=newSqlDataAdapter(strSQL,strConn);da.TableMappings.Add("Table","Customers");//設(shè)置對象名稱DataSetds=newDataSet();da.Fill(ds);其實最簡潔的方法是通過使用Fill方法的重載,通過指定DataTable,像這樣:SqlDataAdapter.Fill(DataSet,"MyTableName");這樣就可以不必使用TableMappings集合。2、在使用Fill方式時,可以指定DataTable,而不是DataSet:[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串strSql="SELECT*FROM表名";SqlDataAdapterda=newSqlDataAdapter(strSql,strConn);DataTabletbl=newDataTable();da.Fill(tbl);3、注意打開和關(guān)閉連接的處理在調(diào)用SqlCommand對象執(zhí)行sql命令之前,需要保證與該對象關(guān)聯(lián)的SqlConnection對象時打開的,否則SqlCommand的方法執(zhí)行時將引發(fā)一個異常,但是我們在上面的代碼中看到,SqlDataAdapter沒有這樣的要求。如果調(diào)用SqlDataAdapter的Fill方法,并且其SelectCommand屬性的SqlConnection是關(guān)閉狀態(tài),則SqlDataAdapter會自動打開它,然后提交查詢,獲取結(jié)果,最后關(guān)閉連接。如果在調(diào)用Fill方法前,SqlConnection是打開的,則查詢執(zhí)行完畢后,SqlConnection還將是打開的,也就是說SqlDataAdapter會保證SqlConnection的狀態(tài)恢復(fù)到原來的情形。這有時會導(dǎo)致性能問題,需要注意,例如下面的代碼:[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串SqlConnectionconn=newSqlConnection(strConn);SqlDataAdapterdaCustomers,daOrders;strSql="SELECT*FROMCustomers";daCustomers=newSqlDataAdapter(strSql,conn);strSql="SELECT*FROMOrders";daOrders=newSqlDataAdapter(strSql,conn);DataSetds=newDataSet();daCustomers.Fill(ds,"Customers");daOrders.Fill(ds,"Orders");以上代碼會導(dǎo)致連接被打開和關(guān)閉兩次,在調(diào)用Fill方法時各一次。為了避免打開和關(guān)閉SqlConnection對象,在調(diào)用SqlDataAdapter對象的Fill方法之前,我們可以先打開SqlConnection對象,如果希望之后關(guān)閉連接,我們可以再調(diào)用Close方法,就像這樣:[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片cn.Open();daCustomers.Fill(ds,"Customers");daOrders.Fill(ds,"Orders");cn.Close();4、多次調(diào)用Fill方法需要注意數(shù)據(jù)重復(fù)和有效更新數(shù)據(jù)的問題[csharp]viewplaincopy在CODE上查看代碼片派生到我的代碼片stringstrConn="uid=賬號;pwd=密碼;database=數(shù)據(jù)庫;server=服務(wù)器";//SQLServer鏈接字符串strSql="SELECT*FROMCustomers";SqlDataAdapterda=newSqlDataAdapter(strSql,strConn);DataSetds=newDataSet();da.Fill(ds,"Customers");//…….da.Fill(ds,"Customers");[單選題]6.下列選項中,在Windows窗體應(yīng)用程序結(jié)構(gòu)中,()用于設(shè)置項目的屬性。A)PropertiesB)App.configC)Form1.csD)Form1.resx答案:A解析:[單選題]7.使用哪個關(guān)鍵字創(chuàng)建枚舉?()A)structB)enumC)classD)using答案:B解析:[單選題]8.下列關(guān)于C#關(guān)鍵字的說法中,錯誤的是()。A)所有的關(guān)鍵字都是小寫的B)關(guān)鍵字不能是標識符C)關(guān)鍵字可以自己定義D)class關(guān)鍵字用于聲明一個類答案:C解析:[單選題]9.C#程序中為使變量myForm引用的窗體對象顯示為對話框,必須。A)使用myForm.ShowDailog()方法顯示對話框B)將myForm對象的isDialog屬性設(shè)為trueC)將myForm對象的FormBorderStyle枚舉屬性設(shè)置為FixedDialogD)將變量myForm改為引用System.Windows.Dialog類的對象答案:A解析:[單選題]10.在C#中,工具條和狀態(tài)條按鈕和標簽的()屬性,用于設(shè)置圖形和文本的顯示方式A)DisplayStyleB)ImageC)TextD)ImageText答案:A解析:[單選題]11.下列哪個屬于獲取ArrayList實際包含的元素個數(shù)的屬性()A)LengthB)CountC)SizeD)Capacity答案:B解析:[單選題]12.關(guān)于構(gòu)造函數(shù),下列說法錯誤的是()。A)默認構(gòu)造函數(shù)定義了對象的默認狀態(tài)。B)非默認構(gòu)造函數(shù)將根據(jù)傳入的參數(shù)來初始化對象的數(shù)據(jù)。C)如果沒有為類定義默認構(gòu)造函數(shù),編譯器將自動為類創(chuàng)建一個默認構(gòu)造函數(shù)。D)非默認構(gòu)造函數(shù)應(yīng)當(dāng)總是包含對象的默認狀態(tài)。答案:D解析:[單選題]13.在C#中,所有字符都是使用()。A)GBK編碼B)ASCII碼C)Unicode編碼表示D)UTF-8編碼表示答案:C解析:[單選題]14.C#中的集合被定義在()命名空間中。A)System.Collections.GenericB)System.IOC)System.CollectionsD)System.Reflection答案:C解析:[單選題]15.以下屬性可以設(shè)置OpenFileDialog文件篩選器索引的是()A)FilterB)CheckFileExistsC)TitleD)FilterIndex答案:D解析:概念理解[單選題]16.操作符重載需要使用哪個關(guān)鍵字?()A)OverloadB)staticC)operatorD)override答案:C解析:[單選題]17.在C#中,若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是for(inti=5;i>=0;i--){for(intj=0;j<4;j++){}}A)20B)25C)24D)30答案:C解析:[單選題]18.在VisuslStuDio.Net開發(fā)環(huán)境中,在代碼編輯器內(nèi)輸入對象的名稱后將自動顯示出對應(yīng)的屬性、方法、時間列表,以方便選擇和避免書寫錯誤,這種技術(shù)被稱之為()。A)自動訪問B)動態(tài)幫助C)協(xié)助編碼D)智能感知答案:D解析:[單選題]19.NET中,程序中的錯誤可以劃分為以下三類,除了()。(選擇一項)A)邏輯錯誤B)運行時錯誤C)語法錯誤D)自定義錯誤答案:D解析:任意編程語言;大體分3類錯誤:語法錯誤也就是低級錯誤邏輯錯誤高級錯誤,難以排查異常,導(dǎo)致這種情況的問題非常多,比如硬件,網(wǎng)絡(luò),錯誤的方法,錯誤的參數(shù)都可能導(dǎo)致.[單選題]20.啟動一個定時器控件的方法是。A)EnabledB)IntervalC)StartD)Stop答案:C解析:[單選題]21.在CSS3中,background-position屬性的取值范圍不包括()A)關(guān)鍵字B)百分比C)像素值D)十六進制數(shù)字答案:D解析:[單選題]22.所有.NET支持的編程語言編寫的源代碼經(jīng)過一次編譯后,被編譯成。A)機器代碼B)C#源代碼C)CLS代碼D)MSIL代碼答案:D解析:[單選題]23.標記對象可以被序列化的特性是()A)SerializableB)RuntimeC)FormattersD)Windows答案:A解析:概念理解[單選題]24.執(zhí)行C#語句序列:inti;for(i=0;i++<4;);后,變量i的值是()。A)5B)4C)1D)0答案:A解析:[單選題]25.在.NET的控件中,Panel、GroupBox、TabControl等分組控件,有時候也被稱之為()。(選擇一項)A)容器控件B)組合控件C)排列控件D)基類控件答案:A解析:這幾個組件均是容器,可以放置其它容器和組件[單選題]26.以下()不屬于C#合法標識符。A)@classB)A3_b3C)_123D)2a答案:D解析:[單選題]27.顯示消息時,MessAgeBoxTCon枚舉中的Error成員可以消息框中添加一個圖標,該圖標的形狀是()A)問號B)iC)感嘆號D)叉號答案:D解析:[單選題]28.在HTML5中,input元素的type屬性值為()表示該按鈕為復(fù)選框按鈕。A)multiCheckedB)radioC)selectD)checkbox答案:D解析:[單選題]29.在CSS3中,以下代碼p{color:red;}考試其中?考試?的樣式是A)紅色B)一半紅色一半綠色C)綠色D)黑色答案:C解析:[單選題]30.已知委托類型DoSomething定義如下:PublicdelegatevoidDoSomething();Abc和d都是DoSomething的變量,分別有以下調(diào)用列表:A:objA.Func1、objA.Func2B:objA.Func1、Class1.StaticFuncC:objA.Func1、Class2.StaticFuncD:objB.Fun1其中objA為類Class1的對象,objB為類Class2的對象。則執(zhí)行b=b+c后,變量b關(guān)聯(lián)的方法個數(shù)為。C其中objA.Func1執(zhí)行兩次,算2個方法A)2B)3C)4D)5答案:C解析:[單選題]31.在C#中,C#語言中,下面4個選項中關(guān)于變量賦值正確的是()A)shortx=32768B)ushorty=65534C)longx=5000;inty=x;D)doublex=20;decimaly=x;答案:B解析:[單選題]32.對于下列代碼的出錯原因,描述正確的是()abstractclassAppliance{publicabstractvoidCharge();}//MobilePhone位置報錯classMobilePhone:Appliance{publicvoidCall(){Console.WriteLine("手機可以打電話。");}}A)電器類Appliance中有隱藏錯誤,導(dǎo)致MobilePhone類在繼承的時候出現(xiàn)錯誤。B)MobilePhone單詞拼寫錯誤。C)子類MobilePhone繼承于抽象類Appliance的時候必須要重寫抽象類Appliance中所有的抽象方法,除非子類也是抽象類。D)其他關(guān)聯(lián)錯誤。答案:C解析:代碼糾錯[單選題]33.以下說法正確的是( )。A)虛方法必須在派生類中重寫,抽象方法不需要重寫B(tài))虛方法可以在派生類中重寫,抽象方法必須重寫C)虛方法必須在派生類中重寫,抽象方法必須重寫D)虛方法可以在派生類中重寫,抽象方法也不需要重寫答案:B解析:虛方法可以重寫也可以不重寫。抽象必須重寫,抽象方法沒有定義方法實體。[單選題]34.通過FileStream對象創(chuàng)建新的文件,如果選擇FileMode為(),則在指定的文件名已存在時將其覆蓋。A)TruncateB)OpenC)CreateNewD)Create答案:D解析:[單選題]35.在C#中創(chuàng)建類的實例需要使用的關(guān)鍵字是()A):thisB)baseC)newD):as答案:C解析:[單選題]36.下面合法的賦值語句是哪一個()A)Inta==1;B)Inti=1;Intj=i++;C)Inta=a+1=2;D)Inti=int(j);答案:B解析:[單選題]37.在c#的循環(huán)結(jié)構(gòu)中,先執(zhí)行一次,然后再判斷條件的循環(huán)結(jié)構(gòu)是?A)do-while循環(huán)B)while循環(huán)C)for循環(huán)D)foreach循環(huán)答案:A解析:[單選題]38.下列選項中,關(guān)于多態(tài)的說法錯誤的是()。A)多態(tài)可以理解為多種表現(xiàn)形態(tài)B)多態(tài)是指方法的重寫C)多態(tài)是指復(fù)雜的繼承關(guān)系D)多態(tài)可以理解為方法的重載答案:D解析:重寫是建立在繼承關(guān)系上[單選題]39.如果要將組合框設(shè)置為下拉列表框,文本部分不可編輯,應(yīng)該設(shè)置DropDownStyle屬性為______。A)SimpleB)DropDownC)DropDownListD)ComplexList答案:C解析:[單選題]40.下列選項中,控制RichTextBox控件的滾動條顯示樣式的屬性是()。A)MultilineB)ScrollBarsC)SelectionColorD)SelectionIndent答案:B解析:[單選題]41.關(guān)于靜態(tài)類與非靜態(tài)類的說法錯誤的是()。A)靜態(tài)類不能被繼承,非靜態(tài)類可以被繼承B)靜態(tài)類中只能包含靜態(tài)的成員,非靜態(tài)類只能包含非靜態(tài)的成員C)靜態(tài)類中不能定義構(gòu)造方法,非靜態(tài)類中可以定義構(gòu)造方法D)靜態(tài)類只能通過類名去訪問靜態(tài)成員答案:C解析:靜態(tài)類主要是共享,靜態(tài)類內(nèi)部成員必須是靜態(tài)的。靜態(tài)一般在程序加載的時候被構(gòu)造。我個人用靜態(tài)類最多的地方的是程序配置部分,因為他的共享特性,在多個窗體中都需要調(diào)用,更主要的就是他在程序啟動的時候就被初始化了。靜態(tài)類可以有構(gòu)造函數(shù),但是只被調(diào)用一次。就上面說的程序配置數(shù)據(jù)部分,如果使用非靜態(tài)類,那么你需要在任何有可能訪問到他的代碼前手動初始化他,并且還要將他賦給一個靜態(tài)變量后才能使用。費事不費事另說,假若你需要在他構(gòu)造前某個位置來調(diào)用它,那還需要修改你構(gòu)造他的代碼的位置。非靜態(tài)類使用完成后系統(tǒng)會自動銷毀釋放,所以非靜態(tài)類相對來說比較安全,而靜態(tài)類是在程序結(jié)束后銷毀的,在銷毀前一直駐留在內(nèi)存中,因此出現(xiàn)錯誤的可能性會大些。建議不要過多的使用靜態(tài)類,適時使用。[單選題]42.下面哪個關(guān)鍵字不是用來修飾方法的參數(shù)?( )。A)refB)paramsC)outD)in答案:D解析:ref,out是輸出類參數(shù)。params數(shù)組性參數(shù)。in不是。[單選題]43.下列關(guān)于拆箱的說法錯誤的是?()A)拆箱操作是將值類型轉(zhuǎn)換為引用類型B)拆箱操作是將引用類型轉(zhuǎn)換為值類型C)拆箱操作需要進行強制類型轉(zhuǎn)換D)拆箱操作的前提是存在裝箱操作答案:A解析:[單選題]44.在C#的語言特性中,關(guān)于抽象類,以下描述正確的是()。A)在抽象類包含全部已經(jīng)實現(xiàn)的方法的時候,抽象類可以實例化B)子類可以同時實現(xiàn)多個抽象類C)使用void關(guān)鍵字標注一個抽象類D)抽象基類可以包含己經(jīng)實現(xiàn)的方法答案:D解析:抽象類可以包括抽象方法,也可以是非抽象方法。[單選題]45.語句?Console.WriteLine(10+"10");?輸出的結(jié)果是()。A)10B)20C)1010D)編譯錯誤答案:C解析:[單選題]46.假設(shè)要使用C#設(shè)計一個日志系統(tǒng),要求程序運行時,檢查system.log文件是否存在,如果已經(jīng)存在則直接打開,如果不存在則創(chuàng)建一個,為了實現(xiàn)這個目的,我們應(yīng)該以FileMode的方式創(chuàng)建文件流。A)CreateNewB)OpenC)OpenOrCreateD)Create答案:C解析:[單選題]47.下面屬于合法變量名的是()。A)P_qrB)123mnpC)ChArD)x-y答案:A解析:[單選題]48.使用VisualStudio.NET的?新建C#項目?創(chuàng)建一個名為?SimpleForm?的Windows表單應(yīng)用程序,則在生成()文件中可設(shè)置該程序集的Copyright、Trademark等屬性信息.A)Form1.resxB)SimpleForm.slnC)SimpleForm.csprojD)AssemblyInfo.cs答案:D解析:[單選題]49.下面是一個派生類的定義語句:publicclasscar:vehicle{privatestringmodel=?L?;privateintwheelNo=4;}請指出針對該定義的正確的說法()。A)vehicle類是car類的一個特例,因而它可以被繼承B)car類是父類,vehicle類是子類C)在car類中定義的成員model和wheelNo會刪除vehicle類中同名的成員D)car類是vehicle類的一個特例,它可以繼承vehicle類中除構(gòu)造函數(shù)和析構(gòu)函數(shù)以外的所有成員答案:C解析:AD:不是特例。car繼承vehicleB:car是子類。C:成員重寫,正確。[單選題]50.C#語言中,值類型包括:基本值類型、結(jié)構(gòu)類型和()。A)小數(shù)類型B)整數(shù)類型C)類類型D)枚舉類型答案:D解析:[單選題]51.下列選項中屬于循環(huán)語句的是()。A)if…elseB)switchC)breakD)do-while答案:D解析:[單選題]52.在ADO.NET中,SqlConnection類所在的命名空間是()。A)SystemB)System.DataC)System.Data.OleDbD)System.Data.SqlClient答案:D解析:第2部分:多項選擇題,共6題,每題至少兩個正確答案,多選或少選均不得分。[多選題]53.在ADO)NET中,下列關(guān)于DataSet類說法有誤的是()。(請選二項)A)可以向DataSet的表集合中添加新表B)DataSet中的數(shù)據(jù)發(fā)生改變之后,它會自動更新數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)C)DataSet就好象是內(nèi)存中的一個?臨時數(shù)據(jù)庫?D)DataSet中的數(shù)據(jù)是只讀的并且是只進的答案:BD解析:可以把DataTable和DataSet看做是數(shù)據(jù)容器,比如你查詢數(shù)據(jù)庫后得到一些結(jié)果,可以放到這種容器里,那你可能要問:我不用這種容器,自己讀到變量或數(shù)組里也一樣可以存起來啊,為什么用容器?原因是,這種容器的功能比較強大,除了可以存數(shù)據(jù),還可以有更大用途。舉例:在一個c/s結(jié)構(gòu)的桌面數(shù)據(jù)庫系統(tǒng)里,你可以把前面存放查詢結(jié)果的容器里的數(shù)據(jù)顯示到你客戶端界面上,用戶在界面上對數(shù)據(jù)進行添加、刪除、修改,你可以把用戶的操作更新到容器,等用戶操作完畢了,要求更新,然后你才把容器整個的數(shù)據(jù)變化更新到中心數(shù)據(jù)庫,這樣做的好處是什么?就是減少了數(shù)據(jù)庫操作,客戶端速度提高了,數(shù)據(jù)庫壓力減小了。DataSet可以比作一個內(nèi)存中的數(shù)據(jù)庫,DataTable是一個內(nèi)存中的數(shù)據(jù)表,DataSet里可以存儲多個DataTable。DataSet:數(shù)據(jù)集。一般包含多個DataTable,用的時候,dataset["表名"]得到DataTable[多選題]54.下列選項中,關(guān)于DataGridView控件的屬性,描述正確的是()。A)屬性DataSource用于指示DataGridView控件的數(shù)據(jù)源B)屬性GridColor用于設(shè)置單元格網(wǎng)格線的顏色C)屬性DefaultCellStyle用于設(shè)置左側(cè)標題欄是否隱藏D)屬性ScrollBars用于設(shè)置DataGridView控件顯示的滾動條類型答案:ABD解析:[多選題]55.在C#中,下列關(guān)于變量的命名,正確的是()【選兩項】A)X_25B)4footsC)&YearsD)main答案:AD解析:[多選題]56.在C#中,Windows窗體應(yīng)用中,要想分別使TextBox處于不可見狀態(tài)和不可編輯狀態(tài),應(yīng)分別使用如下哪兩個()屬性進行設(shè)置【選兩項】A)LockedB)VisiableC)EnabledD)ReadOnly答案:BD解析:[多選題]57.下面關(guān)于子類調(diào)用父類構(gòu)造函數(shù)的說法,錯誤的是()。A)父類中若存在無參構(gòu)造方法,在子類中,如果不顯式的使用base來調(diào)用父類構(gòu)造函數(shù),子類會隱式的調(diào)用B)子類中,必須指定構(gòu)造函數(shù)調(diào)用父類的哪個構(gòu)造函數(shù)C)父類中最好指定無參的構(gòu)造函數(shù)D)有參數(shù)的父類構(gòu)造函數(shù),在子類中使用base調(diào)用時,參數(shù)必須一致答案:BC解析:B:錯如果子類未指定調(diào)用父類的哪個構(gòu)造方法,則默認調(diào)用無參的。C:錯可以根據(jù)需要指定。第3部分:填空題,共3題,請在空白處填寫正確答案。[填空題]58.集合類是由命名空間()提供。答案:System.Collections解析:[填空題]59.在C#語言中,可以用來遍歷數(shù)組元素的循環(huán)語句是()。答案:foreach解析:foreach循環(huán)用于列舉出集合中所有的元素,foreach語句中的表達式由關(guān)鍵字in隔開的兩個項組成。in右邊的項是集合名,in左邊的項是變量名,用來存放該集合中的每個元素。int[,,]a=newint[2,2,2]{{{1,2},{3,4}},{{5,6},{7,8}}};//定義一個2行2列2縱深的3維數(shù)組aforeach(intiina){Console.WriteLine(i);}[填空題]60.若要在文本框中輸入密碼,常指定()屬性。答案:PasswrodChar解析:第4部分:判斷題,共14題,請判斷題目是否正確。[判斷題]61.當(dāng)圖片框(PictureBox)控件的SizeMode屬性設(shè)置AutoSize時,可以使圖片框大小保持不變,自動放大或縮小圖片,使之圖片充滿整個圖片框。()A)正確B)錯誤答案:錯解析:[判斷題]62.繼承是一種強大的機制,他通過指出新舊類之間的不同之處,在舊類的基礎(chǔ)上定義一個新類()A)正確B)錯誤答案:對解析:[判斷題]63.?>>?運算符是位移操作符。()A)正確B)錯誤答案:對解析:[判斷題]64.被sealed關(guān)鍵字修飾的方法不能被繼承。答案:錯解析:C#sealed修飾符表示密封用于類時,表示該類不能再被繼承,不能和abstract同時使用,因為這兩個修飾符在含義上互相排斥用于方法和屬性時,表示該方法或?qū)傩圆荒茉俦恢貙懀仨毢蚾verride關(guān)鍵字一起使用,因為使用C#sealed修飾符的方法或?qū)傩钥隙ㄊ腔愔邢鄳?yīng)的虛成員通常用于實現(xiàn)第三方類庫時不想被客戶端繼承,或用于沒有必要再繼承的類以防止濫用繼承造成層次結(jié)構(gòu)體系混亂恰當(dāng)?shù)睦肅#sealed修飾符也可以提高一定的運行效率,因為不用考慮繼承類會重寫該成員。[判斷題]65.隱式枚舉轉(zhuǎn)換允許將十進制的整數(shù)轉(zhuǎn)換為枚舉類型的變量。()A)正確B)錯誤答案:錯解析:[判斷題]66.我們無法控制窗體的顯示位置,因為窗體的顯示位置是隨機的。()A)正確B)錯誤答案:錯解析:[判斷題]67.C#中,在進行隱式轉(zhuǎn)換時,可以將一個整數(shù)類型隱式轉(zhuǎn)換為char類型的變量。答案:錯解析:[判斷題]68.MenuStrip控件支持單文檔界面、菜單合并、工具提示和溢出等功能。A)正確B)錯誤答案:錯解析:[判斷題]69.StreamWriter類的對象可以實現(xiàn)對文件進行追加內(nèi)容的操作。A)正確B)錯誤答案:對解析:[判斷題]70.C#中,只要類不是封閉的,都可以繼承這個類并覆寫其方法。()A)正確B)錯誤答案:錯解析:[判斷題]71.在C#中,所有類都是直接或間接地繼承System.Object類而得來的。()A)正確B)錯誤答案:對解析:[判斷題]72.標識符可以是關(guān)鍵字?答案:錯解析:標識符是適用于變量、類、方法和其他各種用戶定義對象的一般術(shù)語。命名標識符時應(yīng)當(dāng)遵守以下規(guī)則:標識符不能以數(shù)字開頭,也不能包含空格。標識符可以包含大小寫字母、數(shù)字、下劃線和@字符。標識符必須區(qū)分大小寫。大寫字母和小寫字母被認為是不同的字母。@字符只能是標識符的第一個字符。帶@前綴的標識符稱為逐字標識符。不能使用C#中的關(guān)鍵字。但是,@字符加關(guān)鍵字可以成為合法的標識符,建議不要這樣做。不能與C#的類庫名稱相同。[判斷題]73.一個命名空間(namespace)中可以定義多個類。()A)正確B)錯誤答案:對解析:[判斷題]74.當(dāng)創(chuàng)建派生類對象時,先執(zhí)行基類的構(gòu)造函數(shù),后執(zhí)行派生類的構(gòu)造函數(shù)。()A)正確B)錯誤答案:對解析:第5部分:問答題,共25題,請在空白處填寫正確答案。[問答題]75.寫一個方法,對一個字符串,按如下規(guī)則加密:如果是英文字母則大寫變小寫、小寫變大寫,對非英文字符則保持不變。返回值為返回加密字符串。答案:staticvoidMain(string[]args){Console.WriteLine("請輸入字符串:");stringstr=Console.ReadLine();Console.WriteLine(du(str));Console.ReadLine();}publicstaticstringdu(stringstr){stringnewstr="";foreach(chariinstr){if(i>='a'&&i<='z'){newstr=newstr+Convert.ToChar(Convert.ToInt32(i)-32);}elseif(i>='A'&&i<='Z'){newstr=newstr+Convert.ToChar(Convert.ToInt32(i)+32);}elsenewstr=newstr+i;}returnnewstr;}解析:[問答題]76.()運算符將左右操作數(shù)相乘的結(jié)果賦值給左操作數(shù)。答案:*=解析:[問答題]77.Console.WriteLine();和Console.Write();的區(qū)別是(第一個輸出RP后換行,答案:?RP?|?RP?第二個不換)。解析:[問答題]78.PictureBox控件的______屬性,用來獲取或設(shè)置顯示的圖像。答案:Image解析:[問答題]79.編一個程序,用do-while循環(huán)語句來計算PI=4*(1-1/3+1/5+...+1/n),要求當(dāng)1/n<0.000001時停止計算答案:doublepi,s=0,x;doublen=1;do{x=Math.Pow(-1,n+1)/(2*n-1);s=s+x;n++;}while(1/n>=0.000001);pi=s*4;Console.WriteLine("pi的值為:{0}",pi);解析:[問答題]80.文本框的()屬性值設(shè)置為True時,該文本框可以顯示多行文本。答案:Multiline解析:[問答題]81.?this?可以在靜態(tài)方法中用嗎?答案:不,?This?不能在靜態(tài)方法中使用。僅僅只有靜態(tài)變量/方法可以在靜態(tài)方法中使用。解析:不,?This?不能在靜態(tài)方法中使用。僅僅只有靜態(tài)變量/方法可以在靜態(tài)方法中使用。[問答題]82.VisualStudio2010開發(fā)環(huán)境的主要組成部分有哪些?答案:VisualStudio2010開發(fā)環(huán)境的主窗口由標題欄、菜單欄、標準工具欄、代碼編輯器/Windows窗體設(shè)計器以及停靠或自動隱藏在左側(cè)、右側(cè)、底部的工具箱、解決方案資源管理器、屬性窗口等共同組成。解析:[問答題]83.若一個類中包含一個或多個abstract方法,則該類是一個()類。答案:抽象解析:[問答題]84.結(jié)構(gòu)化的程序設(shè)計的3種基本結(jié)構(gòu)是(),()和()。答案:順序結(jié)構(gòu)|選擇結(jié)構(gòu)|循環(huán)結(jié)構(gòu)解析:[問答題]85.要想在輸出中換行,可以使用()轉(zhuǎn)義字符。答案:\n解析:[問答題]86.簡述隱式轉(zhuǎn)換和顯式轉(zhuǎn)換的區(qū)別。答案:隱式轉(zhuǎn)換是系統(tǒng)默認的不需要加以聲明就可以進行的轉(zhuǎn)換,只允許從小的值范圍類型到大的值范圍類型進行轉(zhuǎn)換。顯式轉(zhuǎn)換又稱強制轉(zhuǎn)換,需要用戶明確指定轉(zhuǎn)換的類型,調(diào)用轉(zhuǎn)換運算符,從一種類型轉(zhuǎn)換為另一種類型。解析:[問答題]87.LINQ的語法跟一般SQL語句的語法有哪些區(qū)別?答案:LINQ查詢語法是以from關(guān)鍵字開頭的,而不是以select關(guān)鍵字開頭的。簡單來說,為了IDE的智能感知(Intelisence)這個功能,select關(guān)鍵字放在后面了。編程語言以select開頭寫LINQ查詢語法不是沒出現(xiàn)過,你如果使用過2005年的VB9CTP版本,那時候VB9的LINQ查詢語法就是select關(guān)鍵字在前面,但是select關(guān)鍵字在前面,在做智能感知(Intelisence)時候就很頭大。經(jīng)過微軟IDE組的權(quán)衡,確定了把from關(guān)鍵字放在最前面。解析:[問答題]88.下列代碼的功能是要遍歷整個數(shù)組并將其顯示出來,但是有一行代碼是錯誤的。請檢查下列代碼,并在錯誤代碼行后填入該行完整的正確代碼:1).staticvoidMain(string[]args)2).{3).string[]myArray=newstring[]{?C#?,?C++?,?VB?,?java?};4).for(inti=1;i<myArray.Length-1;i++)5).{6).Console.WriteLine(myArray[i]);7).}8).}答案:答:第__4__行錯誤。應(yīng)改為___for(inti=0;i<myArray.Length;i++)____________解析:[問答題]89.求數(shù)組中的最大值和最小值并輸出答案:staticvoidMain(string[]args){intmax,min;int[]a=newint[10]{1,34,5,9,23,59,-9,0,40,22};max=a[0];min=a[0];for(inti=1;i<a.Length;i++){if(max<a[i])max=a[i];if(min>a[i])min=a[i];}Console.WriteLine("最大值為{0}",max);Con
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 罕見病社會認知提升的倫理傳播策略
- 任丘市輔警考試題庫2025
- 2025年煙臺市蓬萊區(qū)事業(yè)單位真題
- 2025年北京市通州區(qū)法院系統(tǒng)招聘真題
- 2026中國科學(xué)院高能物理研究所《中國物理C》期刊編輯招聘1人備考題庫及參考答案詳解1套
- 2026年1月福建廈門市生態(tài)環(huán)境局補充非在編人員招聘2人備考題庫及一套答案詳解
- 2026年廈門市公安局局屬單位公開招聘非在編輔助崗位人員2名備考題庫及參考答案詳解
- 2026中國科學(xué)院云南天文臺科技人才招聘備考題庫含答案詳解
- 2026年環(huán)境監(jiān)測技術(shù)員考試題庫污染治理試題及解答
- 2026年初級電工材料及電路分析模擬題
- 鋼架樓梯合同(標準版)
- 管道區(qū)段長管理辦法
- 2025年江西公務(wù)員考試(財經(jīng)管理)測試題及答案
- CRT-YS4690消防控制室圖形顯示裝置使用說明書-營口賽福德
- 植筋工程施工驗收記錄表范例
- 2025至2030年中國冷凍食品行業(yè)市場調(diào)研及行業(yè)投資策略研究報告
- 壓空罐安全知識培訓(xùn)課件
- 2025年江蘇南京市建鄴區(qū)招聘第一批購崗人員5人筆試模擬試題及答案詳解1套
- 市場保潔管理方案(3篇)
- 醫(yī)院調(diào)料雜糧副食品采購項目方案投標文件(技術(shù)方案)
- 靜脈給藥的安全管理
評論
0/150
提交評論