C#練習(xí)題及答案_第1頁(yè)
C#練習(xí)題及答案_第2頁(yè)
C#練習(xí)題及答案_第3頁(yè)
C#練習(xí)題及答案_第4頁(yè)
C#練習(xí)題及答案_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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)介

第1章

選擇題

1.關(guān)于C#程序的書(shū)寫(xiě),下列不正確的說(shuō)法是【D】。

A)區(qū)分大小寫(xiě)

B)一行可以寫(xiě)多條語(yǔ)句

C)一條語(yǔ)句可以寫(xiě)成多行

D)一個(gè)類(lèi)中只能有一個(gè)Main()方法,因此多個(gè)類(lèi)中可以有多個(gè)Main()方法。

2.C#應(yīng)用程序項(xiàng)目文件的擴(kuò)展名是【A】。

A)csprojB)csC)sinD)suo

3.運(yùn)行C#程序可以通過(guò)按【A】鍵實(shí)現(xiàn)。

A)F5B)Alt+F5C)Ctrl+F5D)Alt+Ctrl+F5

4.公共語(yǔ)言運(yùn)行庫(kù)可簡(jiǎn)寫(xiě)為(C)o

A)MSILB)JITC)CLRD)MSDN

5.NET編程語(yǔ)言不包括下面哪種語(yǔ)言?(D)

A)VisualBasicB)VisualC++C)VisualC#D)JAVA

第2章

選擇題

1.在C#語(yǔ)言中,下列能夠作為變量名的是【C

A)ifB)3abC)a_3bD)a-bc

2.在C#語(yǔ)言中,轉(zhuǎn)義字符不可以表示[B]o

A)任何字符B)字符串C)字母D)小數(shù)點(diǎn)

3.表達(dá)式5/2+5%2-1的值是【B】。

A)4B)2C)2.5D)3.5

4.下列數(shù)值類(lèi)型的數(shù)據(jù)精度最高的是【C】。

A)intB)floatC)decimalD)ulong

5.在C#語(yǔ)言中,下面的運(yùn)算符中,優(yōu)先級(jí)最高的是【B

A)%B)++C)*=D)>

6.能正確表示邏輯關(guān)系“210或a<0”的C#語(yǔ)言表達(dá)式是【DJo

A)a>=10ora<=0B)a>=10|a<=0

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

7.以下程序的輸出結(jié)果是【C】。

usingSystem;

classProgram

publicstaticvoidMain(string[]args)

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

Console.WriteLine(^{0}^,d=a>b?(a>c?a:c):b);

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

8.要使用變量score來(lái)存儲(chǔ)學(xué)生某一門(mén)課程的成績(jī)(百分制,可能出現(xiàn)小數(shù)部分),則最好

將其定義為[C]類(lèi)型的變量。

A)intB)decimalC)floatD)double

9.已定義下列變量:

intn;floatf;doubledf;

df=10;n=2;

下列語(yǔ)句正確的是[C]o

A)f=12.3;B)n=df;C)df=n=100;D)f=df;

10.下列表達(dá)式或語(yǔ)句中,有語(yǔ)法錯(cuò)誤的是【AL

A)n=12%3.0;(n為int型)B)12/3.0

C)12/3D)匕,b'

11.下面有關(guān)變量和常量的說(shuō)法,正確的是【B]o

A)在程序運(yùn)行過(guò)程中,變量的值是不能改變的,而常量是可以改變的

B)常量定義必須使用關(guān)鍵字const

C)在給常量賦值的表達(dá)式中不能出現(xiàn)變量

D)常量在內(nèi)存中的存儲(chǔ)單元是固定的,變量則是變動(dòng)的

12、下列類(lèi)型轉(zhuǎn)換中正確的是[A]

(A)inti='A'(B)longL=l.lf(C)inti=(float)l.l(D)inti=l.l

13、以下選項(xiàng)中,合法的賦值語(yǔ)句是(B)

(A)inta==l(B)inti=l;intj=i++;

(C)inta=a+1=2;(D)inti=int(j);

14、下列運(yùn)算符中屬于關(guān)系運(yùn)算符的是(A)

(A)==(B)=(C)+=(D)-=

15、閱讀下面的程序,程序的運(yùn)行結(jié)果為(C)

inta=10,b=4,c=20,d=6;

label1.Text=a++*b+c*-d;

