廢話不多說,請看筆試題:
1、如何在c語言中初始化乙個字元陣列。
最簡單的方法是char array;。更為全面的初始化方式為char array[5]=;或者char array[5]=;或者char array[2][10]=;
2、如何在c中為乙個陣列分配空間。
棧的形式:char array[5]; 堆的形式:char *array; array=(char *)malloc(5); //c++: array=new array(5);
3、如何初始化乙個指標陣列。
首先區分指向陣列的指標和存放指標的陣列。
指向陣列的指標:char (*array)[5]; 指向乙個存放五個字元陣列的指標。
存放指標的陣列:char *array[5]; 存放五個字元型指標的陣列。
char *array[2]=;存放兩個分別指向「china」和「shanghai」的指標的陣列。
4、如何定義有15個整形指標元素的陣列。
int *array[15];
5、s[10]的另外一種表達方式是什麼。
s[0]=*s; s[10]=*(s+10);
6、如何讓區域性變數具有全域性生命週期。
static修飾就可以了,但只是延長了生命週期,範圍並沒有擴大,除非把這個變數定義在函式體外的靜態區,不過那樣就變成全域性變數了。
7、c中的常量字串應在何時定義。
一種是預處理階段,用#define 定義;還有就是使用const修飾詞。
8、如何在.c檔案中引用對方的變數。
為全域性變數新增extern修飾詞。
9、使用malloc之前需要做什麼準備工作。
需要這段空間的指標是否存在,若不存在,則定義乙個指標用了被賦值,還要清楚返回什麼型別的指標,分配的記憶體空間是否合理;如果指標已經存在,那麼將新空間的位址賦值給指標之前,先判斷指標是否為null,如果不是則要free一下,否則原有的空間就會被浪費,或者出錯,free完就按前一種情形考慮。
10、realloc函式在使用上需要注意什麼。
這個函式的作用是重新分配空間大小,返回的頭指標不變,只改變空間大小。變大不能大到記憶體溢位,變小,部分空間會被徵用,原有資料不存在;如果想挪作他用,需要先free一下。
11、如何定義boolean變數的true和false。
#define true 1;
#define false 0;
12、c語言的volatile的含義是什麼,使用時會對編譯器有什麼影響。
volatile本意是易變的。由於訪問暫存器的速度快過ram,所以編譯器一般會做減少訪問外部ram的優化,但有可能會讀髒資料。當要求使用volatile宣告變數時,系統總是重新從所在記憶體中讀取,而不是使用暫存器中備份的資料。
C語言筆試題紀錄(一)
下列不是linux系統程序型別的是 d a.互動程序b.批處理程序c.守護程序d.就緒程序 程序狀態 聯合體union的記憶體大小判斷 為其包含的成員的記憶體大小的最小公倍數 命令kill 9 的含義是 d a.kills the process whose pid is 9 b.kills all...
c語言筆試小結
1.void p malloc 100 sizeof p 4 指標的位元組數,而不是指標指向的內容容量 2.void func char str 100 陣列作為函式的引數進行傳遞時,該陣列自動退化為同型別的指標 3.char str 100 sizeof str 100 不是函式的引數時 4.ch...
C語言筆試題
有a b c d四個人,要在夜裡過一座橋。他們通過這座橋分別需要耗時1 2 5 10分鐘,只有一支手電,並且同時最多只能兩個 人一起過橋。請問,如何安排,能夠在17分鐘內這四個人都過橋?答案 a b 2 mins 1 mins a c d 10 mins 2 mins b a b 2 mins 一共...