2023年阿里巴巴實(shí)習(xí)生筆試題含答案_第1頁(yè)
2023年阿里巴巴實(shí)習(xí)生筆試題含答案_第2頁(yè)
2023年阿里巴巴實(shí)習(xí)生筆試題含答案_第3頁(yè)
2023年阿里巴巴實(shí)習(xí)生筆試題含答案_第4頁(yè)
2023年阿里巴巴實(shí)習(xí)生筆試題含答案_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Q[單選題]

關(guān)于C++的inline關(guān)鍵字以下說(shuō)法正確的是0

使用slse關(guān)鍵字的幽會(huì)被編淳器在調(diào)用處展開

頭文件中可以包含inline函飄的聲明

可以在同一個(gè)項(xiàng)目的不同源文件內(nèi)定義函數(shù)名相同但實(shí)現(xiàn)不同的s15cM

定義在Sass聲明內(nèi)的成員函數(shù)默認(rèn)是工nline酬

優(yōu)先使用Class聲明內(nèi)定義的slin@數(shù)

優(yōu)先使用Class實(shí)現(xiàn)的內(nèi)inline圉數(shù)的實(shí)現(xiàn)

答案:D

內(nèi)聯(lián)函數(shù):

Tip:只有當(dāng)函數(shù)只有10行甚至更少時(shí)才將其定義為內(nèi)聯(lián)函數(shù).

定義:當(dāng)函數(shù)被聲明為內(nèi)聯(lián)函數(shù)之后,編譯器會(huì)將其內(nèi)聯(lián)展開,而不是按通常的函數(shù)調(diào)用機(jī)

制進(jìn)行調(diào)用.

優(yōu)點(diǎn):當(dāng)函數(shù)體比較小的時(shí)候,內(nèi)聯(lián)該函數(shù)可以令目的代碼更加高效.對(duì)于存取函數(shù)以及其

它函數(shù)體比較短,性能關(guān)鍵的函數(shù),鼓勵(lì)使用內(nèi)聯(lián).

缺陷:濫用內(nèi)聯(lián)揩導(dǎo)致程序變慢.內(nèi)聯(lián)也許使目的代碼量或增或減,這取決于內(nèi)聯(lián)函數(shù)的大

小.內(nèi)聯(lián)非常短小的存取函數(shù)通常會(huì)減少代碼大小,但內(nèi)聯(lián)一個(gè)相稱大的函數(shù)將戲劇性的增

長(zhǎng)代碼大小.現(xiàn)代解決器由于更好的運(yùn)用了指令緩存,小巧的代碼往往執(zhí)行更快。

結(jié)論:一個(gè)較為合理的經(jīng)驗(yàn)準(zhǔn)則是,不要內(nèi)聯(lián)超過10行的函數(shù).謹(jǐn)慎對(duì)待析構(gòu)函數(shù),析構(gòu)函

數(shù)往往比其表面看起來(lái)要更長(zhǎng),由于有隱含的成員和基類析構(gòu)函數(shù)被調(diào)用!

另一個(gè)實(shí)用的經(jīng)驗(yàn)準(zhǔn)則:內(nèi)聯(lián)那些包含循環(huán)或switch語(yǔ)句的函數(shù)經(jīng)常是得不償失(除非在

大多數(shù)情況下,這些循環(huán)或switch語(yǔ)句從不被執(zhí)行).

注意:有些函數(shù)即使聲明為內(nèi)聯(lián)的也不一定會(huì)被編譯器內(nèi)聯(lián),這點(diǎn)很重要;比如虛國(guó)數(shù)和遞

歸函數(shù)就不會(huì)被正常內(nèi)聯(lián).通常,遞歸函數(shù)不應(yīng)當(dāng)聲明成內(nèi)聯(lián)函數(shù).(遞歸調(diào)用堆棧的展開并

不像循環(huán)那么簡(jiǎn)樸,比如遞歸層數(shù)在編譯時(shí)也許是未知的,大多數(shù)編譯器都不支持內(nèi)聯(lián)遞歸

函數(shù)).虛函數(shù)內(nèi)聯(lián)的重要因素則是想把它的函數(shù)體放在類定義內(nèi),為了圖個(gè)方便,抑或是當(dāng)

