變數與記憶體 · 複習測驗

10 題涵蓋型態、sizeof、溢位、浮點精度、char/ASCII · 達 90% 放行
尚未作答
作答後按交卷自動算正確率:≥ 90% 過關;未達則回 Quizlet / 講義 複習再測。每題交卷後顯示正解與解析。

Q1printf("%d", 'C' - 'A') 輸出?預測輸出

2。'C'=67、'A'=65,相減得 2。常用來把字元轉成索引。

Q2printf("%c", 'a' - 32) 輸出?預測輸出

A。'a'=97,減 32 = 65 = 'A'(小寫轉大寫)。用 %c 印成字元。

Q3要存「平均成績 87.5」,該用什麼型態?

double。有小數要用浮點;用 int 會截斷成 87。double 比 float 精度高。

Q4int x = 2147483647; x = x + 1; 之後 x 是?概念

-2147483648。到 int 最大值再 +1 整數溢位、繞回最小負數(不 crash)。需要大數用 long long

Q50.1 + 0.2 == 0.3 的結果?概念

false。浮點以二進位近似,0.1+0.2 實際是 0.300...004。比較要用容差 fabs(a-0.3)<1e-9

Q6區域變數 int sum; 沒給初值就 sum += i,問題是?抓 bug

垃圾值、UB。區域變數不會自動歸零;要 int sum = 0;

Q764-bit 典型平台上 sizeof(int) 通常是?填空

4(bytes)。char=1、double=8。實際以 sizeof 查為準。

Q8字元 '0' 與整數 0 的關係?

不同。'0' 是字元(ASCII 48);c - '0' 才把數字字元轉成整數。

Q9定義常數時,const#define 好在哪?

有型態檢查。#define 是前處理器純文字替換、無型態;const 推薦使用。

Q10char c = '7'; printf("%d", c - '0'); 輸出?預測輸出

7。'7'=55、'0'=48,相減得 7(數字字元轉整數的標準技巧)。