C 語言中的關鍵字 ――什么是“關鍵字”,就是在 C 語中已經使用了的有特殊含意的字符,在定義變量的時候不要 使用這些“關鍵字”,否則在編譯時會產生許多莫明其妙的錯誤。
關鍵字共有 32 個:( P375 )
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 |
更多關于“常量”的說明 ――在前面已經簡單講了常量的定義,下面是關于常量的更多的內容。 常量與基本數據類型結合起來就是各種不同類型的常量,如:
數據類型 | 中文含義 | 常量實例 | 備注 |
int | 整 型 | 1 123 21000 -234 | |
long int | 長整型 | 35000L -34L | 數后面加 L 表示 |
short int | 短整型 | 10 -12 90 | |
unsigned int | 無符號整型 | 10000U 987U 40000 | 數后面加 U 表示 |
float | 浮點型 | 123.23F 4.34e-3F | |
double | 雙精度型 | 123.23 12312333 -0.98765432 | |
long double | 長雙精度型 | 1001.2L | 數后面加 L |
十六進制和八進制常量 ――在有些地方使用 8 進制數或 16 進制數比用 10 進制數要方便。以 8 進制為基數的數字系統稱為 8 進制,使用數字 0~7 , 8 進制的 10 代表 10 進制的 8 。以 16 進制為基數的系統稱為 16 進制,使用數字 0~9 以及 A~F , 16 進制的 10 代表 10 進制的 16 。 8 進制以 0 開頭, 16 進制以 0x 開頭。
例: int hex=0x80; /*16 進制的 80 ,代表 10 進制的 128*/
int oct=012; /*8 進制的 12 ,代表 10 進制的 10*/
串常量 ―― C 語言還支持另一種類型的常量,即字符串常量。所謂的串是用雙引號括起來的若干個字符,如 ”This is test” 就是一個字符串常量。注意字符與字符串的區別。字符一般指單個的字符,用單引號括起來,如 'a' ,而 ”a” 卻是一個字符串。
反斜線字符常量 ――這是 C 語言中比較特殊的字符常量,在實際應用中也是最容易出錯的地方。這些字符的特點都是以反斜線 '\' 開頭,后面跟著的字符表示了其它的含義。
例:
#include<stdio.h>
main()
{
printf(“\n\t This is test”); /* 括號里面就有反斜線字符常量,表示了一種特殊的含義 */
return 0;
}
反斜線代碼列表如下:
代碼 | 含義 |
\b | 退格 |
\f | 格式饋給 |
\n | 換行 |
\r | 回車 |
\t | 橫向跳格 |
\” | 雙引號 |
\' | 單引號 |
\0 | 空值 |
\\ | 反斜線 |
\v | 豎向跳格 |
\a | 計算機響鈴 |
\N | 八進制常量(其中 N 是八進制常量) |
\xN | 十六進制常量(其中 N 是十六進制常量) |
各種數據類型的含義 ――前面講了有 3 種基本的數據類型,它們分別是 int, char, float ,實際上經常要用到的有 5 種基本數據類型,還要加上 2 種 void 和 double.
每一種數據類型決定了可以存放什么樣的數以及在內存中占多少字節。
(首先要講一下字節是什么。字節是存儲器的計量單位。在計算機中存儲器最小的計量單位是 bit (位),每 1 個 bit 對應一個二進制的一位,如有一個二進制數 1101 ,那么這一個二進制數有 4 位,在內存中要占 4 bit 。 1 個字節有 8bit ( 8 位)。對于這些知識一定要熟記。)
各種數據類型在內存中所占的長度:(一般就說數據類型的長度,這個長度也決定了取值范圍)
字符型 char 1 個字節( 8 位)
整型 int 2 個字節( 16 位)
實型 float 4 個字節( 32 位)
各種數據類型的變量在內存中的存放形式 ――由于各種數據類型其長度和表示方法不同,在內存中存放的形式就不一樣。 數據在內存中是以二進制的形式存放的 (因為計算機只能處理二進制數,雖然有十六進制、八進制數,那只是為了計算方便人為地規定的,計算機可不認識這些東西,計算機把所有的數據、程序都轉換成二進制的形式再加以識別和處理。)
例: int i; i=10; 這個 10 由計算機的編譯程序轉換為二進制的 1010 。為了表示這個二進制數在內存中是怎樣存放的,我們用一個小方格表示計算機的最小內存單元 bit (1 位 ) ,那么 1 個字節就有 8 個小方格,注意小方格里面的數是二進制的 1 位:
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
這樣 10 進制的數 10 就放進了內存中,可以看到二進制數是從低位開始放置的。這里畫了 16 個小方格,因為 int 變量長度為 16 位, 2 個字節。如果定義的是字符型變量,只要畫 8 個小方格就可以了。