日韩欧美另类久久久精品_亚洲大色堂人在线无码_国产三级aⅴ在线播放_在线无码aⅴ精品动漫_国产精品精品国产专区

迅雷2014年筆試真題

  溫馨提示:迅雷考的客觀題和主觀題得分都要超過一定標(biāo)準(zhǔn),才能獲得面試資格,如果一項得分很高,而另外一項得分很低,可能無法獲得面試資格。

  一、單選題(20題,每題2分)

  1、有變量int i = 0; int a = i++; int b=++a; int c = a+b; 請問表達(dá)式 a?b:c 的值是()

  A、0 B、1 C、2 D、3

  2、32位環(huán)境下,int *p=new int[10];請問sizeof(p)的值為()

  A、4 B、10 C、40 D、8

  3、有語句char str[] = "abcde";請問表達(dá)式sizeof(str)的值是() 后面還有\(zhòng)0

  A、1 B、4 C、5 D、6

  4、有函數(shù)int func(int i)的實現(xiàn)為()

  [cpp] view plaincopyint func(int i)

  {

  if(i > 1)

  return i*func(i-1);

  else

  return 1;

  }

  請問函數(shù)調(diào)用f(5)的返回值是多少()階乘計算

  A、5 B、15 C、20 D、120

  5、請問以下說法,哪個是正確的()

  A、每個類都有一個無參數(shù)的構(gòu)造函數(shù)

  B、每個類都有一個拷貝構(gòu)造函數(shù)

  C、每個類能有多個構(gòu)造函數(shù)

  D、每個類能有多個析構(gòu)函數(shù)

  6、用class關(guān)鍵字定義的類,其成員默認(rèn)的訪問屬性為()

  A、private B、protected C、public D、無定義

  7、類的成員有三種訪問屬性,分別是public、protected、private,子類能夠訪問的成員是()

  A、都能訪問

  B、public和protected

  C、public和private

  D、protected和private

  8、請問對一個排好序的數(shù)組進(jìn)行查找,時間復(fù)雜度為()

  A、O(n) B、O(lgn) C、O(nlgn) D、O(1)

  9、以下二叉樹:

  后序遍歷的結(jié)果是()

  A、丙乙丁甲戊己 B、甲乙丙丁戊己 C、丙丁乙己戊甲 D、丙丁己乙戊甲

  10、看以下代碼:

  A *pa = new A[10];

  delete pa;

  則類A的構(gòu)造函數(shù)和析構(gòu)函數(shù)分別執(zhí)行了幾次()

  A、1 1 B、10 10 C、1 10 D、10 1

  11、看以下代碼:

  [cpp] view plaincopyclass A

  {

  public:

  ~A();

  };

  A::~A()

  {

  printf("delete A ");

  }

  class B : public A

  {

  public:

  ~B();

  };

  B::~B()

  {

  printf("delete B ");

  }

  請問執(zhí)行以下代碼

  A *pa = new B();

  delete pa;

  輸出的串是()A

  A、delete A B、delete B C、delete B delete A D、delete A delete B

  12、文件長度是一個大于0的整數(shù),用變量unsigned file_length; 來表示,把文件分成塊,每塊的長度也是一個大于0的整數(shù),用變量unsigned block_length; 來表示,則文件被分成的塊數(shù)為()

  A、file_length/block_length B、file_length/block_length+1

  C、(file_length+block_length-1)/block_length D、((file_length-1)/block_length+1

  13、整數(shù)int i = 0xFE78DA45; int k = 0xAC3189B2;則i^k的值為()

  A、0x524953f7 B、0xAC308800 C、0xFE79DBF7 D、0X0000001

  14、看以下代碼:

  [cpp] view plaincopyclass parent

  {

  public:

  virtual void output();

  };

  void parent::output()

  {

  printf("parent!");

  }

  class son : public parent

  {

  public:

  virtual void output();

  };

  void son::output()

  {

  printf("son!");

  }

  則以下程序段:

  son s;

  ::memset(&s , 0 , sizeof(s));

  parent& p = s;

  p.output();

  執(zhí)行結(jié)果是()

  A、parent! B、son! C、son!parent! D、沒有輸出結(jié)果,程序運(yùn)行出錯

  15、函數(shù)的局部變量所需存儲空間,是在哪里分配的()

  A、進(jìn)程的數(shù)據(jù)段 B、進(jìn)程的棧上 C、進(jìn)程的堆上 D、以上都可以

  16、以下STL的容器存放的數(shù)據(jù),哪個肯定是排好序的()

  A、vector B、deque C、list D、map

  17、int a[][3]={{1},{3,2},{6,7,8},{9}};中a[2][1]的值是()

  A、3 B、6 C、2 D、7

  18、以下關(guān)于頭文件,說法正確的是()

  A、#include,編譯器尋找頭文件時,會從當(dāng)前編譯的源文件所在的目錄去找

  B、#include“filename.h”,編譯器尋找頭文件時,會從通過編譯選項指定的目錄去找

  C、多個源文件同時用到的全局整數(shù)變量,它的聲明和定義都放在頭文件中,是好的編程習(xí)慣

  D、在大型項目開發(fā)中,把所有自定義的數(shù)據(jù)類型、全局變量、函數(shù)聲明都放在一個頭文件中,各個源文件都只需要包含這個頭文件即可,省去了要寫很多#include語句的麻煩,是好的編程習(xí)慣。

  19、某棵完全二叉樹上有699個節(jié)點,則該二叉樹的葉子節(jié)點數(shù)為()

  A、349 B、350 C、188 D、187

  n0=n2+1;

  n=n0+n1+n2=n0+n1+n0-1=699

  由于完全二叉樹中度為1的節(jié)點只有0個或1個兩種情況,所以,將0或1帶入上面公式,整理后得: n0=(n+1)/2或者n0=n/2; 看看n是否能被2整除,能則用n0=n/2。否則用n0=(n+1)/2 既葉子節(jié)點為n0=(n+1)/2=350

  20、在一個指向字符串的指針char *p_str,要把字符串中第4個字符的值改為'a',正確的做法是()

  A、p_str[3]='a' B、*(ptr+3)='a' C、p_str[4]='a' D、*(ptr+4)='a'

  二、多選題(10題,每題3分,錯選漏選都不得分)

  1、已知一段文本有1382個字符,使用了1382個字節(jié)進(jìn)行存儲,這段文本全部是由a、b、c、d、e這5個字符組成,a出現(xiàn)了354次,b出現(xiàn)了483次,c出現(xiàn)了227次,d出現(xiàn)了96次,e出現(xiàn)了232次,對這5個字符使用哈夫曼(Huffman)算法進(jìn)行編碼,則以下哪些說法正確()

  A、使用哈夫曼算法編碼后,用編碼值來存儲這段文本將花費(fèi)最少的存儲空間

  B、使用哈夫曼算法進(jìn)行編碼,a、b、c、d、e這5個字符對應(yīng)的編碼值是唯一確定的

  C、使用哈夫曼算法進(jìn)行編碼,a、b、c、d、e這5個字符對應(yīng)的編碼值可以有多套,但每個字符編碼的位(bit)數(shù)是確定的

  D、b這個字符的哈夫曼編碼值位數(shù)應(yīng)該最短,d這個字符的哈夫曼編碼值位數(shù)應(yīng)該最長

  2、下列表達(dá)式中,不合法的是()

  已知:double d = 3.2; int n = 3;

  A、d<<2;

  B、d/n

  C、!d && (n-3)

  D、(d-0.2)|n

  3、下面描述正確的是()

  A、while循環(huán)語句的循環(huán)體至少執(zhí)行1次

  B、do-while循環(huán)可以寫成while循環(huán)的格式

  C、continue語句可以出現(xiàn)在各種循環(huán)體中

  D、break語句不可以出現(xiàn)在循環(huán)體內(nèi)

  4、關(guān)于內(nèi)聯(lián)函數(shù)正確的是()

  A、類的私有成員函數(shù)不能作為內(nèi)聯(lián)函數(shù)

  B、在所有類說明中內(nèi)部定義的成員函數(shù)都是內(nèi)聯(lián)函數(shù)

  C、類的保護(hù)成員函數(shù)不能作為內(nèi)聯(lián)函數(shù)

  D、使用內(nèi)聯(lián)函數(shù)的地方會在運(yùn)行階段用內(nèi)聯(lián)函數(shù)體替換掉

  5、下面模板聲明中,哪些是非法的()

  A、templateclass C1;

  B、templateclass C2;

  C、templateclass C3{};

  D、templateclass C4{};

  6、在使用瀏覽器打開一個網(wǎng)頁的過程中,瀏覽器會使用的網(wǎng)絡(luò)協(xié)議包括()

  A、DNS B、TCP C、HTTP D、Telnet

  7、下面屬于構(gòu)造散列函數(shù)的方法是()

  A、直接定址法

  B、數(shù)字分析法

  C、乘余取整法

  D、平方取中法

  8、拷貝構(gòu)造函數(shù)的特點是()

  A、該函數(shù)名同類名,也是一種構(gòu)造函數(shù),該函數(shù)返回自身引用

  B、該函數(shù)只有一個參數(shù),必須是對某個對象的引用

  C、每個類都必須有一個拷貝初始化構(gòu)造函數(shù),如果類中沒有說明拷貝構(gòu)造函數(shù),則編譯器系統(tǒng)會自動生成一個缺省拷貝構(gòu)造函數(shù),作為該類的保護(hù)成員

  D、拷貝初始化構(gòu)造函數(shù)的作用是將一個已知對象的數(shù)據(jù)成員值拷貝給正在創(chuàng)建的另一個同類的對象

  9、下列關(guān)于虛函數(shù)的說法正確的是()

  A、在構(gòu)造函數(shù)中調(diào)用類自己的虛函數(shù),虛函數(shù)的動態(tài)綁定機(jī)制還會生效。

  B、在析構(gòu)函數(shù)中調(diào)用類自己的虛函數(shù),虛函數(shù)的動態(tài)綁定機(jī)制還會生效。

  C、靜態(tài)函數(shù)不可以是虛函數(shù)

  因為靜態(tài)成員函數(shù)沒有this,也就沒有存放vptr的地方,同時其函數(shù)的指針存放也不同于一般的成員函數(shù),其無法成為一個對象的虛函數(shù)的指針以實現(xiàn)由此帶來的動態(tài)機(jī)制。靜態(tài)是編譯時期就必須確定的,虛函數(shù)是運(yùn)行時期確定的。

  D、虛函數(shù)可以聲明為inline

  inline函數(shù)和virtual函數(shù)有著本質(zhì)的區(qū)別,inline函數(shù)是在程序被編譯時就展開,在函數(shù)調(diào)用處用整個函數(shù)體去替換,而virtual函數(shù)是在運(yùn)行期才能夠確定如何去調(diào)用的,因而inline函數(shù)體現(xiàn)的是一種編譯期機(jī)制,virtual函數(shù)體現(xiàn)的是一種運(yùn)行期機(jī)制。

  因此,內(nèi)聯(lián)函數(shù)是個靜態(tài)行為,而虛函數(shù)是個動態(tài)行為,他們之間是有矛盾的。

  函數(shù)的inline屬性是在編譯時確定的, 然而,virtual的性質(zhì)則是在運(yùn)行時確定的,這兩個不能同時存在,只能有一個選擇,文件中聲明inline關(guān)鍵字只是對編譯器的建議,編譯器是否采納是編譯器的事情。

  我并不否認(rèn)虛函數(shù)也同樣可以用inline來修飾,但你必須使用對象來調(diào)用,因為對象是沒有所謂多態(tài)的,多態(tài)只面向行為或者方法,但是C++編譯器,無法保證一個內(nèi)聯(lián)的虛函數(shù)只會被對象調(diào)用,所以一般來說,編譯器將會忽略掉所有的虛函數(shù)的內(nèi)聯(lián)屬性。

本文已影響6827
上一篇:淘寶2011年校園招聘筆試題目 下一篇:PPS2014校園招聘筆試真題

相關(guān)文章推薦

|||||