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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

習題與解答

習題一

一、單項選擇題

1在VisualStudio.NET窗口中,在窗口中可以察看當前項目的類和類型的

層次信息。(B)

A.解決方案資源管理器B.類視圖C.資源視圖D.屬性

2.能作為C#程序的基本單位是(B)o

A.字符B.語句C.函數D.源程序文件

3.C#語言是微軟.NET公共語言運行環境中內置的核心程序設計語言,是一種(B)。

(A)面向過程程序設計語言(B)面向對象程序設計語言

(C)跨平臺程序設計語言(D)機器語言

4.C#語言支持面向對象程序設計概念,(C)o

(A)但不支持繼承(B)而且支持多繼承

(C)但僅支持單繼承(D)支持單繼承和多繼承

5.C#應用程序由一個或者多個類組成,一個應用程序的所有程序代碼(A)。

(A)必須封裝在類中(B)不能封裝在類中

(C)必須封裝在一個類中(D)必須封裝在多個個類中

6.C#應用程序中,導入其他系統預定義元素部分可以使用關鍵字(D)。

(A)use(B)namespace(C)import(D)using

7.命名空間是一種在程序中防止標識符命名沖突而引入的邏輯隔離機制,C#中使用關

鍵字(D)表示。

(A)using(B)spacename(C)class(D)namespace

8.C#應用程序中,用主方法指明程序執行的開始點,主方法的名字規定為(C)。

(A)class(B)main(C)Main(D)MainWay

9.C#中的注釋方法有三種,下列注釋方法中錯誤的是(D)。

(A)單行注釋“〃”(B)多行注釋“/*和*/”

(C)XML注釋“/〃”(D)HTML注釋“<!一和一〉”

10.下列對控制臺應用程序描述正確的是(C)。

(A)控制臺(Console)應用程序就是對設備進行控制的應用程序

(B)控制臺(Console)應用程序包含了大量Windows系統的組成元素

(C)控制臺(Console)應用程序是C#語言能夠開發的應用程序類型之一

(D)控制臺(Console)應用程序是基于標準C語言的單片機技術

11.在控制臺應用程序中,如果在程序開頭使用usingSystem;語句引入了System命名

空間,則下列對Read。和ReadLine()方法調用錯誤的是(D)。

(A)System.Console.Read();(B)Console.Read();

(C)Console.ReadLine();(D)Read();

12.在C#的Windows應用程序中,不論任何控件,共同具有的是(B)屬性。

(A)Text(B)Name(C)ForeColor(D)Caption

13.下列語句的輸出是。(B)

doubleMyDouble=123456789;

Console.WriteLine("{0:E}",MyDouble);

A.S123,456,789.00

B.1.234568E+008

C.123,456,789.00

14.下面對Read()和ReadLine()方法的描述,哪些是正確的O(A)(D)

A.Read()方法一次只能從輸入流中讀取一個字符

B.使用Read。方法讀取的字符不包含回車和換行符

C.ReadLine。方法讀取的字符不包含回車和換行符

D.只有當用戶按下回車鍵時,Read()和ReadLine()方法才會返回

15.下面對Write。和WriteLine。方法的描述朋E些是正確的0(A)(B)(D)

A.WriteLine()方法在輸出字符串的后面添加換行符

B.使用Write。輸出字符串時,光標將會位于字符串的后面

C.使用Write。和WriteLine()方法輸出數值變量時,必須要先把數值變量轉換成字符串

D.使用不帶參數的WriteLine。方法時,將不會產生任何輸出

二、選擇填空題

1.C#語言是一種—B—、全新的程序設計語言,是微軟.NET公共語言運行環境中內

置的核心程序設計語言。

2.C#程序設計語言的主要特點有:語法簡潔、滿足通用語言規范、面向對象、兼容性

和靈活性、以及_C_等。

3.一個C#程序可以存放在一個源程序文件中,也可以存放在多個源程序文件中。一個

源程序文件中可以有一個或者多個類,_E_將一個類拆散存放在不同的源程序文件