作文檔描述其行為,比如精短的存取函數(shù).

-inl.h文獻(xiàn):

Tip:復(fù)雜的內(nèi)聯(lián)函數(shù)的定義,應(yīng)放在后綴名為-inl.h的頭文獻(xiàn)中.

內(nèi)聯(lián)函數(shù)的定義必須放在頭文獻(xiàn)中,編譯器才干在調(diào)用點(diǎn)內(nèi)聯(lián)展開定義.然而,實(shí)現(xiàn)代碼理

論上應(yīng)當(dāng)放在.cc文獻(xiàn)中,我們不希望.h文獻(xiàn)中有太多實(shí)現(xiàn)代碼,除非在可讀性和性能上

有明顯優(yōu)勢(shì).

假如內(nèi)聯(lián)國(guó)數(shù)的定義比較短小,邏輯比較簡(jiǎn)樸,實(shí)現(xiàn)代碼放在.h文獻(xiàn)里沒有任何問題.比如,

存取函數(shù)的實(shí)現(xiàn)理所當(dāng)然都應(yīng)當(dāng)放在類定義內(nèi).出于編寫者和調(diào)用者的方便,較復(fù)雜的內(nèi)聯(lián)

函數(shù)也可以放到.h文獻(xiàn)中,假如你覺得這樣會(huì)使頭文獻(xiàn)顯得笨重,也可以把它萃取到單獨(dú)

的-inl.h中.這樣把實(shí)現(xiàn)和類定義分離開來(lái),當(dāng)需要時(shí)包含相應(yīng)的-inl.h即可。

A項(xiàng)錯(cuò)誤,由于使用inline關(guān)鍵字的函數(shù)只是用戶希望它成為內(nèi)聯(lián)函數(shù),但編譯器有權(quán)忽略

這個(gè)請(qǐng)求,比如:若此函數(shù)體太大,則不會(huì)把它作為內(nèi)聯(lián)函數(shù)展開的。

B項(xiàng)錯(cuò)誤,頭文獻(xiàn)中不僅要包含inline函數(shù)的聲明,并且必須包含定義,且在定義時(shí)必須加

±inlineo【關(guān)鍵字inline必須與函數(shù)定義體放在一起才干使函數(shù)成為內(nèi)聯(lián),僅

將inline放在函數(shù)聲明前面不起任何作用】

C項(xiàng)錯(cuò)誤,inline函數(shù)可以定義在源文獻(xiàn)中,但多個(gè)源文獻(xiàn)中的同名inline函數(shù)的實(shí)現(xiàn)必須

相同。一般把inline函數(shù)的定義放在頭文獻(xiàn)中更加合適。

D項(xiàng)對(duì)的,類內(nèi)的成員函數(shù),默認(rèn)都是inline的?!径x在類聲明之中的成員函數(shù)將自動(dòng)地

成為內(nèi)聯(lián)函數(shù)】

EF項(xiàng)無(wú)意思,不管是class聲明中定義的inline函|數(shù),還是class實(shí)現(xiàn)中定義的inline函數(shù),

不存在優(yōu)先不優(yōu)先的問題,由于class的成員函數(shù)都是inline的,加了關(guān)鍵字inline也沒

什么特殊的

答案:D插入排序

改良的冒泡最優(yōu)也是n

數(shù)組排序算法

算法時(shí)間復(fù)雜度空間復(fù)雜度

最佳平均最差最差

Quicksort0(nlog(n))0(nlog(n))O(nA2)O(log(n))

Merqesort0(nlog(n))0(nlog(n))0(nlog(n))0(n)

Timsort0(n)0(nlog(n))O(nlog(n))0(n)

Heapsort0(nlog(n))0(nlog(n))0(nlog(n))0(1)

BubbleSort0(n)0(nA2)0(nA2)0(1)

InsertionSort0(n)0(nA2)0(nA2)0(1)

