c語(yǔ)言標(biāo)識(shí)符有三類:1、關(guān)鍵字,是由C語(yǔ)言規(guī)定的具有特定意義的字符串,通常也稱為保留字;2、預(yù)定義標(biāo)識(shí)符,是系統(tǒng)預(yù)先定義的標(biāo)識(shí)符,如函數(shù)庫(kù)中的函數(shù)名、宏定義和類型別名;3、用戶定義標(biāo)識(shí)符,是用戶根據(jù)需要自己定義的標(biāo)識(shí)符,一般用來(lái)給變量、函數(shù)、數(shù)組等命名。用戶標(biāo)識(shí)符如果與關(guān)鍵字相同,則編譯時(shí)會(huì)出錯(cuò);如果與預(yù)定義標(biāo)識(shí)符相同,編譯時(shí)不會(huì)出錯(cuò),但預(yù)定義標(biāo)識(shí)符的原意失去了。
php入門到就業(yè)線上直播課:進(jìn)入學(xué)習(xí)
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點(diǎn)擊使用
本教程操作環(huán)境:windows7系統(tǒng)、c99版本、Dell G3電腦。
在計(jì)算機(jī)編程語(yǔ)言中,標(biāo)識(shí)符是用戶編程時(shí)使用的名字,用于給變量、常量、函數(shù)、語(yǔ)句塊等命名,以建立起名稱與使用之間的關(guān)系。標(biāo)識(shí)符通常由字母和數(shù)字以及其它字符構(gòu)成。
c語(yǔ)言標(biāo)識(shí)符的類型
C語(yǔ)言標(biāo)識(shí)符有關(guān)鍵字、用戶標(biāo)識(shí)符、預(yù)定義標(biāo)識(shí)符三類。C語(yǔ)言規(guī)定,標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須是字母或下劃線,不能是數(shù)字。
1、關(guān)鍵字(Keywords)
關(guān)鍵字是由C語(yǔ)言規(guī)定的具有特定意義的字符串,通常也稱為保留字,例如 int、char、long、float、unsigned 等。我們定義的標(biāo)識(shí)符不能與關(guān)鍵字相同,否則會(huì)出現(xiàn)錯(cuò)誤。
你也可以將關(guān)鍵字理解為具有特殊含義的標(biāo)識(shí)符,它們已經(jīng)被系統(tǒng)使用,我們不能再使用了。
標(biāo)準(zhǔn)C語(yǔ)言中一共規(guī)定了32個(gè)關(guān)鍵字:
關(guān)鍵字 | 說(shuō)明 |
---|---|
auto | 聲明自動(dòng)變量 |
short | 聲明短整型變量或函數(shù) |
int | 聲明整型變量或函數(shù) |
long | 聲明長(zhǎng)整型變量或函數(shù) |
float | 聲明浮點(diǎn)型變量或函數(shù) |
double | 聲明雙精度變量或函數(shù) |
char | 聲明字符型變量或函數(shù) |
struct | 聲明結(jié)構(gòu)體變量或函數(shù) |
union | 聲明共用數(shù)據(jù)類型 |
enum | 聲明枚舉類型 |
typedef | 用以給數(shù)據(jù)類型取別名 |
const | 聲明只讀變量 |
unsigned | 聲明無(wú)符號(hào)類型變量或函數(shù) |
signed | 聲明有符號(hào)類型變量或函數(shù) |
extern | 聲明變量是在其他文件正聲明 |
register | 聲明寄存器變量 |
static | 聲明靜態(tài)變量 |
volatile | 說(shuō)明變量在程序執(zhí)行中可被隱含地改變 |
void | 聲明函數(shù)無(wú)返回值或無(wú)參數(shù),聲明無(wú)類型指針 |
if | 條件語(yǔ)句 |
else | 條件語(yǔ)句否定分支(與 if 連用) |
switch | 用于開(kāi)關(guān)語(yǔ)句 |
case | 開(kāi)關(guān)語(yǔ)句分支 |
for | 一種循環(huán)語(yǔ)句 |
do | 循環(huán)語(yǔ)句的循環(huán)體 |
while | 循環(huán)語(yǔ)句的循環(huán)條件 |
goto | 無(wú)條件跳轉(zhuǎn)語(yǔ)句 |
continue | 結(jié)束當(dāng)前循環(huán),開(kāi)始下一輪循環(huán) |
break | 跳出當(dāng)前循環(huán) |
default | 開(kāi)關(guān)語(yǔ)句中的“其他”分支 |
sizeof | 計(jì)算數(shù)據(jù)類型長(zhǎng)度 |
return | 子程序返回語(yǔ)句(可以帶參數(shù),也可不帶參數(shù))循環(huán)條件 |
2、預(yù)定義標(biāo)識(shí)符
C語(yǔ)言中系統(tǒng)預(yù)先定義的標(biāo)識(shí)符,如函數(shù)庫(kù)中的函數(shù)名、宏定義和類型別名(typedef)。
預(yù)定義標(biāo)識(shí)符具有見(jiàn)字明義的特點(diǎn),如函數(shù)“格式輸出”(英語(yǔ)全稱加縮寫(xiě):printf)、“格式輸入”(英語(yǔ)全稱加縮寫(xiě):scanf)、sin、isalnum等等。
預(yù)定義標(biāo)識(shí)符可以作為用戶標(biāo)識(shí)符使用,只是這樣會(huì)失去系統(tǒng)規(guī)定的原意,使用不當(dāng)還會(huì)使程序出錯(cuò)。
注:C語(yǔ)言函數(shù)庫(kù)中的函數(shù)名可以成為用戶定義的變量名?。?!
3、用戶定義標(biāo)識(shí)符
用戶根據(jù)需要自己定義的標(biāo)識(shí)符。一般用來(lái)給變量、函數(shù)、數(shù)組等命名。用戶標(biāo)識(shí)符如果與關(guān)鍵字相同,則編譯時(shí)會(huì)出錯(cuò);如果與預(yù)定義標(biāo)識(shí)符相同,編譯時(shí)不會(huì)出錯(cuò),但預(yù)定義標(biāo)識(shí)符的原意失去了,或會(huì)導(dǎo)致結(jié)果出錯(cuò),因此預(yù)定義標(biāo)識(shí)符一般不用來(lái)作為用戶標(biāo)識(shí)符。
C語(yǔ)言規(guī)定,用戶定義標(biāo)識(shí)符可以是字母、數(shù)字、下劃線(A~Z, a~z, 0~9, _)組成的字符串,并且第一個(gè)字符必須是字母或下劃線。
(1)標(biāo)識(shí)符只能以英文大小寫(xiě)字母、和下劃線(_)開(kāi)頭,而不能用其他任何字符或數(shù)字開(kāi)頭。
例如以下就是錯(cuò)誤的例子:
int %a;//錯(cuò)誤,標(biāo)識(shí)符不能以符號(hào)開(kāi)頭 int 8C[8];//錯(cuò)誤,不能以數(shù)字開(kāi)頭
(2)標(biāo)識(shí)符中只能包含英文大小寫(xiě)字母、下劃線和阿拉伯?dāng)?shù)字,但是不能以阿拉伯?dāng)?shù)字開(kāi)頭。
int a8;//正確 int _adf589S_5;//正確
(3)標(biāo)識(shí)符區(qū)分大小寫(xiě)
在C語(yǔ)言中,大寫(xiě)字母和小寫(xiě)字母被認(rèn)為是不同的字符,所以,ABC與abc表述的標(biāo)識(shí)符是不一樣的(Acd和acd、caDd和cadd、_8Fc9和_8fc9都是不相同的標(biāo)識(shí)符)。
(4)標(biāo)識(shí)符不能是關(guān)鍵字。
int float;//錯(cuò)誤,float是關(guān)鍵字。 int Float;//正確
(5)ANSI標(biāo)準(zhǔn)規(guī)定,標(biāo)識(shí)符可以為任意長(zhǎng)度,但外部名必須至少能由前6個(gè)字符唯一地區(qū)分,并且不區(qū)分大小寫(xiě)。這是因?yàn)槟承┚幾g程序(如IBM PC的MS C)僅能識(shí)別前6個(gè)字符。
除了這些硬性規(guī)則外,標(biāo)識(shí)符的命名最好具有具體的意義,以便于觀察、閱讀和維護(hù)。
//定義某長(zhǎng)方體的長(zhǎng)度、寬度和高度 int a;//高度 int b;//寬度 int c;//高度
可以改成如下定義:
int c_Long; int c_Width; int c_Height;