1、printf(“%f\n”,5);
【在printf中,float會自動轉換成64位的double】
輸出結果:
0.000000
2、sizeof(a = b+1)
【不會對sizeof內的表達式進行運算】
3、~a>>4+1;
~ == + > 移位
算術運算 > 移位運算 > 比較運算 > 位運算 > 和/或
4、(x&y) + ( (x^y)>>1 )
求兩個數的平均值
5、靜態成員變量,可以在一個類的所有實例中共享數據,可以聲明爲保護或者私有。
1~5參考:這裏寫鏈接內容
6、設 m 和 n 都是 int 類型,那麼以下 for 循環語句,__
for(m=0,n=-1;n=0;m++,n++)
n++;
A.循環體一次也不執行
B.循環體執行一次
C.是無限循環
D.有限次循環
E.循環結束判斷條件不合法
F.運行出錯
選A,因爲n=0是賦值運算,先將0給n然後再判斷n是否爲真,其爲假故永不執行。
7、關於引用以下說法錯誤的是()。
引用必須初始化,指針不必
引用初始化以後不能被改變,指針可以改變所指的對象
不存在指向空值的引用,但是存在指向空值的指針
一個引用可以看作是某個變量的一個“別名”
引用傳值,指針傳地址
函數參數可以聲明爲引用或指針類型
引用也是傳遞的地址選E
8、解決HASH衝突的辦法:
線性探測 ✔
單旋轉法
二次探測 ✔
拉鍊法 ✔
雙重散列 ✔
多重散列 ✔
【雙重散列】
所謂雙散列也是解決衝突域的一種方法,如果用第一個哈希函數解決不了衝突域時,用第二個繼續計算,只到衝突域解決爲止
題中14 23 39根據給的哈希函數:
14%7=0 14放到地址0下
23%7=2 23放到地址2下
39%7=4 39放到 4
9%7=2 產生衝突(因爲地址2上存了23),用下一個哈希函數在計算9%5+1=5 地址5可用,9放到地址5下
25%7=4 衝突 再用25%5+1=6 25放到地址6下
9、關係代數的優化策略是_。
——儘早執行選擇運算
10、可重定位內存分配的目的是_。
——解決碎片和緊縮問題
11、下列哪一項用於產生數字簽名()
A 接收方的私鑰
B 發送方的私鑰
C 發送方的公鑰
D 接收方的公鑰
發送報文時,發送方用一個哈希函數從報文文本中生成報文摘要,然後用自己的私人密鑰對這個摘要進行加密,這個加密後的摘要將作爲報文的數字簽名和報文一起發送給接收方,
接收報文時,接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接着再用發送方的公用密鑰來對報文附加的數字簽名進行解密,如果這兩個摘要相同、那麼接收方就能確認該數字簽名是發送方的。
數字簽名有兩種功效:
一是能確定消息確實是由發送方簽名併發出來的,因爲別人假冒不了發送方的簽名。
二是數字簽名能確定消息的完整性。因爲數字簽名的特點是它代表了文件的特徵,文件如果發生改變,數字摘要的值也將發生變化。不同的文件將得到不同的數字摘要。 一次數字簽名涉及到一個哈希函數、發送者的公鑰、發送者的私鑰。
選B
12、筆試題庫
13、子類的指針和第一個基類的指針應該是一樣的,和第二個基類是不一樣的。
14、下面有關類的靜態成員和非靜態成員,說法錯誤的是?
靜態成員存在於內存,非靜態成員需要實例化纔會分配內存
非靜態成員可以直接訪問類中靜態的成員
靜態成員能訪問非靜態的成員
非靜態成員的生存期決定於該類的生存期,而靜態成員則不存在生存期的概念
正確答案: C