C語言入門階段:教你幾招如何牢記常量和變量

小夥伴們有沒有想過什麼是C常量,什麼是C變量?爲何它們是編程世界的重要組成部分?在今天就帶小夥伴一塊兒學習和了解C語言中的常量和變量。編程


 

常量:

一、整型常量(整常數)

        整型常量是整數類型的數據。可用如下三種形式表示,具體以下:函數

十進制整數,123,-456,0;學習

八進制整數,如0123,-011;編碼

十六進制整數,如0x123,-0x12。操作系統

二、 實型常量

        實型常量也稱爲浮點數常量,也就是在數學中用到的小數,能夠分爲 float 單精度浮點數和 double 雙精度浮點數兩種類型。其中,單精度浮點數後面以F 或 f 結尾,而雙精度浮點數則以 D 或 d 結尾。固然,在使用浮點數時也能夠在結尾處不加任何的後綴。浮點數常量還能夠經過指數形式來表示,具體示例以下:3d

2e3f  3.6d 0f  3.84d  5.022e+23f  指針

三、 字符常量

        字符常量用於表示一個字符,一個字符常量要用一對英文半角格式的單引號(' ')引發來,它能夠是英文字母、數字、標點符號以及由轉義序列來表示的特殊字符。具體示例以下:orm

'a'  '1' '&'  '\r' '0x20' blog

上面的示例中,'0x20'表示一個空白字符,即在單引號之間只有一個表示空白的空格。之因此能這樣表示是由於C 語言採用的是 ASCII 字符集,空格字符在 ASCII 碼錶(文章底部)中對應的值爲'0x20'。教程


 

變量

在程序運行期間,隨時可能產生一些臨時數據,應用程序會將這些數據保存在一些內存單元中,每一個內存單元都用一個標識符來標識。這些內存單元咱們稱之爲變量,定義的標識符就是變量名,內存單元中存儲的數據就是變量的值。具體以下:

int x = 0,y;

y = x+3;

        上面的代碼中,第一行代碼的做用是定義了兩個變量 x 和 y,也就至關於分配了兩塊內存單元,在定義變量的同時爲變量 x 分配了一個初始值 0,而變量 y沒有分配初始值,變量 x 和 y在內存中的狀態以下圖所示。


 

     第二行代碼的做用是爲變量賦值,在執行第二行代碼時,程序首先取出變量x的值,與3相加後,將結果賦值給變量y,此時變量 x 和 y在內存中的狀態發生了變化,以下圖所示。


 

從上圖以及上面的描述不難發現,變量實際上就是一個臨時存放數據的地方。在程序中,能夠將指定的數據存放到變量中,方便隨時取出來再次進行使用。

變量的數據類型


 

        從上圖中能夠看出,C 語言中的數據類型可分爲 4 種,分別是基本類型、構造類型、指針類型、空類型。

一、整型變量

        在程序開發中,常常會遇到 0、-100、1024 等數字,這些數字均可稱爲整型。整型就是一個不包含小數部分的數。在C 語言中,根據數值的取值範圍,能夠將整型定義爲短整型(shortint)、基本整型(int)和長整型(longint)。下表列舉了整數類型的長度及其取值範圍。

  整數類型的長度及其取值範圍


 

從上表中能夠看出,整數類型可分爲 short、int 和 long,這三種類型能夠被 signed 和 unsigned 修飾。其中,被 signed 修飾的整數類型稱爲有符號的整數類型,被unsigned 修飾的稱爲無符號的整數類型。它們之間最大的區別是無符號類型能夠存放的正數範圍比有符號類型中的範圍大一倍。例如,int 的取值範圍是 -231~231-1,而unsigned int 的取值範圍是 0~232-1。默認狀況下,整型數據都是有符號的,此時signed 修飾符能夠不用寫。須要注意的是,整型數據在內存中佔的字節數與所選擇的操做系統有關。雖然 C 語言標準中沒有明確規定整型數據的長度,但 long類型整數的長度不能短於 int 類型,short類型整數的長度不能短於 int 類型。


 