中。

4.為源程序文件命名_J_,既可以與類的名字相同,也可以不同。

5.在定義C#語言的標識符構成時,_G_字母符的大小寫形式。

備選項:

(A)面向過程的(B)面向對象的(C)完整的安全性(D)不需要區分

(E)但不允許(F)而且允許(G)需要區分(H)有限安全性

(I)必須與類名一致(J)不受類名限制

6..C++源程序文件的默認擴展名為(cpp兀

7.由C++源程序文件編譯而成的目標文件的默認擴展名為(obj)o

8..C++程序從上機到得到結果的幾個操作步驟依次是(編輯、編譯、連接、運行兀

9.C++語言是在_C語言的基礎上發展起來的。

10.行尾使用注釋的開始標記符為//

三、思考題

1.簡述C#語言的語句書寫規則。

答案:(1)語法簡潔

(2)滿足通用語言規范

(3)面向對象

(4)完整的安全性和錯誤處理

(5)兼容性和靈活性

(6)版本控制

(7)與Web的完美結合

2.簡述在VS2008集成環境中創建C#控制臺應用程序的主要步驟。

答案:

四個步驟:

(1)啟動運行“MicrosoftVisualStudio2008”,進入VS2008集成開發環境;

(2)選擇項目類型為控制臺應用程序,并指定項目名稱及其保存位置;

(3)在應用程序編輯環境中輸入程序代碼;

(4)調試運行程序。

3.簡述在VS2008集成環境中創建C#Windows窗體應用程序的主要步驟。

答案:

四個步驟:

(1)設計用戶界面

(2)設置對象屬性

(3)編寫對象事件過程代碼

(4)保存并運行程序(生成可執行代碼)

4.一個C#控制臺應用程序主要由哪幾個部分構成?

答案:

(1)導入其他系統預定義元素部分;

(2)命名空間;

(3)類;

(4)方法(主方法、事件響應處理過程)

5.C#程序中可以使用哪些書寫注釋的方法?它們分別適合用于什么場合?

答案:C#中的注釋方法有三種:

(1)單行注釋在一個語句行上,用雙斜杠“〃”作為引導符,其后的任何內容均

為注釋信息,編譯時被忽略,通常用于注釋字符串較短的場合。

(2)多行注釋從“/*”開始,到“*/”結束,多行注釋通常用于需要書寫較大量

注釋的情況

(3)XML注釋在一個代碼行上,用“〃/”開始,其后的任何內容均為注釋信息,

編譯時被提取出來,形成一個特殊格式的文本文件(XML),用于創建文檔說明書。

6.什么是托管方式?

答案:在.NET系統中,除了C#語言外,還包括C++、VB、Java等程序設計語言,這些

語言都遵守通用語言規范。在通用語言規范中,任何語言編寫的源程序都被編譯成為相

同的中間語言(MSIL)代碼,然后由通用語言運行環境(CommonLanguageRuntime,

CLR)負責執行,這種處理方式稱為“托管方式”,因而這樣的代碼亦稱為“托管代碼”。

習題2

1.要使窗體剛運行時,顯示在屏幕的中央,應設置窗體的__(B)—屬性。

A.WindowsStateB.StartPostionC.CenterScreenD.CenterParenr

2.要使文本框控件能夠顯示多行而且能夠自動換行,應設置它的__(B)____屬性。

A.MaxLength和MultlineB.Multlineh和Wordwrap

C.PassWordChar和MultlineD.MaxLength和Wordwrap

3.窗體中有一個年齡文本框txtAge,下面(D)代碼可以獲得文本框中的年齡值。

A.intage=txtAge;B.intage=txtAge.Text;

C.intage=Convert.Tolnt32(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());

6.當ListView的視圖為Details時,以下(A)屬性可以設置顯示的各個列。

A.ColumnsB.GroupsC.ItemsD.Subitems

2.填空題

1)使控件是否可以對用戶交互作出響應的屬性是Enabled。

2)控制控件是否顯示的屬性是Visible_。

