Presentation is loading. Please wait.

Presentation is loading. Please wait.

計算機程式設計 -- 3. 變數 李增奎. 大綱 -- 變數  變數的基礎知識  意義  宣告  使用  變數型別  數字  整數  浮點數  字元  指標  字串 2.

Similar presentations


Presentation on theme: "計算機程式設計 -- 3. 變數 李增奎. 大綱 -- 變數  變數的基礎知識  意義  宣告  使用  變數型別  數字  整數  浮點數  字元  指標  字串 2."— Presentation transcript:

1 計算機程式設計 -- 3. 變數 李增奎

2 大綱 -- 變數  變數的基礎知識  意義  宣告  使用  變數型別  數字  整數  浮點數  字元  指標  字串 2

3 變數的基礎知識 3  variable – 變數  意義  在數學裡,變數  既不會變  也未必是數字  在程式裡,變數  跟數學裡的變數 意義完全不同  和數字,以及會不會變動,更沒有關係  是 記憶體中 儲存空間 的代號  儲存空間  位置  通常 是看 起始位置 ( 如果是中間的位置,用的時候比較麻煩 )  大小

4 變數的基礎知識 4  變數的意義  儲存資料用 的 記憶體空間 的代號  記住! 程式 不過就是 處理資料 的一連串命令  程式的運作 永遠離不開 資料  資料 在處理過程中,需要  能被 儲存  能被 取用  不管是 儲存或者取用 都需要知道 存在哪裡  起始位置  大小  ( 高階的程式,為了確保資料能做正確的運算,還會驗證 資料的 ) 格式

5 變數的基礎知識 5  變數 宣告  int i;  編譯器做了什麼事?  配置一個 空間  大小: 4 個 bytes ??  因為 int 根據定義,大小是 4 個 bytes 。  每種資料型別 (date type) 都有定義 使用的記憶體空間大小。  事實上,在 C 裡,資料型別 基本上就是定義 空間大小。  在自己的小筆記本的變數表中,記起來 變數代號起始位置大小 ….. i0xa5238b7e4 …. 記憶體位址,簡單的說就是編號, 從 0 開始,照順序往下編,只是 配合電腦的二進制,一般都是用 16 進制數字表示 記憶體位址

6 變數的基礎知識 6  變數 使用  變數在使用時,最需要記住的是 – 變數 就是個 儲存空間  變數 ( 儲存空間 ) 的使用  儲存  將 資料 儲存到儲存空間  取用  將 資料 從儲存空間拿出來  初始化儲存空間  在大多數的程式語言中,變數宣告時,會順便做  就是把 裡頭的內容 全部清成 0  但, C 不會

7 變數的基礎知識 7  簡單用一下 變數  儲存  i = 5;  弄清楚 “=“ 到底做什麼事 !!!!!!  =  執行 資料儲存 的動作  相當於 組合語言中的 mov ( 將資料傳送到指定位置 )  我個人覺得,如果符號能設計成 <= ,大家可能就比較不會搞錯了, 但,由於太常使用了,會覺得很麻煩。  在 = 的左邊 只能放 代表某個儲存空間 的代號 ( 或者 位置編號 )  i = 5;  做什麼事呢 ?  將 5 傳送到 i 代表的那個空間。 ( 儲存起來 )  變數 在 = 左邊時,就是 當儲存的用。

8 變數的基礎知識 8  簡單用一下 變數  取用  i +5  把 i 那個位置的資料 取出,然後和 5 做 整數加法運算  取出,就是把資料傳送到 CPU ( 通常是會先放到 CPU 裡的暫存器 中預做準備 )  基本上,只要 變數 不是出現在 = 的左邊,那就是 取用  取用 vs 儲存  取用 就是把 變數裡頭存的 資料 傳送到 CPU  儲存 把 資料 傳送到 記憶體的 某個指定空間 ( 大多數情況是 變數 )

9 變數的基礎知識 9  簡單用一下 變數  混合使用 int a, b; a = 5; b = 10; b = a+10; a = a+20; b = a + b; a = a + b + 20; printf(“%d”, a); 宣告  配置 空間 a, 空間 b ,各佔 4bytes 把 5 存進 a 把 10 存進 b 把 a 的內容 (5) 取出,加上 10 ,再存進 b 把 a 的內容 (5) 取出,加上 20 ,再存回 a 把 a 的內容 (25) 取出,再把 b 的內容 取出 (15) ,相加,再存進 b 取出 a, b 內容,相加,再加 20 ,存進 a 把 a 的內容取出,透過 printf 印出 ( 到螢幕 )

10 變數型別 – data type 10  何謂變數型別?  資料型別 – data type  用來告訴 編譯器 要配置的記憶體空間 需要多大。  高階的程式語言,還包含了 資料限定的格式。  數字  整數  int – 型別關鍵字  大小: 4 bytes  最原始的資料型別  例:  int a, b;  a = 5;  b = 10;  a = a + 100;

11 變數型別 – data type 11  數字  浮點數  double, float – 型別關鍵字  有小數部份的數字  大小:  double – 8 bytes  float – 4 bytes  格式: IEEE 754  參考網址: http://zh.wikipedia.org/wiki/IEEE_754http://zh.wikipedia.org/wiki/IEEE_754  儲存的內容若是不符合格式,仍能處理,但,資料會很有問題。  例:  double c, d;  c = 5;  d = 5.5;  printf(“%f, %f”, c, d);

12 變數型別 – data type 12  數字  整數 vs 浮點數  轉換問題:  int a = 5.5;  double b = 8.5;  printf(“%d, %f”, a, b);  printf(“%d, %d”, a, b);  printf(“%f, %f”, a, b);  a = b;  printf(“%d, %f”, a, b);  printf(“%d, %d”, a, b);  printf(“%f, %f”, a, b);  b=a;  printf(“%d, %f”, a, b);  printf(“%d, %d”, a, b);  printf(“%f, %f”, a, b);

13 變數型別 – data type 13  數字  整數 vs 浮點數  除法:整數除法 vs 浮點數除法  int a = 12, b = 5;  double c=12, d=5;  printf(“%d\n”, a/b);  printf(“%f\n”, a/b);  printf(“%d\n”, c/d);  printf(“%f\n”, c/d);  int e = c/d;  printf(“%d\n”, e);  printf(“%f\n”, d);

14 隨堂練習 14  變數型別相關  有一天俊龍去大潤發買泡麵,一碗定價 46 元,若是買 3 碗以 上,每碗打 8 折。俊龍


Download ppt "計算機程式設計 -- 3. 變數 李增奎. 大綱 -- 變數  變數的基礎知識  意義  宣告  使用  變數型別  數字  整數  浮點數  字元  指標  字串 2."

Similar presentations


Ads by Google