(A)144(B)160(C)140(D)164

16、閱讀下面的程序,程序的運(yùn)行結(jié)果為(B)

intx=3,y=4,z=5;

Strings="xyz"

label1.Text=s+x+y+z;

(A)xyzl2(B)xyz345(C)xyzxyz(D)12xyz

17、閱讀下面的程序,程序的運(yùn)行結(jié)果為(B)

inti=10,j=3;

floatm=213.5f,n=4.0f;

label1.Text=i%j+,w,;

label2.Text=m%n+W,;

(A)1.0和1.5(B)l和1.5(C)1.0和2.5(D)1和2.5

二、程序改錯(cuò)題

1、在編寫(xiě)貪吃蛇游戲中,使用變量輸出貪吃蛇游戲當(dāng)前的狀態(tài)、運(yùn)行速度、得分,參

考程序如下,但該程序還存在一些錯(cuò)誤,請(qǐng)調(diào)試改正。

privatevoidbuttonl_Click(objectsender,I'ventArgse)

(

intspeed=0;

constintscore=0;

Stringstatus—”;

label1.text="游戲正在進(jìn)行...../n";

4-ftt^-speed二0;

?Hrt-score=30;

wfe-status="正常運(yùn)行";

label1.Text=label1.Text+”當(dāng)前速度:"+speed+"像素/秒”;

label1.Text+=label1.Text+”當(dāng)前得分:〃+score+"分”;

label1.Text+=labell.Text+”當(dāng)前狀態(tài):“士status;

}

2、模擬連連看游戲判斷是否打破記錄的程序,參考程序如下,但該程序還存在一些錯(cuò)誤,

請(qǐng)調(diào)試改正。

privatevoidbuttonl_Click(objectsender,HvcnlArgse)

inta=立32々〃代表原紀(jì)錄

intb=。101上;〃代表新紀(jì)錄

intc=(aXb):上“打破記錄";未打破記錄〃;

labell.Text="原記錄:"+a+"\/n”;

label1.Text+="新記錄:\/n"+b+"\/n”;

labell.Text+=〃當(dāng)前結(jié)構(gòu):\4"+。+"'4”;

第3章

選擇題

1.在C#語(yǔ)言中,if語(yǔ)句后面的表達(dá)式應(yīng)該是【B

A)邏輯表達(dá)式B)條件表達(dá)式

C)關(guān)系表達(dá)式D)布爾類(lèi)型的表達(dá)式

2.在C#語(yǔ)言中,if語(yǔ)句后面的表達(dá)式,不能是【BJo

A)邏輯表達(dá)式B)算數(shù)表達(dá)式

C)關(guān)系表達(dá)式D)布爾類(lèi)型的表達(dá)式

3.在C#語(yǔ)言中,switch語(yǔ)句用【A】來(lái)處理不匹配case語(yǔ)句的值。

A)defaultB)anyelse

C)breakD)goto

4.下列程序的輸出結(jié)果是【C

usingSystem;

classProgram

{publicstaticvoidMain(string[Jargs)

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

switch(x)

{case0:b++;break;

case1:a++;break;

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

)

Console.WriteLine(ua={0},b={1}?,,a,b);

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

5.以下敘述正確的是【DJo

A)do……while語(yǔ)句構(gòu)成的循環(huán)不能用其他語(yǔ)句構(gòu)成的循環(huán)來(lái)代替

B)do....while語(yǔ)句構(gòu)成的循環(huán)只能用break語(yǔ)句結(jié)束循環(huán)

C)用do.......while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式為true時(shí)結(jié)束循環(huán)

D)用do……while語(yǔ)句構(gòu)成的循環(huán),在while后的表達(dá)式應(yīng)為關(guān)系表達(dá)式或邏輯表達(dá)式

6.以下關(guān)于for循環(huán)的說(shuō)法不正確的是[A]o

A)for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

B)for循環(huán)是先判定表達(dá)式,后執(zhí)行循環(huán)體

C)在for循環(huán)中,可以用break語(yǔ)句跳出循環(huán)體

D)for循環(huán)體語(yǔ)句中,可以包含多條語(yǔ)句,但要用花括號(hào)括起來(lái)

7.以下關(guān)于if語(yǔ)句和switch語(yǔ)句的說(shuō)法,正確的【CD