3)若要在文本框中輸入密碼,常指定PasswordChar____屬性。

4)若某復選框某時刻CheckState屬性的值為Indeterminate,則其屬性Checked

的值為Unchecked0

5)使用___Panel或_GroupBox—控件可以將多個RadioButton控件分

為兩個單選組。

6)若不希望用戶在ComboBox控件中編輯文本,則應將屬性DropDownStyle的屬性

值設置為___DropDownList。

7)用于設置MenuStrip控件中某菜單項快捷鍵的屬性是ShortcutKeys___。

8)用于控制ListView控件中的各項顯示方式的屬性是—View—.

3.判斷題

1)控件就是屬性、方法和事件的集合封裝體。(對)

2)TextBox控件只能用于單行文本的輸入。(錯)

3)通過RichTextBox控件只能夠與RTF文件進行交互操作。(錯)

4)CheckBox控件的Checked屬性與CheckState屬性的值始終是相同的。(錯)

5)ToolTip組件用于顯示某指定控件的自定義提示信息的。(對)

4.問答題

1.區別TextBox控件、MaskedTextBox控件、RichTextBox控件的使用場合。

【解答】

TextBox控件一般用于單段文本的編輯,可以設置為單行或多行的輸入模式,也可

以用作密碼的輸入;MaskedTextBox控件主要用于特定格式的單段文本編輯,在輸入文本

不符合格式要求的將會觸發其MaskinputRejected事件;RichTextBox控件除了具有

TextBox的一般文本編輯功能外,還可以進行多段文本的高級編輯功能,如改變文本、

段落的顯示格式、在文本中查找特定字符和字符串以及與Rtf文件的交互等。

2.簡要說明CheckBox控件和RadioButton控件的區別。

【解答】

CheckBox控件可為用戶提供選擇功能,常用的是二選一的選擇,如“真/假”或“是

/否”;但該控件也可以通過屬性的設置作三選一的選擇。每一個CheckBox所代表的選擇

都是獨立的,若有多個CheckBox控件構成一組選項時,則可以多個同時被選中,相互之

間不影響,叩復選。RadioButton控件,它與CheckBox控件功能類似,也是用于接收用

戶的選擇,但它是以單項選擇的形式出現,即一組RadioButton按鈕中只能有一個處于

選中狀態。一旦某一項被選中,則同組中其他RadioButton按鈕的選中狀態自動清除。

5.編程題

1.設-■個Windows應用程序,窗體上有一個TextBox控件、一個Button控件。要求,

每當用戶單擊按鈕時,文本框都會增加一行文字來反映單擊的次數,例如“第3次單擊

按鈕”。

t解笞】

1)窗體界面如圖Ex5-5T所示;

2)窗體中主要控件屬性設置如表Ex5-5T;

表Ex5-5-l窗體中的主要控件屬性

控件Name屬性功能其它屬性

TextBoxtextBoxl顯示信ScrollBars=Vertical;

控件息Multiline=True

ButtonButtonl觸發添

控件加信息

事件

Button2觸發結

束添加

事件

3)主要事件代碼。

inti=1;

boolAdd=true;

...privatevoidbuttonlClick(objectsender,EventArgse)

(

if(Add)textBoxl.Text+=〃第〃+i+〃次單擊按鈕\r\n〃;

i++;

)

privatevoidbutton2_Click(objectsender,EventArgse)

(

Add=false;

)

6.編寫一段程序,向ListBox控件listBoxl中,自動添加10個數,每個數占一項。

【解答】

主要代碼如下:

以下是引用片段:

publicpartialclassForml:Form

intm=1;

privatevoidbutton!_Click(objectsender.EventArgse)

(

for(inti>m;i<m+10;i++)

(

listBoxl.Items.Add(i);

}

m=m+10;

}

}

習題3.1

一、單項選擇題

1.以下標識符中,正確的是°(A)

A._nNameB.typeofC.6bD.x5#

