1. 1-20的兩個數把和告訴A,積告訴B,A說不知道是多少,
B也說不知道,這時A說我知道了,B接著說我也知道了,問這兩個數是多少?
答案:2和3
2 爸爸,媽媽,妹妹,小強,至少兩個人同一生肖的概率是多少?
1-12*11*10*9/12*12*12*12 = 1-55/96 = 41/96
3, 計算 a^b << 2
答案:
運算子優先順序:括號,下標,->和.(成員)最高;
單目的比雙目的高;
算術雙目的比其他雙目的高;
位運算 高於 關係運算;
關係運算 高於 按位運算(與,或,異或);
按位運算 高於 邏輯運算;
三目的只有一個 條件運算,低於邏輯運算;
賦值運算僅比 , (順序運算)高。
在此題中,位左移”<<” 優先順序高於按位異或”^”,所以b先左移兩位(相當於乘以4),
再與a異或。
例如: 當 a = 6; b = 4 時; 則 a^b<<2 = 22
4 如何輸出原始檔的標題和目前執行行的行數?
答案: printf(”The file name: %d ”, __FILE__);
printf(”The current line No:%d ”, __LINE__);
ANSI C標準預定義巨集:
__LINE__
__FILE__
__DATE__
__TIME__
__STDC__ 當要求程式嚴格遵循ANSI C標準時該識別符號被賦值為1
__cplusplus__ 當編寫C++程式時該識別符號被定義
5 a[3][4]哪個不能表示 a[1][1]: *(&a[0][0]+5) *(*(a+1)+1) *(&a[1]+1) *(&a[0][
0]+4)
答案: *(&a[1]+1)
a是陣列的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。
6 fun((exp1,exp2),(exp3,exp4,exp5))有幾個實參?
答案:兩個。
形式引數:在宣告和定義函式時,寫在函式名後的括號中的引數。
實參是呼叫引數中的變數,行參是被呼叫函式中的變數。
7. 希爾 冒泡 快速 插入 哪個平均速度最快?
答案:快速排序
快速排序、歸併排序和基數排序在不同情況下都是最快最有用的。
8. enum的宣告方式
答案:enum 列舉型別名 {
列舉常量1,
列舉常量2,
…