8. 以下代碼打印的結果是(假設運行在 i386 系列計算機上):
struct st_t
{
int status;
short pdata;
char errstr[32];
};
st_t st[16];
char p = (char )( st.errstr + 32 );
printf( "%d", ( p - (char )(st) ) );
A. 32 B. 114 C. 120 D. 1112
9. STL 中的哪種結構是連續形式的存儲:
A. map B. set C. list D. vector
10. 一個棧的入棧序列是 A,B,C,D,E,則棧的不可能的輸出序列是:
A. EDCBA B. DECBA C. DCEAB D. ABCDE
二、簡答題:20 分,共 2 題
1. (5 分)重復多次 fclose 一個打開過一次的 FILE fp 指針會有什么結果,并請解釋。
考察點:導致文件描述符結構中指針指向的內存被重復釋放,進而導致一些不可預期的異常。
2. (15 分)下面一段代碼,想在調用 f2(1) 時打印 err1,調用 f2(2) 時打印 err4,但是代碼中有一些問題,請做盡可能少的修改使之正確。
1 static int f1( const char errstr, unsigned int flag ) {
2 int copy, index, len;
3 const static char __err = { "err1", "err2", "err3", "err4" };
4
5 if( flag & 0x10000 )
6 copy = 1;
7 index = ( flag & 0x300000 ) >> 20;
8
9 if( copy ) {
10 len = flag & 0xF;
11 errstr = malloc( len );
12 if( errstr = NULL )
13 return -1;
14 strncpy( errstr, __err[index], sizeof( errstr ) );
15 } else
16 errstr = __err + index;
17 }
18
19 void f2( int c ) {
20 char err;
21
22 swtch( c ) {
23 case 1:
24 if( f1( err, 0x110004 ) != -1 )
25 printf( err );
26 case 2:
27 if( f2( err, 0x30000D ) != -1 )
28 printf( err );
29 }
30 }
三、編程題:30 分 共 1 題
注意:要求提供完整代碼,如果可以編譯運行酌情加分。
1. 求符合指定規則的數。
給定函數 d(n) = n + n 的各位之和,n 為正整數,如 d(78) = 78+7+8=93。 這樣這個函數可以看成一個生成器,如 93 可以看成由 78 生成。
定義數 A:數 A 找不到一個數 B 可以由 d(B)=A,即 A 不能由其他數生成,F在要寫程序,找出 1 至 10000 里的所有符合數 A 定義的數。
輸出:
1
3
…
四、設計題:35 分 共 1 題
注意:請盡可能詳細描述你的數據結構、系統架構、設計思路等。建議多寫一些偽代碼或者流程說明。
1. 假設一個 mp3 搜索引擎收錄了 2^24 首歌曲,并記錄了可收聽這些歌曲的 2^30 條 URL,但每首歌的 URL 不超過 2^10 個。系統會定期檢查這些 URL,如果一個 URL 不可用則不出現在搜索結果中。現在歌曲名和 URL 分別通過整型的 SONG_ID 和 URL_ID 唯一確定。對該系統有如下需求:
1) 通過 SONG_ID 搜索一首歌的 URL_ID,給出 URL_ID 計數和列表
2) 給定一個 SONG_ID,為其添加一個新的 URL_ID
3) 添加一個新的 SONG_ID
4) 給定一個 URL_ID,將其置為不可用
限制條件:內存占用不超過 1G,單個文件大小不超過 2G,一個目錄下的文件數不超過 128 個。
為獲得最佳性能,請說明設計的數據結構、搜索算法,以及資源消耗。如果系統數據量擴大,該如何多機分布處理?
友情提示:閱讀了本文“百度筆試題及答案”,本站大學高考網(cnrencai)筆試頻道,還為你提供更多“筆試題目”相關文章閱讀
2020年河北新聞網兩學一做
時間:2023-09-18 07:0:242020年河北新聞網兩學一做
時間:2023-09-15 11:0:59兩學一做學習教育知
時間:2023-09-21 06:0:302020年開展兩學一做學習教
時間:2023-09-19 21:0:30