當前位置:學問谷 >

職場範例 >面試 >

java面試題分析

java面試題分析

1 定義一個名為a的單精度實型一維數組,長度為4,所有元素的初值均為0的數定義語句是________________

java面試題分析

【分析】按照一般數據定義語句的格式,可以直接寫出方法一(參看答案);考慮到所有元素均賦初值時可以省略數組長度,可以寫出方法二(參看答案);考慮到不省略數組長度,給部分元素賦初值時,所有未賦初值的元素均有空值(對數值型數組來説,初值為0),可以寫出方法三(參看答案);考慮到選用靜態型,不賦初值所有元素也自動賦予。空值(對數值型數組來説,初值為0),可以寫出方法四(參看答案)。

【答案】方法一:float a[4]={0.0,0.0,0.0,0.0};

方法二:float a[]={ 0.0,0.0,0.0,0.0};

方法三:float a[4]= {0.0};

方法四: static float [4];

2 下列數組定義語句中,錯誤的是()

① char x[1]=a; ②auto char x[1]={0};

③ static char x[l]; ④ char x[l];

【分析】顯然答案①中給字符型數組賦初值的格式不對(不能直接賦予字符常量,必須用花括號括住),所以備選答案①是符合題意的答案。

【答案】 ①

3 用"冒泡排序法"對n個數據排序,需要進行n一1 步。其中第k步的任務是:自下而上,相鄰兩數比較,小者調上;該操作反覆執行n-k次。現在假設有4個數據:4、l、3、2要排序,假定4為上、2為下,則利用"冒泡排序法"執行第2步後的結果是_________________。

【分析】開始排序前的排列執行第1步後的排列執行第2步後的排列

4 1 1

1 4 2

3 2 4

2 3 3

【答案】 l、2、4、3

4 用"選擇排序法"對n個數據排序,需要進行n-1步。其中第k步的任務是:在第k個數據到第n個數據中尋找最小數,和第k個數據交換。現在假設有4個數據:4、1、3、2要排序,則利用"冒泡排序法"執行第2步後的結果是______________________。

【分析】 開始排序前的排列為: 4 1 3 2

執行第1步後的排列為: 1 4 3 2

執行第2步後的排列為: 1 2 3 4

【答案】1、2、3、4

5 下列數組定義語句中,正確的是()

① int a[][]={1,2,3,4,5,6}; ② char a[2]「3]=a,b;

③ int a[][3]= {1,2,3,4,5,6}; ④ static int a[][]={{1,2,3},{4,5,6}};

【分析】C語言規定,二維數組定義時不允許省略第二維的長度,所以備選答案①④是錯誤的。C語言還規定,定義字符型數組時不允許直接使用"字符常量"的方式賦初值,所以備選答案②也是錯誤的。顯然備選答案③符合題意。

【答案】③

6 定義一個名為"s"的字符型數組,並且賦初值為字符串"123"的錯誤語句是()

①char s[]={‘1,2,3, }; ②char s「」={"123"};

③char s[]={"123n"}; ④ char s[4]={1,2,3};

【分析】備選答案①中省略了數組長度,所以每個元素都賦了初值,共計4個元素,初值依次為l、2、3、,最後一個元素的值為字符串結束標記,所以數組S中存放的是字符串"123",該答案不符合題意(即正確的);備選答案③中直接賦予字符串作為初值所以數組s的長度為4,其中的初值是字符串"123",不符合題意(即正確的);備選答案③中也是給數組s賦予字符串的初值,但是字符串不是"123",而是"123",所以該答案符合題意(即錯誤的);顯然答案④也不符合題意(即正確的)。下面來分析答案④為什麼是正確的,該答案給出了數組長度為4,賦初值時僅給前3個元素賦予字符1 、 2、3,第 4個元素沒有賦初值,按照 C語言的規定,也有初值,且初值為空值, 對字符型數組來説,空值就是