SelectionSort0(nA2)0(nA2)0(nA2)0(1)

ShellSort0(n)O((nlog(n))A2)O((nlog(n))A2)0(1)

BucketSortO(n+k)O(n+k)0(nA2)0(n)

RadixSortO(nk)O(nk)O(nk)O(n+k)

?[單選題]

甲乙兩個(gè)一樣大〃巡J杯子各自分另爆者小于一半容積的水和酒精現(xiàn)將甲杯子里的一部分水倒入乙杯子之后將乙懷子的混合液倒入一屋到甲杯子此時(shí)

甲杯子的液體恢復(fù)到最初的狀態(tài)假定水和酒精混合之后的體積等于混合之前的體積之和.另以以下說(shuō)法正確的是0

您甲杯子里的酒楮體積等于乙杯子里的水的體積

甲杯子里的酒精的體積等于乙杯子里的酒精的體積

甲杯子里的水的體積等于乙杯子里的酒精的體積

甲杯子里的水的體積等于乙杯子里的水的體積

甲杯子里的液體高于乙杯子里的液位

以上都不對(duì)

去(=□宰■.cA

O[單選題]

<nain()

2{

char-a[]-{''<ork","at","alibaba");

char**pa?a;

pa++;

printf("%s",*pa);

7)

下列程序的執(zhí)行結(jié)果是()

@at

atalibaba

ork

orkatalibaba

編譯錯(cuò)誤

運(yùn)行溢出

答案:A

O[單選購(gòu)

一個(gè)黑盒子里有若干紅球和黑球,隨機(jī)取出一個(gè)球是紅球的概率是p現(xiàn)在從黑盒子中拿出等量的紅球和黑球后隨磯取出一個(gè)球是紅球的概率是q如果

p<q、那么以下說(shuō)法正確的是0

最初紅球的個(gè)數(shù)小于黑球的個(gè)數(shù)

最初紅球的個(gè)數(shù)大于黑球的個(gè)數(shù)

最初紅球的個(gè)數(shù)是黑球的的2倍

最初紅球的個(gè)數(shù)是黑球的“2

⑥無(wú)法半蜥最初紅球和黑球誰(shuí)多誰(shuí)少

答案:B

~7~~,百生C〒忙”CT6

P=~p+-70=匕一s>4^—n-

J、?>P?內(nèi)jg號(hào)TY飛一一―M-S-

v|2_<LC_人_b-F>vJ2'—〈化T~61-

?[單選題]

答案:D

先序遍歷中左右

中序遍歷左中右

后序遍歷左右中

O[單選題]

在TCP/IP建立連接過程中客戶端和服務(wù)器端的狀毒轉(zhuǎn)移說(shuō)法錯(cuò)誤的是。

經(jīng)歷SYN_RECV狀態(tài)

經(jīng)歷S¥N_SEN漱態(tài)

經(jīng)歷ES2ABLISHED^f^

經(jīng)歷TIME_WAIT狀態(tài)

服務(wù)器在收到,yn包8寸將加入半連接隊(duì)列

服務(wù)器接受到客戶如的ack包后將從半連接隊(duì)列刪除

答案:D

TCP建立連接時(shí)

一方面客戶端和服務(wù)器處在close狀態(tài)。

然后客戶端發(fā)送SYN同步位,此時(shí)客戶端處在SYN-SEND狀態(tài),服務(wù)器處在1ISTEN狀態(tài),

當(dāng)服務(wù)器收到SYN以后,向客戶端發(fā)送同步位SYN和確認(rèn)碼ACK,

然后服務(wù)器變?yōu)镾YN-RCVD,

客戶端收到服務(wù)器發(fā)來(lái)的SYN和ACK后,客戶端的狀態(tài)變成ESTABLISHED(已建立連接),

客戶端再向服務(wù)器發(fā)送ACK確認(rèn)碼,

服務(wù)器接受到以后也變成ESTABLISHED

然后服務(wù)器客戶端開始數(shù)據(jù)傳輸

?[單選題]

假設(shè)在n進(jìn)制下方面的等式成立n值是()240"12=2880

19

18

17

16

15

⑥以上都對(duì)

答案:F

假設(shè)為n進(jìn)值則[2*(n八2)+4*(n八1)+0]*[l*n+2]=2*(23)+8*(n八2)+8*(n八1)

化簡(jiǎn)后居然為很等式,n為任意值

?單螭

下面關(guān)于系統(tǒng)調(diào)用的描述中錯(cuò)誤的是o

系統(tǒng)調(diào)用}日應(yīng)用程序的請(qǐng)求償系統(tǒng)內(nèi)核執(zhí)行

系統(tǒng)調(diào)用中被調(diào)用的過程運(yùn)行在"用戶態(tài)”中

利用系統(tǒng)調(diào)用能夠得到操作系統(tǒng)提供的多種服務(wù)

是操作系統(tǒng)提供給編程人員的接口

系統(tǒng)調(diào)用給用戶屏蔽了設(shè)備訪問的細(xì)節(jié)

系統(tǒng)調(diào)用保護(hù)了一些只能在內(nèi)核模式執(zhí)行的操作指令

答案:B

用戶空間與系統(tǒng)空間所在的內(nèi)存區(qū)間不同樣,同樣,對(duì)于這兩種區(qū)間,CPU的運(yùn)營(yíng)狀態(tài)也

不同樣。在用戶空間中,CPU處在“用戶態(tài)“;在系統(tǒng)空間中,CPU處在“系統(tǒng)態(tài)”。

?[單選題]

關(guān)于linux的1,9復(fù)用按ClselectfiJepoH下列說(shuō)法錯(cuò)誤的是0

seles調(diào)用時(shí)會(huì)進(jìn)行線性遍歷,epoli采用回調(diào)函數(shù)機(jī)制,不需要線性遍歷

selecc的最大連接數(shù)為FD_SETSIZE

select就適合于有大量并發(fā)連接,且活躍道接較多的場(chǎng)景

ep??谳^適用于有大量并發(fā)連接,但活躍連接不多的場(chǎng)景

epoll緘率不隨F謝目增加而線性下降

?poll通過共享存儲(chǔ)實(shí)現(xiàn)內(nèi)核和用戶的數(shù)據(jù)交互

答案:C

select

select能監(jiān)控的描述符個(gè)數(shù)由內(nèi)核中的FD_SETSIZE限制,僅為1024,這也是select最大的

缺陷,由于現(xiàn)在的服務(wù)器并發(fā)量遠(yuǎn)遠(yuǎn)不止1024。即使能重新編譯內(nèi)核改變FD_SETSIZE的值,

但這并不能提高select的性能。

每次調(diào)用select都會(huì)線性掃描所有描述符的狀態(tài),在select結(jié)束后,用戶也要線性掃描fd_set

數(shù)組才知道哪些描述符準(zhǔn)備就緒,等于說(shuō)每次調(diào)用復(fù)雜度都是O(n)的,在并發(fā)量大的情況下,

每次掃描都是相稱耗時(shí)的,很有也許有未解決的連接等待超時(shí)。

每次調(diào)用select都要在用戶空間和內(nèi)核空間里進(jìn)行內(nèi)存復(fù)制fd描述符等信息。

poll

poll使用pollfd結(jié)構(gòu)來(lái)存儲(chǔ)fd,突破了select中描述符數(shù)目的限制。

與select的后兩點(diǎn)類似,poll仍然需要將pollfd數(shù)組拷貝到內(nèi)核空間,之后依次掃描fd的狀

態(tài),整體復(fù)雜度仍然是O(n)的,在并發(fā)量大的情況下服務(wù)器性能會(huì)快速下降。

epoll

epoll維護(hù)的描述符數(shù)目不受到限制,并且性能不會(huì)隨著描述符數(shù)目的增長(zhǎng)而下降。

服務(wù)器的特點(diǎn)是經(jīng)常維護(hù)著大量連接,但其中某一時(shí)刻讀寫的操作符數(shù)量卻不多。epoll先

通過epolLctl注冊(cè)一個(gè)描述符到內(nèi)核中,并一直維護(hù)著而不像poll每次操作都將所有要監(jiān)控的

描述符傳遞給內(nèi)核;在描述符讀寫就緒時(shí),通過回掉函數(shù)將自己加入就緒隊(duì)列中,之后epolLwait

返回該就緒隊(duì)列。也就是說(shuō),epoll基本不做無(wú)用的操作,時(shí)間復(fù)雜度僅與活躍的客戶端數(shù)有關(guān),

而不會(huì)隨著描述符數(shù)目的增長(zhǎng)而下降。

epoll在傳遞內(nèi)核與用戶空間的消息時(shí)使用了內(nèi)存共享,而不是內(nèi)存拷貝,這也使得epoll

的效率比poll和select更高。

Q[單選題)

答案:F

Q[單選題]

答案:4

?[單選國(guó)

在100-99鰭900個(gè)目級(jí)中若將組成這個(gè)數(shù)的三個(gè)數(shù)字認(rèn)為是三條線段的長(zhǎng)度用垓是三條送段姐成一個(gè)零震三角形(包括等邊)的共有(4

45

91

121

142

156

@165

答案:165

〃在100-999這900個(gè)自然數(shù)中.若將組成這個(gè)數(shù)的三個(gè)數(shù)字認(rèn)為是三條線段的長(zhǎng)度,那么是三條線

段組成一個(gè)等腰三角形(涉及等邊)的共有()個(gè).

#include<iostream>

usingnamespacestd;

intmain()

(

inta=0;

intb=0;

intc=0;

inttime=0;

for(inti=100;i<=999;i++)

(

c=i%10;

b=(i-c)/10%10;

a=i/100;

if(a==0||b==0||c==0)

continue;

if((a==b&&(a+b>c))||(b==c&&(c+b>a))||(c==a&&(a+c>b)))

time++;

)

)

cout?time?endl;

return0;

?[單選題]

答案:關(guān)聯(lián)數(shù)組

L循環(huán)鏈表是另一種形式的鏈?zhǔn)酱尜A結(jié)構(gòu)。特點(diǎn)是表中最后一個(gè)結(jié)點(diǎn)的指針域指向頭結(jié)

點(diǎn),整個(gè)鏈表形成環(huán)。

(1)單循環(huán)鏈表一一在單鏈表中,將終端結(jié)點(diǎn)的指針域NULL改為指向表頭結(jié)點(diǎn)或開始結(jié)

點(diǎn)即可。

(2)多重鏈的循環(huán)鏈表一一將表中結(jié)點(diǎn)鏈在多個(gè)環(huán)上。

2隊(duì)列(Queue)是只允許在一端進(jìn)行插入,而在另一端進(jìn)行刪除的運(yùn)算受限的線性表;

3.棧(stack)在計(jì)算機(jī)科學(xué)中是限定僅在棧頂進(jìn)行插入或刪除操作的線性表。

4.“關(guān)聯(lián)數(shù)組”是一種具有特殊索引方式的數(shù)組。不僅可以通過整數(shù)來(lái)索引它,還可以使

用字符串或者其他類型的值(除了NULL)來(lái)索引它。關(guān)聯(lián)數(shù)組和數(shù)組類似,由以名稱作

為鍵的字段和方法組成。它包含標(biāo)量數(shù)據(jù),可用索引值來(lái)單獨(dú)選擇這些數(shù)據(jù),和數(shù)組不同

的是,關(guān)聯(lián)數(shù)組的索引值不是非負(fù)的整數(shù)而是任意的標(biāo)量。這些標(biāo)量稱為Keys,可以在以

后用于檢索數(shù)組中的數(shù)值。關(guān)聯(lián)數(shù)組的元素沒有特定的順序,你可以把它們想象為一組卡

片。每張卡片上半部分是索引而下半部分是數(shù)值。

5.鏈表(Linkedlist)是一種常見的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu),是一種線性表,是一種物理存儲(chǔ)單元上

非連續(xù)、非順序的存儲(chǔ)結(jié)構(gòu)。雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個(gè)數(shù)據(jù)結(jié)點(diǎn)中

都有兩個(gè)指針,分別指向直接后繼和直接前驅(qū)。所以,從雙向鏈表中的任意一個(gè)結(jié)點(diǎn)開始,

都可以很方便地訪問它的前驅(qū)結(jié)點(diǎn)和后繼結(jié)點(diǎn)。一般我們都構(gòu)造雙向循環(huán)鏈表。

?[單選題]

下面的哪種排序尊法在算復(fù)雜度平均不是O(nlogn)的?

快速排序

桶排序

?合用非序

二叉樹排序樹排序

雄排序

答案:B

時(shí)間復(fù)雜度空間復(fù)雜度

類別排序方法穩(wěn)定性

平均情況最好情況最壞情況輔助存儲(chǔ)

插入直接插入o(tf)O(n)。(冰)0(1)穩(wěn)定

排序

Shell排序O(n13)O(n)O(n2)0(1)不穩(wěn)定

選擇直接選擇O(n2)0(小)。(吟0(1)不穩(wěn)定

排序

堆摔序O(nlog2n)O(nlog2n)O(nlog2n)0(1)不穩(wěn)定

交換冒泡排序OCn2)0(n)0(吟0(1)穩(wěn)定

排序

快速排序OCnlo^n)O(nlog2n)。(吟O(nlog2n)不稔定

歸并排序O(nlo&n)O(nlo&n)O(nlog2n)O(n)穩(wěn)定

基數(shù)排序。@什n))O(d(n+rd))。(義什n))O(rd-*n)穩(wěn)定

