c-程序設(shè)計課后習題與解答1_第1頁
c-程序設(shè)計課后習題與解答1_第2頁
c-程序設(shè)計課后習題與解答1_第3頁
c-程序設(shè)計課后習題與解答1_第4頁
c-程序設(shè)計課后習題與解答1_第5頁
已閱讀5頁,還剩83頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

-PAGE14- C#程序設(shè)計基礎(chǔ)教程第88頁共88頁第1頁共21頁習題與解答習題一單項選擇題1在VisualStudio.NET窗口中,在__________窗口中可以察看當前項目的類和類型的層次信息?(B)A.解決方案資源管理器B.類視圖C.資源視圖D.屬性2.能作為C#程序的基本單位是(B)。A.字符B.語句C.函數(shù)D.源程序文件3.C#語言是微軟.NET公共語言運行環(huán)境中內(nèi)置的核心程序設(shè)計語言,是一種(B)。 (A)面向過程程序設(shè)計語言 (B)面向?qū)ο蟪绦蛟O(shè)計語言 (C)跨平臺程序設(shè)計語言 (D)機器語言4.C#語言支持面向?qū)ο蟪绦蛟O(shè)計概念,(C)。 (A)但不支持繼承 (B)而且支持多繼承 (C)但僅支持單繼承 (D)支持單繼承和多繼承5.C#應(yīng)用程序由一個或者多個類組成,一個應(yīng)用程序的所有程序代碼(A)。(A)必須封裝在類中 (B)不能封裝在類中(C)必須封裝在一個類中 (D)必須封裝在多個個類中6.C#應(yīng)用程序中,導入其他系統(tǒng)預定義元素部分可以使用關(guān)鍵字(D)。 (A)use (B)namespace (C)import (D)using7.命名空間是一種在程序中防止標識符命名沖突而引入的邏輯隔離機制,C#中使用關(guān)鍵字(D)表示。 (A)using (B)spacename (C)class (D)namespace8.C#應(yīng)用程序中,用主方法指明程序執(zhí)行的開始點,主方法的名字規(guī)定為(C)。 (A)class (B)main (C)Main (D)MainWay9.C#中的注釋方法有三種,下列注釋方法中錯誤的是(D)。(A)單行注釋“//” (B)多行注釋“/*和*/” (C)XML注釋“///” (D)HTML注釋“<!--和-->”10.下列對控制臺應(yīng)用程序描述正確的是(C)。(A)控制臺(Console)應(yīng)用程序就是對設(shè)備進行控制的應(yīng)用程序 (B)控制臺(Console)應(yīng)用程序包含了大量Windows系統(tǒng)的組成元素 (C)控制臺(Console)應(yīng)用程序是C#語言能夠開發(fā)的應(yīng)用程序類型之一 (D)控制臺(Console)應(yīng)用程序是基于標準C語言的單片機技術(shù)11.在控制臺應(yīng)用程序中,如果在程序開頭使用usingSystem;