2.以下類型中,不屬于值類型的是一。(D)

A.整數類型B.布爾類型C.字符類型D.類類型

3.在C#中,表示一個字符串的變量應使用以下哪條語句定義?

A.CStringstr;B.Stringstr;C.DimstrasstringD.char*str;

4.C#程序中用到的數據分為兩個大類,它們是(A)。

(A)值類型和引用類型(B)整型和實型

(C)數值類型和字符類型(D)簡單類型和復雜類型

5.C#語言中,值類型數據對象占用的存儲空間大小(B)。

(A)不固定(B)相對固定(C)可以任意指定(D)都是相同的

3.C#語言中,引用類數據對象占用的存儲空間大小(D)。

(A)不得而知(B)相對固定(C)都是相同的(D)隨實際需要而定

6.C#語言中,基本整型數據類型(int)所占用的存儲空間為(C)個字節。

(A)1(B)2(C)4(D)8

7.C#語言中,雙精度實型數據類型(double)所占用的存儲空間為(D)個字節。

(A)1(B)2(C)4(D)8

8.C#語言中,字符數據使用Unicode字符集,其占用的存儲空間為(B)個字節。

(A)1(B)2(C)4(D)8

9.下面的運算符中,優先級別最低的是(D)。

(A)new(B)!=(C)?:(D)=

10.設有整型變量x,則表達式x=5/8運算后,變量x的值為(A)。

(A)0(B)0.625(C)0.6(D)0.63

11.C#語言中,字符串常量@”1233456”的長度(有效字符個數)是(C)。

(A)6(B)7(C)8(D)9