桶排序的平均時(shí)間復(fù)雜度為線性的O(N+C),其中C=N*(logN-logM)0假如相對(duì)于同樣的N,

桶數(shù)量M越大,其效率越高,最佳的時(shí)間復(fù)雜度達(dá)成0(N)。當(dāng)然桶排序的空間復(fù)雜度為

O(N+M),假如輸入數(shù)據(jù)非常龐大,而桶的數(shù)量也非常多,則空間代價(jià)無(wú)疑是昂貴的。此外,

桶排序是穩(wěn)定的。

?[單選題]

要?jiǎng)?chuàng)業(yè)團(tuán)隊(duì)的一N艮大的辦公室(障礙和遮擋可以忽略)里有一個(gè)WIFI源.有1個(gè)工位由于距離WIFI源太遠(yuǎn)而接收不到信號(hào)為了提高該工位的聯(lián)網(wǎng)質(zhì)重,

次備在工位和W舊信巖源之間安裝一個(gè)無(wú)線AP(相當(dāng)于中繼的可以中轉(zhuǎn)該工位上的計(jì)算機(jī)和WIFI之間的信巖)只考慮從WIFI發(fā)出的信號(hào),如果AP離

WIFI源太近,就起不到中繼的作用如果AP離工位太遠(yuǎn)則可能連不上WIFI因此AP有T最佳的安裝位置那么關(guān)于AP?佳安裝位直的說(shuō)法正確的是。