語句引入了System命名空間,則下列對Read()和ReadLine()方法調(diào)用錯誤的是(D)。(A)System.Console.Read(); (B)Console.Read();(C)Console.ReadLine(); (D)Read();12.在C#的Windows應(yīng)用程序中,不論任何控件,共同具有的是(B)屬性。(A)Text (B)Name (C)ForeColor (D)Caption13.下列語句的輸出是________?(B)doubleMyDouble=123456789;Console.WriteLine("{0:E}",MyDouble);A.$123,456,789.00B.1.234568E+008C.123,456,789.0014.下面對Read()和ReadLine()方法的描述,哪些是正確的_____?(A)(D)A.Read()方法一次只能從輸入流中讀取一個字符B.使用Read()方法讀取的字符不包含回車和換行符C.ReadLine()方法讀取的字符不包含回車和換行符D.只有當用戶按下回車鍵時,Read()和ReadLine()方法才會返回15.下面對Write()和WriteLine()方法的描述,哪些是正確的____?(A)(B)(D)A.WriteLine()方法在輸出字符串的后面添加換行符B.使用Write()輸出字符串時,光標將會位于字符串的后面C.使用Write()和WriteLine()方法輸出數(shù)值變量時,必須要先把數(shù)值變量轉(zhuǎn)換成字符串D.使用不帶參數(shù)的WriteLine()方法時,將不會產(chǎn)生任何輸出選擇填空題C#語言是一種B、全新的程序設(shè)計語言,是微軟.NET公共語言運行環(huán)境中內(nèi)置的核心程序設(shè)計語言。C#程序設(shè)計語言的主要特點有:語法簡潔、滿足通用語言規(guī)范、面向?qū)ο蟆⒓嫒菪院挽`活性、以及C等。一個C#程序可以存放在一個源程序文件中,也可以存放在多個源程序文件中。一個源程序文件中可以有一個或者多個類,E將一個類拆散存放在不同的源程序文件中。為源程序文件命名J,既可以與類的名字相同,也可以不同。在定義C#語言的標識符構(gòu)成時,G字母符的大小寫形式。備選項:(A)面向過程的 (B)面向?qū)ο蟮? (C)完整的安全性 (D)不需要區(qū)分 (E)但不允許 (F)而且允許 (G)需要區(qū)分 (H)有限安全性(I)必須與類名一致 (J)不受類名限制6..C++源程序文件的默認擴展名為(cpp)。7.由C++源程序文件編譯而成的目標文件的默認擴展名為(obj)。8..C++程序從上機到得到結(jié)果的幾個操作步驟依次是(編輯、編譯、連接、運行)。9.C++語言是在___C______語言的基礎(chǔ)上發(fā)展起來的。10.行尾使用注釋的開始標記符為___//_______。三、思考題1.簡述C#語言的語句書寫規(guī)則。 答案:(1)語法簡潔(2)滿足通用語言規(guī)范(3)面向?qū)ο?4)完整的安全性和錯誤處理(5)兼容性和靈活性(6)版本控制(7)與Web的完美結(jié)合2.簡述在VS2008集成環(huán)境中創(chuàng)建C#控制臺應(yīng)用程序的主要步驟。答案:四個步驟:(1)啟動運行“MicrosoftVisualStudio2008”,進入VS2008(2)選擇項目類型為控制臺應(yīng)用程序,并指定項目名稱及其保存位置;(3)在應(yīng)用程序編輯環(huán)境中輸入程序代碼;(4)調(diào)試運行程序。3.簡述在VS2008集成環(huán)境中創(chuàng)建C#Windows窗體應(yīng)用程序的主要步驟。答案:四個步驟:(1)設(shè)計用戶界面(2)設(shè)置對象屬性(3)編寫對象事件過程代碼(4)保存并運行程序(生成可執(zhí)行代碼)4.一個C#控制臺應(yīng)用程序主要由哪幾個部分構(gòu)成?答案:(1)導入其他系統(tǒng)預定義元素部分;(2)命名空間;(3)類;(4)方法(主方法、事件響應(yīng)處理過程)5.C#程序中可以使用哪些書寫注釋的方法?它們分別適合用于什么場合?答案:C#中的注釋方法有三種:(1)單行注釋在一個語句行上,用雙斜杠“//”作為引導符,其后的任何內(nèi)容均為注釋信息,編譯時被忽略,通常用于注釋字符串較短的場合。(2)多行注釋從“/*”開始,到“*/”結(jié)束,多行注釋通常用于需要書寫較大量注釋的情況(3)XML注釋在一個代碼行上,用“///”開始,其后的任何內(nèi)容均為注釋信息,編譯時被提取出來,形成一個特殊格式的文本文件(XML),用于創(chuàng)建文檔說明書。6.什么是托管方式?答案:在.NET系統(tǒng)中,除了C#語言外,還包括C++、VB、Java等程序設(shè)計語言,這些語言都遵守通用語言規(guī)范。在通用語言規(guī)范中,任何語言編寫的源程序都被編譯成為相同的中間語言(MSIL)代碼,然后由通用語言運行環(huán)境(CommonLanguageRuntime,CLR)負責執(zhí)行,這種處理方式稱為“托管方式”,因而這樣的代碼亦稱為“托管代碼”。習題21.要使窗體剛運行時,顯示在屏幕的中央,應(yīng)設(shè)置窗體的___(B)______屬性?A.WindowsStateB.StartPostionC.CenterScreenD.CenterParenr2.要使文本框控件能夠顯示多行而且能夠自動換行,應(yīng)設(shè)置它的___(B)______屬性?A.MaxLength和MultlineB.Multlineh和WordWrapC.PassWordChar和MultlineD.MaxLength和WordWrap3.窗體中有一個年齡文本框txtAge,下面(D)代碼可以獲得文本框中的年齡值。A.intage=txtAge;B.intage=txtAge.Text;C.intage=Convert.ToInt32(txtAge);D.intage=int.Parse(txtAge.Text);4.下面(AC)代碼能向組合框cboYears添加一項。A.intyear=1997;cboYears.Items.Add(year);B.intyear=1997;cboYears.Add(year);C.intyear=1997;cboYears.Items.Add(year.ToString());D.intyear=1997;cboYears.Add(year.ToString());當ListView的視圖為Details時,以下(A)屬性可以設(shè)置顯示的各個列。A.ColumnsB.GroupsC.ItemsD.SubItems2.填空題1)使控件是否可以對用戶交互作出響應(yīng)的屬性是_____Enabled_____。2)控制控件是否顯示的屬性是_______Visible___。3)若要在文本框中輸入密碼,常指定______PasswordChar____屬性。4)若某復選框某時刻CheckState屬性的值為Indeterminate,則其屬性Checked的值為Unchecked。5)使用___Panel_____或_GroupBox__控件可以將多個RadioButton控件分為兩個單選組。6)若不希望用戶在ComboBox控件中編輯文本,則應(yīng)將屬性DropDownStyle的屬性值設(shè)置為___DropDownList____。7)用于設(shè)置MenuStrip控件中某菜單項快捷鍵的屬性是____ShortcutKeys___。8)用于控制ListView控件中的各項顯示方式的屬性是__View____。3.判斷題1)控件就是屬性、方法和事件的集合封裝體。(對)2)TextBox控件只能用于單行文本的輸入。(錯)3)通過RichTextBox控件只能夠與RTF文件進行交互操作。(錯)4)CheckBox控件的Checked屬性與CheckState屬性的值始終是相同的。(錯)5)ToolTip組件用于顯示某指定控件的自定義提示信息的。(對)4.問答題1.區(qū)別TextBox控件、MaskedTextBox控件、RichTextBox控件的使用場合。【解答】TextBox控件一般用于單段文本的編輯,可以設(shè)置為單行或多行的輸入模式,也可以用作密碼的輸入;MaskedTextBox控件主要用于特定格式的單段文本編輯,在輸入文本不符合格式要求的將會觸發(fā)其MaskInputRejected事件;RichTextBox控件除了具有TextBox的一般文本編輯功能外,還可以進行多段文本的高級編輯功能,如改變文本、段落的顯示格式、在文本中查找特定字符和字符串以及與Rtf文件的交互等。2.簡要說明CheckBox控件和RadioButton控件的區(qū)別?!窘獯稹緾heckBox控件可為用戶提供選擇功能,常用的是二選一的選擇,如“真/假”或“是/否”;但該控件也可以通過屬性的設(shè)置作三選一的選擇。每一個CheckBox所代表的選擇都是獨立的,若有多個CheckBox控件構(gòu)成一組選項時,則可以多個同時被選中,相互之間不影響,即復選。RadioButton控件,它與CheckBox控件功能類似,也是用于接收用戶的選擇,但它是以單項選擇的形式出現(xiàn),即一組RadioButton按鈕中只能有一個處于選中狀態(tài)。一旦某一項被選中,則同組中其他RadioButton按鈕的選中狀態(tài)自動清除。5.編程題1.設(shè)計一個Windows應(yīng)用程序,窗體上有一個TextBox控件、一個Button控件。要求,每當用戶單擊按鈕時,文本框都會增加一行文字來反映單擊的次數(shù),例如“第3次單擊按鈕”。【解答】1)窗體界面如圖Ex5-5-1所示;2)窗體中主要控件屬性設(shè)置如表Ex5-5-1;表Ex5-5-1窗體中的主要控件屬性控件Name屬性功能其它屬性TextBox控件textBox1顯示信息ScrollBars=Vertical;Multiline=TrueButton控件Button1觸發(fā)添加信息事件Button2觸發(fā)結(jié)束添加事件3)主要事件代碼。

