程式設計(2)--資料型態與變數 data types & variable

程式設計(2)--資料型態與變數 data types & variable

1. 在C語言裡,所有的資料均有其對應的資料型態。其中基本資料型態如下:

(下表資料與編譯軟體有關,以下為 MINGW32-GNU GCC on WinXP 之參考數值)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

資料型態 宣告方式 資料長度 資料範圍 說明/有效位數
字元 char 1 byte -27~27-1 相當於 -128~127
整數 short int 2 bytes -215~215-1 相當於 -32,768~32,767
int 4 bytes -231~231-1 相當於 -2,147,483,648~2,147,483,647
long int 4 bytes -231~231-1 相當於 -2,147,483,648~2,147,483,647
long long int 8 bytes -263~263-1 相當於 -9,223,372,036,854,775,808LL~9,223,372,036,854,775,807LL
浮點數(小數) float 4 bytes 3.4E-38~3.4E+38 6位數
double 8 bytes 1.7E-308~1.7E+308 15位數
long double 12 bytes E-4931~E+4932 18位數
    

 

 

2. 變數

 

     2.1 在程式中我們常會需要利用變數來代表某些資料或數值,利如金額可用money,平均可用average等,在對變數命名時需儘量盡量選擇有意義且易嘹解的名稱,而不要因貪一時方便用類似a,b,x,y等名稱,否則不僅別人看不懂,連程式作者也可能在一段時間後忘了變數代表的意義

     2.2 C語言變數命名的規定:第一個字元必需是英文字母或底線(_),之後可用數字、英文字母或底線(_),但是不可以用保留字。

               例:num          合法

                    _money     合法

                    sum4     合法

                    3score     不合法,第一個字不可為數字

                    main     不合法,不可為保留字

                                                  

     2.3 變數宣告:變數在使用之前要經過宣告的程序,如下

          syntax:資料型態 變數名稱[=初始值]

          eg:

         

 

          int no;

          int money=100,sum=0;

          char sex='M';     //留意!字元要用單引號括住

         

 

 

    

3.有號數(signed)與無號數(unsigned)

 

     若無特別宣告,則基本上所有上述資料型態皆可儲存有號數,亦即可記錄正、負數。若只處理正數時,可在宣告變數時在前面加上unsigned(其資料範圍會變大)。

     例:

    

unsigned short int count;     //count記錄範圍為0~65535

 

    

4.溢位(overflow)及缺位(underflow)

 

     當變數儲存的資料超過其上限時稱為「溢位」,超過下限時稱為「缺位」。

     例:

    

short int x=32768,y=-32769; //錯誤!x為溢位錯誤,y為缺位錯誤。

 

 

5.常數宣告

 

     若我們希望變數不因程式執行而改變,可將其宣告為常數。其宣告方式為在資料型態前加const即可

     例:

    

const float PI=3.1415;

 

 

    

6.字串(String)及陣列(Array)

 

     字串及陣列可以儲存連續的字元或數字,例如人名,全班成績等資料。

     例:

    

 

     //字串需用雙引號" "括住

     char name[20]="Avatar";

     //數字陣列用大括號{ }括住,中間用逗號隔開‧   

     int score[5]={99,100,50,70,80};

    

 

 

                                                              

7.自訂資料型態:

 

     有時後如果遇到較複雜的資料,可利用自訂資料型態的功能。請參考struct(結構)和enum(列舉)的用法。

    

 

     struct book{

          char title[20];          //書名
          char author[10];     //作者
          int value;               //價格

          }

     enum color {red,green,blue,white,black}; //顏色:紅綠藍白黑

    

 

 

8.試試看:

 

     8.1 請問以下資料適用於何種資料型態?並請舉例

          a.目前全世界的人口數量     b.一部DVD電影的價格     c.撲克牌的點數

          d.某銀行的定存利率      e.圓周率(精確到小數點第10位)          g.某國國名

     8.2 請問以下資料適用於何種資料型態?

          a.1024          b.'x'               c.'\n'     d.2.54          e.1234567890

          f.1.23E+20     g.1.5E-100      h."I love programming!"

     8.3 請從鍵盤輸入以上資料,並從螢幕輸出。(利用scanf()及printf())

你可能感兴趣的:(程式設計(2)--資料型態與變數 data types & variable)