練習21
考試規則:點選你認為正确的選項
1.有以下程式
#include
main()
{
int a=0,b=0,c=0,d=0;
(++a II ++b) ? ++C: ++d;
printf(%d,%d,%d,%d\n", a,b,c,d);
}
程式的運作結果是( )。
A.1,0,1,0
回答正确 √
試題解析
條件表達式- -般形式: exp1?exp2:exp3, 執行規則為;若exp1為真,求解exp2,輸出exp2的值,不計算exp3的值;若為假,求解exp3,輸出exp3的值,不計算exp2的值。本題程式執行過程為:求解邏輯表達式(++all++b) ,先求解++a, a=1,則整個表達式為真,不計算++b,然後求解++C,不計算++d,最後得到a=1,b=0,c=1,d=0, A選項正确。
B.1,1,0,1
回答錯誤 ✕
C.1,0,0,1
回答錯誤 ✕
D.1,1,1,0
回答錯誤 ✕
點選答題丨點選選項檢視對錯丨展開動畫
2.有以下程式
#include
main()
{
int a[10]={1,3,5,7,11,13,17 }, *p=a;
printf("%d,", *( p++ ));
printf("%d\n", *( ++p );
}
程式運作後的輸出結果是( )。
A.3,7
回答錯誤 ✕
B.3,5
回答錯誤 ✕
C.1,5
回答正确 √
試題解析
程式執行過程:指針p指向數組第一個元素 ; *(p++)先取p,輸出p指向的元素1,之後p加1,指向數組第二個元素; *(++p), 指針p加1指向數組第三個元素,之後輸出所指元素5,C選項正确。
D.1,3
回答錯誤 ✕
點選答題丨點選選項檢視對錯丨展開動畫
3. 下列叙述中正确的是( )。
A.有且隻有一個根結點的資料結構一定是線性結構
回答錯誤 ✕
B.每一個結點最多有一個前件也最多有一個後件的資料結構一定是線性結構
回答錯誤 ✕
C.有且隻有一個根結點的資料結構一定是非線性結構
回答錯誤 ✕
D.有且隻有一個根結點的資料結構可能是線性結構,也可能是非線性結構
回答正确 √
試題解析
一個非空的資料結構如果滿足以下兩個條件:有且隻有一個根結點;每-一個結點最多有一個前件,也最多有一個後件,稱為線性結構,故A、B和C選項都錯誤;不同時滿足以上兩個條件的資料結構就稱為非線性結構,其中樹形結構隻有一個根結點,D選項正确。
點選答題丨點選選項檢視對錯丨展開動畫
4.設表的長度為n。下列查找算法中,在最壞情況下,比較次數最少的是( )。
A.有序表的二分查找
回答正确 √
試題解析
最壞情況下,有序表的二分查找需要比較log2n,順序查找需要n/2次,尋找最大項、最小項都需要比較n-1次,故本題答案為A。
B.順序查找
回答錯誤 ✕
C.尋找最小項
回答錯誤 ✕
D.尋找最大項
回答錯誤 ✕