2022 秋季班程式設計 授課教師:海大電機 李東霖老師 Lecture 3 - 變數的使用、輸出與輸入 <摘要> ➢ 電腦中數值的儲存方式 ⚫ 位元(Bit) / 位元組(byte) / 字組(word) ⚫ ⚫ ⚫ ⚫ ➢ ➢ ⚫ 溢位(Overflow) 變數的基本宣告與使用法 ⚫ C 語言變數宣告的基本要件 ⚫ 單變數宣告與使用方式 ⚫ 多變數宣告與使用方式 資料型態介紹 ⚫ ⚫ ⚫ ⚫ ⚫ ➢ ➢ x 進位的表示法 (10 進位轉換至其它進位) 4 種常見整數表示方式 (相互間的轉換) 位元數與整數的表示 3 種負數的表示法 5 種 C 語言可儲存的基本資料型態 (C11 以後) 1. 整數:int/unsigned int/short/long 2. 浮點數:float/double 3. 字元:char/wchar_t/char16_t/char32_t 4. 布林值:_Bool 5. 複數:_Complex/_Imaginary IEEE Std 754 概述 ASCII 碼與跳脫字元(附表 1) 字元陣列(C 語言中的字串) 字元與字串在儲存空間中的差異 ⚫ 變數的初始值 宣告常數 ⚫ 定義符號常數 #define ⚫ 內建的符號常數(limits.h/float.h/math.h) ⚫ 常數宣告 const 字串及格式化輸入與輸出 ⚫ 基本輸出函數 printf() ◆ 格式化字串(format string) 1 ➢ ◆ 轉換規格(conversion specification) % ◆ 規格符號與輸出格式 (附表 2) ◆ 修飾子(附表 3 & 附表 4) ⚫ 輸入函數 scanf() ◆ 使用特定的分割符號分割 資料型態間的轉換 ⚫ 資料型態的記憶體儲存大小與數值範圍 ⚫ 資料型態(整數、浮點、字元)的轉換規則 <附表 1> <附表 2> 規格 引數 符號 輸出格式 顯示%符號 % 帶正負號的十六進位雙精確度浮點數,(%a 使用小寫字母,%A 使 用大寫) a、A 字元 其形式為[-] 0xh. hhhh hhhhp ±dd,其中 h. hhhh hhhh 是十六進位 數位,而且 dd 是指數的一或多個數位。指定小數點之後位數的精 確度。 c 字元 單一字元 s 字串 字串 d、i 整數 有號的十進位整數。 u 整數 無號的十進位整數。 o 整數 無號的八進位整數。 x、X 整數 不帶正負號的十六進位整數。(%x 使用小寫字母。%X 使用大寫字 母) e、E 浮點 有科學符號的浮點數。%e 和%E 的不同處在於 e 的大小寫。 f、F 浮點 浮點數和小數點符號。%f 和%F 不同處在于無限大和 nan 輸出的 大小寫。 2 規格 引數 符號 g、G 浮點 輸出格式 當值的指數介於-4 到精確度引數(預設 6)時,使用%f 或%F。 當值的指數小於-4 或大於或等於精確度引數時,使用%e 或%E。 p 指標 以十六進位數顯示引數的為位址。 類型 n 指標 不輸出字元,但是把已經成功輸出的字元個數寫入對應的指標變 類型 數中。 <附表 3> 旗標字元 代表意義 - (減號) 靠左對齊 +(加號) 數值前面呈現正負號 ‘ ‘(空格) 數值為正值時,使用空白的前置詞。 如果空白字元及 + 旗標同 時出現,則會略過空白字元。 0 數值長度小於寬度規格時,前置補 0 # 配合不同的規格符號有不同作用。 Ex. 使用%#x,輸出數值前會有 0x <附表 4> 配合引數 整數 浮點 修飾字元 代表意義 h 表示(unsigned) short int 的數值 hh 表示(unsigned) short char 的數值 l (L 小寫) 表示(unsigned) long int 的數值 ll (LL 小寫) 表示(unsigned) long long int 的數值 j 表示 intmax_t 值。通常使用於未知大小的數值。 t 表示 ptrdiff_t 值。通常用來保存兩個指標減法操作 的結果。 z 表示 size_t 值(32/64 位元: 4/8 bytes) L 表示 long double 的數值 3