暑假第二次C#考試 試題(1-6)

一、二、三題直接作答,其他題寫在紙上上傳到釘釘。
一、單項(xiàng)選擇題(共30題,每題1分,共30分)
您的姓名:
1.以下哪種是C#源代碼文件的擴(kuò)展名?( )
2.下列關(guān)于C#和.NET關(guān)系的描述,正確的是( )
3.下列關(guān)于冒泡排序算法的描述,正確的是( )
4.下列關(guān)于數(shù)據(jù)類型的字節(jié)大小描述,正確的是( )。
5.下列關(guān)于值類型和引用類型的說法,正確的是()
6.在 C#中,有一個(gè)變量int num1 =10;,想要將它轉(zhuǎn)換為double類型并存儲(chǔ)到變量 num2 中,以下哪種方法是正確的?()
7.對(duì)于表達(dá)式“!(7<8)?9:10+(2*3)-4/2”,在C#中按照運(yùn)算符優(yōu)先級(jí)計(jì)算,結(jié)果是( )。
8.C#中的邏輯與運(yùn)算符是( )。
9、在C#中,以下哪種表達(dá)式用于判斷一個(gè)變量是否在某個(gè)區(qū)間內(nèi)(假設(shè)變量為x,區(qū)間為[a,b])?( )
10.在C#中,表達(dá)式3+4*2 % 3 + Math.Sqrt(16)/2的計(jì)算結(jié)果是( )。
11.以下C#代碼的輸出結(jié)果是( )。
int x =,3;
int y=(x--)+(x--);
Console.WriteLine(y);
12.在C#中,對(duì)于代碼int num = 8; int result = num << 3;,變量result 的值是()。
13.以下C#代碼的輸出結(jié)果是()。

int a = 5;

 a += 3;

int c,b;

c=b = a *= 2;

Console.WriteLine(c);

14.在C#控制臺(tái)應(yīng)用程序中,有如下代碼:

class Program

{

static void Main(){

Console.Write("請(qǐng)輸入一個(gè)整數(shù):"); string input = Console.ReadLine();

int number = int.Parse(input);

Console.WriteLine("你輸人的整數(shù)乘以2的結(jié)果是:"+ (number * 2));

}

}

如果用戶在控制臺(tái)輸入7,以下()是控制臺(tái)的輸出內(nèi)容。 

15.在C#中,有如下代碼:

 class Program

{

static void Main()

{

  int  a =5;

  int b= 10;

  if (a == b)

  Console.WriteLine("Equal");

  Console.WriteLine("Not Equal");

}

}

上述代碼的輸出結(jié)果是()。

16.以下哪種數(shù)據(jù)類型不能直接用于C#的switch語(yǔ)句(不考慮特殊處理情況)()

17.在C#中,switch語(yǔ)句的case塊中如果沒有break語(yǔ)句,會(huì)發(fā)生什么情況?() 

18.在C#中,以下哪種循環(huán)結(jié)構(gòu)先執(zhí)行循環(huán)體再判斷條件?()

19.在 for循環(huán)中,以下哪個(gè)表達(dá)式用于控制循環(huán)的迭代次數(shù)?()

20.當(dāng)執(zhí)行到break語(yǔ)句時(shí),會(huì)發(fā)生什么?(    )

21.以下 for循環(huán)代碼:

for (int i=0;i<5;i++){

if (i == 3)

break;

}

循環(huán)執(zhí)行了()。


22.對(duì)于while循環(huán)while (false) { Console.WriteLine("Hello"); },以下說法正確的是( )。
23.對(duì)于以下代碼片段:

int num = 1;

do

{

if (num == 2)

break;

Console.WriteLine(num); num++;

} while (num <= 3);

輸出結(jié)果為(   )

24.在C#的循環(huán)中,continue語(yǔ)句的作用是( )。
25.在C# Windows窗體應(yīng)用程序中,若要顯示一個(gè)可編輯的文本框,允許用戶輸人多行文本,應(yīng)使用以下哪種控件?( )
26.在C#的Windows Forms應(yīng)用程序中,對(duì)于ListBox控件,以下哪個(gè)屬性用于獲取或設(shè)置當(dāng)前選定項(xiàng)的索引?()
27.在C#中,若要彈出一個(gè)模態(tài)對(duì)話框,用于顯示簡(jiǎn)單的消息并等待用戶點(diǎn)擊“確定按鈕后程序才繼續(xù)執(zhí)行,應(yīng)使用以下哪種對(duì)話框類?( )
28.若在 C#中,有一個(gè)整數(shù)數(shù)組int[]numbers ={ 5, 2, 8, 1, 9, 3, 7,4,6),若要對(duì)該數(shù)組進(jìn)行升序排序并在排序后查找值為6的元素索引,以下哪種方式最為合適?( )
29.在C#中,以下關(guān)于類和對(duì)象的關(guān)系描述,正確的是( )。
30.在C#中,以下哪種類型轉(zhuǎn)換是安全的,且不需要顯式轉(zhuǎn)換?()