int

i

=

1;

bool

Add

=

true;

……private

void

button1_Click(object

sender,

EventArgs

e)

{

if(Add)

textBox1.Text

+=

"第"

+

i

+

"次單擊按鈕\r\n";

i++;

}

private

void

button2_Click(object

sender,

EventArgs

e)

{

Add

=

false;

}6.編寫一段程序,向ListBox控件listBox1中,自動添加10個數(shù),每個數(shù)占一項。【解答】主要代碼如下:以下是引用片段:

public

partial

class

Form1

:

Form

{

int

m

=

1;

……

private

void

button1_Click(object

sender,

EventArgs

e)

{

for

(int

i

=

m

;

i

<

m+10;

i++)

{

listBox1.Items.Add(i);

}

m

=

m

+

10;

}

}習題3.1一、單項選擇題1.以下標識符中,正確的是____?(A)A._nNameB.typeofC.6bD.x5#2.以下類型中,不屬于值類型的是____?(D)A.整數(shù)類型B.布爾類型C.字符類型D.類類型3.在C#中,表示一個字符串的變量應(yīng)使用以下哪條語句定義?A.CStringstr;B.Stringstr;C.DimstrasstringD.char*str;4.C#程序中用到的數(shù)據(jù)分為兩個大類,它們是(A)。 (A)值類型和引用類型 (B)整型和實型(C)數(shù)值類型和字符類型 (D)簡單類型和復雜類型5.C#語言中,值類型數(shù)據(jù)對象占用的存儲空間大小(B)。(A)不固定 (B)相對固定 (C)可以任意指定 (D)都是相同的3.C#語言中,引用類數(shù)據(jù)對象占用的存儲空間大?。―)。(A)不得而知 (B)相對固定 (C)都是相同的 (D)隨實際需要而定6.C#語言中,基本整型數(shù)據(jù)類型(int)所占用的存儲空間為(C)個字節(jié)。 (A)1 (B)2 (C)4 (D)87.C#語言中,雙精度實型數(shù)據(jù)類型(double)所占用的存儲空間為(D)個字節(jié)。 (A)1 (B)2 (C)4 (D)88.C#語言中,字符數(shù)據(jù)使用Unicode字符集,其占用的存儲空間為(B)個字節(jié)。 (A)1 (B)2 (C)4 (D)89.下面的運算符中,優(yōu)先級別最低的是(D)。 (A)new (B)!= (C)?: (D)=10.設(shè)有整型變量x,則表達式x=5/8運算后,變量x的值為(A)。 (A)0 (B)0.625 (C)0.6 (D)0.6311.C#語言中,字符串常量@"123\n456"的長度(有效字符個數(shù))是(C)。 (A)6 (B)7 (C)8 (D)912.為了將字符串str=“123,456”轉(zhuǎn)換成整數(shù)123456,應(yīng)該使用以下哪條語句?(A)A.intNum=int.Parse(str);B.intNum=str.Parse(int);C.intNum=(int)str;D.intNum=int.Parse(str,Globalization.NumberStyles.AllowThousands);13.C#語言中,與賦值運算符“=”實現(xiàn)相同操作的字符串處理方法是(C)。 (A)Compare (B)Concat (C)Copy (D)Substring14.C#應(yīng)用程序中,標識符用于給程序處理的數(shù)據(jù)對象命名。組成標識符的字符為字母、數(shù)字和下劃線,標識符的第一個字符(B)。 (A)必須是字母 (B)必須是字母或者是下劃線 (C)必須是下劃線 (D)可以是字母或者是下劃線15.在程序中如果要使用系統(tǒng)保留字(關(guān)鍵字)作為自定義標識符,必須使用字符(A)作為引導符。 (A)@ (B)$ (C)# (D)~16.下面所列的C#標識符中,錯誤的是(B)。 (A)myId (B)int (C)@if (D)_int17.下面所列的C#自定義標識符中,正確的是(A)。(A)@double (B)$double (C)#double (D)~double18.C#中所有字符都是使用(A)(A)Unicode編碼表示 (B)UTF-8編碼表示(C)UTF-16編碼 (D)GBK編碼19.關(guān)于C#程序的書寫,下列不正確的說法是____?(D)A.區(qū)分大小寫B(tài).一行可以寫多條語句C.一條語句可寫成多行D.一個類中只能有一個Main()方法,因此多個類中可以有多個Main()方法20.在C#語言中,下列能夠作為變量名的是____?(C)A.ifB.3abC.a_3bD.a-bc21.在C#語言中,下面的運算符中,優(yōu)先級最高的是__(A)__?A.%B.++C./=D.>>22.能正確表示邏輯關(guān)系“a>=10或a<=0”的C#語言表達式是__(D)__?A.a>=10ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=023.在C#中可用作程序變量名的一組標識符是(B)A.a(chǎn)3_b3_123YourNameB.voidnamespace+wordC.for-abcCaseD.2agoodref二、選擇填空題1.在C#語言中,值類型數(shù)據(jù)對象占用的存儲空間大小相對固定,在其所占存儲空間中直接存放F。2.在C#語言中,引用類數(shù)據(jù)對象占用的存儲空間大小隨需要而定,該類數(shù)據(jù)對象并不真正表示自己所具有的內(nèi)容,而是表示A。3.在C#程序設(shè)計中,定義值類型變量的同時可以對其進行初始化,初始化時提供的初始化數(shù)據(jù)C。4.在C#的整型常量表示中,可以使用十進制數(shù)據(jù)和十六進制數(shù)據(jù)兩種形式,其中十六進制數(shù)據(jù)J。5.布爾數(shù)據(jù)類型占用一個字節(jié)的存儲區(qū)域,其變量只有兩種取值:H。 備選項: (A)自己內(nèi)容所在存儲區(qū)域的引用 (B)Yes或No(C)必須在對應(yīng)變量的取值范圍之內(nèi) (D)0h或者0H(E)可以在對應(yīng)變量的取值范圍之外 (F)該類數(shù)據(jù)對象所具有的值(G)“真”或“假” (H)true或false(I)數(shù)據(jù)對象的名字 (J)使用0x或者0X開頭6.一個完整程序中必須有一個名為__Main______的函數(shù)。7一個函數(shù)的函數(shù)體就是一條____復合_____語句。8.在C#程序中,程序的執(zhí)行總是從____Main______方法開始的。9、在C#中,bool類型只有兩種值,分別是___true_______和___false_______。10、在C#中,使用____const______關(guān)鍵字聲明符號常量。三、程序設(shè)計與分析題1.創(chuàng)建圖2-7所示W(wǎng)indows窗體應(yīng)用程序,在兩個文本框中分別輸入整數(shù)值,然后單擊“計算”按鈕,就能在標簽控件中輸出兩個整數(shù)值相加之和。圖2-7計算兩個整數(shù)相加之和圖2-8華氏溫度轉(zhuǎn)換為攝氏溫度2.已知將華氏溫度轉(zhuǎn)換為攝氏溫度的公式為:,創(chuàng)建圖2-8所示的Windows窗體應(yīng)用程序,實現(xiàn)將文本框內(nèi)輸入的華氏溫度轉(zhuǎn)換為攝氏溫度的功能,計算結(jié)果在標簽控件中輸出。3.創(chuàng)建控制臺應(yīng)用程序,在控制臺端鍵盤輸入一個半徑值,就能計算輸出圓的面積。4.根據(jù)如下的枚舉定義,fruit.peach和fruit.strawberry的值分別是多少?enumfruit:int{apple=5,apricot,banana,peach,pineapple=12,strawberry} 答案:fruit.peach的值為8,fruit.strawberry的值為135.專家認為,成人血壓的正常范圍是:收縮壓90~140mmHg(12.0~18.7kPa)——1kPa=7.5mmHg舒張壓60~90mmHg(8.0~12.0kPa)寫出判斷血壓是否正常的邏輯表達式(以mmHg為計量單位)。答案:doublexueya;//血壓值 (xueya>=90&&xueya<=140)&&(xueya>=60&&xueya<=90)習題3.23.3單項選擇題1.當變量x的值在[1,100]范圍內(nèi)時,下面的C#表達式返回值為“真”的是(D)。 (A)1<=x<=100 (B)x>=1||x<=100(C)x>1&&x<100 (D)x>=1&&x<=1002.下面的C#表達式中,描述了數(shù)學關(guān)系x≥y≥z的是(B)。(A)(x>=y)AND(y>=z) (B)(x>=y)&&(y>=z)(C)(x>=y>=z) (D)(x>=y)&(y>=z)3.當變量x的值在[1,10]或[200,210]范圍內(nèi)時,下列C#表達式返回值為“真”的是(C)。(A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)(B)(x>=1)||(x<=10)||(x>=200)||(x<=210)(C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)(D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)4.設(shè)有C#語句:inta=5,b=4;,則下列表示條件的表達式中值為“假”的是(C)。(A)(a>b)&&(b>0&&a>0) (B)(b>=0)&&(a<=b?a+b:a-b)>0(C)a>0&&!(b>0) (D)(a<=0)||(a%b>0)5.執(zhí)行C#語句序列:inti;for(i=0;i++<4;);后,變量i的值是(A)。 (A)5 (B)4 (C)1 (D)06.以下程序的輸出結(jié)果是__(C)__?Usingsystem;ClassExample1{PublicStaticvoidmain(){inta=5,b=4,c=6,d;Console.writeline("{0}",d=a>b?(a>c?a:c):b);}}A.5B.4C.6D.不確定7.以下程序的輸出結(jié)果是_C___。usingsystem;classExample1{publicstaticvoidMain{inta=5,b=4,c=6,d;d=a>b?(a>c?a:c):b;Console.Writeline(d);}}A.5B.4C.6D.不確定8.寫出以下程序的運行結(jié)果。usingSystem;classTest{publicstaticvoidMain(){intx=5;inty=x++;Console.WriteLine(y);y=++x;Console.WriteLine(y);}}答案:579.if語句后面的表達式應(yīng)該是__(A)__?A.邏輯表達式B.條件表達式C.算術(shù)表達式D.任意表達式10.有如下程序Usingsystem;ClassExample1{PublicStaticvoidmain(){intx=1,a=0,b=0;switch(x){case0:b++,break;case1:a++,break;case2:a++,b++,break;}Console.Writeline("a={0},b={1}",a,b);}}的輸出結(jié)果是(C)//代碼有誤,break前面“,”都改為“;”A.a=2,b=1B.a=1,b=1C.a=1,b=011..有如下程序Usingsystem;ClassExample1{PublicStaticvoidmain(){intx=0,a=0,b=0;switch(x){case0:b++;break;case1:a++;case2:a++;b++;break;}Console.writeline("a={0},b={1}",a,b);}}的輸出結(jié)果是AA.a=0,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=212已知a,b,c的值分別是4,5,6,執(zhí)行下面的程序段后,判斷變量n的值為____?(C)if(c<b)N=a+b+c;elseif(a+b<c)N=c-a-b;elseN=a+b;A.3B.-3C.9D.1513.以下敘述正確的是__(C)__?A.do….while語句構(gòu)成的循環(huán)不能用其他語句構(gòu)成的循環(huán)來代替B.do….while語句構(gòu)成的循環(huán)只能用break語句退出C.用do….while語句構(gòu)成的循環(huán),在while后的表達式為true時結(jié)束循環(huán)D.用do….while語句構(gòu)成的循環(huán),在while后的表達式應(yīng)為關(guān)系表達式或邏輯表達式14.以下關(guān)于for循環(huán)的說法不正確的是__(A)__?A.for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B.for循環(huán)是先判定表達式,后執(zhí)行循環(huán)體語句C.for循環(huán)中,可以用break語句跳出循環(huán)體D.for循環(huán)體語句中,可以包含多條語句,但要用花括號括起來?15.下列代碼輸出正確的是___(D)namespaceAnswer{classProgram{staticvoidMain(string[]args){intI,j;for(i=1;i>=0;i--)for(j=0;j<=I;j++)Console.WriteLine(“i*j={0}”,i*j);}}}A.i*j=0i*j=0i*j=0B.i*j=1i*j=0i*j=1C.i*j=1i*j=1i*j=0D.i*j=0i*j=1i*j=016.下面對i值的輸出結(jié)果說法正確的是_____.(A)namespaceAnswer{classProgram{staticvoidMain(string[]args){intido{i++;}while(i<5)Console.WriteLine(“i值的為:{0}”,i)}}}A.i的值為:5B.i的值為:6C.i的值為:7D.i的值為:817)以下程序段的輸出結(jié)果是AA1B30C1-2D死循環(huán)intx=3;do{Console.WriteLine("{0}",x-=2);}while(!(--x>=0));18)以下程序段的輸出結(jié)果是DA9B1C11D10intk,j=0,s=0;for(k=2;k<6;k=k+2){s=1;for(j=k;j<6;j++)s+=j;}Console.WriteLine("s={0}",s);Console.ReadLine();19)以下程序段的輸出結(jié)果是CA12B15C20D25inti,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;Console.WriteLine("m={0}",m);Console.ReadLine();20)以下程序段的輸出結(jié)果是BA10B9C10D9989887876intn=10;while(n>7){n--;Console.WriteLine("m={0}",n);}Console.ReadLine();選擇填空題程序設(shè)計中,一般用“邏輯與運算”表示某個數(shù)據(jù)對象的值是否在給定范圍之內(nèi),而用“邏輯或運算”表示某個數(shù)據(jù)對象的值I。C#語言中規(guī)定:在包含了if語句嵌套結(jié)構(gòu)的程序中,else子句與在它前面距它最近的且Bif配對。C#應(yīng)用程序中,在一個循環(huán)結(jié)構(gòu)的循環(huán)體內(nèi)又包含另外一個A,稱為循環(huán)的嵌套。break語句是一條限定轉(zhuǎn)移語句,只能在D使用。continue語句是一條限定轉(zhuǎn)移語句,只能在J使用。備選項:(A)完整的循環(huán)結(jié)構(gòu) (B)尚未匹配的(C)是否在給定范圍之內(nèi) (D)switch語句結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中(E)完整的分支結(jié)構(gòu) (F)if結(jié)構(gòu)或者while結(jié)構(gòu)中(G)已經(jīng)配對的 (H)while結(jié)構(gòu)中(I)是否在給定范圍之外 (J)循環(huán)結(jié)構(gòu)的循環(huán)體中6、設(shè)x為int型變量,請寫出描述“-10<=x<=10”的C#語言表達式_-10<=x&&x<=10__7.若k為int整型變量且賦值15.請寫出k++后表達式的值A(chǔ))__15______和變量值B)___16___.8。"10<x≤30"的C語言表達式是___X>=10&&X<=30________。9.C#語言中的關(guān)系運算符按優(yōu)先級分別是____<<=>>=_____,____!===_____________.10.將下列數(shù)學式改寫成C#語言的關(guān)系表達式或邏輯表達式A)_a==b||a<c___.B)_x<-4||x<4___.Aa=b或a<cB|x|>4三寫出運行結(jié)果題1.運行以下程序段,結(jié)果是(150)doublek,t;t=0;for(intn=1;n<=10;n++){for(k=1;k<=5;k++)t=t+k;}Console.WriteLine(t);2.運行以下程序段,結(jié)果是(25)usingSystem;classSumw{staticvoidMain(){inti=1,sum=0;while(i<=10){sum+=i;i+=2;}Textbox1.text=“總和為:”+sum.ToString();}}3.以下程序運行后,變量a的值為()inta=100;for(intj=10;j>0;j-=2)a-=j*3;4.以下程序運行后,控件textBox1顯示內(nèi)容為(10)inti;for(i=10;i<=20;i++){if(i%5==0){continue;}textBox1.text+=i.ToString()+”“;}5.給出下列程序的運行結(jié)果:(5050)usingSystemClassDome{StaticvoidMain(){intn=1,sum=0;while(n<101){sum+=n;n++;}Console.WriteLine(“1+2+3+…+100=”+sum);}}Console.ReadLine();6.下面代碼的輸出結(jié)果是(57)。intx=5;inty=x++;Console.WriteLine(y);y=++x;Console.WriteLine(y);7.當month等于6時,下面代碼的輸出結(jié)果是(30)。intdays=0;switch(month){case2:days=28;break;case4:case6:case9:case11:days=30;break;default:days=31;break;}Console.WriteLine(days);8如果x=35,y=80,下面代碼的輸出結(jié)果是(報警)if(x<-10||x>30){if(y>=100){Console.WriteLine("危險!");}else{Console.WriteLine("報警!");}}else{Console.WriteLine("安全");}9.下面代碼運行后,s的值是()。ints=0;for(inti=1;i<100;i++){if(s>10){break;}if(i%2==0){s+=i;}}10.若打印如下圖案,畫線處應(yīng)填入()。***************for(inti=1;i<=5;i++){for(intj=____;j<=5;j++){Console.Write("*");}程序設(shè)計題創(chuàng)建圖3-20所示W(wǎng)indows窗體應(yīng)用程序,程序運行時,在“年份”文本框中輸入一個正整數(shù),單擊“判斷”按鈕,就能在標簽控件中顯示判斷結(jié)果;單擊“退出”按鈕則結(jié)束程序運行。(閏年的計算規(guī)則請自行上網(wǎng)查閱)圖3-20判斷閏年圖3-21輸出星號組成的圖案2.創(chuàng)建控制臺應(yīng)用程序,輸入一個正整數(shù)之后,輸出圖3-21所示圖案。最頂部一行的星號個數(shù)為輸入的數(shù)。3.創(chuàng)建控制臺應(yīng)用程序,利用下面多項式公式計算出π值,要求最后一項的值小于10-6。4.創(chuàng)建控制臺應(yīng)用程序,利用下面的公式計算e的近似值,要求最后一項的值小于10-6。5.已知兩個3位數(shù)abc和cba之和為1333(即abc+cba=1333),編寫控制臺應(yīng)用程序,求出3個數(shù)字a、b和c。6.創(chuàng)建控制臺應(yīng)用程序,求解猴子吃桃問題:猴子第一天摘下桃子若干,當即吃了一半后又多吃了一個;第二天又將剩下的桃子吃掉一半后再多吃一個;以后每天都吃掉前一天剩下的一半零一個。到第10天想再吃時,只剩下一個桃子。求猴子第一天共摘下多少個桃子。7.馬克思曾經(jīng)做過這樣一道趣味數(shù)學題:有30個人在一家小飯館用餐,其中每個男人花了3先令,每個女人花了2先令,每個孩子花了1先令,總共花了50先令。問男人、女人和孩子各有多少人?本題有多個解,編寫控制臺應(yīng)用程序求出所有的解。8.體操比賽的評分規(guī)則是:由7位裁判為每個運動員打分,去掉一個最高分,去掉一個最低分,求出的平均分即為運動員的得分。編寫控制臺應(yīng)用程序,計算運動員得分。9.所謂“水仙花數(shù)”,指的就是這樣一個三位數(shù):其各位數(shù)的立方和等于該數(shù)。例如:153=13+53+33。編寫控制臺應(yīng)用程序,計算輸出所有的水仙花數(shù)。10.所謂“完備數(shù)”,指的就是這樣一個數(shù):該數(shù)的值恰好等于它的因子之和。例如,6的因子為1、2、3,而6=1+2+3,因而6就是完備數(shù)。編寫控制臺應(yīng)用程序,找出1~1000之間的所有完備數(shù)。11.編寫程序,求解以下問題:(1)在窗體上輸出100~500之間的所有奇數(shù),并計算它們的和。(2)在窗體上輸出100~200之間不能被3整數(shù)的所有數(shù)。(3)統(tǒng)計1~1000之內(nèi)既能被5整除,也能被7整除的數(shù)的個數(shù),并輸出在窗體上。(4)從300開始,找出連續(xù)100個既能被3整數(shù)又能被5整除的數(shù)。(5)計算s=1!+2!+3!+…+n!(其中n是用戶輸入的正整數(shù))。(6)計算出不大于1000