二、實型變量

        實型變量也能夠稱爲浮點型變量,浮點型變量是用來存儲小數數值的。在 C 語言中,浮點型變量分爲兩種:單精度浮點數(float)、雙精度浮點數(double),可是 double 型變量所表示的浮點數比 float 型變量更精確。下表列舉了兩種不一樣浮點型數所佔用的存儲空間大小及取值範圍。

                                                           浮點類型長度及其取值範圍


 

  表中列出了兩種浮點數類型變量所佔的空間大小和取值範圍。在取值範圍中,E 表示以 10 爲底的指數,E後面的「+」號和「-」號表明正指數和負指數,例如,1.4E-45 表示 1.4*10-45。在 C 語言中,一個小數會被默認爲 double 類型的值,所以在爲一個float 類型的變量賦值時須要注意一點,所賦值的後面必定要加上字母「F」(或者小寫「f」),而爲 double類型的變量賦值時,其所賦值後面的字符「D」(或小寫「d」),能夠省略。具體示例以下:

float f = 123.4f;  

//爲一個float類型的變量賦值,後面必須加上字母f

double d1 = 100.1;  

//爲一個double類型的變量賦值,後面能夠省略字母d

double d2 = 199.3d; 

//爲一個double類型的變量賦值,後面能夠加上字母d

另外,在程序中也能夠爲一個浮點數類型變量賦予一個整數數值,示例以下: 

float f = 100;   //聲明一個float類型的變量並賦整數值

double d = 100;  //聲明一個double類型的變量並賦整數值

float 和double 之間的數據轉換

        因爲浮點型變量是由有限的存儲單元組成的,所以只能提供有限的有效數字。在有效位之外的數字將被捨去,這樣可能會產生一些偏差,例如,將 3.141592612 賦給一個 float 型變量,但它只能保證前 7 位是有效的,即使成3.141593。

三、字符型變量

        字符型變量用於存儲一個單一字符,在 C語言中用 char 表示,其中每一個字符變量都會佔用 1 個字節。在給字符型變量賦值時,須要用一對英文半角格式的單引號(' ')把字符括起來,例如,'A'的聲明方式以下所示:

char ch = 'A';   //爲一個char類型的變量賦值字符'a'

        上述代碼中,將字符常量'A'放到字符變量ch 中,實際上並非把該字符自己放到變量的內存單元中去,而是將該字符對應的 ASCII 編碼放到變量的存儲單元中。例如:ASCII使用編號 65 來對應大寫字母「A」,所以變量 ch存儲的是整數 65,而不是字母「A」自己。經過一個案例來講明,如例所示。

 1

#include <stdio.h>

 2

void main()

 3

{

 4

    char ch1 = 'A';

 5

    char ch2 = 65;

 6

    printf("%c\n", ch1);

 7

    printf("%c\n", ch2);

 8

}

運行結果如圖所示。


 

        例中,定義了兩個char 類型變量,分別賦值爲字符'A'和數字65,而後經過 printf 函數把兩個變量的內容以字符形式打印到屏幕上。從圖中能夠看出,兩個變量輸出的結果是同樣的,這說明對於字符型來講,A和 65 其實沒什麼區別。嚴格來講,字符類型也是整型類型。須要注意的是,除了能夠直接從鍵盤上輸入的字符(如英文字母,標點符號,數字,數學運算符等)之外,還有一些字符是沒法用鍵盤直接輸入的,好比,「回車」,此時須要採用一種新的定義方式——轉義字符,它以反斜槓\開頭,隨後接特定的字符。下表列舉了一些常見的轉義字符。

                                                                    部分常見轉義字符表


 

ASCII碼錶

        計算機使用特定的整數編碼來表示對應的字符。咱們一般使用的英文字符編碼是 ASCII(American Standard Code forInformation Interchange 美國信息交換標準編碼)。ASCII 編碼是一個標準,其內容規定了把英文字母、數字、標點、字符轉換成計算機能識別的二進制數的規則,而且獲得了普遍承認和遵照。下表爲ASCII 碼錶的可打印字符部分(0 ~ 127),供你們查閱使用,如表2-6 所示。

表2-6 ASCII碼錶


 

在這篇教程中,咱們細緻的討論瞭如何定義C語言中常量或字符,以及其餘可用的常量類型。在完成本教程以後,你已經基本掌握了C語言的常量和字符的知識。固然,若是還有遺漏之處,歡迎你們留言指出。

相關文章
相關標籤/搜索