如果WIFI'源功率越大,抖及AP^佳安裝位置越靠近內(nèi):FI源

@如果血光源功率越大,那么AF最佳球裝位置越靠近工位

W1F工源功率和AP最佳安裝團(tuán)S無(wú)關(guān).

A屋佳安裝位置在工位和WIFI信號(hào)源連2坡外

A躡佳安裝位置在工位和WIF工信號(hào)源連線中點(diǎn)

以上說(shuō)法者杯對(duì)

Q[單選題]

有100個(gè)金市,分給10個(gè)人第一個(gè)金市等限率地分給10個(gè)人之一之后的每一個(gè)金幣分崗給第K個(gè)人的慨率正比于這個(gè)人已經(jīng)持有的金幣數(shù)+1.在這樣

的分配機(jī)制下,關(guān)于每個(gè)人最終的金市個(gè)數(shù)的分布的說(shuō)法^誤的是0

每個(gè)人得到的金幣的個(gè)數(shù)的期望是相等的

每個(gè)人的金幣個(gè)數(shù)接近均勻分布

第一個(gè)金幣給哪個(gè)人,哪個(gè)人的最終金幣個(gè)數(shù)的期望就會(huì)更大

您在中間的某個(gè)階段金幣個(gè)數(shù)越多的人,未來(lái)獲得金幣的可能性越大

