官术网_书友最值得收藏!

2.2 C語言的基本語法

學習C語言開發之前,首先需要了解C語言程序的語法特點。

2.2.1 C語言中的分號

在C語言程序中,分號是語句結束符。也就是說,每個語句必須以分號結束。它表明一個邏輯實體的結束。例如,下面是兩個不同的語句:

     printf("Hello, World! \n");
     return 0;

2.2.2 C語言中的標識符

C語言標識符是用來標識變量、函數,或任何其他用戶自定義項目的名稱。一個標識符以字母A~Z或a~z或下畫線_開始,后跟零個或多個字母、下畫線和數字(0~9)。

C語言標識符內不允許出現標點字符,比如@、$和%。C語言是區分大小寫的編程語言。因此,在C語言中,Manpower和manpower是兩個不同的標識符。下面列出幾個有效的標識符:

     mohd    zara    abc    move_name    a_123
     myname50    _temp   j   a23b9   retVal

另外,標識符的命名有以下的語法規則:

(1)標識符只能是由英文字母(A~Z,a~z)、數字(0~9)和下畫線(_)組成的字符串,并且其第1個字符必須是字母或下畫線。

     如:int MAX_LENGTH;     /*由字母和下畫線組成*/

(2)標識符不能是C語言的關鍵字。

(3)在標識符中,大小寫是有區別的。

     如:BOOK和book是兩個不同的標識符。

(4)標識符雖然可由程序員隨意定義,但標識符是用于標識某個量的符號。應當直觀且可以拼讀,讓別人看了就能了解其用途。

(5)標識符最好采用英文單詞或其組合,不能太復雜,且用詞要準確,以便記憶和閱讀。因此,命名應盡量有相應的意義,以便閱讀和理解,做到“顧名思義”。

(6)標識符的長度應當符合min-length && max-information(最短的長度表達最多的信息)原則。

☆大牛提醒☆

標準C語言不限制標識符的長度,但它受各種版本的C語言編譯系統限制,同時也受到具體機器的限制。例如,在某版本C語言中規定,標識符前8位有效,當兩個標識符前8位相同時,則被認為是同一個標識符。

2.2.3 C語言中的關鍵字

由ANSI標準定義的C語言關鍵字共32個,根據關鍵字的作用,可以將關鍵字分為數據類型關鍵字和流程控制關鍵字兩大類。

1.數據類型關鍵字

數據類型關鍵字又可分為基本數據類型關鍵字、類型修飾關鍵字、復雜類型關鍵字和存儲級別關鍵字。

(1)基本數據類型關鍵字有5個,如表2-1所示。

(2)類型修飾關鍵字有4個,如表2-2所示。

(3)復雜類型關鍵字有5個,如表2-3所示。

(4)存儲級別關鍵字有6個,如表2-4所示。

表2-1 基本數據類型關鍵字

表2-2 類型修飾關鍵字

表2-3 復雜類型關鍵字

表2-4 存儲級別關鍵字

2.流程控制關鍵字

流程控制關鍵字包括跳轉結構關鍵字、分支結構關鍵字、循環結構關鍵字三種。

(1)跳轉結構關鍵字有4個,如表2-5所示。

(2)分支結構關鍵字有5個,如表2-6所示。

(3)循環結構關鍵字有3個,如表2-7所示。

☆大牛提醒☆

以上循環語句,當循環條件表達式為真則繼續循環,為假則跳出循環。另外,在C語言中,關鍵字都是小寫的。

除了由ANSI標準定義的32個C語言關鍵字外,在C99中增加了5個關鍵字,如表2-8所示。

表2-5 跳轉結構關鍵字

表2-6 分支結構關鍵字

表2-7 循環結構關鍵字

表2-8 新增的5個關鍵字

2.2.4 C語言中的空格

在C語言中,空格用于描述空白符、制表符、換行符和注釋。空格分隔語句的各個部分,讓編譯器能識別語句中的某個元素(如int)在哪里結束,下一個元素在哪里開始。因此,在下面的語句中:

     int age;

在這里,int和age之間必須至少有一個空格字符(通常是一個空白符),這樣編譯器才能夠區分它們。另一方面,在下面的語句中:

     fruit = apples + oranges;   //獲取水果的總數

fruit和=,或者=和apples之間的空格字符不是必需的,但是為了增強可讀性,用戶可以根據需要適當增加一些空格。

2.2.5 C語言的注釋方法

在編輯代碼的過程中,希望加上一些說明的文字,來表示代碼的含義,這就是注釋,給代碼加上注釋是很有必要的。在C語言中,注釋的要求如下。

(1)使用/*和*/表示注釋的起止,注釋內容寫在這兩個符號之間,注釋表示對某語句的說明,不屬于程序代碼的范疇。例如:

     sum= 8 + 9;   /*獲取數值8和9的和*/

(2)/和*之間沒有空格。

(3)注釋可以注釋單行,也可以注釋多行,而且注釋不允許嵌套,嵌套會產生錯誤,例如:

     sum= 8 + 9;   /*獲取數值/*8和9*/的和*/

這段注釋放在程序中不但起不到說明的作用,反而會使程序產生錯覺,原因是“獲取數值”前面的/*與“和9”后面的*/匹配,注釋結束,而“的和*/”就被編譯器認為是違反語法規則的代碼。

主站蜘蛛池模板: 高唐县| 玛沁县| 灵石县| 修水县| 洪洞县| 普格县| 廊坊市| 涡阳县| 蒙山县| 民丰县| 霸州市| 额尔古纳市| 昭苏县| 棋牌| 沁阳市| 县级市| 攀枝花市| 竹溪县| 德阳市| 麻江县| 凤翔县| 包头市| 微博| 色达县| 禄丰县| 陆河县| 大足县| 菏泽市| 南靖县| 香港| 任丘市| 鄯善县| 白城市| 昌江| 金堂县| 枣强县| 东阳市| 景泰县| 乌兰察布市| 江北区| 图木舒克市|