A)如果在if語(yǔ)句和switch語(yǔ)句中嵌入break語(yǔ)句,則在程序執(zhí)行過(guò)程中,一旦執(zhí)行到

break語(yǔ)句,就會(huì)結(jié)束相應(yīng)的執(zhí)行,轉(zhuǎn)向執(zhí)行其后面的語(yǔ)句

B)凡是能夠使用if語(yǔ)句的地方就可以使用switch語(yǔ)句,反之亦然

C)if語(yǔ)句有3種基本形式:if…、if…else…和if…elseif…else…

D)if語(yǔ)句是實(shí)現(xiàn)“單判斷二分支”的選擇結(jié)構(gòu),switch語(yǔ)句是實(shí)現(xiàn)“單判斷多分支”的

選擇結(jié)構(gòu)。

8.以下關(guān)于for循環(huán)的說(shuō)法,不正確的是[C],

A)for語(yǔ)句中的3個(gè)表達(dá)式都可以省略

B)for語(yǔ)句中的3個(gè)表達(dá)式中,若第2個(gè)表達(dá)式的值為true,則執(zhí)行循環(huán)體中的語(yǔ)句,

直到第3個(gè)表達(dá)式的返回值為false

C)for語(yǔ)句中的3個(gè)表達(dá)式中,第2個(gè)表達(dá)式必須是布爾類(lèi)型的表達(dá)式,其他兩個(gè)可以

是任意類(lèi)型的表達(dá)式。

D)for語(yǔ)句中的3個(gè)表達(dá)式中,第1個(gè)表達(dá)式執(zhí)行且僅執(zhí)行一次;每當(dāng)循環(huán)體語(yǔ)句被執(zhí)

行后,第3個(gè)表達(dá)式都跟著被執(zhí)行一次。

9.C#提供的4種跳轉(zhuǎn)語(yǔ)句中,不推薦使用的是【D】。

A)returnB)breakC)continueD)goto

10執(zhí)行下列語(yǔ)句序列后,i和j的值分別是[C]

inti=3,j=5;

if(i-l>j)i—;elsej-;

A)2,4B)2,5C)3,4D)3,5

11下列語(yǔ)句序列執(zhí)行后,j的值是[B]

intj=5,i=6;

while(i->3)-J;

A)1B)2C)3D)4

12以下for循環(huán)的執(zhí)行次數(shù)是[B]

for(inti=1;(i==1)&(i>2);i++)

A)無(wú)限次B)一次也不執(zhí)行C)執(zhí)行1次D)執(zhí)行2次

13以下由do-while語(yǔ)句構(gòu)成的循環(huán)執(zhí)行次數(shù)是[C]

intm=l;

do{++m}while(m<1);

A)有語(yǔ)法錯(cuò)誤,不能執(zhí)行B)一次也不執(zhí)行C)執(zhí)行1次D)執(zhí)行2次

--改錯(cuò)題

1、根據(jù)消費(fèi)總額進(jìn)行打折,消費(fèi)總額在100元以上(含100元)時(shí)打7折,90元以上(含

90元)100元以下時(shí)打8折,50元以上(含50元)90元以下時(shí)打9折,50元以下的不打

折。參考程序如下,但是該參考程序有錯(cuò)誤,請(qǐng)調(diào)試并改正。

privatevoidbuttonl_Click(objectsender,EventArgse)

(

inttotalAmount=int.Parse(textBoxl.Text);〃消費(fèi)總額

if(totalAmount<0)

(

label1.Text="輸入有誤!

}

Elseif(totalAmount>三100)

(

label1.Text="打7折";

)

Elseif(totalAmount>90)

(

label1.Text="打8折";

)

E1seif(tota1Amount>50)

(

label1.Text="打9折";

)

ElsAHKHIR屯…〉50)

label1.Text="不打折";

)

)

2、從鍵盤(pán)輸入2012年的某一月份,打印出該月份的天數(shù)?參考程序如下,該參考程序還

存在一定的錯(cuò)誤,請(qǐng)調(diào)試改正。

privatevoidbuttonl_Click(objectsender,EventArgse)

(

intday;

intmonth=int.Parse(textBoxl.Text);〃月份

switch(month)

(

case1;

case3;

case5;

case7;

case8;

case10;

case12:」

day=31;

break;

case4;

case6;

case9;

case11:

day=30;

break;

default:

day=-l;

break;

)

if(day==-l)

{

label1.Text="無(wú)效輸入";

)

else

(

label1.Text=”2012年"+month+"月的共有"+day+"天”;

)

}