答案:B

O[單選題]

在自由交渙的情況下.只考慮偏好.小張用自己的小刀渙了小王的像皮關(guān)于這個(gè)交換以下說(shuō)法錯(cuò)誤的是

4、張覺得橡皮比小刀更好

小王覺得小刀比橡皮更好

@N長(zhǎng)和小王總做播里沒有發(fā)生變化

川長(zhǎng)和小王的效用值增加了

如果把小王換成小吳,那么這個(gè)交換可能就不會(huì)發(fā)生

小刀和橡皮等值

答案:F

選項(xiàng)AB是對(duì)稱的,所以肯定對(duì)的,由AB可以看出題目的意圖是,這次互換靠的是物品的

相對(duì)價(jià)值相稱(小張覺得橡皮比小刀更好,小王覺得小刀比橡皮更好),但明顯最后一個(gè)

選項(xiàng)等值指的是他們的絕對(duì)價(jià)值

?[單選題]

struct

int

int

char

intsizeofstruct

如下C程序在64位處理器上運(yùn)行后S*]值是什么?

24

20

16

14

13

12

答案:16

1.struct的對(duì)齊原則,注意不同的編譯器有不同的效果。

2.不同的數(shù)據(jù)類型在32位和64位下所占字節(jié)的區(qū)別

