1. 程式人生 > >北京亞控筆試題目(2014年10月9日)

北京亞控筆試題目(2014年10月9日)

1
右值左值
C/C++語言中可以放在賦值符號左邊的變數,左值表示儲存在計算機記憶體的物件,左值相當於地址值。右值:當一個符號或者常量放在操作符右邊的時候,計算機就讀取他們的“右值”,也就是其代表的真實值,右值相當於資料值
左值和右值是相對於賦值表示式而言的。左值是能出現在賦值表示式左邊的表示式。左值表示式可以分為可讀寫的左值和只讀左值。右值是可以出現在賦值表示式右邊的表示式,他可以是不佔據記憶體空間的臨時量或字面量,可以使(還是《是》)不具有寫入權的空間實體。
2
Big Endian 和 Little Endian
談到位元組序的問題,必然牽涉到兩大CPU派系。那就是Motorola的PowerPC系列CPU和Intel的x86系列CPU。PowerPC系列採用big endian方式儲存資料,而x86系列則採用little endian方式儲存資料。那麼究竟什麼是big endian,什麼又是little endian呢?
 其實big endian是指低地址存放最高有效位元組(MSB),而little endian則是低地址存放最低有效位元組(LSB)。
比如數字0x12345678在兩種不同位元組序CPU中的儲存順序如下所示:   BigEndian      低地址                                           高地址   -------------
|    12     |      34   |     56      |    78    |  
 LittleEndian     
低地址                           高地址   
|     78     |     56    |     34     |     12    |   
 
3
空指標
空指標是一個特殊的指標值,也是唯一一個對任何指標型別都合法的指標值。指標變數具有空指標值,表示它當時處於閒置狀態,沒有指向有意義的東西。空指標用0表示,C語言保證這個值不會是任何物件的地址。給指標值賦零則使它不再指向任何有意義的東西。為了提高程式的可讀性,標準庫定義了一個與0等價的符號常量NULL.    程式裡可以寫 p = 0;    或者 p = NULL; 兩種寫法都把p置為空指標值。相對而言,前一種寫法更容易使讀程式的人意識到這裡是一個指標賦值
4
執行緒
執行緒(thread, 臺灣稱“執行緒”)是程序中某個單一順序的控制流。也被稱為輕量程序(lightweight processes)。計算機科學術語,指執行中的程式的排程單位。
5
預處理
預處理一般是指在程式原始碼被翻譯為目的碼的過程中,生成二進位制程式碼之前的過程。典型地,由前處理器(preprocessor) 對程式原始碼文字進行處理,得到的結果再由編譯器核心進一步編譯。這個過程並不對程式的原始碼進行解析,但它把原始碼分割或處理成為特定的單位——(用C/C++的術語來說是)預處理記號(preprocessing token)用來支援語言特性(如C/C++的巨集呼叫)。
6設計模式
7
macro使用
8
malloc
malloc的全稱是memory allocation,中文叫動態記憶體分配,當無法知道記憶體具體位置的時候,想要繫結真正的記憶體空間,就需要用到動態的分配記憶體。原型為extern void *malloc(unsigned int num_bytes)。
9free函式
釋放malloc()函式給指標變數分配的記憶體空間的函式
使用後該指標變數一定要重新指向NULL,防止野指標出現,有效 規避誤操作。