的10個最大的素數(shù)。習題3.43.5單項選擇題1.下面所列選項中,能夠正確定義具有10個數(shù)據(jù)元素一維整型數(shù)組a的是(A)。 (A)int[]a=newint[10]; (B)inta[10];(C)int[]a=int[10]; (D)int[]a=int(10);2.下面所列選項中,不能正確定義并初始化一維數(shù)組b的是(D)。 (A)double[]b=newdouble[5]{1,2,3,4,5};(B)double[]b=newdouble[]{1,2,3,4,5};(C)double[]b={1,2,3,4,5};(D)double[]b=new{1,2,3,4,5};3.始化一維數(shù)組的語句,指出其中正確的是____?(D)A.intarr1[]={6,5,1,2,3};B.int[]arr1=newint[];C.int[]arr1=newint[]{6,5,1,2,3};D.int[]arr1;arr1={6,5,1,2,3};4.下面所列選項中,能夠正確定義2行3列二維整型數(shù)組a的是(B)。(A)int[][]a=newint[2][3]; (B)int[,]a=newint[2,3];(C)int[2][3]; (D)int[,]a=int[2,3];5.下面所列選項中,不能正確定義并初始化二維數(shù)組a的是(C)。(A)int[,]a=newint[2,3]{{1,2,3},{4,5,6}};(B)int[,]a=newint[,]{{1,2,3},{4,5,6}};(C)int[,]a=newint[2,3]{1,2,3,4,5,6};(D)int[,]a={{1,2,3},{4,5,6}};6.設(shè)有C#數(shù)組定義語句:int[]a=newint[5];對數(shù)組a元素的正確引用是(B)(A)a[5] (B)a[100-100] (C)a(0) (D)a+16.設(shè)有C#數(shù)組定義語句序列:double[]myArr;myArr=newdouble[10];數(shù)組元素myArr[5]的值為(A)(A)0 (B)'0' (C)null (D)隨機值7.有定義語句:int[,]a=newint[5,6];則下列正確的數(shù)組元素的引用是____?(C)A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4]8.設(shè)有C#數(shù)組定義語句:float[,]a=newfloat[5,5];對數(shù)組a元素的正確引用是(D)。(A)a[3][2] (B)a[4,5] (C)a[5,0] (D)a[0,0]9.在C#語言中,表示數(shù)組長度屬性的關(guān)鍵字是(D)。(A)Len (B)Size (C)Long (D)Length10.在C#語言中,數(shù)組Array實現(xiàn)一維數(shù)組由小到大排序的靜態(tài)方法是(A)。(A)Array.Sort (B)Array.Reverse (C)Array.Long (D)Array.Order12.在C#語言中,Array實現(xiàn)數(shù)組逆排序的靜態(tài)方法Array.Reverse的意思是(D)。(A)實現(xiàn)一維數(shù)組由小到大排序 (B)實現(xiàn)一維數(shù)組由大到小排序(C)實現(xiàn)二維數(shù)組反向排序 (D)實現(xiàn)一維數(shù)組反向排序13.在C#中,下列哪條語句能創(chuàng)建一個具有3個初始值為""的元素的字符串數(shù)組?(C)A.stringStrList[3]("");B.string[3]StrList={"","",""};C.string[]StrList={"","",""};D.string[]StrList=newstring[3];14.假定int類型變量占用兩個字節(jié),若有定義:int[]x=newint[10]{0,2,4,4,5,6,7,8,9,10};則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是___(B)?A.6B.20C.4015.以下程序的輸出結(jié)果是:(C)ClassExample1{PublicStaticvoidmain(){inti;int[]a=newint[10];for(i=9;i>=0;i--)a[i]=10-i;Console.Writeline("{0},{1},{2}",a[2],a[5],a[8]);}}A.2,5,8B.7,4,1C.8,5,2D.3,6,916.下列的數(shù)組定義語句,正確的是____?(D)A.inta[]=newint[5]{1,2,3,4,5}B.int[,]a=newinta[3][4]C.int[][]a=newint[3][];D.int[]a={1,2,3,4};17.以下所列的個方法頭部中,正確的是___?_(C)A.voidplay(vara:Integer,varb:integer)B.voidplay(inta,b)C.voidplay(inta,intb)D.Subplay(aasinteger,basinteger)18.函數(shù)調(diào)用不可以(D)。A.出現(xiàn)在一個表達式中B.出現(xiàn)在執(zhí)行語句中C.作為一個函數(shù)的實參D.作為一個函數(shù)的形參19.以下正確的描述是(B)。A.函數(shù)的定義可以嵌套,函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套20.若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是(A)。A.數(shù)組的首地址B.數(shù)組中第一個元素的值C.數(shù)組全部元素的值D.數(shù)組元素的個數(shù)21.以下錯誤的描述是(D)。A.被調(diào)用函數(shù)中可以不用return語句B.被調(diào)用函數(shù)中可以用多個return語句C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語句D.被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù)22.下列程序的結(jié)果是:(B)Usingsystem;ClassExample1{Staticlongfib(intn){If(n>2)return(fib(n-1)+fib(n-2));Elsererurn(2);}PublicStaticvoidmain(){Console.Writeline(“{0}”,fib(3));}}A.2B.4C.6D.823.下面是幾條定義初始化一維數(shù)組的語句,指出其中正確的是____?(D)A.intarr1[]={6,5,1,2,3};B.int[]arr1=newint[];C.int[]arr1=newint[]{6,5,1,2,3};D.int[]arr1;arr1={6,5,1,2,3};24.下面是幾條定義并初始化而維數(shù)組的語句,指出其中正確的是____?(D)A.intarr3[][]=newint[4,5];B.int[][]arr3=newint[4,5];C.intarr3[,]=newint[4,5]D.int[,]arr3=newint[4,5];25.在下列程序空格處填入正確的選項_____(A),能夠?qū)崿F(xiàn)調(diào)用函數(shù)show().classClass1{staticvoidshow(refinti){i*=15;Console.WriteLine("i={0}",i);}staticvoidMain(string[]args){inttest=10;Console.WriteLine("調(diào)用函數(shù)show前,test={0}",test);show(______);Console.WriteLine("調(diào)用函數(shù)show后,test={0}",test);Console.ReadLine();}}A.testB.outtestC.reftestD.paramstest26.下面代碼的運行結(jié)果是(35和55)。staticvoidMain(string[]args){intnum1=34;intnum2=55;Increase(refnum1,num2);Console.WriteLine("{0}和{1}",num1,num2);Console.ReadLine();}privatestaticvoidIncrease(refintnum1,intnum2){num1++;num2++;}選擇填空題C#語言中,數(shù)組屬于引用數(shù)據(jù)類型,即數(shù)組內(nèi)容所占用的存儲單元是C,數(shù)組變量的值是這組存儲單元的起始地址。無論是一維數(shù)組、多維數(shù)組、還是不規(guī)則數(shù)組,在C#語言中對數(shù)組的定義都分為兩個步驟:定義數(shù)組變量;H。數(shù)組在定義時可以進行初始化,即在定義數(shù)組時為其指定初始值。C#語言中規(guī)定,初始化值序列中的數(shù)據(jù)個數(shù)F。數(shù)組元素在程序中使用下標變量的形式表示。作為變量個體而言,下標變量與它同類型的普通變量(簡單變量)是等價的,即數(shù)組的下標變量和普通變量的A。數(shù)組的Rank屬性表示規(guī)則數(shù)組的E。對于交錯數(shù)組而言,其Rank屬性值都是1。備選項:(A)用法相同 (B)行數(shù)(C)一組連續(xù)的內(nèi)存區(qū)域 (D)用法不相同(E)維數(shù) (F)必須與數(shù)組的長度完全一致(G)可以是任意多個 (H)數(shù)組變量初始化(I)一組可以不連續(xù)的內(nèi)存區(qū)域 (J)數(shù)組變量實例化三.閱讀程序,寫結(jié)果題:1給出下列程序的運行結(jié)果:(123)456StaticvoidMain(){int[,]twoarray=newint[2,3]{{1,2,3},{4,5,6}};Console.WriteLine("***矩陣***");for(inti=0;i<twoarray.GetLength(0);i++){for(intj=0;j<twoarray.GetLength(1);j++){Console.Write(twoarray[i,j]+"");}Console.WriteLine();}2給出下列程序的運行結(jié)果:()usingSystem;publicclasstest{publicintnum;publictest(inti){this.num=i+5;}StaticvoidMain(){testclassone=newtest(10);intx=classone.num;Console.WriteLine(x);}}3.給出下列程序的運行結(jié)果:(1)11121StaticvoidMain(){int[,]a=newint[3,3];a[0,0]=1;intj;for(inti=1;i<3;i++){a[i,0]=1;a[i,i]=1;for(j=1;j<i;j++)a[i,j]=a[i-1,j-1]+a[i-1,j];}for(inti=0;i<3;i++){for(j=0;j<=i;j++)Console.Write("{0}\t",a[i,j]);Console.WriteLine();}Console.ReadLine();}11.寫出以下程序運行結(jié)果。usingSystem;classTest{staticint[]a={1,2,3,4,5,6,7,8};publicstaticvoidMain(){ints0,s1,s2;s0=s1=s2=0;for(inti=0;i<8;i++){switch(a[i]%3){case0:s0+=Test.a[i];break;case1:s1+=Test.a[i];break;case2:s2+=Test.a[i];break;}}Console.WriteLine(s0+""+s1+""+s2);}}答案:9121512.寫出以下程序的功能。staticvoidf2(refdouble[]a,intn){inti;doublesum=0; for(i=0;i<n;i++)sum+=a[i]; sum/=n; for(i=0;i<n;i++) if(a[i]>=sum)Console.write(a[i]+““); Console.writeLine();}答案:顯示輸出數(shù)組a中大于等于平均值的所有元素值。13.寫出以下程序運行結(jié)果。usingSystem;classTest{constintN=5;publicstaticvoidMain(){inta=0;for(inti=1;i<N;i++){intc=0,b=2;a+=3;c=a+b;Console.write(c+““);}}答案:58111414寫出以下程序運行結(jié)果。usingSystem;classTest{staticvoidLE(refinta,refintb){