32位編譯器:

char:1個(gè)字節(jié)

char*(即指針變量):4個(gè)字節(jié)(32位的尋址空間是2八32,即32個(gè)bit,也就是4個(gè)

字節(jié)。同理64位編譯器)

shortint:2個(gè)字節(jié)

int:4個(gè)字節(jié)

unsignedint:4個(gè)字節(jié)

float:4個(gè)字節(jié)

double:8個(gè)字節(jié)

long:4個(gè)字節(jié)

longlong:8個(gè)字節(jié)

unsignedlong:4個(gè)字節(jié)

64位編譯器:

char:1個(gè)字節(jié)

char*(即指針變量):8個(gè)字節(jié)

shortint:2個(gè)字節(jié)

int:4個(gè)字節(jié)

unsignedint:4個(gè)字節(jié)

float:4個(gè)字節(jié)

double:8個(gè)字節(jié)

long:8個(gè)字節(jié)

longlong:8個(gè)字節(jié)

unsignedlong:8個(gè)字節(jié)

此處指針先占用8字節(jié)。int占用4字節(jié),滿足規(guī)定不用補(bǔ)齊,char占用一個(gè)字節(jié),同時(shí)

總的字節(jié)數(shù)必須滿足8的倍數(shù)即16

O[單選題]

#include<iostrean>

#include〈vector〉

usingnamespacestd;

intnain(void)

(

vector<int>array;

array.push_back(100);

array.push_back(300);

array.push_back(300);

array.push_back(300);

array.push_back(300);

array.push_back(500);

vector<int>::iteratoritor;

for(itor=array.begin();itor!=array.end();itor++)

(

if(*itor3300)

(

itor=arrdy.erase(itor);

}

)

for(itor=array.begin();itor!=array.end();itor++)

(

cout<<*itor<<"";

}

return0;

)

下面這個(gè)代碼輸出的是0

答案:100300300500

vector::erase():從指定容器刪除指定位置的元素或某段范圍內(nèi)的元素

vector::erase()7j法有兩種重載形式

如下:

iteratorerase(iterator_Where);

iteratorerase(iterator_First,iterator_Last);

假如是刪除指定位置的元素時(shí):

返回值是一個(gè)迭代器,指向刪除元素下一個(gè)元素;

假如是刪除某范圍內(nèi)的元素時(shí):返回值也表達(dá)一個(gè)迭代器,指向最后一個(gè)刪除元素的下