3、利用for循環(huán)打印出以下格式的內(nèi)容,參考程序如下,但該參考程序有一定的錯(cuò)誤,請(qǐng)

調(diào)試改正。

****

privatevoidbuttonl_Click(objectsender,I'vcntArgse)

for(inti==5;i〉0;i-)〃打印列

for(intj-=0;j<i;j++);〃打印行并控制每行的*數(shù)量

(

labell.Text+="**"

}

label1.Tcxt+="\n"

第4章

選擇題

1.下面哪個(gè)語(yǔ)句是創(chuàng)建數(shù)組的正確語(yǔ)句【c

A)floatf[]=newfloat[6]B)floatf[6]=newfloat[6J

C)float[]f=newfloat[6]D)floatf=newfloat[6]

2.已知表達(dá)式int[]m={0,1,2,3,4,5,6},下面哪個(gè)表達(dá)式的值與數(shù)組的下標(biāo)量總數(shù)相等[B]

A)m.Length()B)m.Length

C)m.Length-1D)m.Length()-l

3.數(shù)組中各個(gè)元素的數(shù)據(jù)類(lèi)型是[A]o

A)相同的B)不同的

C)部分相同的D)任意的

4.語(yǔ)句int[Ja=newint[12]定義了幾個(gè)數(shù)組元素[A]..

A)12B)13

C)11D)0

改錯(cuò)題

1、編寫(xiě)用數(shù)組保存某個(gè)學(xué)生的三門(mén)課程的成績(jī)的程序,參考程序如下,但該參考程序有一

些錯(cuò)誤,請(qǐng)調(diào)試改正。

privatevoidbuttonlClick(objectsender,EventArgse)

{

Int[]score-H-=newint[3];

score[1]=90;

score[2]=80;

score[30]=70;

for(inti=0;i<=3;i++)

labell.Text=labell.Text+"成績(jī)"+(i+l)+":"+score[i];

}

第五章

選擇題

1.下列的()不是構(gòu)造函數(shù)的特征【DL

A)構(gòu)造函數(shù)的函數(shù)名和類(lèi)名相同B)構(gòu)造函數(shù)可以重載

C)構(gòu)造函數(shù)可以帶有參數(shù)D)可以指定構(gòu)造函數(shù)的返回值類(lèi)型

2.己知類(lèi)MyClass定義如下:

classMyClass

(

intal=l;

privateinta2=2;

protectedinta3=3;

publicinta4=4;

)

obj是MyClass的一個(gè)對(duì)象,則下列哪條語(yǔ)句是正確的?(D)

A)obj.a1=2;B)obj.a2=2;3

C)obj.a3=2;D)obj.a4=2;

3.已知類(lèi)MyClass定義如下:

classMyClass

(

staticintal=l;//沒(méi)指定默認(rèn)是私有的

protectedinta3=3;

staticpublicinta4=4;

)

obj是MyClass的一個(gè)對(duì)象,則下列哪條語(yǔ)句是正確的【DI

A)obj.al=2;B)obj.a4=2;

C)MyClass.a1=2;D)MyClass.a4=2;

4.分析下列程序

classClassi

(

ushortu1;

publicClassi(ushortu)

(

this.ul=u;

)

)

則以下哪條語(yǔ)句能夠正確創(chuàng)建對(duì)象?[A]?

A)Classicl=newClassl('u');B)Classicl=newClassl(Huu);

C)Classicl=newClass1();D)Classicl=newClassi(5.7);

5.分析下列程序

classClassi

□shortu1;

publicClassl(ushortu)

(

this.ul=u;

)

則以下哪條語(yǔ)句能夠正確創(chuàng)建對(duì)象?[A]o

A)Classicl=newClassl('u');B)Classicl=newClassl("u");

C)Classicl=newClass1();D)Classic1=newClassl(5.7);

6.分析下列程序

publicclassPeople

(

intage=8;

publicintAge

(

get{returnage:)〃只讀不可寫(xiě)

)

)

則調(diào)用下列語(yǔ)句,輸出的是?【C1

Peoplep=newPeople();

Console.Write(p.Age++);

A)8B)9

C)編譯錯(cuò)誤D)0

