這是由小編整理的百度公司發(fā)布的2016年筆試真題及答案公布,請(qǐng)您對(duì)下文進(jìn)行了解:
一、選擇題:15 分 共 10 題
1. 在排序方法中,關(guān)鍵碼比較次數(shù)與記錄地初始排列無關(guān)的是:
A. Shell 排序 B. 歸并排序 C. 直接插入排序 D. 選擇排序
選擇 A
2. 以下多線程對(duì) int 型變量x的操作,哪幾個(gè)需要進(jìn)行同步:
A. x=y; B. x++; C. ++x; D. x=1;
選擇 B, C
3. 代碼
void func()
{
static int val;
…
}
中,變量 val 的內(nèi)存地址位于:
A. 已初始化數(shù)據(jù)段 B.未初始化數(shù)據(jù)段 C.堆 D.棧
選擇 A
4. 同一進(jìn)程下的線程可以共享以下:
A. stack B. data section C. register set D. thread ID
選擇 A, B
5. TCP 和 IP 分別對(duì)應(yīng)了 OSI 中的哪幾層?
A. Application layer
B. Data link layer
C. Presentation layer
D. Physical layer
E. Transport layer
F. Session layer
G. Network layer
選擇 EG
6. short a[100],sizeof(a) 返回?
A. 2 B. 4 C. 100 D. 200 E. 400
選擇 D
7. 以下哪種不是基于組件的開發(fā)技術(shù)_____。
A. XPCOM B. XP C. COM D. CORBA
選擇 B
8. 以下代碼打印的結(jié)果是(假設(shè)運(yùn)行在 i386 系列計(jì)算機(jī)上):
字串2
struct st_t
{
int status;
short *pdata;
char errstr[32];
};
st_t st[16];
char *p = (char *)( st[2].errstr + 32 );
printf( "%d", ( p - (char *)(st) ) );
A. 32 B. 114 C. 120 D. 1112
選擇 C,因?yàn)閟t[2]的起始地址比st[0]的起始地址高80位,
st[2].errstr的起始地址比st[2]的起始地址高8位
再加上32位就等于 120.
9. STL 中的哪種結(jié)構(gòu)是連續(xù)形式的存儲(chǔ):
A. map B. set C. list D. vector
選擇 D
10. 一個(gè)棧的入棧序列是 A,B,C,D,E,則棧的不可能的輸出序列是:
A. EDCBA B. DECBA C. DCEAB D. ABCDE
選擇 C
二、簡答題:20 分,共 2 題
1. (5 分)重復(fù)多次 fclose 一個(gè)打開過一次的 FILE *fp 指針會(huì)有什么結(jié)果,并請(qǐng)解釋。
導(dǎo)致 fp 所指的文件被多次釋放, 導(dǎo)致不可預(yù)期的后果.
5. 一個(gè)B類網(wǎng)的子網(wǎng)掩碼是255.255.240.0,這個(gè)子網(wǎng)能擁有的最大主機(jī)數(shù)是:
A. 240 B. 255 C.4094 D. 65534
6. 以下代碼執(zhí)行后,val的值是___:
unsigned long val = 0;
char a = 0x48;
char b = 0x52;
val = b << 8 | a;
A 20992 B 21064 C 72 D 0
選擇 B,b 的十進(jìn)制為 82,二進(jìn)制為 101,0010
b 左移 8 位為 101,0010,0000,0000
a 的十進(jìn)制為 72, 二進(jìn)制為 100,1000
b<<8 | a 為 21064