intx=a;

a=b;

b=x;

Console.writeLine(a+““+b);}publicstaticvoidMain(){

intx=10,y=25;LE(refx,refy);

Console.writeLine(x+““+y);}}答案:25

10

25

1015.寫出以下程序的功能。staticvoidWA(refint[]a,intn){ for(inti=0;i<n-1;i++){ intk=i; for(intj=i+1;j<n;j++) if(a[j]<a[k])k=j; intx=a[i];a[i]=a[k];a[k]=x;}}答案:采用選擇排序的方法對數(shù)組a中的n個整數(shù)按照從小到大的次序重新排列。16.寫出以下程序的運行結(jié)果。usingSystem;classTest{publicstaticvoidMain(){

int[]a={2,4,6,8,10,12,14,16,18};

for(inti=0;i<9;i++){

Console.write(“”+a[i]);

if((i+1)%3==0)Console.writeLine();

}}}答案:2

4

6 8

10

1214

16

1817.寫出以下程序運行結(jié)果。usingSystem;classTest{publicstaticvoidMain(){

ints=0;

for(inti=1;

;i++){

if(s>50)break;

if(i%2==0)

s+=i;

}

Console.writeLine("i,s="+i+","+s);}}答案:i,s=15,5618下面代碼的輸出結(jié)果是(12.56)。staticvoidMain(string[]args){intradius=2;doublearea=GetArea(radius);Console.WriteLine(area);Console.ReadLine();}privatestaticdoubleGetArea(intr){return3.14*r*r;}19.staticvoidMain(string[]args){int[]a={25,48,32,85,64,18,48,29};intmax,min; max=min=a[0]; for(inti=0;i<8;i++){if(max>a[i])max=a[i]; if(min<a[i])min=a[i]; } Console.WriteLine("max={0},min={1}",max,min);Console.ReadLine();}max=18min=8520.以下程序的輸出結(jié)果是__x=-1____.staticvoidMain(string[]args){intx=2;while(x-->0);Console.WriteLine("x={0}",x);Console.ReadLine();}21.constintM=3,N=4;inti,j,s=0; for(i=1;i<=M;i++) for(j=1;j<=N;j++) s+=i*j; Console.WriteLine("s={0}",s);Console.ReadLine();22.constintT=6;inti,j; for(i=1;i<=T;i+=2) for(j=2;j<=T;j+=2){ if(i+j<T)Console.Write("+"); elseConsole.Write("*");}Console.ReadLine();答案:++*+****23.voidmain(){inta,b,c=0; for(a=1;a<4;a++)for(b=6;b>1;b-=2){if((a+b)%2==0)c+=a+b;elsec+=a*b;if(b==2)Console.WriteLine("{0},{1},{2}",a,b,c);}Console.ReadLine(); }}1,2,122,2,303,2,666.constintB=2;voidmain(){constintB=2;intp=1,s=1;while(s<50){p*=B;s+=p;}Console.WriteLine("{0}",s);Console.ReadLine();}答案:6324.inti,j;int[]a={76,83,54,62,40,75,90,92,77,84}; int[]b={60,70,90,101}; int[]c=newint[4]; for(i=0;i<10;i++){ j=0; while(a[i]>=b[j])j++; c[j]=c[j]+1; } for(i=0;i<4;i++)Console.Write("{0},",c[i]); Console.WriteLine();;Console.ReadLine();答案:2,1,5,225.staticvoidfun(){inta=0;intb=2;Console.WriteLine("{0},{1}",a=3+a,a+b);}staticvoidMain(string[]args){constintN=5;fun(); Console.WriteLine();;Console.ReadLine();}答案:3,5四.閱讀程序,填空題:1.下面代碼實現(xiàn)數(shù)組array的冒泡排序,畫線處應(yīng)填入(3-i)。int[]array={20,56,38,45};inttemp;for(inti=0;i<3;i++){for(intj=0;j<_____;j++){if(a[j]<a[j+1]){temp=a[j];array[j]=___a[j+1];_____array[j+1]=temp;}}}2以下程序是從一個整數(shù)數(shù)組的元素中找出最大的元素,請將該方法補充完整。usingSystem;classarray1{staticvoidMain(){int[]a={26,38,91,63,58,21,65,75};intt=0,max=___a[0]___;for(inti=1;i<=____a.Length__;i++){if(a[i]>max){max=___a[i]___;t=i;}}Console.WriteLine("該數(shù)組中最大的數(shù)為:{0}",max);

溫馨提示

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

評論

0/150

提交評論