1.在C#中,定義一個(gè)整數(shù)變量age的語(yǔ)句是_____age;.

2.在C#中,if語(yǔ)句的條件表達(dá)式必須返回________類型的值。

3.在C#中,while循環(huán)的條件判斷在___________(填“循環(huán)體執(zhí)行前”或“循環(huán)體執(zhí)行后”)進(jìn)行。

35.

4.在C#中,使用break 語(yǔ)句可以跳出___________或_______語(yǔ)句。

5.C#中,一個(gè)類的構(gòu)造函數(shù)名稱與_______相同。

6.類的成員變量如果使用private修飾符,其訪問權(quán)限是_________(填“類內(nèi)部”或“任何地方”)。

7.在C#中,使用____可以實(shí)現(xiàn)類的繼承。

8.子類如果重寫父類的方法,需要使用_______________關(guān)鍵字。

9.聲明一個(gè)包含5個(gè)整數(shù)的數(shù)組nums的語(yǔ)句是int[] nums =___;

10.List<T> 的_______方法用于在指定位置插入一個(gè)元素。

1.在C#中,變量必須在聲明時(shí)初始化。

2.if語(yǔ)句中的條件表達(dá)式可以是任何數(shù)據(jù)類型。

3.while循環(huán)和do- while循環(huán)的執(zhí)行順序完全相同。

4.一個(gè)C#類中只能有一個(gè)構(gòu)造函數(shù)。

5.在C#中,string類型是引用類型。

6.一個(gè)類可以同時(shí)繼承多個(gè)類。

7.List<T>集合中的元素類型必須相同。

8.C#中的局部變量如果沒有初始化就使用會(huì)報(bào)錯(cuò)。

9.在C#中,靜態(tài)構(gòu)造函數(shù)只會(huì)被執(zhí)行一次,用于初始化類的靜態(tài)成員。

10.在C#中,this關(guān)鍵字可以在靜態(tài)方法中使用。

四、程序分析題(共5題,每題4分,共20分)

1.寫出如下程序的運(yùn)行結(jié)果:___

class Program

{

static void Main()

{

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

{

for (int j = 1; j <= i; j++)

{

Console.Write("*");

}

Console.WriteLine();

}

}

}

2.寫出如下程序的運(yùn)行結(jié)果:

 class Program

{

static void Main()

{

int n = 5;

int factorial=1;

 int i= 1;

do

{

factorial *= i;

 i++;

} while (i <= n);

Console.WriteLine("{0}的階乘是{1)",n,factorial);

}

3.寫出如下程序的運(yùn)行結(jié)果:

class Program

{

static void Main()

{

string str = "Hello";

string result = "";

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

{

result += str;

}

Console.WriteLine(result);

}

}

4.寫出如下程序的運(yùn)行結(jié)果:________。

 class Program

{

static void Main()

{

stringBuilders = new StringBuilder();

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

{

for (int j= 1; j<=i;j++)

{s.Append(i);}

s.Append("");

}

Console.WriteLine(s.ToString());

}

}

5.寫出如下程序的運(yùn)行結(jié)果:

class Program

{

static void Main()

{

int size = 5;

for (int i = 0; i < size;i++)

{

for (int j= 0; j< size - i; j++)

{

Console,Write("");

}

for (int k = 0; k<= i; k++)

{

Console.Write("* ");

}

Console.WriteLine();

}

}

}

五、程序填空題(共2題,每題10分,共20分)

1.編程輸出第二個(gè)水仙花數(shù),并計(jì)算所有水仙花數(shù)的平均值。

int bw,sw,gw,s = 0,n=0;

for (int i= 100; i<=999; i++)

{

bw =i/ 100;

sw=i/ 10 % 10;

gw = i % 10;

if(___________________)

{

s=s+i;

n++;

if(n==2)Console.writeLine("第二個(gè)水仙花數(shù)是:{θ}",i);

}

}

Console.WriteLine("所有水仙花數(shù)平均值為:"+____________);

2.編程計(jì)算s=

double s = 0,fz = 1,fm =1,k=1;

for (int i = 1,j=2; i <= 9; i++,j++)

fz =_______________________;

fm = fm *j;

s =s +_____________;

 k =_____________________;

}

Console.WriteLine(s);

六、程序改錯(cuò)題(共2題,每題5分,共10分)

1.觀察如下程序,修改錯(cuò)誤語(yǔ)句。

class Program

{

static void Main()

{

string str = "Hello";

if (str.Length = 5)

{

Console.WriteLine("Length is 5");

    }

Else

{

Console.WriteLine("Length is not 5");

    }

}

}

2.找出數(shù)組中重復(fù)的元素并將重復(fù)元素輸出到控制臺(tái)。

class Program

{

static void Main()

{

int[] array ={ 1,2,2,3,4,4};

 for (int i = 0; i < array.Length; i++)

{

for (int j= i; j < array.Length; j++)

{

if (array[i] == array[j])

{

Console.WriteLine(array[i]);}}

}

}

}

}

更多問卷 復(fù)制此問卷