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

下載本文檔

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

文檔簡介

第頁一選擇題(1)下面是關(guān)于標(biāo)識符的描述,不正確的有哪些?(D)A字母和下劃線(a-Z、A-Z和)_)可以用在任何位置;B數(shù)字不能放在首位,但可以在其他的任何地方;C@字符可以放在標(biāo)識符的首位,但不能放在其他任何地方。雖然允許使用@字符,但不推薦作為常用字符;D標(biāo)識符不區(qū)分大小寫。(2)下面是關(guān)于關(guān)鍵字和上下文關(guān)鍵字的描述,不正確的有哪些?(B)A關(guān)鍵字不能被用作變量名或任何其他形式的標(biāo)識符,除非以@字符開始;B所有C#關(guān)鍵字全部都由大寫字母組成,但是.NET類型名使用Pascal大小寫約定;C上下文關(guān)鍵字是僅在特定的語言結(jié)構(gòu)中充當(dāng)關(guān)鍵字的標(biāo)識符,在那些位置,它們有特別的含意;D但和關(guān)鍵字不同,關(guān)鍵字不能被用作標(biāo)識符,而上下文關(guān)鍵字可以在其他部分代碼中被用作標(biāo)識符。(3)下面是關(guān)于Main方法的描述,不正確的有哪些?(D)A每個C#程序必須有一個類或者結(jié)構(gòu)帶有Main方法;B每個C#程序的可執(zhí)行起始點在Main中的第一條指令;CMain必須首字母大寫;DMain的最簡單形式如下:voidMain()(4)下面是關(guān)于空白的描述,不正確的有哪些?(D)A程序中的空白指的是沒有可視化輸出的字符;B源代碼中的空白將被編譯器忽略;C程序員用空白使代碼更清晰易讀;D空白字符包括:空格(Space)、制表符(Tab)、換行符、回車符、¥。(5)下面是關(guān)于語句塊的描述,不正確的有哪些?(A)A塊是一個由成對大括號包圍的一條或多條語句序列,它在語法上相當(dāng)于一條語句;B可以在任何語法上只需要一條語句而你需要的行為又要求一條以上的簡單語句的情況下使用塊;C有些特定的程序結(jié)構(gòu)只能使用塊。在這些結(jié)構(gòu)中,不能用簡單語句替代塊;D簡單語句以分號結(jié)束,但塊后面不跟分號。(雖然編譯器允許這樣,但這不是好的風(fēng)格。)(6)下面是關(guān)于多個變量聲明的描述,不正確的有哪些?(C)A可以把多個變量聲明在一條單獨的聲明語句中;B多重變量聲明中的變量必須類型相同;C變量名必須用分號分隔;D可以在變量名后包含初始化語句;E初始化的變量可以和未初始化的變量混在一起。(7)下面是關(guān)于類的描述,不正確的有哪些?(D)A類是一個能存儲數(shù)據(jù)并執(zhí)行代碼的數(shù)據(jù)結(jié)構(gòu);B類的數(shù)據(jù)成員存儲及類或類的實例相關(guān)的數(shù)據(jù),它們通常模擬該類所表示的現(xiàn)實世界事物的特性;C類的函數(shù)成員執(zhí)行代碼,它們通常模擬類所表示的現(xiàn)實世界事物的功能和操作;D一個類可以有任意數(shù)目的數(shù)據(jù)成員和函數(shù)成員,即至少要有一個數(shù)據(jù)成員或者函數(shù)成員。(8)下面是關(guān)于類聲明的描述,不正確的有哪些?(B)A類的聲明定義新類的特征和成員;B類的聲明創(chuàng)建類的實例;C類的聲明提供下列內(nèi)容:類的名稱、類的成員和類的特征;D大括號內(nèi)包含了成員的聲明,它們組成了類主體;E類成員可以在類主體內(nèi)部以任何順序聲明,這意味著成員的聲明完全可以引用在后面聲明中才定義另一個的成員。(9)下面是關(guān)于類中字段的描述,不正確的有哪些?(A)A字段是類的函數(shù)成員;B字段可以是任何類型,無論是預(yù)定義類型還是用戶定義類型;C和所有變量一樣,字段用來保存數(shù)據(jù);D字段可以被寫入和被讀取。(10)下面是關(guān)于類中方法的描述,不正確的有哪些?(D)A方法是具有名稱的可執(zhí)行代碼塊;B方法可以從程序的很多不同地方執(zhí)行,甚至從其他程序中執(zhí)行;C當(dāng)方法被調(diào)用時,它執(zhí)行自己所含的代碼,然后返回到調(diào)用它的代碼位置;D有些方法返回一個以上的值到它們被調(diào)用的位置。(11)下面是關(guān)于類中方法聲明組成成分的描述,不正確的有哪些?(C)A返回類型:它聲明了方法返回值的類型。如果一個方法不返回值,那么返回類型被指定為void;B名稱:這是方法的名稱;C參數(shù)列表:它由至少一對空的方括號組成。如果有參數(shù),它們被列在方括號中間;D方法體:它由一對大括號組成,大括號內(nèi)包含執(zhí)行代碼。(12)下面是關(guān)于類中私有成員的描述,不正確的有哪些?(A)A私有成員不僅能從聲明它的類的內(nèi)部訪問,還能在其他類的內(nèi)部訪問它們;B私有訪問是默認(rèn)的訪問級別,所以,如果一個成員在聲明時不帶訪問修飾符,那它就是私有成員;C還可以使用private訪問修飾符顯式地聲明一個成員為私有;D隱式地聲明私有成員和顯式地聲明沒有語義上的不同,兩種形式是等價的。(13)下面是關(guān)于var關(guān)鍵字的描述,不正確的有哪些?(B)Avar關(guān)鍵字并不是某種特別類型的符號,它只是句法上的速記,表示任何可以從初始化的右邊推斷出的類型;B能用于本地變量,也能用于字段;C只能在變量聲明中包含初始化時使用;D一旦編譯器推斷出變量的類型,它就是固定且不能更改的。(14)下面是關(guān)于本地常量的描述,不正確的有哪些?(A)A常量在聲明中可以初始化,也可以不初始化;B常量在聲明后不能改變;C關(guān)鍵字const不是一個修飾符,而是核心聲明的一部分,它必須直接放在類型的前面;D必須有初始化語句,初始化值必須在編譯期決定。(15)下面是關(guān)于方法返回值的描述,不正確的有哪些?(A)A方法可以向調(diào)用代碼返回一個以上的值,返回的值被插入到調(diào)用代碼中發(fā)起調(diào)用的表達(dá)式所在的位置;B要返回值,方法必須在方法名前面聲明一個返回類型;C如果方法不返回值,它必須聲明void返回類型;D聲明了返回類型的方法必須使用返回語句從方法中返回一個值,該返回語句包括關(guān)鍵字return及其后面的表達(dá)式。每一條穿過方法的路徑都必須以一條這種形式的return語句結(jié)束。(16)下面是關(guān)于方法形參的描述,不正確的有哪些?(C)A因為形參是變量,所以它們有類型和名稱,并能被寫入和讀出;B和方法中的其他變量不同,形數(shù)在方法體的外面定義并在方法開始之前初始化,但輸出形例外,它在方法體的內(nèi)定義;C參數(shù)列表中可以有任意數(shù)目的形參聲明,而且聲明必須用分號隔開;D形參在整個方法體內(nèi)可用,在大部分地方就像其他本地變量一樣。(17)下面是關(guān)于方法實參的描述,不正確的有哪些?(E)A用于初始化形參的表達(dá)式或變量稱為實參;B實參放在方法調(diào)用的參數(shù)列表中;C當(dāng)方法被調(diào)用的時候,每個實參的值都被用于初始化相應(yīng)的形參,方法體隨后被執(zhí)行;D實參的數(shù)目必須和形參的數(shù)目相同(參數(shù)數(shù)組是個例外);E每個實參必須和相應(yīng)形參的類型必須完全相同。(18)下面是關(guān)于值參數(shù)的描述,不正確的有哪些?(B)A參數(shù)的默認(rèn)類型是值參數(shù);B在堆中為形參分配空間;C復(fù)制實參到形參;D一個值參數(shù)的實參不一定是變量。它可以是任何能計算成相應(yīng)數(shù)據(jù)類型的表達(dá)式;E值參數(shù)是把實參的值復(fù)制到形參的參數(shù)。(19)下面是關(guān)于引用參數(shù)的描述,不正確的有哪些?(B)A使用引用參數(shù)時,必須在方法的聲明和調(diào)用中都使用ref修飾符;B實參必須是變量,在用作實參前可以不被賦值;C如果是引用類型變量,實參可以賦值為一個引用或者null值;D不在棧中為形參分配新的內(nèi)存;E形參的名稱相當(dāng)于實參變量的別名,引用及實參相同的內(nèi)存位置;F在方法執(zhí)行期間對形參所做的任何改變在方法完成之后通過實參變量都是可見的。(20)下面是關(guān)于輸出參數(shù)的描述,不正確的有哪些?(C)A輸出參數(shù)用于從方法體內(nèi)把數(shù)據(jù)傳出到調(diào)用代碼;B必須在方法的聲明和調(diào)用中都使用out修飾符;C實參可以是變量,也可以是其他的表達(dá)式類型;D就像引用參數(shù),輸出參數(shù)的形參擔(dān)當(dāng)實參的別名,形參和實參都是同一內(nèi)存位置的名稱;E在方法內(nèi)部,輸出參數(shù)在被讀取之前必須被賦值。這意味著輸出參數(shù)無初始值,而且沒有必要在方法調(diào)用之前為實參賦值;F每個輸出參數(shù)在方法返回之前必須被賦值。(21)下面是關(guān)于參數(shù)數(shù)組的描述,不正確的有哪些?(C)A在一個參數(shù)列表中只能有一個參數(shù)數(shù)組;B如果有,參數(shù)數(shù)組必須是列表中的最后一個;C在數(shù)據(jù)類型前使用params修飾符,在聲明中需要該修飾符,在調(diào)用中也需要有該修飾符;D在數(shù)據(jù)類型后放置一組空的方括號。(22)下面是關(guān)于棧幀的描述,不正確的有哪些?(B)A當(dāng)一個方法被調(diào)用時,在棧頂分配了一塊內(nèi)存用于保存一定數(shù)量及方法相關(guān)的數(shù)據(jù)項,這塊內(nèi)存叫方法的棧幀(stackflame);B方法被調(diào)用時,它的整個棧幀被壓入堆中;C方法退出時,它的整個棧幀被從棧中彈出。彈出一個棧幀有時也稱為釋放棧;D棧幀存放了返回地址、參數(shù)、及方法調(diào)用相關(guān)的其他各種管理數(shù)據(jù)項。(23)下面是關(guān)于遞歸的描述,不正確的有哪些?(C)A除了調(diào)用其他方法,方法還能調(diào)用自己,這稱為遞歸(recursion);B方法調(diào)用自己的機制和調(diào)用其他方法完全相同。方法的每次調(diào)用都會有一個新的幀被壓入棧中;C當(dāng)遞歸越來越深時,堆也越來越大;D設(shè)計遞歸方法時要避免無限遞歸。(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)字段被類的所有實例共享,所有實例都訪問同一內(nèi)存位置;B如果靜態(tài)字段的值被一個實例改變了,這種改變對所有的實例都可見;C沒有使用static修飾符聲明的字段為靜態(tài)字段;D除了實例字段,類還可以擁有靜態(tài)字段。(26)下面是關(guān)于靜態(tài)函數(shù)的描述,不正確的有哪些?(D)A除了靜態(tài)字段,還有靜態(tài)函數(shù)成員;B如同靜態(tài)字段,靜態(tài)函數(shù)成員獨立于任何類實例;C即使沒有類的實例,仍然可以調(diào)用靜態(tài)函數(shù)成員;D靜態(tài)函數(shù)成員能訪問實例成員,也能訪問其他靜態(tài)成員。(27)下面是關(guān)于屬性的描述,不正確的有哪些?(D)A它是命名的類成員;B它有類型;C它可以被賦值和讀取;D它為數(shù)據(jù)存儲分配內(nèi)存;E它執(zhí)行代碼;Fset訪問器用于為屬性賦值;Gget訪問器用于從屬性獲取值。(28)下面是關(guān)于自動實現(xiàn)屬性的描述,不正確的有哪些?(B)A允許只聲明屬性而不聲明后備字段;B必須提供訪問器的方法體;Cget擔(dān)當(dāng)簡單的內(nèi)存讀,set擔(dān)當(dāng)簡單的寫;D除非通過訪問器,否則不能訪問后備字段;E只讀和只寫自動實現(xiàn)屬性也就沒有意義,因此它們不被允許。(29)下面是關(guān)于實例構(gòu)造函數(shù)的描述,不正確的有哪些?(D)A實例構(gòu)造函數(shù)是一個特殊的方法,它在類的每個新實例創(chuàng)建的時候執(zhí)行;實例構(gòu)造函數(shù)用于初始化類實例的狀態(tài);B如果希望能從類的外部創(chuàng)建類的實例,需要聲明實例構(gòu)造函數(shù)為public;C構(gòu)造函數(shù)的名稱和類名相同;D構(gòu)造函數(shù)能有返回值。(30)下面是關(guān)于類中默認(rèn)構(gòu)造函數(shù)的描述,不正確的有哪些?(B)A如果在類的聲明中沒有顯式地提供實例構(gòu)造函數(shù),那么編譯器會提供一個隱式的默認(rèn)構(gòu)造函數(shù);B默認(rèn)構(gòu)造函數(shù)帶一個參數(shù);C默認(rèn)構(gòu)造函數(shù)的方法體為空;D如果程序員定義了一個或多個實例構(gòu)造函數(shù),那么編譯器將不會為該類定義默認(rèn)構(gòu)造函數(shù)。(31)下面是關(guān)于類中靜態(tài)構(gòu)造函數(shù)的描述,不正確的有哪些?(C)A實例構(gòu)造函數(shù)初始化類的每個新實例,而static構(gòu)造函數(shù)初始化類類型;B通常,靜態(tài)構(gòu)造函數(shù)初始化類的靜態(tài)字段;C類只能有一個靜態(tài)構(gòu)造函數(shù),而且能帶參數(shù);D靜態(tài)構(gòu)造函數(shù)不能有訪問修飾符;E不能從程序中顯式調(diào)用靜態(tài)構(gòu)造函數(shù),它們被系統(tǒng)自動調(diào)用。(32)下面是關(guān)于類繼承的描述,不正確的有哪些?(D)A可以使用一個已經(jīng)存在的類作為新類的基礎(chǔ)。已存在的類稱為基類(baseclass),新類稱為派生類(derivedclass);B要聲明一個派生類,需要在類名后加入基類規(guī)格說明;C派生類被描述為擴展它的基類,因為它包含了基類的成員,加上在它自己的聲明中的任何附加功能;D派生類能刪除它所繼承的任何成員。(33)下面是關(guān)于類繼承的描述,不正確的有哪些?(A)A一個類聲明的基類規(guī)格說明中能有一個以上的類;B雖然類只能直接繼承一個基類,但繼承的層次沒有限制,也就是說,作為基類的類可以派生自另外一個類,而它又派生自另外一個類,一直下去,直至最終到達(dá)object;C除了特殊的類0bject,所有的類都是派生類,即使它們沒有基類規(guī)格說明,類object是唯一的非派生類,因為它是繼承層次結(jié)構(gòu)的基礎(chǔ);D沒有基類規(guī)格說明的類隱式地直接派生自類object,不加基類規(guī)格說明只是指定object為基類的簡寫。(34)下面是關(guān)于隱藏基類成員的描述,不正確的有哪些?(E)A類中引入的常量、字段、屬性、事件或類型會把所有同名的基類成員中的常量、字段、屬性、事件隱藏起來;B類中引入的方法隱藏所有非方法同名的基類成員,以及所有具有相同簽名(方法名稱和參數(shù)個數(shù)、修飾符和類型)的基類方法;C類中引入的索引器隱藏所有具有相同簽名(參數(shù)個數(shù)和類型)的基類索引器;D要讓編譯器知道你在故意隱藏繼承的成員,使用new修飾符;E不可以隱藏靜態(tài)成員。(35)下面是關(guān)于使用基類引用調(diào)用派生類(derivedclass)的方法的描述,不正確的有哪些?(E)A派生類的方法和基類的方法有相同的簽名和返回類型;B基類的方法使用virtual標(biāo)注;C派生類的方法使用override標(biāo)注;D覆寫和被覆寫的方法必須有相同的可訪問性;E能覆寫static方法或非虛方法;F方法、屬性和索引,以及事件都可以被聲明為virtual和override。(36)下面是關(guān)于構(gòu)造函數(shù)初始化語句的描述,不正確的有哪些?(C)A第一種形式構(gòu)造函數(shù)初始化語句使用關(guān)鍵字base并指明使用哪一個基類構(gòu)造函數(shù);B第二種形式構(gòu)造函數(shù)初始化語句使用關(guān)鍵字this并指明應(yīng)該使用當(dāng)前類的哪一個另外的構(gòu)造函數(shù);C基類構(gòu)造初始化語句放在逗號后面,逗號緊跟著類的構(gòu)造函數(shù)聲明的參數(shù)列表;D當(dāng)聲明一個不帶構(gòu)造函數(shù)初始化語句的構(gòu)造函數(shù)時,它只是帶有“base()”的構(gòu)造函數(shù)初始化語句的形式的簡寫。(37)下面是關(guān)于類訪問修飾符的描述,不正確的有哪些?(D)A標(biāo)記為public的類可以被系統(tǒng)內(nèi)任何程序集中的代碼訪問,要使一個類對其他程序集可見,必須使用public訪問修飾符;B標(biāo)記為internal的類只能被它自己所在的程序集內(nèi)的類看到,這是默認(rèn)的可訪問級別;C除非在類的聲明中顯式地指定修飾符public,程序集外部的代碼不能訪問該類;D不可以使用internal訪問修飾符顯式地聲明一個類為內(nèi)部的。(38)下面是關(guān)于類成員可訪問性的描述,不正確的有哪些?(C)A所有在類中顯式聲明的成員都是互相可見的,無論它們的訪問性說明如何;B繼承的成員不屬于在類的顯式聲明成員,所以,繼承的成員對派生類的成員可以是可見的,也可以是不可見的;C必須對每個成員指定成員訪問級別。如果不指定某個成員的訪問級別,它的隱式訪問級別為public;D成員不能比它的類更可訪問。(39)下面是關(guān)于類成員訪問修飾符的描述,不正確的有哪些?(F)Apublic訪問級別是限制性最少的。所有的類,包括程序集內(nèi)部的類和外部的類都可以自由地訪問成員;Bprivate類成員只能被它自己的類的成員訪問。它不能被其他的類訪問,包括繼承它的類;Cprivate成員能被嵌套在它的類中的類(即嵌套類)的成員訪問;Dprotected訪問級別如同private訪問級別,除了一點,它允許派生自該類的類的成員訪問該成員,即使程序集外部的繼承該類的類也能訪問該成員;E標(biāo)記為internal的成員對程序集內(nèi)部的所有類可見,但對程序集外部的類不可見;F標(biāo)記為protectedinternal的成員只能對程序集內(nèi)部中所有繼承該類的類可見。(40)下面是關(guān)于抽象成員的描述,不正確的有哪些?(C)A抽象成員是一定要被覆寫的函數(shù)成員,它有abstract修飾符、沒有實現(xiàn)代碼塊;B抽象成員的代碼塊被分號代替;C因抽象方法必須在派生類中用相應(yīng)的方法覆寫,所以必須把virtual修飾符附加到抽象方法上;D就像虛方法,派生類中抽象方法的實現(xiàn)必須指定override修飾符;E抽象成員只能被聲明在抽象類中。(41)下面是關(guān)于抽象類的描述,不正確的有哪些?(B)A抽象類只能被用作其他類的基類;B能創(chuàng)建抽象類的實例;C抽象類使用abstract修飾符聲明;D抽象類可以包含抽象成員,但不是必須的;E抽象類自己可以派生自另一個抽象類。(42)下面是關(guān)于靜態(tài)類的描述,不正確的有哪些?(B)A靜態(tài)類本身必須標(biāo)記為static;B靜態(tài)類的所有成員不一定都是靜態(tài)的;C靜態(tài)類可以有一個靜態(tài)構(gòu)造函數(shù),但沒有實例構(gòu)造函數(shù),不能創(chuàng)建該靜態(tài)類的實例;D不能繼承靜態(tài)類,它們是密封的。(43)下面是關(guān)于擴展方法的描述,不正確的有哪些?(D)A擴展方法必須被聲明為static;B擴展方法聲明所在的類也必須被聲明為static;C擴展方法必須包含關(guān)鍵字this作為它的第一個參數(shù)類型,并在后面跟著它所擴展的類的名稱;D不能在所擴展類的實例上調(diào)用擴展方法。(44)下面是關(guān)于可以擔(dān)當(dāng)操作數(shù)的描述,不正確的有哪些?(F)A字面量;B常量;C變量;D方法調(diào)用;E元素訪問器,如數(shù)組訪問器和索引;F關(guān)鍵字。(45)下面是關(guān)于運算符的描述,不正確的有哪些?(C)A把操作數(shù)當(dāng)作輸入;B執(zhí)行一個行為;C基于行為返回一個以上的值;D可以使用運算符連接表達(dá)式以創(chuàng)建新的表達(dá)式。(46)下面是關(guān)于整數(shù)字面量的描述,不正確的有哪些?(D)A整數(shù)字面量是最常用的字面量,它們常常被書寫為十進(jìn)制數(shù)字序列,并且沒有小數(shù)點,帶有可選的后綴,指明整數(shù)的類型;B如果整數(shù)字面量沒有后綴,編譯器會把數(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ù)字面量的組成的描述,不正確的有哪些?(E)A10進(jìn)制數(shù)字;B一個可選的小數(shù)點;C一個可選的指數(shù)部分;D一個可選的后綴;E無后綴的實數(shù)字面量是float類型,不是double類型。(48)下面是關(guān)于字符字面量的描述,不正確的有哪些?(B)A字符字面量由單引號內(nèi)的字符表示組成,字符字面量可以是下面的任意一種:單個字符、一個簡單轉(zhuǎn)義序列、一個十六進(jìn)制轉(zhuǎn)義序列或一個Unicode轉(zhuǎn)義序列;B字符字面量的類型是string;C簡單轉(zhuǎn)義序列是一個反斜杠后面跟著單個字符;D十六進(jìn)制轉(zhuǎn)義序列是一個反斜杠,后面跟著一個大寫或小寫的X,后面再跟著多至四個十六進(jìn)制數(shù)字;EUnicode轉(zhuǎn)義序列是一個反斜杠,后面跟著一個大寫或小寫的U,后面再跟著多至四個十六進(jìn)制數(shù)字。(49)下面是關(guān)于字符串字面量的描述,不正確的有哪些?(A)A字符串字面量使用單引號標(biāo)記,有兩種字符串字面量類型:規(guī)則字符串字面量和逐字字符串字面量;B規(guī)則字符串字面量可以包含:字符、簡單轉(zhuǎn)義字符、十六進(jìn)制和Unicode轉(zhuǎn)義序列;C逐字字符串字面量的書寫如同規(guī)則字符串字面量,但以一個@字符為前綴;D逐字字面量及規(guī)則字符串字面量區(qū)別在于轉(zhuǎn)義字符串不會被求值;E逐字字面量的唯一例外是相鄰的雙引號組,它們被解釋為單個雙引號字符。(50)下面是關(guān)于運算符結(jié)合性的描述,不正確的有哪些?(C)A左結(jié)合運算符從左至右求值;B右結(jié)合運算符從右至左求值;C所有的二元運算符是左結(jié)合的;D賦值運算符和條件運算符是右結(jié)合的。(51)下面是關(guān)于運算符重載的描述,不正確的有哪些?(A)A運算符重載只能用于類、枚舉和結(jié)構(gòu);B為類或結(jié)構(gòu)重載一個運算符X,可以聲明一個名稱為operatorx的方法并實現(xiàn)它的行為;C運算符重載方法必須帶static和public兩個修飾符;D運算符重載方法是類或結(jié)構(gòu)的成員,該類或結(jié)構(gòu)是它的一個操作數(shù)。(52)下面是關(guān)于運算符重載不能做的事情的描述,不正確的有哪些?(B)A創(chuàng)建新運算符;B改變運算符的行為;C重新定義運算符如何處理預(yù)定義類型;D改變運算符的優(yōu)先級或結(jié)合性。(53)下面是關(guān)于語句的描述,不正確的有哪些?(E)A語句是描述一個類型或告訴程序去執(zhí)行一個動作的源代碼指令;B聲明類型或變量的語句稱為聲明語句;C執(zhí)行動作或管理控制流的語句稱為嵌入語句;D控制可以跳轉(zhuǎn)到的語句稱為標(biāo)簽語句;E簡單語句由一個表達(dá)式和后面跟著的逗號組成;F語句塊是匹配的大括號括起來的語句序列,括起來的語句可以包括:聲明語句、嵌入語句、標(biāo)簽語句、嵌套塊;G空語句僅由一個分號組成,可以把空語句用在任何語言的語法需要一條嵌入語句而程序邏輯又不需要任何動作的地方。(54)下面是關(guān)于結(jié)構(gòu)類型的描述,不正確的有哪些?(B)A結(jié)構(gòu)類型變量含有它自己的數(shù)據(jù);B結(jié)構(gòu)類型的變量能為null;C兩個結(jié)構(gòu)變量不能引用同一對象;D結(jié)構(gòu)類型是值類型。(55)下面是關(guān)于結(jié)構(gòu)的實例構(gòu)造函數(shù)的描述,不正確的有哪些?(B)A語言隱式地為每個結(jié)構(gòu)提供一個無參數(shù)的構(gòu)造函數(shù),這個構(gòu)造函數(shù)把結(jié)構(gòu)的每個成員設(shè)置為該類型的默認(rèn)值,值成員被設(shè)置成它們的默認(rèn)值,引用成員被設(shè)置成null;B預(yù)定義的無參數(shù)構(gòu)造函數(shù)對每個結(jié)構(gòu)都存在,但能刪除或重定義它;C可以創(chuàng)建另外的構(gòu)造函數(shù),只要它們有參數(shù);D要調(diào)用一個構(gòu)造函數(shù),包括隱式無參數(shù)構(gòu)造函數(shù),要使用new運算符,即使不從堆中分配內(nèi)存也使用new運算符;E也可以不使用new運算符創(chuàng)建結(jié)構(gòu)的實例,這時該實例的所有數(shù)據(jù)成員都沒有初始化。(56)下面是關(guān)于結(jié)構(gòu)類型的描述,不正確的有哪些?(D)A把一個結(jié)構(gòu)賦值給另一個結(jié)構(gòu),就是從一個結(jié)構(gòu)中把每個數(shù)據(jù)成員值復(fù)制到另一個結(jié)構(gòu)中的相對應(yīng)的數(shù)據(jù)成員,這和復(fù)制類變量不同,復(fù)制類變量時只有引用被復(fù)制;B不能使用結(jié)構(gòu)實例的數(shù)據(jù)成員的值,直到顯式地設(shè)置它;C不能調(diào)用結(jié)構(gòu)實例的任何函數(shù)成員,直到所有數(shù)據(jù)成員已經(jīng)被賦值;D在結(jié)構(gòu)中字段初始化是允許的;E結(jié)構(gòu)可以有實例構(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)建一個和基類System.ValueType的成員有相同名稱的成員時使用它們;D當(dāng)結(jié)構(gòu)被作為返回值時,一個拷貝被創(chuàng)建并從函數(shù)成員返回;E當(dāng)結(jié)構(gòu)被用作值參時,一個實際參數(shù)的拷貝被創(chuàng)建,該拷貝被用在方法的執(zhí)行中;F如果把一個結(jié)構(gòu)用作ref或out參數(shù),一個對該結(jié)構(gòu)的引用被傳入方法,這樣其數(shù)據(jù)成員就能被傳入的方法改變。(58)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(D)A枚舉是由程序員定義的類型,及類或結(jié)構(gòu)一樣;B及結(jié)構(gòu)一樣,枚舉是值類型,因此直接存儲它們的數(shù)據(jù),而不是分開存儲成引用和數(shù)據(jù);C枚舉只有一種類型的成員:命名的整數(shù)值常量;D枚舉成員聲明列表是分號分隔的列表,在枚舉聲明中沒有逗號。(59)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(A)A每個枚舉類型都有一個底層整數(shù)類型,默認(rèn)為uint;B每個枚舉成員被賦值一個底層類型的常量值;C編譯器把第一個成員賦值為0,并對每一個后續(xù)成員賦的值比前一個成員多1;D可以通過把冒號和類型名放在枚舉名之后以使用int以外的整數(shù)類型作為底層類型。(60)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(C)A底層類型可以是除了char以外的任何整數(shù)類型。所有成員常量都屬于枚舉的底層類型;B成員常量的值可以是底層類型的任何值,要顯式地設(shè)置一個成員的值,在枚舉聲明中的成員名之后使用初始化表達(dá)式;C成員不能有重復(fù)的名稱和重復(fù)的值;D枚舉只有一種的成員:聲明的常量成員。(61)下面是關(guān)于枚舉類型的描述,不正確的有哪些?(D)A不能對成員使用修飾符,它們都隱式地具有和枚舉相同的可訪問性;B由于成員是常量,即使在沒有該枚舉類型的變量時它們也可以訪問,使用枚舉類型名,跟著一個點和成員名;C枚舉是一個獨特的類型,比較不同枚舉類型的成員會導(dǎo)致一個編譯期錯誤;D枚舉類型的變量不可以被賦予一個其成員常量以外的但屬于底層類型的常量值。(62)下面是關(guān)于數(shù)組類型的描述,不正確的有哪些?(D)A數(shù)組實際上是由一個變量名稱表示的一組同類型的數(shù)據(jù)元素;B每個元素通過變量名稱和一個或多個方括號中的索引名稱來訪問;C數(shù)組一旦被創(chuàng)建,大小就固定了,C#不支持動態(tài)數(shù)組;D數(shù)組索引號是從1開始的,如果維度長度是n,索引號范圍是從1到n。(63)下面是關(guān)于數(shù)組類型的描述,不正確的有哪些?(B)A數(shù)組實例是以System.Array類為基類的派生類的對象;B數(shù)組是值類型的;C數(shù)組的元素可以是值類型或引用類型;D如果存儲的元素都是值類型,數(shù)組被稱作值類型數(shù)組;E如果存儲在數(shù)組中的元素都是引用類型對象,數(shù)組被稱作引用類型數(shù)組。(64)下面是關(guān)于數(shù)組的秩的描述,不正確的有哪些?(D)A可以使用任意多的秩說明符;B不能在數(shù)組類型區(qū)域中放數(shù)組維度長度,秩是數(shù)組類型的一部分,而維度長度不是類型的一部分;C數(shù)組聲明后,維度數(shù)就是固定的了,維度長度直到數(shù)組實例化時才會被確定;D要實例化數(shù)組,我們可以使用數(shù)組創(chuàng)建表達(dá)式,數(shù)組創(chuàng)建表達(dá)式由new運算符構(gòu)成,后面是元素類型名稱和一對圓括號,圓塊號中以逗號分隔每一個維度的長度。(65)下面是關(guān)于數(shù)組的描述,不正確的有哪些?(B)A在數(shù)組中使用整型值作為索引來訪問數(shù)組元素;B每一個維度的索引從1開始;C方括號內(nèi)的索引在數(shù)組名稱之后;D當(dāng)數(shù)據(jù)被創(chuàng)建之后,每一個元素被自動初始化為類型的默認(rèn)值,對于預(yù)定義的類型,整型默認(rèn)值是0,浮點型的默認(rèn)值為0.0,布爾型的默認(rèn)值為false,而引用類型的默認(rèn)值則是null。二判斷題(全對)(1)在C#中,每個方法都必須定義為類或結(jié)構(gòu)的成員。(2)同一個聲明空間內(nèi)絕不能包含不同類型的同名成員。例如,聲明空間絕不能包含同名的字段和方法。(3)除了實例構(gòu)造函數(shù)聲明和靜態(tài)構(gòu)造函數(shù)聲明外,類或結(jié)構(gòu)成員聲明不能引入及該類或結(jié)構(gòu)同名的成員。(4)當(dāng)類型從基類繼承時,基類的所有成員(實例構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)除外)都成為派生類型的成員?;惓蓡T的訪問修飾符并不控制該成員是否可繼承。(5)命名空間沒有訪問限制。不可能把命名空間設(shè)置成私有的、受保護(hù)的或內(nèi)部的,命名空間名稱始終是可公開訪問的。(6)命名空間隱式地具有public訪問修飾符。在命名空間聲明中不允許使用訪問修飾符。(7)命名空間中聲明的類型可以具有public或internal訪問修飾符,默認(rèn)的訪問修飾符為internal。(8)類成員可具有public、protected、internal、protectedinternal、private等五種訪問修飾符中的任何一種,默認(rèn)訪問修飾符為private。(9)結(jié)構(gòu)成員可以具有public、internal或private訪問修飾符,并默認(rèn)訪問修飾符為private,這是因為結(jié)構(gòu)是隱式地密封的。(10)枚舉成員隱式地具有public訪問修飾符。在枚舉成員聲明中不允許使用訪問修飾符。(11)方法簽名既不包含返回類型和params修飾符(它可用于指定最右邊的形參)。(12)雖然out和ref參數(shù)修飾符被視為簽名的一部分,但是在同一個類型中聲明的成員不能僅通過ref和out在簽名上加以區(qū)分。在同一類型中聲明了兩個成員時,如果將這兩個方法中帶有out修飾符的所有參數(shù)更改為ref修飾符會使這兩個成員的簽名相同,則會發(fā)生編譯時錯誤。(13)值類型的變量賦值會創(chuàng)建所賦的值的一個副本,而引用類型的變量賦值復(fù)制的是引用而不是由引用標(biāo)識的對象。(14)任何類型都不可能從值類型派生,因此,所有值類型都是隱式密封的。(15)所有值類型都隱式聲明一個稱為默認(rèn)構(gòu)造函數(shù)的公共無參數(shù)實例構(gòu)造函數(shù)。默認(rèn)構(gòu)造函數(shù)返回一個零初始化實例,它就是該值類型的默認(rèn)值。(16)由于每個值類型都隱式地具有一個公共無參數(shù)實例構(gòu)造函數(shù),因此,一個結(jié)構(gòu)類型中不可能包含一個關(guān)于無參數(shù)構(gòu)造函數(shù)的顯式聲明。但允許結(jié)構(gòu)類型聲明參數(shù)化實例構(gòu)造函數(shù)。(17)枚舉類型是具有命名常量的獨特的類型。每個枚舉類型都有一個基礎(chǔ)類型,該基礎(chǔ)類型必須為byte、sbyte、short、ushort、int、uint、long或ulong。枚舉類型的值集和它的基礎(chǔ)類型的值集相同。枚舉類型的值并不只限于那些命名常量的值。(18)變量表示存儲位置。每個變量都具有一個類型,它確定哪些值可以存儲在該變量中。(19)用ref修飾符聲明的形參是引用形參。(20)用out修飾符聲明的形參是輸出形參。(21)不能被顯式調(diào)用的函數(shù)成員是析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)。(22)當(dāng)在要求有語句的上下文中不執(zhí)行任何操作時,應(yīng)該使用空語句。(23)命名空間是可擴充的,兩個具有相同的完全限定名的命名空間聲明是在為同一聲明空間提供成員。(24)實例構(gòu)造函數(shù)、析構(gòu)函數(shù)和靜態(tài)構(gòu)造函數(shù)是不可繼承的,但所有其他成員是可繼承的,無論它們所聲明的可訪問性如何。但是,根據(jù)它們所聲明的可訪問性,有些繼承成員在派生類中可能是無法訪問的。(25)可以將對某個派生類實例的引用視為對它的任一個基類實例的引用。(26)雖然常量被認(rèn)為是靜態(tài)成員,但在常量聲明中既不要求也不允許使用static修飾符。(27)當(dāng)初始化一個類時,首先將該類中的所有靜態(tài)字段初始化為它們的默認(rèn)值,然后以文本順序執(zhí)行各個靜態(tài)字段初始值設(shè)定項。(28)創(chuàng)建類的一個實例時,首先將該實例中的所有實例字段初始化為它們的默認(rèn)值,然后以文本順序執(zhí)行各個實例字段初始值設(shè)定項。(29)ref和out修飾符是方法簽名的組成部分,但params修飾符不是。(30)結(jié)構(gòu)可通過ref或out形參以引用方式傳遞給函數(shù)成員。三寫出運行結(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);四改錯題【要求:只能修改一行】(1)要求能通過編譯且不能改變程序的功能和作用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)要求能通過編譯且不能改變程序的功能和作用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)要求能通過編譯且不能改變程序的功能和作用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)要求能通過編譯且不能改變程序的功能和作用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)要求能通過編譯且不能改變程序的功能和作用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)要求能通過編譯且不能改變程序的功能和作用usingSystem;namespaceExamplesclassProgramvoidMain()intx=3;while(x>0)Console.WriteLine("x:{0}",x);x--;Console.WriteLine("Outofloop");答:“voidMain()”改為“staticvoidMain()”(7)要求程序運行結(jié)果為usingSystem;34namespace34classProgramstaticvoidMain(string[]args)intx=0;while(x<5)if(x<3)x++;break;Console.WriteLine("{0}",x);x++;答:“break;”改為“continue;”(8)要求程序運行結(jié)果為usingSystem;namespacePage_24032321classProgramstaticvoidMain(string[]args)intx=3;while(x>=0)Console.WriteLine("{0}",x);x--;答:“while(x>=0)”改為“while(x>0)”(9)要求程序運行結(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)要求程序運行結(jié)果為usingSystem;namespacePage_165classMyBaseClassvirtualpublicvoidPrint()21Console.WriteLine("1"21classMyDerivedClass:MyBaseClassnewpublicvoidPrint()Console.WriteLine("2");classProgramstaticvoidMain()MyDerivedClassderived=newMyDerivedClass();mybc=(MyBaseClass)derived;derived.Print();mybc.Print();答:MyBaseClass(2)要求程序運行結(jié)果為usingSystem;namespacePage_16522class22virtualpublicvoidPrint()Console.WriteLine("1");classMyDerivedClass:MyBaseClassoverridepublicvoidPrint()Console.WriteLine();classProgramstaticvoidMain()MyDerivedClassderived=newMyDerivedClass();MyBaseClassmybc=(MyBaseClass)derived;derived.Print();mybc.Print();答:"2"(3)要求程序運行結(jié)果為usingSystem;12namespace12abstractclassAbClasspublicvoidIdentifyBase()Console.WriteLine("1");abstractpublicvoidIdentifyDerived();classDerivedClass:overridepublicvoidIdentifyDerived()Console.WriteLine("2");classExamplestaticvoidMain()DerivedClassb=newDerivedClass();b.IdentifyBase();b.IdentifyDerived();答:AbClass(4)要求程序運行結(jié)果為usingSystem;namespacePage_2148{8classProgramstaticvoidMain(string[]args)inta,x=1;a=x3;Console.WriteLine("{0}",a);答:<<(5)要求程序運行結(jié)果為FalseusingSystem;FalsenamespacePage_214classProgramstaticvoidMain(string[]args)boola=true;intx=9;a=x==^a;Console.WriteLine("{0}",a);答:9(6)要求程序運行結(jié)果為usingSystem;namespacePage_2181classProgram1staticvoidMain(string[]args)intx=10,y=9;Console.WriteLine("{0}",xy?"1":"2");答:>(7)要求程序運行結(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)要求程序運行結(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)要求程序運行結(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)從鍵盤上輸入若干個實數(shù),按從大到小的順序輸出。要求先從鍵盤上輸入實數(shù)的具體個數(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("請輸入實數(shù)的個數(shù):");s=Console.ReadLine();x=int.Parse(s);returnx;staticdoubleInputReal(intNo)doublex=0.0;strings;Console.Write("請輸入第{0}個數(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個自然數(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}個自然數(shù)的階乘的和={1}",n,m);(3)任意給定一個整數(shù)n,判定其是否為素數(shù)(即只能被1和自身整除)usingSystem;classProgramstaticvoidMain(string[]args)intn=0;Console.Write("輸入N的值:");strings=Console.ReadLine();n=int.Parse(s);bool素數(shù)=true;for(inti=2;i<n;i++)if((n%i)==0)素數(shù)=false;break;Console.WriteLine("{0}是素數(shù)嗎?回答:{1}",n,素數(shù));(4)通過方法重載,使用同一個方法名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)已知圓周率兀的計算公式為,編寫c#控制臺應(yīng)用程序,計算并輸出兀的近似值。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#控制臺應(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#控制臺應(yīng)用程序,在其中創(chuàng)建物體類PhysicalObject,通過其私有字段來存放重量和體積,通過公有屬性來訪問其重量、體積、密度,并通過公有方法來判斷該物體是否會在水中下沉。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("在水中會下沉嗎?({0})",p.下沉());classPhysicalObjectprivatedoublem_重量,m_體積;publicdouble體積getreturnm_體積;setm_體積=value;publicdouble重量getreturnm_重量;setm_重量=value;publicdouble密度getreturnm_重量/m_體積;publicbool下沉()return密度>=1.0?true:

溫馨提示

  • 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

提交評論