7.要使一個(gè)類(lèi)能被同一命名空間中的其他類(lèi)訪問(wèn),但不能被這個(gè)命名空間以外的類(lèi)訪問(wèn),

該類(lèi)可以【A

A)不使用任何修飾符

B)使用private修飾符

C)使用const關(guān)鍵字

D)使用protected修飾符

8.類(lèi)的字段和方法的默認(rèn)訪問(wèn)修飾符是【B

A)publicB)privateC)protectedD)internal

9.下列關(guān)于構(gòu)造函數(shù)的描述中,【A1是正確的。

A)構(gòu)造函數(shù)名必須與類(lèi)名相同B)構(gòu)造函數(shù)不可以重載

C)構(gòu)造函數(shù)不能帶參數(shù)D)構(gòu)造函數(shù)可以聲明返回類(lèi)型

10.C#中的TestClass為一自定義類(lèi),其中有如下屬性定義:

publicvoidProperty)........}

使用以下語(yǔ)句創(chuàng)建了該類(lèi)的對(duì)象,并讓變量。bj引用該對(duì)象。

TestClassobj=newTestClass();

那么,可通過(guò)【B】方式訪問(wèn)類(lèi)TestClass的Property屬性。

A)MyClass.PropertyB)obj.Property

C)TestClass.PropertyD)obj.PropertyO

11.調(diào)用重載方法時(shí),系統(tǒng)根據(jù)[B]來(lái)選擇具體的方法。

A)方法名B)參數(shù)的個(gè)數(shù)和類(lèi)型

C)參數(shù)名及參數(shù)個(gè)數(shù)D)方法的返回值類(lèi)型

12.下列的【D]不是構(gòu)造函數(shù)的特征。

A)構(gòu)造函數(shù)的函數(shù)名與類(lèi)名系統(tǒng)B)構(gòu)造函數(shù)可以重載

C)構(gòu)造函數(shù)可以帶有參數(shù)D)可以指定構(gòu)造函數(shù)的返回值類(lèi)型

13.類(lèi)ClassA有一個(gè)名為Ml的方法,在程序中有如下一段代碼,假設(shè)該段代碼是可以執(zhí)

行的,則聲明Ml方法時(shí)一定使用了【B】修飾符。

ClassAAobj=newClassA();

ClassA.Ml();

A)publicB)staticC)privateD)virtual

14.已知類(lèi)B是由類(lèi)A繼承而來(lái),類(lèi)A中有一個(gè)名為M的非虛方法,現(xiàn)在希望在類(lèi)B中

也定義一個(gè)名為M的方法,且兩方法的參數(shù)個(gè)數(shù)和類(lèi)型完全相同,若希望編譯時(shí)不出現(xiàn)

警告信息,則在類(lèi)B中聲明該方法時(shí),應(yīng)使用【B1關(guān)鍵字。

A)staticB)newC)overrideD)virtual

15.下列關(guān)于類(lèi)的定義,錯(cuò)誤的是【D

A)classAB)classA

{VOidf(){}{voidf(){}

1i.

/h

C)classAB)classA

{privatevoidf(){return;}{f(){}

16.在類(lèi)A中試圖重載構(gòu)造函數(shù),并使用構(gòu)造函數(shù)創(chuàng)建對(duì)象:

classA

{A(){}〃語(yǔ)句1

publicvoidA(intx){}//語(yǔ)句2//不可以指定構(gòu)造函數(shù)的返

回值類(lèi)型

publicA(intx,inty){}〃語(yǔ)句3

classprogram

{staticvoidMain(string[]args)

{Aa=newA();//語(yǔ)句4

Ab=newA(100,200);//語(yǔ)句5

其中,正確的語(yǔ)句包括【B

A)語(yǔ)句2和語(yǔ)句4B)語(yǔ)句1、語(yǔ)句3和語(yǔ)句5

C)語(yǔ)句1、語(yǔ)句2和語(yǔ)句3D)語(yǔ)句4和語(yǔ)句5

17.假設(shè)類(lèi)B繼承了類(lèi)A,下列說(shuō)法錯(cuò)誤的是【C],>

A)類(lèi)B中的成員可以訪問(wèn)類(lèi)A中的公有成員

B)類(lèi)B中的成員可以訪問(wèn)類(lèi)A中的保護(hù)成員

C)類(lèi)

溫馨提示

  • 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)論