- C語言程序設計立體化案例教程
- 鄧磊等主編
- 6字
- 2023-11-23 19:16:25
2.1 數據的表示
2.1.1 常量和變量
在計算機高級語言中,數據有兩種表現形式:常量和變量。
1.常量
生活中的有些事物需要用數值來表示,例如人民幣、時間等。在程序中,同樣會出現一些數值,例如123、1.5、'a'等,這些數值是不可變的,通常將它們稱為常量。在C語言中,常量包括整型常量、實型常量、字符常量、字符串常量、符號常量等。
(1)整型常量。
整型常量是整數類型的數據,又被稱為整常數,包括正整數、零、負整數。整常數可用以下三種形式表示,具體如下:
十進制整數,由數字0~9和正、負號組成,如123、-456、0;
八進制整數,以數字0為前綴,其后由數字0~7組成,如056(相當于十進制的46)、-017(相當于十進制的-15);
十六進制整數,以0x或0X為前綴,其后由數字0~9和字母A~F(大小寫均可)組成,如0x3A(相當于十進制的58)、-0x2e(相當于十進制的-46)。
需要注意的是,由于生活中普遍使用十進制的方式來表示數字,那么在程序中為了符合使用習慣,通常也使用十進制來表示數字,在沒有特定標識的情況下,都默認為十進制。
(2)實型常量。
實型常量也稱為浮點數常量。在C語言中,實數只能用十進制表示。它有兩種形式:小數形式和指數形式。
①小數形式:由數字0~9和正、負號組成。例如,1.、55.0、-6.6等均為合法的實數。注意,必須有小數點。
②指數形式:由尾數部分、字母E或e和指數部分組成,格式為±尾數E指數。如1.23E-2(表示的數值為1.23×10-2)、3.14E+3(表示的數值為3.14×103)等。
注意:
以小數形式表示實數時,必須有小數點,并且小數點的前、后至少一邊要有數字;以指數形式表示實數時,字母E(或e)的前、后必須有數字,并且指數部分只能是整數。
(3)字符常量。
字符常量用于表示一個字符,一個字符常量要用一對英文半角格式的單引號括起來,可以分為兩種形式。
①普通字符常量。它可以是英文字母、數字、標點符號,如'a'和'1'。當字符常量存儲在計算機的存儲單元中時,是以其代碼(一般采用ASCII代碼)存儲的,例如字符'a'的ASCII碼值是97。在上例中,'0x20'表示一個空白字符,即在單引號之間只有一個表示空白的空格,空白字符在ASCII碼表中對應的值為'0x20'。附錄A中的ASCII表列出了所有可以使用的字符。
②轉義字符。對于控制符(如回車、換行等)與不可見的字符,在C語言中通過轉義字符來表示。它是以\開頭的字符序列,例如在1.3節案例中用過的\n代表一個換行符。常用的轉義字符如表2-1所示。
表2-1 常見的轉義字符

(續表)

注意:
①區分斜杠'/'與反斜杠'\',此處不可互換。
②\xhh十六進制轉義不限制字符個數'\x000000000000F'=='\xF'。
(4)字符串常量。
字符串常量是用一對雙引號括起來的字符序列。如"how do you do.""CHINA""a""$123.45""C language programming""a\\n""#123"等均為字符串常量。
存儲:字符串中的字符依次存儲在內存中一塊連續的區域內,并且把空字符'\0'自動附加到字符串的尾部作為字符串的結束標志。故字符個數為n的字符串在內存中應占n+1個字節。
(5)符號常量。
在C語言中,可以用一個標識符來表示一個常量,這個標識符稱為符號常量。其特點是編譯后寫在代碼區,不可尋址,不可更改,屬于指令的一部分。符號常量在使用之前必須先定義,用#define指令,指定用一個符號名稱代表一個常量,例如:

經過以上的指定后,本文件中從此行開始所有的PI都代表3.1416。但是后面我們學習完變量后,大家要注意區分字符常量和變量的區別。
2.變量
變量代表一個有名字的、具有特定屬性的存儲單元。變量用來存放數據,也就是存放變量的值。在程序運行期間,變量的值是可以改變的。變量必須先定義,后使用。由于數值的類型有多種,有整數、小數(浮點數)、字符等,那么對應的變量就有整型變量、浮點型變量、字符型變量。變量還有其他的具體分類。整型變量可具體分為無符號型、長整型和短整型。浮點型也可具體分為單精度型、雙精度型和長雙精度型。此外,還可以分為靜態變量、外部變量、寄存器變量和自動存儲變量。這些數據類型我們在本節和后面的章節中都會陸陸續續介紹。
通過前面的介紹我們知道,在定義變量時,還需要對變量進行命名,這個名字也稱作標識符。
標識符的命名有一定的規則:
(1)標識符只能由字母、數字和下畫線三類字符組成;
(2)第一個字符必須是字母或者下畫線;
(3)大寫字母和小寫字母被認為是兩個不同的字符,如A和a是兩個不同的標識符;
(4)標識符可以任意長,但只有前32位有效。有些舊的C語言版本對外部標識符的限制為6位。這是由于連接程序的限制所造成的,而不是C語言本身的局限性;
(5)標識符不能是C語言的關鍵字。
在上面的規則中,有個關鍵字的概念。那么什么叫關鍵字呢?從表面字意上也可以看出,關鍵字是C語言本身某些特性的一個表示,是唯一代表某一個意思的。下面列出ANSI標準定義的C語言的32個關鍵字,這些關鍵字在以后的學習中基本上都會用到,屆時會說明它們各自的用法。
auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while.
所以在以后的學習中,在給變量命名時要避開這些關鍵字。
一條變量說明語句由數據類型和其后的一個或多個變量名組成。變量說明的形式如下:

這里的類型是指C語言的有效數據類型,變量表是一個或多個標識符名,每個標識符之間用,分隔。下面我們來介紹一下數據類型。
- Python自然語言處理實戰:核心技術與算法
- Machine Learning with R Cookbook(Second Edition)
- Java Web程序設計
- 高級C/C++編譯技術(典藏版)
- C語言從入門到精通(第4版)
- D3.js 4.x Data Visualization(Third Edition)
- MATLAB 2020從入門到精通
- Learning JavaScript Data Structures and Algorithms
- Node學習指南(第2版)
- Instant Zurb Foundation 4
- Windows Phone 8 Game Development
- WCF技術剖析(卷1)
- Python編程基礎教程
- ASP.NET Core and Angular 2
- C語言程序設計實驗指導與習題精解