C 基本語(yǔ)法
我們已經(jīng)看過(guò) C 程序的基本結(jié)構(gòu),這將有助于我們理解 C 語(yǔ)言的其他基本的構(gòu)建塊。
C 的令牌(Tokens)
C 程序由各種令牌組成,令牌可以是關(guān)鍵字、標(biāo)識(shí)符、常量、字符串值,或者是一個(gè)符號(hào)。例如,下面的 C 語(yǔ)句包括五個(gè)令牌:
printf("Hello, World! \n");
這五個(gè)令牌分別是:
printf("Hello, World! \n");
分號(hào) ;
在 C 程序中,分號(hào)是語(yǔ)句結(jié)束符。也就是說(shuō),每個(gè)語(yǔ)句必須以分號(hào)結(jié)束。它表明一個(gè)邏輯實(shí)體的結(jié)束。
例如,下面是兩個(gè)不同的語(yǔ)句:
printf("Hello, World! \n");return 0;
注釋
注釋就像是 C 程序中的幫助文本,它們會(huì)被編譯器忽略。它們以 /* 開(kāi)始,以字符 */ 終止,如下所示:
/* 我的第一個(gè) C 程序 */
您不能在注釋內(nèi)嵌套注釋,注釋也不能出現(xiàn)在字符串或字符值中。
標(biāo)識(shí)符
C 標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量、函數(shù),或任何其他用戶自定義項(xiàng)目的名稱。一個(gè)標(biāo)識(shí)符以字母 A-Z 或 a-z 或下劃線 _ 開(kāi)始,后跟零個(gè)或多個(gè)字母、下劃線和數(shù)字(0-9)。
C 標(biāo)識(shí)符內(nèi)不允許出現(xiàn)標(biāo)點(diǎn)字符,比如 @、$ 和 %。C 是區(qū)分大小寫(xiě)的編程語(yǔ)言。因此,在 C 中,Manpower 和 manpower 是兩個(gè)不同的標(biāo)識(shí)符。下面列出幾個(gè)有效的標(biāo)識(shí)符:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
關(guān)鍵字
下表列出了 C 中的保留字。這些保留字不能作為常量名、變量名或其他標(biāo)識(shí)符名稱。
auto | else | long | switch |
break | enum | register | typedef |
case | extern | return | union |
char | float | short | unsigned |
const | for | signed | void |
continue | goto | sizeof | volatile |
default | if | static | while |
do | int | struct | _Packed |
double |
C 中的空格
只包含空格的行,被稱為空白行,可能帶有注釋,C 編譯器會(huì)完全忽略它。
在 C 中,空格用于描述空白符、制表符、換行符和注釋??崭穹指粽Z(yǔ)句的各個(gè)部分,讓編譯器能識(shí)別語(yǔ)句中的某個(gè)元素(比如 int)在哪里結(jié)束,下一個(gè)元素在哪里開(kāi)始。因此,在下面的語(yǔ)句中:
int age;
在這里,int 和 age 之間必須至少有一個(gè)空格字符(通常是一個(gè)空白符),這樣編譯器才能夠區(qū)分它們。另一方面,在下面的語(yǔ)句中:
fruit = apples + oranges; // 獲取水果的總數(shù)
fruit 和 =,或者 = 和 apples 之間的空格字符不是必需的,但是為了增強(qiáng)可讀性,您可以根據(jù)需要適當(dāng)增加一些空格。