1. 程式人生 > >網易機器學習筆試題2

網易機器學習筆試題2

D : p = &x;  表示的是,對x取地址,賦值給指標p,那麼p 將指向 x 的那塊記憶體空間,但是 x  是形式引數(也有人說是方法引數,都可以),函式呼叫完了之後,記憶體就釋放了,所以再返回 *p(即取出那塊記憶體空間的值),已經找不到了。所以錯誤。

A :*p = x;  表示的是 將 x 的值賦值給 P 所指向的空間,而p之前並沒有指向任何地方,這個操作將是非法的。 C:*p = new int(x);   這個操作同 A 的結果一樣。 B  : p = new int(x);  new int(x) 新申請空間,呼叫完後不釋放空間,所以將地址賦值給p 則p 指向了這段新申請記憶體空間,所以當做  *p 返回時,即取出p所執行空間的值,所以會輸出5 關於解釋系統的敘述中,正確的是()

正確答案: A D 

解釋程式不是直接執行,而是轉換成機器可識別碼之後才能執行
使用解釋系統時會區分編譯階段和執行階段
目標程式可以脫離其語言環境獨立執行,使用比較方便、效率較高
一般來說,建立在編譯基礎上的系統在執行速度要優於建立在解釋執行基礎上的系統
A:計算機不能直接理解任何除及其語言以外的語言,所以必須要把程式設計師所寫的程式語言翻譯成機器語言,計算機才能執行程式。將其他語言翻譯成機器語言的工具,被稱為編譯器。編譯器翻譯的方式有兩種:一個是編譯,一個是解釋,相對應的是編譯型語言和解釋型語言。
B:編譯語言程式執行分為編譯、執行兩個階段
C:編譯語言如JAVA是跨平臺語言,編譯一次可以在別的系統中不需再次編譯直接執行
D選項:編譯語言首先將原始碼編譯成位元組碼或者編譯成二進位制碼
,C就是把原始碼編譯成二進位制碼,Java編譯成位元組碼。編譯語言執行的效率往往比較高。因為它會對編譯好的程式碼直接執行,而編譯好的程式碼已經接近機器語言,無需再去做解釋的工作。解釋性語言不同,在執行的時候才把原始碼調到執行它的地方,比如是引擎或者直譯器,呼叫一句執行一句。
在一個10階的B-樹上,每個樹根結點中所含的關鍵字數目最多允許為( )個,最少允許為( )個。
正確答案: B
10,5
9,4
8,3
7,6
最多M-1  最少M/2-1 向上取整