12.為了將字符串str二”123,456”轉換成整數123456,應該使用以下哪條語句?(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#語言中,與賦值運算符“=”實現相同操作的字符串處理方法是(C)。

(A)Compare(B)Concat(C)Copy(D)Substring

14.C#應用程序中,標識符用于給程序處理的數據對象命名。組成標識符的字符為字母、

數字和下劃線,標識符的第一個字符(B)o

(A)必須是字母(B)必須是字母或者是下劃線

(C)必須是下劃線(D)可以是字母或者是下劃線

15.在程序中如果要使用系統保留字(關鍵字)作為自定義標識符,必須使用字符(A)

作為引導符。

(A)@(B)$(C)#(D)?

16.下面所列的C#標識符中,錯誤的是(B)。

(A)myld(B)int(C)(gif(D)int

17.下面所列的C#自定義標識符中,正確的是(A)o

(A)@double(B)Sdouble(C)#double(D)?double

18.C#中所有字符都是使用(A)

(A)Unicode編碼表示(B)UTF-8編碼表示

(OUTF-16編碼(D)GBK編碼

19.關于C#程序的書寫,下列不正確的說法是一0(D)

A.區分大小寫

B.一行可以寫多條語句

C.一條語句可寫成多行

D.一個類中只能有一個Main。方法,因此多個類中可以有多個Main。方法

20.在C#語言中,下列能夠作為變量名的是一。(0

A.ifB.3abC.a3bD.a-bc

21.在C#語言中,下面的運算符中,優先級最高的是_(A)

A.%B.++C./=D.?

22.能正確表示邏輯關系“a>=10或a<=0”的C#語言表達式是_(D)_。

A.a>=10ora<=0B.a>=101a<=0

C.a>=10&&a<=0D.a>=10||a<=0

23.在C#中可用作程序變量名的一組標識符是(B)

A.a3_b3_123YourName

B.voidnamespace+word

C.for-abcCase

D.2agoodref

二、選擇填空題

I.在c#語言中,值類型數據對象占用的存儲空間大小相對固定,在其所占存儲空間中

直接存放Fo

2.在C#語言中,引用類數據對象占用的存儲空間大小隨需要而定,該類數據對象并不

真正表示自己所具有的內容,而是表示一A—。

3.在C#程序設計中,定義值類型變量的同時可以對其進行初始化,初始化時提供的初

始化數據一C—。

4.在C#的整型常量表示中,可以使用十進制數據和十六進制數據兩種形式,其中十六

進制數據一J—。

5.布爾數據類型占用一個字節的存儲區域,其變量只有兩種取值:H

備選項:

(A)自己內容所在存儲區域的引用(B)Yes或No

(C)必須在對應變量的取值范圍之內(D)Oh或者OH

(E)可以在對應變量的取值范圍之外(F)該類數據對象所具有的值

(G)“真”或“假”(H)true或false

(I)數據對象的名字(J)使用Ox或者0X開頭

6.一個完整程序中必須有一個名為_Main_—的函數。

7一個函數的函數體就是一條「復合____語句。

8.在C#程序中,程序的執行總是從Main方法開始的。

9、在C#中,bool類型只有兩種值,分別是_true和_false

10、在C#中,使用const關鍵字聲明符號常量。

三、程序設計與分析題

1.創建圖2-7所示Windows窗體應用程序,在兩個文本框中分別輸入整數值,然后單擊

“計算”按鈕,就能在標簽控件中輸出兩個整數值相加之和。

圖2-7計算兩個整數相加之和圖2-8華氏溫度轉換為攝氏溫度

2.已知將華氏溫度轉換為攝氏溫度的公式為:c=52創建圖2-8所示的Windows

9

窗體應用程序,實現將文本框內輸入的華氏溫度轉換為攝氏溫度的功能,計算結果在標

簽控件中輸出。

3.創建控制臺應用程序,在控制臺端鍵盤輸入一個半徑值,就能計算輸出圓的面積。

4.根據如下的枚舉定義,fruit.peach和fruit.strawberry的值分別是多少?

enumfruit:int

(

apple=5,apricot,banana,peach,pineapple=12,strawberry

}

答案:fruit.peach的值為8,fruit.strawberry的值為13

5.專家認為,成人血壓的正常范圍是:

收縮壓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]范圍內時?,下面的C#表達式返回值為“真”的是(D)。

(A)l<=x<=100(B)x>=l||x<=100

(C)x>l&&x<100(D)x>=l&&x<=100

2.下面的C#表達式中,描述了數學關系瘧yNz的是(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]范圍內時,下列C#表達式返回值為“真”的是(C)o

(A)(x>=l)&&(x<=10)&&(x>=200)&&(x<=210)

(B)(x>=l)||(x<=10)||(x>=200)||(x<=210)

(C)(x>=l)&&(x<=10)||(x>=200)&&(x<=210)

(D)(x>=l)||(x<=10)&&(x>=200)||(x<=210)

4.設有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.執行C#語句序列:inti;for(i=0;i++<4;);后,變量i的值是(A)°

(A)5(B)4(C)1(D)0

6.以下程序的輸出結果是_(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.以下程序的輸出結果是_C_o

usingsystem;

classExamplel

(

publicstaticvoidMainO

(

inta=5,b=4,c=6,d;

d=a>b?(a>c?a:c):b;

Console.Writeline(d);

)

)

A.5B.4C.6D.不確定

8.寫出以下程序的運行結果。

usingSystem;

classTest

(

publicstaticvoidMainO

(

intx=5;

inty=x++;

Console.WriteLine(y);

y=++x;

Console.WriteLine(y);

)

)

答案:5

7

9.if語句后面的表達式應該是(A)_0

A.邏輯表達式B.條件表達式C.算術表達式D.任意表達式

10.有如下程序Usingsystem;

ClassExample1

(

PublicStaticvoidmain()

intx=l,a=0,b=0;

switch(x)

(

case0:b++,break;

case1:a++,break;

case2:a++,b++,break;

}Console.Writeline(z,a={0},b={l}a,b);

}}的輸出結果是(C)〃代碼有誤,break前面“J都改為

A.a=2,b=lB.a=l,b=lC.a=l,b=0D.a=2,b=2

IL.有如下程序

Usingsystem;

ClassExamplel

(

PublicStaticvoidmain()

(

intx=0,a=0,b=0;

switch(x)

{

case0:b++;break;

casel:a++;

case2:a++;b++;break;

)

Console.writeline(,za={0},b={1}〃,a,b);

)

}的輸出結果是A

A.a=0,b=lB.a—1,b=1C.a—1,b=0D.a—2,b—2

12已知a,b,c的值分別是4,5,6,執行下面的程序段后,判斷變量n的值為—。(C)

if(c<b)N=a+b+c;

elseif(a+b<c)N=c-a-b;

elseN=a+b;

A.3B.-3C.9D.15

13.以下敘述正確的是_(C)__。

A.do-,while語句構成的循環不能用其他語句構成的循環來代替

B.do….while語句構成的循環只能用break語句退出

C.用do….while語句構成的循環,在while后的表達式為true時結束循環

D.用do….while語句構成的循環,在while后的表達式應為關系表達式或邏輯表達式

14.以下關于for循環的說法不正確的是_(A)_。

A.for循環只能用于循環次數已經確定的情況

B.for循環是先判定表達式,后執行循環體語句

C.for循環中,可以用break語句跳出循環體

D.for循環體語句中,可以包含多條語句,但要用花括號括起來。

15.下列代碼輸出正確的是__(D)namespaceAnswer

(

classProgram

(

staticvoidMain(string[]args)

(

intI,j;

for(i=l;i>=0;i-)

for(j=0;j<=I;j++)

Console.WriteLine(^i*j={0}n,i*j);

}}}

A.i*j=0i*j=0i*j=0

B.i*j=li*j=0i*j=l

C.i*j=li*j=li*j=0

D.i*j=0i*j=li*j=0

16.下面對i值的輸出結果說法正確的是.(A)

namespaceAnswer

(

classProgram

(

staticvoidMain(string[]args)

(

intido{i++;

}while(i<5)

Console.WriteLine(ui值的為:{0}",i)}}}

A.i的值為:5B.i的值為:6

C.i的值為:7D.i的值為:8

17)以下程序段的輸出結果是A

A1B30C1-2D死循環

intx=3;

do

{Console.WriteLine(z,{0}〃,x-=2);)

while(!(-x>=0));

18)以下程序段的輸出結果是D

A9B1C11D10

intk,j=0,s=0;

for(k=2;k<6;k=k+2)

{s=l;

for(j=k;j<6;j++)s+二j;

)

Console.WriteLine(,zs={0}s);

Console.ReadLine();

19)以下程序段的輸出結果是C

A12B15C20D25

inti,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)m++;

Console.WriteLine(/zm={0}m);

Console.ReadLine();

20)以下程序段的輸出結果是B

A10B9C10D9

9898

8787

6

intn=10;

while(n>7)

n--;Console.WriteLine(,zm={0}n);

二、Console.ReadLine();選擇填空題

1.程序設計中,一般用“邏輯與運算”表示某個數據對象的值是否在給定范圍之內,

而用“邏輯或運算”表示某個數據對象的值IO

2.C#語言中規定:在包含了if語句嵌套結構的程序中,else子句與在它前面距它最近

的且_B_if配對。

3.C#應用程序中,在一個循環結構的循環體內又包含另外一個—A—,稱為循環

的嵌套。

4.break語句是一條限定轉移語句,只能在—D—使用。

5.continue語句是一條限定轉移語句,只能在J使用。

備選項:

(A)完整的循環結構(B)尚未匹配的

(C)是否在給定范圍之內(D)switch語句結構和循環結構中

(E)完整的分支結構(F)if結構或者while結構中

(G)已經配對的(H)while結構中

(I)是否在給定范圍之外(J)循環結構的循環體中

6、設x為int型變量,請寫出描述“-10v=xv=10”的C#語言表達式:10v=x&&x<=10_o

7.若k為int整型變量且賦值15.請寫出k++后表達式的值A)_15和變量值

