測(cè)繪計(jì)算機(jī)高級(jí)語(yǔ)言C復(fù)習(xí)思考題_第1頁(yè)
測(cè)繪計(jì)算機(jī)高級(jí)語(yǔ)言C復(fù)習(xí)思考題_第2頁(yè)
測(cè)繪計(jì)算機(jī)高級(jí)語(yǔ)言C復(fù)習(xí)思考題_第3頁(yè)
測(cè)繪計(jì)算機(jī)高級(jí)語(yǔ)言C復(fù)習(xí)思考題_第4頁(yè)
測(cè)繪計(jì)算機(jī)高級(jí)語(yǔ)言C復(fù)習(xí)思考題_第5頁(yè)
已閱讀5頁(yè),還剩59頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第頁(yè)一選擇題(1)下面是關(guān)于標(biāo)識(shí)符的描述,不正確的有哪些?(D)A字母和下劃線(a-Z、A-Z和)_)可以用在任何位置;B數(shù)字不能放在首位,但可以在其他的任何地方;C@字符可以放在標(biāo)識(shí)符的首位,但不能放在其他任何地方。雖然允許使用@字符,但不推薦作為常用字符;D標(biāo)識(shí)符不區(qū)分大小寫。(2)下面是關(guān)于關(guān)鍵字和上下文關(guān)鍵字的描述,不正確的有哪些?(B)A關(guān)鍵字不能被用作變量名或任何其他形式的標(biāo)識(shí)符,除非以@字符開始;B所有C#關(guān)鍵字全部都由大寫字母組成,但是.NET類型名使用Pascal大小寫約定;C上下文關(guān)鍵字是僅在特定的語(yǔ)言結(jié)構(gòu)中充當(dāng)關(guān)鍵字的標(biāo)識(shí)符,在那些位置,它們有特別的含意;D但和關(guān)鍵字不同,關(guān)鍵字不能被用作標(biāo)識(shí)符,而上下文關(guān)鍵字可以在其他部分代碼中被用作標(biāo)識(shí)符。(3)下面是關(guān)于Main方法的描述,不正確的有哪些?(D)A每個(gè)C#程序必須有一個(gè)類或者結(jié)構(gòu)帶有Main方法;B每個(gè)C#程序的可執(zhí)行起始點(diǎn)在Main中的第一條指令;CMain必須首字母大寫;DMain的最簡(jiǎn)單形式如下:voidMain()(4)下面是關(guān)于空白的描述,不正確的有哪些?(D)A程序中的空白指的是沒(méi)有可視化輸出的字符;B源代碼中的空白將被編譯器忽略;C程序員用空白使代碼更清晰易讀;D空白字符包括:空格(Space)、制表符(Tab)、換行符、回車符、¥。(5)下面是關(guān)于語(yǔ)句塊的描述,不正確的有哪些?(A)A塊是一個(gè)由成對(duì)大括號(hào)包圍的一條或多條語(yǔ)句序列,它在語(yǔ)法上相當(dāng)于一條語(yǔ)句;B可以在任何語(yǔ)法上只需要一條語(yǔ)句而你需要的行為又要求一條以上的簡(jiǎn)單語(yǔ)句的情況下使用塊;C有些特定的程序結(jié)構(gòu)只能使用塊。在這些結(jié)構(gòu)中,不能用簡(jiǎn)單語(yǔ)句替代塊;D簡(jiǎn)單語(yǔ)句以分號(hào)結(jié)束,但塊后面不跟分號(hào)。(雖然編譯器允許這樣,但這不是好的風(fēng)格。)(6)下面是關(guān)于多個(gè)變量聲明的描述,不正確的有哪些?(C)A可以把多個(gè)變量聲明在一條單獨(dú)的聲明語(yǔ)句中;B多重變量聲明中的變量必須類型相同;C變量名必須用分號(hào)分隔;D可以在變量名后包含初始化語(yǔ)句;E初始化的變量可以和未初始化的變量混在一起。(7)下面是關(guān)于類的描述,不正確的有哪些?(D)A類是一個(gè)能存儲(chǔ)數(shù)據(jù)并執(zhí)行代碼的數(shù)據(jù)結(jié)構(gòu);B類的數(shù)據(jù)成員存儲(chǔ)及類或類的實(shí)例相關(guān)的數(shù)據(jù),它們通常模擬該類所表示的現(xiàn)實(shí)世界事物的特性;C類的函數(shù)成員執(zhí)行代碼,它們通常模擬類所表示的現(xiàn)實(shí)世界事物的功能和操作;D一個(gè)類可以有任意數(shù)目的數(shù)據(jù)成員和函數(shù)成員,即至少要有一個(gè)數(shù)據(jù)成員或者函數(shù)成員。(8)下面是關(guān)于類聲明的描述,不正確的有哪些?(B)A類的聲明定義新類的特征和成員;B類的聲明創(chuàng)建類的實(shí)例;C類的聲明提供下列內(nèi)容:類的名稱、類的成員和類的特征;D大括號(hào)內(nèi)包含了成員的聲明,它們組成了類主體;E類成員可以在類主體內(nèi)部以任何順序聲明,這意味著成員的聲明完全可以引用在后面聲明中才定義另一個(gè)的成員。(9)下面是關(guān)于類中字段的描述,不正確的有哪些?(A)A字段是類的函數(shù)成員;B字段可以是任何類型,無(wú)論是預(yù)定義類型還是用戶定義類型;C和所有變量一樣,字段用來(lái)保存數(shù)據(jù);D字段可以被寫入和被讀取。(10)下面是關(guān)于類中方法的描述,不正確的有哪些?(D)A方法是具有名稱的可執(zhí)行代碼塊;B方法可以從程序的很多不同地方執(zhí)行,甚至從其他程序中執(zhí)行;C當(dāng)方法被調(diào)用時(shí),它執(zhí)行自己所含的代碼,然后返回到調(diào)用它的代碼位置;D有些方法返回一個(gè)以上的值到它們被調(diào)用的位置。(11)下面是關(guān)于類中方法聲明組成成分的描述,不正確的有哪些?(C)A返回類型:它聲明了方法返回值的類型。如果一個(gè)方法不返回值,那么返回類型被指定為void;B名稱:這是方法的名稱;C參數(shù)列表:它由至少一對(duì)空的方括號(hào)組成。如果有參數(shù),它們被列在方括號(hào)中間;D方法體:它由一對(duì)大括號(hào)組成,大括號(hào)內(nèi)包含執(zhí)行代碼。(12)下面是關(guān)于類中私有成員的描述,不正確的有哪些?(A)A私有成員不僅能從聲明它的類的內(nèi)部訪問(wèn),還能在其他類的內(nèi)部訪問(wèn)它們;B私有訪問(wèn)是默認(rèn)的訪問(wèn)級(jí)別,所以,如果一個(gè)成員在聲明時(shí)不帶訪問(wèn)修飾符,那它就是私有成員;C還可以使用private訪問(wèn)修飾符顯式地聲明一個(gè)成員為私有;D隱式地聲明私有成員和顯式地聲明沒(méi)有語(yǔ)義上的不同,兩種形式是等價(jià)的。(13)下面是關(guān)于var關(guān)鍵字的描述,不正確的有哪些?(B)Avar關(guān)鍵字并不是某種特別類型的符號(hào),它只是句法上的速記,表示任何可以從初始化的右邊推斷出的類型;B能用于本地變量,也能用于字段;C只能在變量聲明中包含初始化時(shí)使用;D一旦編譯器推斷出變量的類型,它就是固定且不能更改的。(14)下面是關(guān)于本地常量的描述,不正確的有哪些?(A)A常量在聲明中可以初始化,也可以不初始化;B常量在聲明后不能改變;C關(guān)鍵字const不是一個(gè)修飾符,而是核心聲明的一部分,它必須直接放在類型的前面;D必須有初始化語(yǔ)句,初始化值必須在編譯期決定。(15)下面是關(guān)于方法返回值的描述,不正確的有哪些?(A)A方法可以向調(diào)用代碼返回一個(gè)以上的值,返回的值被插入到調(diào)用代碼中發(fā)起調(diào)用的表達(dá)式所在的位置;B要返回值,方法必須在方法名前面聲明一個(gè)返回類型;C如果方法不返回值,它必須聲明void返回類型;D聲明了返回類型的方法必須使用返回語(yǔ)句從方法中返回一個(gè)值,該返回語(yǔ)句包括關(guān)鍵字return及其后面的表達(dá)式。每一條穿過(guò)方法的路徑都必須以一條這種形式的return語(yǔ)句結(jié)束。(16)下面是關(guān)于方法形參的描述,不正確的有哪些?(C)A因?yàn)樾螀⑹亲兞浚运鼈冇蓄愋秃兔Q,并能被寫入和讀出;B和方法中的其他變量不同,形數(shù)在方法體的外面定義并在方法開始之前初始化,但輸出形例外,它在方法體的內(nèi)定義;C參數(shù)列表中可以有任意數(shù)目的形參聲明,而且聲明必須用分號(hào)隔開;D形參在整個(gè)方法體內(nèi)可用,在大部分地方就像其他本地變量一樣。(17)下面是關(guān)于方法實(shí)參的描述,不正確的有哪些?(E)A用于初始化形參的表達(dá)式或變量稱為實(shí)參;B實(shí)參放在方法調(diào)用的參數(shù)列表中;C當(dāng)方法被調(diào)用的時(shí)候,每個(gè)實(shí)參的值都被用于初始化相應(yīng)的形參,方法體隨后被執(zhí)行;D實(shí)參的數(shù)目必須和形參的數(shù)目相同(參數(shù)數(shù)組是個(gè)例外);E每個(gè)實(shí)參必須和相應(yīng)形參的類型必須完全相同。(18)下面是關(guān)于值參數(shù)的描述,不正確的有哪些?(B)A參數(shù)的默認(rèn)類型是值參數(shù);B在堆中為形參分配空間;C復(fù)制實(shí)參到形參;D一個(gè)值參數(shù)的實(shí)參不一定是變量。它可以是任何能計(jì)算成相應(yīng)數(shù)據(jù)類型的表達(dá)式;E值參數(shù)是把實(shí)參的值復(fù)制到形參的參數(shù)。(19)下面是關(guān)于引用參數(shù)的描述,不正確的有哪些?(B)A使用引用參數(shù)時(shí),必須在方法的聲明和調(diào)用中都使用ref修飾符;B實(shí)參必須是變量,在用作實(shí)參前可以不被賦值;C如果是引用類型變量,實(shí)參可以賦值為一個(gè)引用或者null值;D不在棧中為形參分配新的內(nèi)存;E形參的名稱相當(dāng)于實(shí)參變量的別名,引用及實(shí)參相同的內(nèi)存位置;F在方法執(zhí)行期間對(duì)形參所做的任何改變?cè)诜椒ㄍ瓿芍笸ㄟ^(guò)實(shí)參變量都是可見的。(20)下面是關(guān)于輸出參數(shù)的描述,不正確的有哪些?(C)A輸出參數(shù)用于從方法體內(nèi)把數(shù)據(jù)傳出到調(diào)用代碼;B必須在方法的聲明和調(diào)用中都使用out修飾符;C實(shí)參可以是變量,也可以是其他的表達(dá)式類型;D就像引用參數(shù),輸出參數(shù)的形參擔(dān)當(dāng)實(shí)參的別名,形參和實(shí)參都是同一內(nèi)存位置的名稱;E在方法內(nèi)部,輸出參數(shù)在被讀取之前必須被賦值。這意味著輸出參數(shù)無(wú)初始值,而且沒(méi)有必要在方法調(diào)用之前為實(shí)參賦值;F每個(gè)輸出參數(shù)在方法返回之前必須被賦值。(21)下面是關(guān)于參數(shù)數(shù)組的描述,不正確的有哪些?(C)A在一個(gè)參數(shù)列表中只能有一個(gè)參數(shù)數(shù)組;B如果有,參數(shù)數(shù)組必須是列表中的最后一個(gè);C在數(shù)據(jù)類型前使用params修飾符,在聲明中需要該修飾符,在調(diào)用中也需要有該修飾符;D在數(shù)據(jù)類型后放置一組空的方括號(hào)。(22)下面是關(guān)于棧幀的描述,不正確的有哪些?(B)A當(dāng)一個(gè)方法被調(diào)用時(shí),在棧頂分配了一塊內(nèi)存用于保存一定數(shù)量及方法相關(guān)的數(shù)據(jù)項(xiàng),這塊內(nèi)存叫方法的棧幀(stackflame);B方法被調(diào)用時(shí),它的整個(gè)棧幀被壓入堆中;C方法退出時(shí),它的整個(gè)棧幀被從棧中彈出。彈出一個(gè)棧幀有時(shí)也稱為釋放棧;D棧幀存放了返回地址、參數(shù)、及方法調(diào)用相關(guān)的其他各種管理數(shù)據(jù)項(xiàng)。(23)下面是關(guān)于遞歸的描述,不正確的有哪些?(C)A除了調(diào)用其他方法,方法還能調(diào)用自己,這稱為遞歸(recursion);B方法調(diào)用自己的機(jī)制和調(diào)用其他方法完全相同。方法的每次調(diào)用都會(huì)有一個(gè)新的幀被壓入棧中;C當(dāng)遞歸越來(lái)越深時(shí),堆也越來(lái)越大;D設(shè)計(jì)遞歸方法時(shí)要避免無(wú)限遞歸。(24)下面是關(guān)于方法簽名的描述,不正確的有哪些?(A)A返回類型是簽名的一部分;B形參的名稱也不是簽名的一部分;C方法的名稱是簽名的一部分;D參數(shù)的數(shù)目是簽名的一部分;E參數(shù)的數(shù)據(jù)類型和順序是簽名的一部分;F參數(shù)修飾符是簽名的一部分。(25)下面是關(guān)于靜態(tài)字段的描述,不正確的有哪些?(C)A靜態(tài)字段被類的所有實(shí)例共享,所有實(shí)例都訪問(wèn)同一內(nèi)存位置;B如果靜態(tài)字段的值被一個(gè)實(shí)例改變了,這種改變對(duì)所有的實(shí)例都可見;C沒(méi)有使用static修飾符聲明的字段為靜態(tài)字段;D除了實(shí)例字段,類還可以擁有靜態(tài)字段。(26)下面是關(guān)于靜態(tài)函數(shù)的描述,不正確的有哪些?(D)A除了靜態(tài)字段,還有靜態(tài)函數(shù)成員;B如同靜態(tài)字段,靜態(tài)函數(shù)成員獨(dú)立于任何類實(shí)例;C即使沒(méi)有類的實(shí)例,仍然可以調(diào)用靜態(tài)函數(shù)成員;D靜態(tài)函數(shù)成員能訪問(wèn)實(shí)例成員,也能訪問(wèn)其他靜態(tài)成員。(27)下面是關(guān)于屬性的描述,不正確的有哪些?(D)A它是命名的類成員;B它有類型;C它可以被賦值和讀??;D它為數(shù)據(jù)存儲(chǔ)分配內(nèi)存;E它執(zhí)行代碼;Fset訪問(wèn)器用于為屬性賦值;Gget訪問(wèn)器用于從屬性獲取值。(28)下面是關(guān)于自動(dòng)實(shí)現(xiàn)屬性的描述,不正確的有哪些?(B)A允許只聲明屬性而不聲明后備字段;B必須提供訪問(wèn)器的方法體;Cget擔(dān)當(dāng)簡(jiǎn)單的內(nèi)存讀,set擔(dān)當(dāng)簡(jiǎn)單的寫;D除非通過(guò)訪問(wèn)器,否則不能訪問(wèn)后備字段;E只讀和只寫自動(dòng)實(shí)現(xiàn)屬性也就沒(méi)有意義,因此它們不被允許。(29)下面是關(guān)于實(shí)例構(gòu)造函數(shù)的描述,不正確的有哪些?(D)A實(shí)例構(gòu)造函數(shù)是一個(gè)特殊的方法,它在類的每個(gè)新實(shí)例創(chuàng)建的時(shí)候執(zhí)行;實(shí)例構(gòu)造函數(shù)用于初始化類實(shí)例的狀態(tài);B如果希望能從類的外部創(chuàng)建類的實(shí)例,需要聲明實(shí)例構(gòu)造函數(shù)為public;C構(gòu)造函數(shù)的名稱和類名相同;D構(gòu)造函數(shù)能有返回值。(30)下面是關(guān)于類中默認(rèn)構(gòu)造函數(shù)的描述,不正確的有哪些?(B)A如果在類的聲明中沒(méi)有顯式地提供實(shí)例構(gòu)造函數(shù),那么編譯器會(huì)提供一個(gè)隱式的默認(rèn)構(gòu)造函數(shù);B默認(rèn)構(gòu)造函數(shù)帶一個(gè)參數(shù);C默認(rèn)構(gòu)造函數(shù)的方法體為空;D如果程序員定義了一個(gè)或多個(gè)實(shí)例構(gòu)造函數(shù),那么編譯器將不會(huì)為該類定義默認(rèn)構(gòu)造函數(shù)。(31)下面是關(guān)于類中靜態(tài)構(gòu)造函數(shù)的描述,不正確的有哪些?(C)A實(shí)例構(gòu)造函數(shù)初始化類的每個(gè)新實(shí)例,而static構(gòu)造函數(shù)初始化類類型;B通常,靜態(tài)構(gòu)造函數(shù)初始化類的靜態(tài)字段;C類只能有一個(gè)靜態(tài)構(gòu)造函數(shù),而且能帶參數(shù);D靜態(tài)構(gòu)造函數(shù)不能有訪問(wèn)修飾符;E不能從程序中顯式調(diào)用靜態(tài)構(gòu)造函數(shù),它們被系統(tǒng)自動(dòng)調(diào)用。(32)下面是關(guān)于類繼承的描述,不正確的有哪些?(D)A可以使用一個(gè)已經(jīng)存在的類作為新類的基礎(chǔ)。已存在的類稱為基類(baseclass),新類稱為派生類(derivedclass);B要聲明一個(gè)派生類,需要在類名后加入基類規(guī)格說(shuō)明;C派生類被描述為擴(kuò)展它的基類,因?yàn)樗嘶惖某蓡T,加上在它自己的聲明中的任何附加功能;D派生類能刪除它所繼承的任何成員。(33)下面是關(guān)于類繼承的描述,不正確的有哪些?(A)A一個(gè)類聲明的基類規(guī)格說(shuō)明中能有一個(gè)以上的類;B雖然類只能直接繼承一個(gè)基類,但繼承的層次沒(méi)有限制,也就是說(shuō),作為基類的類可以派生自另外一個(gè)類,而它又派生自另外一個(gè)類,一直下去,直至最終到達(dá)object;C除了特殊的類0bject,所有的類都是派生類,即使它們沒(méi)有基類規(guī)格說(shuō)明,類object是唯一的非派生類,因?yàn)樗抢^承層次結(jié)構(gòu)的基礎(chǔ);D沒(méi)有基類規(guī)格說(shuō)明的類隱式地直接派生自類object,不加基類規(guī)格說(shuō)明只是指定object為基類的簡(jiǎn)寫。(34)下面是關(guān)于隱藏基類成員的描述,不正確的有哪些?(E)A類中引入的常量、字段、屬性、事件或類型會(huì)把所有同名的基類成員中的常量、字段、屬性、事件隱藏起來(lái);B類中引入的方法隱藏所有非方法同名的基類成員,以及所有具有相同簽名(方法名稱和參數(shù)個(gè)數(shù)、修飾符和類型)的基類方法;C類中引入的索引器隱藏所有具有相同簽名(參數(shù)個(gè)數(shù)和類型)的基類索引器;D要讓編譯器知道你在故意隱藏繼承的成員,使用new修飾符;E不可以隱藏靜態(tài)成員。(35)下面是關(guān)于使用基類引用調(diào)用派生類(derivedclass)的方法的描述,不正確的有哪些?(E)A派生類的方法和基類的方法有相同的簽名和返回類型;B基類的方法使用virtual標(biāo)注;C派生類的方法使用override標(biāo)注;D覆寫和被覆寫的方法必須有相同的可訪問(wèn)性;E能覆寫static方法或非虛方法;F方法、屬性和索引,以及事件都可以被聲明為virtual和override。(36)下面是關(guān)于構(gòu)造函數(shù)初始化語(yǔ)句的描述,不正確的有哪些?(C)A第一種形式構(gòu)造函數(shù)初始化語(yǔ)句使用關(guān)鍵字base并指明使用哪一個(gè)基類構(gòu)造函數(shù);B第二種形式構(gòu)造函數(shù)初始化語(yǔ)句使用關(guān)鍵字this并指明應(yīng)該使用當(dāng)前類的哪一個(gè)另外的構(gòu)造函數(shù);C基類構(gòu)造初始化語(yǔ)句放在逗號(hào)后面,逗號(hào)緊跟著類的構(gòu)造函數(shù)聲明的參數(shù)列表;D當(dāng)聲明一個(gè)不帶構(gòu)造函數(shù)初始化語(yǔ)句的構(gòu)造函數(shù)時(shí),它只是帶有“base()”的構(gòu)造函數(shù)初始化語(yǔ)句的形式的簡(jiǎn)寫。(37)下面是關(guān)于類訪問(wèn)修飾符的描述,不正確的有哪些?(D)A標(biāo)記為public的類可以被系統(tǒng)內(nèi)任何程序集中的代碼訪問(wèn),要使一個(gè)類對(duì)其他程序集可見,必須使用public訪問(wèn)修飾符;B標(biāo)記為internal的類只能被它自己所在的程序集內(nèi)的類看到,這是默認(rèn)的可訪問(wèn)級(jí)別;C除非在類的聲明中顯式地指定修飾符public,程序集外部的代碼不能訪問(wèn)該類;D不可以使用internal訪問(wèn)修飾符顯式地聲明一個(gè)類為內(nèi)部的。(38)下面是關(guān)于類成員可訪問(wèn)性的描述,不正確的有哪些?(C)A所有在類中顯式聲明的成員都是互相可見的,無(wú)論它們的訪問(wèn)性說(shuō)明如何;B繼承的成員不屬于在類的顯式聲明成員,所以,繼承的成員對(duì)派生類的成員可以是可見的,也可以是不可見的;C必須對(duì)每個(gè)成員指定成員訪問(wèn)級(jí)別。如果不指定某個(gè)成員的訪問(wèn)級(jí)別,它的隱式訪問(wèn)級(jí)別為public;D成員不能比它的類更可訪問(wèn)。(39)下面是關(guān)于類成員訪問(wèn)修飾符的描述,不正確的有哪些?(F)Apublic訪問(wèn)級(jí)別是限制性最少的。所有的類,包括程序集內(nèi)部的類和外部的類都可以自由地訪問(wèn)成員;Bprivate類成員只能被它自己的類的成員訪問(wèn)。它不能被其他的類訪問(wèn),包括繼承它的類;Cprivate成員能被嵌套在它的類中的類(即嵌套類)的成員訪問(wèn);Dprotected訪問(wèn)級(jí)別如同private訪問(wèn)級(jí)別,除了一點(diǎn),它允許派生自該類的類的成員訪問(wèn)該成員,即使程序集外部的繼承該類的類也能訪問(wèn)該成員;E標(biāo)記為internal的成員對(duì)程序集內(nèi)部的所有類可見,但對(duì)程序集外部的類不可見;F標(biāo)記為protectedinternal的成員只能對(duì)程序集內(nèi)部中所有繼承該類的類可見。(40)下面是關(guān)于抽象成員的描述,不正確的有哪些?(C)A抽象成員是一定要被覆寫的函數(shù)成員,它有abstract修飾符、沒(méi)有實(shí)現(xiàn)代碼塊;B抽象成員的代碼塊被分號(hào)代替;C因抽象方法必須在派生類中用相應(yīng)的方法覆寫,所以必須把virtual修飾符附加到抽象方法上;D就像虛方法,派生類中抽象方法的實(shí)現(xiàn)必須指定override修飾符;E抽象成員只能被聲明在抽象類中。(41)下面是關(guān)于抽象類的描述,不正確的有哪些?(B)A抽象類只能被用作其他類的基類;B能創(chuàng)建抽象類的實(shí)例;C抽象類使用abstract修飾符聲明;D抽象類可以包含抽象成員,但不是必須的;E抽象類自己可以派生自另一個(gè)抽象類。(42)下面是關(guān)于靜態(tài)類的描述,不正確的有哪些?(B)A靜態(tài)類本身必須標(biāo)記為static;B靜態(tài)類的所有成員不一定都是靜態(tài)的;C靜態(tài)類可以有一個(gè)靜態(tài)構(gòu)造函數(shù),但沒(méi)有實(shí)例構(gòu)造函數(shù),不能創(chuàng)建該靜態(tài)類的實(shí)例;D不能繼承靜態(tài)類,它們是密封的。(43)下面是關(guān)于擴(kuò)展方法的描述,不正確的有哪些?(D)A擴(kuò)展方法必須被聲明為static;B擴(kuò)展方法聲明所在的類也必須被聲明為static;C擴(kuò)展方法必須包含關(guān)鍵字this作為它的第一個(gè)參數(shù)類型,并在后面跟著它所擴(kuò)展的類的名稱;D不能在所擴(kuò)展類的實(shí)例上調(diào)用擴(kuò)展方法。(44)下面是關(guān)于可以擔(dān)當(dāng)操作數(shù)的描述,不正確的有哪些?(F)A字面量;B常量;C變量;D方法調(diào)用;E元素訪問(wèn)器,如數(shù)組訪問(wèn)器和索引;F關(guān)鍵字。(45)下面是關(guān)于運(yùn)算符的描述,不正確的有哪些?(C)A把操作數(shù)當(dāng)作輸入;B執(zhí)行一個(gè)行為;C基于行為返回一個(gè)以上的值;D可以使用運(yùn)算符連接表達(dá)式以創(chuàng)建新的表達(dá)式。(46)下面是關(guān)于整數(shù)字面量的描述,不正確的有哪些?(D)A整數(shù)字面量是最常用的字面量,它們常常被書寫為十進(jìn)制數(shù)字序列,并且沒(méi)有小數(shù)點(diǎn),帶有可選的后綴,指明整數(shù)的類型;B如果整數(shù)字面量沒(méi)有后綴,編譯器會(huì)把數(shù)字字符串解釋為能表示該值而不丟失數(shù)據(jù)的最小的類型;C整數(shù)類型字面量還可以被寫成16進(jìn)制(hex)形式,數(shù)字必須是16進(jìn)制數(shù)(從0到F),而且字符串必須以0x或0X開始(數(shù)字0,字母x);D有8進(jìn)制形式的整數(shù)類型字面量。(47)下面是關(guān)于實(shí)數(shù)字面量的組成的描述,不正確的有哪些?(E)A10進(jìn)制數(shù)字;B一個(gè)可選的小數(shù)點(diǎn);C一個(gè)可選的指數(shù)部分;D一個(gè)可選的后綴;E無(wú)后綴的實(shí)數(shù)字面量是float類型,不是double類型。(48)下面是關(guān)于字符字面量的描述,不正確的有哪些?(B)A字符字面量由單引號(hào)內(nèi)的字符表示組成,字符字面量可以是下面的任意一種:?jiǎn)蝹€(gè)字符、一個(gè)簡(jiǎn)單轉(zhuǎn)義序列、一個(gè)十六進(jìn)制轉(zhuǎn)義序列或一個(gè)Unicode轉(zhuǎn)義序列;B字符字面量的類型是string;C簡(jiǎn)單轉(zhuǎn)義序列是一個(gè)反斜杠后面跟著單個(gè)字符;D十六進(jìn)制轉(zhuǎn)義序列是一個(gè)反斜杠,后面跟著一個(gè)大寫或小寫的X,后面再跟著多至四個(gè)十六進(jìn)制數(shù)字;EUnicode轉(zhuǎn)義序列是一個(gè)反斜杠,后面跟著一個(gè)大寫或小寫的U,后面再跟著多至四個(gè)十六進(jìn)制數(shù)字。(49)下面是關(guān)于字符串字面量的描述,不正確的有哪些?(A)A字符串字面量使用單引號(hào)標(biāo)記,有兩種字符串字面量類型:規(guī)則字符串字面量和逐字字符串字面量;B規(guī)則字符串字面量可以包含:字符、簡(jiǎn)單轉(zhuǎn)義字符、十六進(jìn)制和Unicode轉(zhuǎn)義序列;C逐字字符串字面量的書寫如同規(guī)則字符串字面量,但以一個(gè)@字符為前綴;D逐字字面量及規(guī)則字符串字面量區(qū)別在于轉(zhuǎn)義字符串不會(huì)被求值;E逐字字面量的唯一例外是相鄰的雙引號(hào)組,它們被解釋為單個(gè)雙引號(hào)字符。(50)下面是關(guān)于運(yùn)算符結(jié)合性的描述,不正確的有哪些?(C)A左結(jié)合運(yùn)算符從左至右求值;B右結(jié)合運(yùn)算符從右至左求值;C所有的二元運(yùn)算符是左結(jié)合的;D賦值運(yùn)算符和條件運(yùn)算符是右結(jié)合的。(51)下面是關(guān)于運(yùn)算符重載的描述,不正確的有哪些?(A)A運(yùn)算符重載只能用于類、枚舉和結(jié)構(gòu);B為類或結(jié)構(gòu)重載一個(gè)運(yùn)算符X,可以聲明一個(gè)名稱為operatorx的方法并實(shí)現(xiàn)它的行為;C運(yùn)算符重載方法必須帶static和public兩個(gè)修飾符;D運(yùn)算符重載方法是類或結(jié)構(gòu)的成員,該類或結(jié)構(gòu)是它的一個(gè)操作數(shù)。(52)下面是關(guān)于運(yùn)算符重載不能做的事情的描述,不正確的有哪些?(B)A創(chuàng)建新運(yùn)算符;B改變運(yùn)算符的行為;C重新定義運(yùn)算符如何處理預(yù)定義類型;D改變運(yùn)算符的優(yōu)先級(jí)或結(jié)合性。(53)下面是關(guān)于語(yǔ)句的描述,不正確的有哪些?(E)A語(yǔ)句是描述一個(gè)類型或告訴程序去執(zhí)行一個(gè)動(dòng)作的源代碼指令;B聲明類型或變量的語(yǔ)句稱為聲明語(yǔ)句;C執(zhí)行動(dòng)作或管理控制流的語(yǔ)句稱為嵌入語(yǔ)句;D控制可以跳轉(zhuǎn)到的語(yǔ)句稱為標(biāo)簽語(yǔ)句;E簡(jiǎn)單語(yǔ)句由一個(gè)表達(dá)式和后面跟著的逗號(hào)組成;F語(yǔ)句塊是匹配的大括號(hào)括起來(lái)的語(yǔ)句序列,括起來(lái)的語(yǔ)句可以包括:聲明語(yǔ)句、嵌入語(yǔ)句、標(biāo)簽語(yǔ)句、嵌套塊;G空語(yǔ)句僅由一個(gè)分號(hào)組成,可以把空語(yǔ)句用在任何語(yǔ)言的語(yǔ)法需要一條嵌入語(yǔ)句而程序邏輯又不需要任何動(dòng)作的地方。(54)下面是關(guān)于結(jié)構(gòu)類型的描述,不正確的有哪些?(B)A結(jié)構(gòu)類型變量含有它自己的數(shù)據(jù);B結(jié)構(gòu)類型的變量能為null;C兩個(gè)結(jié)構(gòu)變量不能引用同一對(duì)象;D結(jié)構(gòu)類型是值類型。(55)下面是關(guān)于結(jié)構(gòu)的實(shí)例構(gòu)造函數(shù)的描述,不正確的有哪些?(B)A語(yǔ)言隱式地為每個(gè)結(jié)構(gòu)提供一個(gè)無(wú)參數(shù)的構(gòu)造函數(shù),這個(gè)構(gòu)造函數(shù)把結(jié)構(gòu)的每個(gè)成員設(shè)置為該類型的默認(rèn)值,值成員被設(shè)置成它們的默認(rèn)值,引用成員被設(shè)置成null;B預(yù)定義的無(wú)參數(shù)構(gòu)造函數(shù)對(duì)每個(gè)結(jié)構(gòu)都存在,但能刪除或重定義它;C可以創(chuàng)建另外的構(gòu)造函數(shù),只要它們有參數(shù);D要調(diào)用一個(gè)構(gòu)造函數(shù),包括隱式無(wú)參數(shù)構(gòu)造函數(shù),要使用new運(yùn)算符,即使不從堆中分配內(nèi)存也使用new運(yùn)算符;E也可以不使用new運(yùn)算符創(chuàng)建結(jié)構(gòu)的實(shí)例,這時(shí)該實(shí)例的所有數(shù)據(jù)成員都沒(méi)有初始化。(56)下面是關(guān)于結(jié)構(gòu)類型的描述,不正確的有哪些?(D)A把一個(gè)結(jié)構(gòu)賦值給另一個(gè)結(jié)構(gòu),就是從一個(gè)結(jié)構(gòu)中把每個(gè)數(shù)據(jù)成員值復(fù)制到另一個(gè)結(jié)構(gòu)中的相對(duì)應(yīng)的數(shù)據(jù)成員,這和復(fù)制類變量不同,復(fù)制類變量時(shí)只有引用被復(fù)制;B不能使用結(jié)構(gòu)實(shí)例的數(shù)據(jù)成員的值,直到顯式地設(shè)置它;C不能調(diào)用結(jié)構(gòu)實(shí)例的任何函數(shù)成員,直到所有數(shù)據(jù)成員已經(jīng)被賦值;D在結(jié)構(gòu)中字段初始化是允許的;E結(jié)構(gòu)可以有實(shí)例構(gòu)造函數(shù)和靜態(tài)構(gòu)造函數(shù),但不允許有析構(gòu)函數(shù)。(57)下面是關(guān)于結(jié)構(gòu)類型的描述,不正確的有哪些?(A)A雖然結(jié)構(gòu)總是隱式密封的,但是能從它們派生其他結(jié)構(gòu);B結(jié)構(gòu)本身派生自System.ValueType,System.ValueType派生自object;Cnew和override修飾符可以用于結(jié)構(gòu)成員,當(dāng)創(chuàng)建一個(gè)和基類System.ValueType的成員有相同名稱的成員時(shí)使用它們;D當(dāng)結(jié)構(gòu)被作為返回值時(shí),一個(gè)拷貝被創(chuàng)建并從函數(shù)成員返回;E當(dāng)結(jié)構(gòu)被用作值參時(shí),一個(gè)實(shí)際參數(shù)的拷貝被創(chuàng)建,該拷貝被用在方法的執(zhí)行中;F如果把一個(gè)結(jié)構(gòu)用作ref或out參數(shù),一個(gè)對(duì)該結(jié)構(gòu)的引用被傳入方法,這樣其數(shù)據(jù)成員就能被傳入的方法改變。(58)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(D)A枚舉是由程序員定義的類型,及類或結(jié)構(gòu)一樣;B及結(jié)構(gòu)一樣,枚舉是值類型,因此直接存儲(chǔ)它們的數(shù)據(jù),而不是分開存儲(chǔ)成引用和數(shù)據(jù);C枚舉只有一種類型的成員:命名的整數(shù)值常量;D枚舉成員聲明列表是分號(hào)分隔的列表,在枚舉聲明中沒(méi)有逗號(hào)。(59)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(A)A每個(gè)枚舉類型都有一個(gè)底層整數(shù)類型,默認(rèn)為uint;B每個(gè)枚舉成員被賦值一個(gè)底層類型的常量值;C編譯器把第一個(gè)成員賦值為0,并對(duì)每一個(gè)后續(xù)成員賦的值比前一個(gè)成員多1;D可以通過(guò)把冒號(hào)和類型名放在枚舉名之后以使用int以外的整數(shù)類型作為底層類型。(60)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(C)A底層類型可以是除了char以外的任何整數(shù)類型。所有成員常量都屬于枚舉的底層類型;B成員常量的值可以是底層類型的任何值,要顯式地設(shè)置一個(gè)成員的值,在枚舉聲明中的成員名之后使用初始化表達(dá)式;C成員不能有重復(fù)的名稱和重復(fù)的值;D枚舉只有一種的成員:聲明的常量成員。(61)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(D)A不能對(duì)成員使用修飾符,它們都隱式地具有和枚舉相同的可訪問(wèn)性;B由于成員是常量,即使在沒(méi)有該枚舉類型的變量時(shí)它們也可以訪問(wèn),使用枚舉類型名,跟著一個(gè)點(diǎn)和成員名;C枚舉是一個(gè)獨(dú)特的類型,比較不同枚舉類型的成員會(huì)導(dǎo)致一個(gè)編譯期錯(cuò)誤;D枚舉類型的變量不可以被賦予一個(gè)其成員常量以外的但屬于底層類型的常量值。(62)下面是關(guān)于數(shù)組類型的描述,不正確的有哪些?(D)A數(shù)組實(shí)際上是由一個(gè)變量名稱表示的一組同類型的數(shù)據(jù)元素;B每個(gè)元素通過(guò)變量名稱和一個(gè)或多個(gè)方括號(hào)中的索引名稱來(lái)訪問(wèn);C數(shù)組一旦被創(chuàng)建,大小就固定了,C#不支持動(dòng)態(tài)數(shù)組;D數(shù)組索引號(hào)是從1開始的,如果維度長(zhǎng)度是n,索引號(hào)范圍是從1到n。(63)下面是關(guān)于數(shù)組類型的描述,不正確的有哪些?(B)A數(shù)組實(shí)例是以System.Array類為基類的派生類的對(duì)象;B數(shù)組是值類型的;C數(shù)組的元素可以是值類型或引用類型;D如果存儲(chǔ)的元素都是值類型,數(shù)組被稱作值類型數(shù)組;E如果存儲(chǔ)在數(shù)組中的元素都是引用類型對(duì)象,數(shù)組被稱作引用類型數(shù)組。(64)下面是關(guān)于數(shù)組的秩的描述,不正確的有哪些?(D)A可以使用任意多的秩說(shuō)明符;B不能在數(shù)組類型區(qū)域中放數(shù)組維度長(zhǎng)度,秩是數(shù)組類型的一部分,而維度長(zhǎng)度不是類型的一部分;C數(shù)組聲明后,維度數(shù)就是固定的了,維度長(zhǎng)度直到數(shù)組實(shí)例化時(shí)才會(huì)被確定;D要實(shí)例化數(shù)組,我們可以使用數(shù)組創(chuàng)建表達(dá)式,數(shù)組創(chuàng)建表達(dá)式由new運(yùn)算符構(gòu)成,后面是元素類型名稱和一對(duì)圓括號(hào),圓塊號(hào)中以逗號(hào)分隔每一個(gè)維度的長(zhǎng)度。(65)下面是關(guān)于數(shù)組的描述,不正確的有哪些?(B)A在數(shù)組中使用整型值作為索引來(lái)訪問(wèn)數(shù)組元素;B每一個(gè)維度的索引從1開始;C方括號(hào)內(nèi)的索引在數(shù)組名稱之后;D當(dāng)數(shù)據(jù)被創(chuàng)建之后,每一個(gè)元素被自動(dòng)初始化為類型的默認(rèn)值,對(duì)于預(yù)定義的類型,整型默認(rèn)值是0,浮點(diǎn)型的默認(rèn)值為0.0,布爾型的默認(rèn)值為false,而引用類型的默認(rèn)值則是null。二判斷題(全對(duì))(1)在C#中,每個(gè)方法都必須定義為類或結(jié)構(gòu)的成員。(2)同一個(gè)聲明空間內(nèi)絕不能包含不同類型的同名成員。例如,聲明空間絕不能包含同名的字段和方法。(3)除了實(shí)例構(gòu)造函數(shù)聲明和靜態(tài)構(gòu)造函數(shù)聲明外,類或結(jié)構(gòu)成員聲明不能引入及該類或結(jié)構(gòu)同名的成員。(4)當(dāng)類型從基類繼承時(shí),基類的所有成員(實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)除外)都成為派生類型的成員?;惓蓡T的訪問(wèn)修飾符并不控制該成員是否可繼承。(5)命名空間沒(méi)有訪問(wèn)限制。不可能把命名空間設(shè)置成私有的、受保護(hù)的或內(nèi)部的,命名空間名稱始終是可公開訪問(wèn)的。(6)命名空間隱式地具有public訪問(wèn)修飾符。在命名空間聲明中不允許使用訪問(wèn)修飾符。(7)命名空間中聲明的類型可以具有public或internal訪問(wèn)修飾符,默認(rèn)的訪問(wèn)修飾符為internal。(8)類成員可具有public、protected、internal、protectedinternal、private等五種訪問(wèn)修飾符中的任何一種,默認(rèn)訪問(wèn)修飾符為private。(9)結(jié)構(gòu)成員可以具有public、internal或private訪問(wèn)修飾符,并默認(rèn)訪問(wèn)修飾符為private,這是因?yàn)榻Y(jié)構(gòu)是隱式地密封的。(10)枚舉成員隱式地具有public訪問(wèn)修飾符。在枚舉成員聲明中不允許使用訪問(wèn)修飾符。(11)方法簽名既不包含返回類型和params修飾符(它可用于指定最右邊的形參)。(12)雖然out和ref參數(shù)修飾符被視為簽名的一部分,但是在同一個(gè)類型中聲明的成員不能僅通過(guò)ref和out在簽名上加以區(qū)分。在同一類型中聲明了兩個(gè)成員時(shí),如果將這兩個(gè)方法中帶有out修飾符的所有參數(shù)更改為ref修飾符會(huì)使這兩個(gè)成員的簽名相同,則會(huì)發(fā)生編譯時(shí)錯(cuò)誤。(13)值類型的變量賦值會(huì)創(chuàng)建所賦的值的一個(gè)副本,而引用類型的變量賦值復(fù)制的是引用而不是由引用標(biāo)識(shí)的對(duì)象。(14)任何類型都不可能從值類型派生,因此,所有值類型都是隱式密封的。(15)所有值類型都隱式聲明一個(gè)稱為默認(rèn)構(gòu)造函數(shù)的公共無(wú)參數(shù)實(shí)例構(gòu)造函數(shù)。默認(rèn)構(gòu)造函數(shù)返回一個(gè)零初始化實(shí)例,它就是該值類型的默認(rèn)值。(16)由于每個(gè)值類型都隱式地具有一個(gè)公共無(wú)參數(shù)實(shí)例構(gòu)造函數(shù),因此,一個(gè)結(jié)構(gòu)類型中不可能包含一個(gè)關(guān)于無(wú)參數(shù)構(gòu)造函數(shù)的顯式聲明。但允許結(jié)構(gòu)類型聲明參數(shù)化實(shí)例構(gòu)造函數(shù)。(17)枚舉類型是具有命名常量的獨(dú)特的類型。每個(gè)枚舉類型都有一個(gè)基礎(chǔ)類型,該基礎(chǔ)類型必須為byte、sbyte、short、ushort、int、uint、long或ulong。枚舉類型的值集和它的基礎(chǔ)類型的值集相同。枚舉類型的值并不只限于那些命名常量的值。(18)變量表示存儲(chǔ)位置。每個(gè)變量都具有一個(gè)類型,它確定哪些值可以存儲(chǔ)在該變量中。(19)用ref修飾符聲明的形參是引用形參。(20)用out修飾符聲明的形參是輸出形參。(21)不能被顯式調(diào)用的函數(shù)成員是析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)。(22)當(dāng)在要求有語(yǔ)句的上下文中不執(zhí)行任何操作時(shí),應(yīng)該使用空語(yǔ)句。(23)命名空間是可擴(kuò)充的,兩個(gè)具有相同的完全限定名的命名空間聲明是在為同一聲明空間提供成員。(24)實(shí)例構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)是不可繼承的,但所有其他成員是可繼承的,無(wú)論它們所聲明的可訪問(wèn)性如何。但是,根據(jù)它們所聲明的可訪問(wèn)性,有些繼承成員在派生類中可能是無(wú)法訪問(wèn)的。(25)可以將對(duì)某個(gè)派生類實(shí)例的引用視為對(duì)它的任一個(gè)基類實(shí)例的引用。(26)雖然常量被認(rèn)為是靜態(tài)成員,但在常量聲明中既不要求也不允許使用static修飾符。(27)當(dāng)初始化一個(gè)類時(shí),首先將該類中的所有靜態(tài)字段初始化為它們的默認(rèn)值,然后以文本順序執(zhí)行各個(gè)靜態(tài)字段初始值設(shè)定項(xiàng)。(28)創(chuàng)建類的一個(gè)實(shí)例時(shí),首先將該實(shí)例中的所有實(shí)例字段初始化為它們的默認(rèn)值,然后以文本順序執(zhí)行各個(gè)實(shí)例字段初始值設(shè)定項(xiàng)。(29)ref和out修飾符是方法簽名的組成部分,但params修飾符不是。(30)結(jié)構(gòu)可通過(guò)ref或out形參以引用方式傳遞給函數(shù)成員。三寫出運(yùn)行結(jié)果題(1)usingSystem;8560namespace8560classDaysTemppublicintHigh=75;publicintLow=45;classProgramstaticvoidMain()DaysTemptemp=newDaysTemp();temp.High=85;temp.Low=60;Console.WriteLine("{0}",temp.High);Console.WriteLine("{0}",temp.Low);(2)usingSystem;namespacePage_6276,57,6675,53,64classDaysTemp76,57,6675,53,64publicintHigh,Low;publicintAverage()return(High+Low)/2;classProgramstaticvoidMain()DaysTempt1=newDaysTemp();DaysTempt2=newDaysTemp();t1.High=76;t1.Low=57;t2.High=75;t2.Low=53;Console.WriteLine("{0},{1},{2}",t1.High,t1.Low,t1.Average());Console.WriteLine("{0},{1},{2}",t2.High,t2.Low,t2.Average());(3)usingSystem;namespacePage_80classMyClass5,5,6,115,6,5.5publicintSum(intx,inty)returnx+y;publicfloatAvg(floatInput1,floatInput2)return(Input1+Input2)/2.0F;classClass1staticvoidMain()MyClassMyT=newMyClass();intSomeInt=6;Console.WriteLine("{0},{1},{2}",5,SomeInt,MyT.Sum(5,SomeInt));Console.WriteLine("{0},{1},{2}",5,SomeInt,MyT.Avg(5,SomeInt));(4)usingSystem;namespacePage_85classMyClass2515{2515publicintVal=20;classProgramstaticvoidMyMethod(refMyClassf1,refintf2)f1.Val=f1.Val+5;f2=f2+5;staticvoidMain()MyClassA1=newMyClass();intA2=10;MyMethod(refA1,refA2);Console.WriteLine(A1.Val.ToString()+A2);(5)usingSystem;namespacePage_92classMyClasspublicvoidListInts(paramsint[]inVals)5,6,7{5,6,7if((inVals!=null)&&(inVals.Length!=0))for(inti=0;i<inVals.Length;i++)inVals[i]=inVals[i]*10;classProgramstaticvoidMain()intfirst=5,second=6,third=7;MyClassmc=newMyClass();mc.ListInts(first,second,third);Console.WriteLine("{0},{1},{2}",first,second,third);(6)506070506070namespacePage_94classMyClasspublicvoidListInts(paramsint[]inVals)if((inVals!=null)&&(inVals.Length!=0))for(inti=0;i<inVals.Length;i++)inVals[i]=inVals[i]*10;classProgramstaticvoidMain()int[]MyArr=newint[]{5,6,7};MyClassmc=newMyClass();mc.ListInts(MyArr);foreach(intxinMyArr)Console.WriteLine("{0}",x);(7)usingSystem;namespacePage_97classProgram12123publicvoidCount(intinVal)if(inVal==0)return;Count(inVal-1);Console.WriteLine("{0}",inVal);staticvoidMain()Programpr=newProgram();pr.Count(3);(8)usingSystem;namespacePage_117classC1privateintTheRealValue=10;publicintMyValueset1020TheRealValue=value;1020getreturnTheRealValue;classProgramstaticvoidMain()C1c=newC1();Console.WriteLine("{0}",c.MyValue);c.MyValue=20;Console.WriteLine("{0}",c.MyValue);(9)usingSystem;namespacePage_121classRightTriangle5{5publicdoubleA=3;publicdoubleB=4;publicdoubleHypotenusegetreturnMath.Sqrt((A*A)+(B*B));classProgramstaticvoidMain()RightTrianglec=newRightTriangle();Console.WriteLine("{0}",c.Hypotenuse);四改錯(cuò)題【要求:只能修改一行】(1)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_123classC1publicintMyValueset;get;classProgramstaticvoidMain()C1c;Console.WriteLine("MyValue:{0}",c.MyValue);c.MyValue=20;Console.WriteLine("MyValue:{0}",c.MyValue);答:“C1c;”改為“C1c=newC1();”(2)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_125classTrivialstaticintmyValue;publicstaticintMyValueset{myValue=value;}get{returnmyValue;}publicvoidPrintValue()Console.WriteLine("Valuefrominside:{0}",MyValue);classProgramstaticvoidMain()Console.WriteLine("InitValue:{0}",Trivial.MyValue);Trivial.MyValue=10;Console.WriteLine("NewValue:{0}",Trivial.MyValue);Trivialtr=newTrivial();Trivial.PrintValue();答:“Trivial.PrintValue();”改為“tr.PrintValue();”(3)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_132publicclassPointpublicintX=1;publicintY=2;classProgramstaticvoidMain()Pointpt1=newPoint();Pointpt2=newPoint(X=5,Y=6);Console.WriteLine("pt1:{0},{1}",pt1.X,pt1.Y);Console.WriteLine("pt2:{0},{1}",pt2.X,pt2.Y);答:“Pointpt2=newPoint(X=5,Y=6);”改為“Pointpt2=newPoint{X=5,Y=6};”(4)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespacePage_148classClass1intTemp0;intTemp1;publicintthis[intindex]getreturn(0==index)?Temp0:Temp1;setif(0==index)Temp0=value;elseTemp1=value;classExamplestaticvoidMain()Class1a=newClass1();a(1)=20;答:“a(1)=20;”改為“a[1]=20;”(5)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespaceExamplesclassPersonpublicstringName{get;privateset;}publicPerson[stringname]Name=name;classProgramstaticpublicvoidMain()Personp=newPerson("Capt.ErnestEvans");Console.WriteLine("Person'snameis{0}",p.Name);答:“publicPerson[stringname]”改為“publicPerson(stringname)”(6)要求能通過(guò)編譯且不能改變程序的功能和作用usingSystem;namespaceExamplesclassProgramvoidMain()intx=3;while(x>0)Console.WriteLine("x:{0}",x);x--;Console.WriteLine("Outofloop");答:“voidMain()”改為“staticvoidMain()”(7)要求程序運(yùn)行結(jié)果為usingSystem;34namespace34classProgramstaticvoidMain(string[]args)intx=0;while(x<5)if(x<3)x++;break;Console.WriteLine("{0}",x);x++;答:“break;”改為“continue;”(8)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_24032321classProgramstaticvoidMain(string[]args)intx=3;while(x>=0)Console.WriteLine("{0}",x);x--;答:“while(x>=0)”改為“while(x>0)”(9)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_2423636912classProgramstaticvoidMain(string[]args)intx=0;doConsole.WriteLine("{0}",x++);while(x<10);答:“Console.WriteLine("{0}",x++);”改為“Console.WriteLine("{0}",x+=3);”五程序填空題(1)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_165classMyBaseClassvirtualpublicvoidPrint()21Console.WriteLine("1"21classMyDerivedClass:MyBaseClassnewpublicvoidPrint()Console.WriteLine("2");classProgramstaticvoidMain()MyDerivedClassderived=newMyDerivedClass();mybc=(MyBaseClass)derived;derived.Print();mybc.Print();答:MyBaseClass(2)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_16522class22virtualpublicvoidPrint()Console.WriteLine("1");classMyDerivedClass:MyBaseClassoverridepublicvoidPrint()Console.WriteLine();classProgramstaticvoidMain()MyDerivedClassderived=newMyDerivedClass();MyBaseClassmybc=(MyBaseClass)derived;derived.Print();mybc.Print();答:"2"(3)要求程序運(yùn)行結(jié)果為usingSystem;12namespace12abstractclassAbClasspublicvoidIdentifyBase()Console.WriteLine("1");abstractpublicvoidIdentifyDerived();classDerivedClass:overridepublicvoidIdentifyDerived()Console.WriteLine("2");classExamplestaticvoidMain()DerivedClassb=newDerivedClass();b.IdentifyBase();b.IdentifyDerived();答:AbClass(4)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_2148{8classProgramstaticvoidMain(string[]args)inta,x=1;a=x3;Console.WriteLine("{0}",a);答:<<(5)要求程序運(yùn)行結(jié)果為FalseusingSystem;FalsenamespacePage_214classProgramstaticvoidMain(string[]args)boola=true;intx=9;a=x==^a;Console.WriteLine("{0}",a);答:9(6)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_2181classProgram1staticvoidMain(string[]args)intx=10,y=9;Console.WriteLine("{0}",xy?"1":"2");答:>(7)要求程序運(yùn)行結(jié)果為usingSystem;6namespaceAA6classProgramstaticvoidMain(string[]args)intn=123,m=0;while(n!=0)intt=n/10;m+=n-t*;n=t;Console.WriteLine(m);答:10(8)要求程序運(yùn)行結(jié)果為usingSystem;namespacePage_2211{1classLimitedIntpublicstaticimplicitoperatorint(LimitedIntli)returnli.TheValue;publicstaticimplicitoperatorLimitedInt(intx)LimitedIntli=newLimitedInt();li.TheValue=x;returnli;privateintTheValue=0;classProgramstaticvoidMain()LimitedIntli=;intk=li;Console.WriteLine("{0}",k);答:113(9)要求程序運(yùn)行結(jié)果為13usingSystem;namespacePage_225classLimitedIntpublicstaticLimitedIntoperator-(LimitedIntx,LimitedInty)LimitedIntli=newLimitedInt();li.TheValue=x.TheValue-y.TheValue;returnli;publicstaticLimitedIntoperator+(LimitedIntx,inty)LimitedIntli=newLimitedInt();li.TheValue=x.TheValue+y;returnli;publicintTheValue{get;set;}classProgramstaticvoidMain()LimitedIntli1=newLimitedInt();LimitedIntli2=newLimitedInt();li1.TheValue=10;li2.TheValue=20;Console.WriteLine("{0}",(li2-li13).TheValue);答:+六編程題(1)從鍵盤上輸入若干個(gè)實(shí)數(shù),按從大到小的順序輸出。要求先從鍵盤上輸入實(shí)數(shù)的具體個(gè)數(shù),再逐個(gè)輸入要排序的實(shí)數(shù)。usingSystem;classProgramstaticvoidMain(string[]args)intN=InputInt();double[]x=newdouble[N];for(inti=0;i<x.Length;i++)x[i]=InputReal(i+1);Sort(x);Output(x);staticintInputInt()intx=0;strings;Console.Write("請(qǐng)輸入實(shí)數(shù)的個(gè)數(shù):");s=Console.ReadLine();x=int.Parse(s);returnx;staticdoubleInputReal(intNo)doublex=0.0;strings;Console.Write("請(qǐng)輸入第{0}個(gè)數(shù):",No);s=Console.ReadLine();if(double.TryParse(s,outx)==false)x=int.Parse(s);returnx;staticvoidSort(paramsdouble[]a)for(inti=0;i<a.Length;i++)for(intj=i+1;j<a.Length;j++)if(a[i]<a[j])doublet=a[i];a[i]=a[j];a[j]=t;staticvoidOutput(paramsdouble[]a)for(inti=0;i<a.Length;i++)Console.WriteLine(a[i]);(2)輸出前n個(gè)自然數(shù)的階乘的和,要求n的值由鍵盤輸入usingSystem;classProgramstaticvoidMain(string[]args)intn=0;Console.Write("輸入n的值:");strings=Console.ReadLine();n=int.Parse(s);longm=0;longa=1;for(inti=1;i<=n;i++)a*=i;m+=a;Console.WriteLine("前{0}個(gè)自然數(shù)的階乘的和={1}",n,m);(3)任意給定一個(gè)整數(shù)n,判定其是否為素?cái)?shù)(即只能被1和自身整除)usingSystem;classProgramstaticvoidMain(string[]args)intn=0;Console.Write("輸入N的值:");strings=Console.ReadLine();n=int.Parse(s);bool素?cái)?shù)=true;for(inti=2;i<n;i++)if((n%i)==0)素?cái)?shù)=false;break;Console.WriteLine("{0}是素?cái)?shù)嗎?回答:{1}",n,素?cái)?shù));(4)通過(guò)方法重載,使用同一個(gè)方法名print分別執(zhí)行輸出整數(shù)、雙精度數(shù)及字符串的功能。usingSystem;classProgramstaticvoidMain(string[]args)print(78);print(45.567);print("adsrg");publicstaticvoidprint(inti)Console.WriteLine(i);publicstaticvoidprint(doubled)Console.WriteLine(d);publicstaticvoidprint(strings)Console.WriteLine(s);(5)已知圓周率兀的計(jì)算公式為,編寫c#控制臺(tái)應(yīng)用程序,計(jì)算并輸出兀的近似值。usingSystem;classProgramstaticvoidMain(string[]args)doublepi=1.0;doublek=3.0;double正負(fù)=-1.0;dopi+=1.0/k*正負(fù);k+=2;正負(fù)*=-1.0;}while((1.0/k)>1.0e-9);Console.WriteLine("圓周率={0}",4.0*pi);(6)水仙花數(shù)是指各位的數(shù)字立方和等于該數(shù)本身的三位數(shù)(如153=13+53+33)。編寫C#控制臺(tái)應(yīng)用程序,輸出所有的水仙花數(shù)。usingSystem;classProgramstaticvoidMain(string[]args)for(inti=1;i<100;i++)for(intj=1;j<100;j++)for(intk=1;k<100;k++)intm=i*100+j*10+k;intn=i*i*i+j*j*j+k*k*k;if(n==m)Console.WriteLine(m);(7)編寫C#控制臺(tái)應(yīng)用程序,在其中創(chuàng)建物體類PhysicalObject,通過(guò)其私有字段來(lái)存放重量和體積,通過(guò)公有屬性來(lái)訪問(wèn)其重量、體積、密度,并通過(guò)公有方法來(lái)判斷該物體是否會(huì)在水中下沉。usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;classProgramstaticvoidMain(string[]args)PhysicalObjectp=newPhysicalObject();p.體積=80.0;p.重量=78.9;Console.WriteLine("重量={0}",p.重量);Console.WriteLine("體積={0}",p.體積);Console.WriteLine("密度={0}",p.密度);Console.WriteLine("在水中會(huì)下沉嗎?({0})",p.下沉());classPhysicalObjectprivatedoublem_重量,m_體積;publicdouble體積getreturnm_體積;setm_體積=value;publicdouble重量getreturnm_重量;setm_重量=value;publicdouble密度getreturnm_重量/m_體積;publicbool下沉()return密度>=1.0?true:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論