-?元素;

本題中,當(dāng)*itor==300成立時(shí),刪除第一個(gè)值為300的元素,同時(shí)itor指向下一"/?元素

(即是第二個(gè)值為300的元素)

在for(;;itor++)執(zhí)行itor,itor指向第三個(gè)值為300的元素,進(jìn)入下一個(gè)循環(huán)

進(jìn)入循環(huán)滿足*itor==300,反復(fù)上面的過程,執(zhí)行完循環(huán),itor執(zhí)行值為500的元素。

所有整個(gè)過程中,只刪除了2個(gè)值為300的元素。

Q(單選題]

下面關(guān)計(jì)個(gè)類的靜態(tài)成員描述中不正確的是()

靜態(tài)成員變量可被該類的所有方法訪問

該類的靜態(tài)方法只能訪問i友類摘態(tài)成員的數(shù)

該類攜態(tài)數(shù)據(jù)成員變量的值不可修改

子類可以訪問父類的靜態(tài)成員

?靜態(tài)成員無(wú)多杰特性

答案:C可以修改

類的靜態(tài)成員屬于整個(gè)類而不是某個(gè)對(duì)象,可以被類的所有方法訪問,子類當(dāng)然可以父類

靜態(tài)成員;

靜態(tài)方法屬于整個(gè)類,在對(duì)象創(chuàng)建之前就已經(jīng)分派空間,類的非靜態(tài)成員要在對(duì)象創(chuàng)建后才

有內(nèi)存,所有靜態(tài)方法只能訪問靜態(tài)成員,不能訪問非靜態(tài)成員;靜態(tài)成員可以被任一對(duì)象

修改,修改后的值可以被所有對(duì)象共享

Q[單選題]

給定的一個(gè)長(zhǎng)度為N的字符串str苣找氏度為P(P<N)的字符串在sir中的出現(xiàn)次數(shù).下面的說(shuō)法正確的是0

不存在btM壞時(shí)間復(fù)雜度c(NP)好的簟去

不存在比最壞時(shí)間復(fù)雜度c(N-2)好的篁法

不存在比最壞時(shí)間復(fù)雜度。(Pb)好的算法

存在最壞時(shí)間復(fù)雜度為。(N+P)的算法

?存在最壞時(shí)間復(fù)雜度為。(log?K+p))的算法

以上都不對(duì)

答案:D

KMP算法:時(shí)間復(fù)雜度O(p+N)

?[單選題]

某體校選擇校服每會(huì)校^都包括短袖運(yùn)動(dòng)彩長(zhǎng)袖運(yùn)動(dòng)衫厚外套運(yùn)動(dòng)長(zhǎng)褲和運(yùn)動(dòng)短褲組成.每種運(yùn)動(dòng)服有個(gè)備選方案老師請(qǐng)了部分學(xué)生來(lái)^^自己喜

歡的校服結(jié)果發(fā)現(xiàn)任息3個(gè)學(xué)生都至少在T*運(yùn)動(dòng)服上選擇亙不相同那名老師最多遒清了(小學(xué)生參加挑選

答案:8

每套校服都涉及短袖運(yùn)動(dòng)衫,長(zhǎng)袖運(yùn)動(dòng)衫,厚外套,運(yùn)動(dòng)長(zhǎng)褲和運(yùn)動(dòng)短褲組成.“每種運(yùn)動(dòng)服”有

個(gè)備選方案。說(shuō)明校服一共有2人5=32種選擇方案。

任意3個(gè)學(xué)生都至少在一種運(yùn)動(dòng)服上選擇互不相同,假設(shè)有老師邀請(qǐng)了n個(gè)學(xué)生參與挑選,

說(shuō)明Cn2<32<Cn3,得出n=8。

Q[單選題]

有4副相同的牌每副牌有4張不同的牌先從這16張牌中隨機(jī)選4張出來(lái)然后.在這4張牌中隨機(jī)選擇一張牌.然后把抽出的TK放回3張中,再履鞏選擇一

張牌與上

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論