2014中興筆試試題

2021-06-25 22:34:23 字數 1718 閱讀 3488

1.c語言中的volatile關鍵字

volatile關鍵字是一種型別修飾符,用它宣告的型別變數表示可以被某些編譯器未知的因素更改,比如 

作業系統、硬體或者其它執行緒等。遇到這個關鍵字宣告的變數,編譯器對訪問該變數的**就不再進行 

優化,從而可以提供對特殊位址的穩定訪問。2.

訪問越界了:定義的陣列是a[0]-a[9],迴圈裡面是到a[10]了

3.

#includevoid foo(void)

int main(void)

執行結果可能為什麼?為什麼?在兩個foo();之間加入printf("hello\n");呢?

結果為隨機數;或者是隨機數  999;因為第一次釋放的空間有可能被第二次重新申請。

4.

#includeint main()

; _uniontest uniontest;

uniontest.i = 0x1420;

printf("%d\t%d\n", uniontest.ch[0], uniontest.ch[1]);

}

執行結果是什麼?

32  20  

小端優先,先儲存20再儲存14,後面補0,把上面數轉化為2進製的數。由於是共享記憶體,所以把第乙個位元組給[0],第二個位元組給[1],你算一下,20對應的十進位制是32,14對應的十進位制是20

#includeint main()

5.

閱讀下列函式說明,並編寫函式 (10

分)(考點:工具語言  難度:較高)

《函式說

本題中的函式encode()實現對字串的變換.變換函式

encode()

順序考察已知字串的字元,按以下規則逐組生成新字串:

(1) 若已知字串的當前字元不是數字字元,則複製該字元於新字串中.

(2) 若已知字串的當前字元是乙個數字字元,且它之後沒有後繼字元,則簡單地將它複製到新字串中

(3) 若已知字串的當前字元是乙個數字字元,並且還有後繼字元,設該數字字元的面值為n

,則將它的後繼字元(包括後繼字元是乙個數字字元)重複複製

n+1次到新字串中.

(4) 以上述一次變換為一組,在不同組之間另插入乙個下劃線』_』用於分隔.例如:

encode()

函式對字串

26a3t2

的變換結果為

666_a_tttt_2

假定呼叫變換函式encode()時的已知字串中不含下劃線字元.

函式原形

>

int encode(char *instr,char *outstr);

**:

#includeint encode(char *instr,char *outstr)

{ char *ip,*op,c;

int k,n;

ip=instr;

op=outstr;

while (*ip)

{ if (*ip>='0'&&*ip<='9'&&*(ip+1))

{ n=*ip -'0' + 1;

c=*++ip;

for (k=0;k

2019 中興秋招筆試題1

2019.8.25中興 1.陣列按數字出現頻次排序 題意為從乙個亂序陣列中,將其中的整數按照出現的頻次多少來排列,比如輸入為 1,2,1,2,3,3,1,6,4,4,4,4 那麼輸出就應該為 4,4,4,4,1,1,1,2,2,3,3,6 其中,如果某兩個數字的出現頻次相同,那麼就按照輸入用例中的原...

文思筆試試題

1.建構函式與析構函式是否可以被過載,為什麼?2.指標和引用的區別。3.malloc 和new 的區別。4.字串反轉。用兩種方法,第二種方法只用乙個數串,直接互換。5.乙個time 類,包含 minute 和sec 兩個資料成員。模擬秒錶,每次走一秒,滿 60秒進一分鐘,此時秒又從 0開始。clas...

21 2023年中興面試題

程式設計求解 輸入兩個整數 n 和 m,從數列1,2,3.n 中 隨意取幾個數,使其和等於 m 要求將其中所有的可能組合列出來.分析 遞迴法 思路 1.首先判斷,如果n m,則n中大於m的數不可能參與組合,此時置n m 2.n m,n本身符合條件,輸出 3.n 給出 include int resu...