B)16.

8。"10〈xW30"的C語言表達式是—X>=10&&X<=30。

9.C#語言中的關系運算符按優先級分別是—<<=>>=,—

10.將下列數學式改寫成C#語言的關系表達式或邏輯表達式A)_a=b||a<c_.B)

_x<-4||x<4___.

Aa=b或a<cB|x|>4

三寫出運行結果題

1.運行以下程序段,結果是(150)

doublek,t;

t=0;

for(intn=l;n<=10;n++)

(

for(k=l;k<=5;k++)

t=t+k;

}

Console.WriteLine(t);

2.運行以下程序段,結果是(25)

usingSystem;

classSumw

(

staticvoidMain()

(

inti=l,sum=0;

while(i<=10)

(

sum+=i;

i+=2;

)

Textboxl.text="總和為:"+sum.ToStringO;

)

3.以下程序運行后,變量a的值為()

inta=100;

for(intj=10;j>0;j-=2)

a-=j*3;

4.以下程序運行后,控件textBoxl顯示內容為(10)

inti;

for(i=10;i<=20;i++)

(

if(i%5==0)

(

continue;

)

textBoxl.text+=i.ToString()+,>”;

)

5,給出下列程序的運行結果:(5050)

usingSystem

ClassDome

(

StaticvoidMainO

{intn=l,sum=0;

while(n<101)

{

sum+=n;

n++;

)

Console.WriteLine("1+2+3+…+100="+sum);

)

)

Console.ReadLineO;

6.下面代碼的輸出結果是(57)。

intx=5;

inty=x++;

Console.WriteLine(y);

y=++x;

Console.WriteLine(y);

7.當month等于6時,下面代碼的輸出結果是(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,下面代碼的輸出結果是(報警)

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.若打印如下圖案,畫線處應填入()。

****

***

**

*

for(inti=1;i<=5;i++)

(

for(intj=____;j<=5;j++)

(

Console.Write(/z*/z);

)

三、程序設計題

1.創建圖3-20所示Windows窗體應用程序,程序運行時,在“年份”文本框中輸入一

個正整數,單擊“判斷”按鈕,就能在標簽控件中顯示判斷結果;單擊“退出”按

鈕則結束程序運行。(閏年的計算規則請自行上網查閱)

圖3-20判斷閏年圖3-21輸出星號組成的圖案

2.創建控制臺應用程序,輸入一個正整數之后,輸出圖3-21所示圖案。最頂部一行的

星號個數為輸入的數。

3.創建控制臺應用程序,利用下面多項式公式計算出口值,要求最后一項的值小于10%

£.>1-1+-!___!-

4=13+57+4"-34/1-1

4.創建控制臺應用程序,利用下面的公式計算e的近似值,要求最后一項的值小于10為。

5.已知兩個3位數abc和cba之和為1333(即abc+cba=1333),編寫控制臺應用程序,

求出3個數字a、b和c。

6.創建控制臺應用程序,求解猴子吃桃問題:猴子第一天摘下桃子若干,當即吃了一半

后又多吃了一個;第二天又將剩下的桃子吃掉一半后再多吃一個;以后每天都吃掉前

一天剩下的一半零一個。到第10天想再吃時,只剩下一個桃子。求猴子第一天共摘

下多少個桃子。

7.馬克思曾經做過這樣一道趣味數學題:有30個人在一家小飯館用餐,其中每個男人

花了3先令,每個女人花了2先令,每個孩子花了1先令,總共花了50先令。問男人、

女人和孩子各有多少人?本題有多個解,編寫控制臺應用程序求出所有的解。

8.體操比賽的評分規則是:由7位裁判為每個運動員打分,去掉一個最高分,去掉一個

最低分,求出的平均分即為運動員的得分。編寫控制臺應用程序,計算運動員得分。

9.所謂“水仙花數”,指的就是這樣一個三位數:其各位數的立方和等于該數。例如:

153=13+53+33<,編寫控制臺應用程序,計算輸出所有的水仙花數。

10.所謂“完備數”,指的就是這樣一個數:該數的值恰好等于它的因子之和。例如,6

的因子為1、2、3,而6=1+2+3,因而6就是完備數。編寫控制臺應用程序,找出1-1000

之間的所有完備數。

11.編寫程序,求解以下問題:

(1)在窗體上輸出100?500之間的所有奇數,并計算它們的和。

(2)在窗體上輸出100?200之間不能被3整數的所有數。

(3)統計1?1000之內既能被5整除,也能被7整除的數的個數,并輸出在窗體上。

(4)從300開始,找出連續100個既能被3整數又能被5整除的數。

(5)計算s=l!+2!+3!+…+n!(其中n是用戶輸入的正整數)。

(6)計算出不大于1000的10個最大的素數。

習題3.43.5

一、單項選擇題

1.下面所列選項中,能夠正確定義具有10個數據元素一維整型數組a的是(A)。

(A)int[]a=newint[10];(B)inta[10];

(C)int[]a=int[10];(D)int[]a=int(10);

2.下面所列選項中,不能正確定義并初始化一維數組b的是(D)o

(A)double口b=newdouble[5]{1,2,3,4,5};

(B)double[]b=newdoublet]{1,2,3,4,5};

(C)double[]b={1,2,3,4,5};

(D)double[]b=new{1,2,3,4,5);

3.始化一維數組的語句,指出其中正確的是—O(D)

A.intarrl[]={6,5,1,2,3);

B.int[]arrl二newint[];

C.int[]arrl=newint[]{6,5,1,2,3};

D.int[]arrl;arrl={6,5,1,2,3};

4.下面所列選項中,能夠正確定義2行3列二維整型數組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.下面所列選項中,不能正確定義并初始化二維數組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.設有C#數組定義語句:int[]a=newint[5];對數組a元素的正確引用是(B)

(A)a[5](B)a[100-100](C)a(0)(D)a+1

6.設有C#數組定義語句序列:double[]myArr;myArr=newdouble[10];數組

元素myArr[5]的值為(A)

(A)0(B)'O'(C)null(D)隨機值

7.有定義語句:int[,]a=newint[5,6];則下列正確的數組元素的引用是—。(C)

A.a(3,4)B.a(3)(4)C.a[3][4]D.a[3,4]

8.設有C#數組定義語句:float[,]a=newfloat[5,5];對數組a元素的正確

引用是(D)。

(A)a[3][2](B)a[4,5](C)a[5,0](D)a[0,0]

9.在C#語言中,表示數組長度屬性的關鍵字是(D)o

(A)Len(B)Size(C)Long(D)Length

10.在C#語言中,數組Array實現一維數組由小到大排序的靜態方法是(A)。

(A)Array.Sort(B)Array.Reverse(C)Array.Long(D)Array.Order

12.在C#語言中,Array實現數組逆排序的靜態方法Array.Reverse的意思是(D)。

(A)實現一維數組由小到大排序(B)實現一維數組由大到小排序

(C)實現二維數組反向排序(D)實現一維數組反向排序

13.在C#中,下列哪條語句能創建一個具有3個初始值為〃〃的元素的字符串數組?(C)

A.stringStrList[3]("〃);

B.string[3]StrList=

C.string[]StrList=

D.string[]StrList=newstring[3];

14.假定int類型變量占用兩個字節,若有定義:int[]x=new

int[10]{0,2,4,4,5,6,7,8,9,10};

則數組x在內存中所占字節數是—(B)。

A.6B.20C.40D.80

15.以下程序的輸出結果是:(C)ClassExamplel

PublicStaticvoidmain()

inti;

int[]a=newint[10];

for(i=9;i>=0;i--)a[i]=10-i;

Console.Writeline('{0},{1},{2}<z?a[2],a[5],a[8]);

})

A.2,5,8B.7,4,1

C.8,5,2D.3,6,9

16.下列的數組定義語句,正確的是一。(D)

A.inta[]=newint[5]{1,2,3,4,

溫馨提示

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

最新文檔

評論

0/150

提交評論