- 全國計算機等級考試教程:二級C語言程序設計
- 全國計算機等級考試教材編寫組
- 3022字
- 2019-11-22 18:55:11
2.1 常量、變量和標識符
常量、變量和標識符,包括后面將要講到的運算符是 C語言程序中最小的組成單位,用C語言編寫的程序無論多么復雜或多么簡單,都離不開這些基本要素。
2.1.1 標識符
學習提示
【理解】標識符是否合法的判斷
簡單地說,標識符就是一個名稱,用來表示變量、常量、函數以及文件等名稱。例如,我們每個人的姓名,就是每個人所對應的標識符。
合法的標識符由字母(大、小寫均可)、數字和下畫線組成,并且必須以字母或下畫線開頭。C語言是一種對大小寫敏感的語言,所以 abc、aBc和 Abc是3種不同的標識符。
例如
_sun、Mouse、student23、Footbaii、FOOTBALL都是合法的標識符。
23student、Foot-baii、s.com和b&c都是非法的標識符。
請思考
為什么說以上標識符是非法的標識符?標識符能否用漢字表示?
2.1.2 關鍵字
學習提示
【熟記】C語言中的常用關鍵字
所謂關鍵字是指被C語言保留的,不能用作其他用途的一些標識符,它們在程序中都代表著固定的含義。例如,用來說明變量類型的標識符int、fioat以及條件語句中的if、eise等都已經有專門的用途,它們不能再用作變量或函數名。
2.1.3 常量
什么是常量呢?簡單地說,在程序運行過程中,其值不能被改變的量稱為常量。常量可以分為3類,即整型常量、實型常量和字符型常量,其中整型常量和實型常量又稱為數值型常量。
●整型常量:用不帶小數點的數字表示。
●實型常量:用帶小數點的數字表示。
●字符型常量:用帶有單引號的字符表示。
一般情況下,常量的類型可以通過書寫形式來判斷。
例如
1、2、12是整型常量,2.1、12.5、3.14是實型常量,′a′、 ′b′、′c′是字符型常量。
2.1.4 符號常量
學習提示
【掌握】符號常量的定義和使用
在C語言中,可以用一個標識符表示一個常量,稱之為符號常量。符號常量是一種特殊的常量,其值和類型是通過符號常量的定義命令決定的。由于其較難理解,且是C語言中的重點,故單獨講解它的相關知識。符號常量在使用之前必須先定義,其一般形式為:
#define標識符 常量
說明
●#define是一條預處理命令,又被稱為宏定義命令,其功能是把命令格式中的標識符定義為其后的常量值。
●一經定義,以后在程序中所有出現該標識符的地方均以該常量值代之。
●習慣上符號常量的標識符用大寫字母表示,變量標識符用小寫字母表示,以示區別。
●用define進行定義時,必須用“#”號作為一行的開頭,在#define命令行的最后不得加分號結束。
有關#define命令的作用,將在第10章中進行更深入的講解,讀者可以先按上述說明簡單使用。
【例2-1】求邊長為20的正方形的面積。
程序代碼
#define LENGTH 20
#include<stdio.h>
void main( )
{ float s;
s=LENGTH*LENGTH;
printf("s=%f\n",s);
}
在主函數中,s被定義為 float型,即實型;在主函數之前由宏定義命令定義LENGTH為 20,程序執行過程中即以LENGTH代替20,即
s=LENGTH*LENGTH等效于s=20*20。
在程序中,不能再用賦值語句對符號常量重新賦值,也就是說,在本例中不能再對LENGTH賦值。
請注意
① 在使用符號常量時,一般要做到“見名知意”,如上面的程序中LENGTH就是正方形的邊長。
② 使用符號常量的一個最大的好處就是能夠做到“一改全改”,例如,想知道另一個邊長為10的正方形的面積,那么就可以只做如下改變:
#define LENGTH 10
這樣就能夠輕松達到目的。讀者可以掌握這種程序設計的技巧,這種“一改全改”的屬性對編寫比較大的程序是非常有利的。
2.1.5 變量
學習提示
【熟記】變量的定義與初始化
什么是變量呢?簡單地說,在程序執行過程中,其值可以被改變的量稱為變量。例如,二元一次方程y=12x+16中,x稱為自變量,y稱為因變量,也就是說y會隨著x的變化而變化,所以,方程中的x和y都是變量。
一個變量具有兩個要素:變量名和變量值。每個變量都必須有一個名稱,即變量名,變量的命名遵循標識符的命名規則。一個變量名實質上是代表了內存中的一個存儲單元,該單元中存儲的內容就是變量值。在程序執行的過程中,通過變量名來引用變量的值。
當使用C語言的各種變量時,都必須遵循一個原則,即“先說明,后使用”。這里的“說明”是指在使用變量前要明確變量的數據類型、存儲類型和作用域,即變量的定義。存儲類型和作用域屬于較難的知識點,將在第8章介紹。
1 變量的定義
一條變量定義語句由數據類型和其后的一個或多個變量名組成,其定義形式如下:
數據類型 變量名1[,變量名2,…] ;
說明
我們把“變量名1,變量名2,…”稱之為變量名表。變量名表可以是一個或多個標識符,也就是說我們可以同時定義相同數據類型的多個變量。
上述格式中的“[]”表示其中的內容是可選項,即可有可無,如果沒有特殊說明,本書中出現的“[]”都表示這個含義。
數據類型與變量名之間至少用一個空格隔開。當定義多個變量時,每兩個標識符名之間用“,”隔開。
例如
習慣上,為了增加程序的可讀性,變量名和函數名中的英文字母用小寫。對應的標識符,還應該做到“見名知意”。例如,name(姓名)、age(年齡)、student(學生)和teacher(老師)等。
請思考
在 C 語言中,變量名 total 與變量名 TOTAL、ToTaL、tOtAl等是同一個變量嗎?
2 變量的初始化
在定義變量之后,可以根據需要賦予它一個初始值,即變量的初始化。在定義變量的同時,也可以對變量進行初始化,它的一般形式如下:
數據類型變量名1[=初值][,變量名2 [=初值2]…];
例如
真題演練
【例1】以下選項中不合法的標識符是( )。
A)&a B)FOR C)print D)_00
【解析】C語言中標識符由字母、下畫線、數字組成,且開頭必須是字母或下畫線。另外,關鍵字不能作為標識符。因為C語言中區分大小寫,所以選項B中的“FOR”可以作為標識符來用。選項A中含有非法字符“&”,所以選擇選項A。
【答案】A
【例2】下列定義變量的語句中錯誤的是( )。
A)int_int; B)double int_;
C)char For; D)float US $;
【解析】C語言規定,變量命名必須符合標識符的命名規則。選項D中包含了非法字符“$”,所以錯誤。標識符由字母、數字或下畫線組成,且第一個字符必須是大小寫英文字母或者下畫線,而不能是數字。大寫字符與小寫字符被認為是兩個不同的字符,所以For不是關鍵字for。
【答案】D
【例3】以下敘述中正確的是( )。
A)C語言中的關鍵字不能作變量名,但可以作為函數名
B)C標識符的長度不能任意長,最多只能包含16個字符
C)標識符總是由字母、數字和下畫線組成,且第一個字符不得為數字
D)用戶自定義的標識符必須“見名知義”,如果隨意定義,則會出現編譯錯誤
【解析】C語言中的關鍵字既不能做變量名,也不能做用戶函數名,所以選項A錯誤。標識符的命名規則是,由下畫線、字母、數字組成,且必須以下畫線和字母開始,也不能和關鍵字一致,所以選項C正確。不同C語言規定標識符的有效長度可能會不同,但沒有限制最大長度,所以選項B錯誤。用戶定義的標識符只要滿足標識符命名規則就沒有特殊要求,不必一定要“見名知義”,所以選項D錯誤。
【答案】C
【例4】以下選項中能表示合法常量的是( )。
A)1,200 B)1.5E2.0
C)′\′ D)"\007"
【解析】選項A中整型常量應表示為1200,不能包含“,”。選項B中E后面的指數必須為整數。選項C中轉義字符以“\”開始,若要表示字符“\”,應寫為"\",故答案為選項D。
【答案】D
【例5】以下敘述中錯誤的是( )。
A)數值型常量有正值和負值的區分
B)常量可以用一個符號名來代表
C)定義符號常量必須用類型名來設定常量的類型
D)常量是在程序運行過程中值不能被改變的量
【解析】數值型常量有整型常量、實型常量,不論是整型常量還是實型常量,都有正值和負值之分,所以選項A正確。在C語言的預編譯處理中,可以用符號名代表一個常量,定義時不必指定常量類型,所以選項C錯誤,選項B正確。常量就是在程序運行過程中值不能被改變的量,所以選項D正確。
【答案】C
- 全國職稱計算機考試標準教材與專用題庫:Word 2003中文字處理
- 全國計算機等級考試歷年真題與機考題庫:二級MS Office高級應用
- 全國計算機等級考試一本通:二級Access
- 全國計算機等級考試一本通:一級計算機基礎及MS Office應用
- 黑光造型:創意造型設計佳作賞析
- 全國計算機等級考試全真模擬考場:二級C語言
- 全國計算機等級考試模擬考場二級Python
- 全國計算機等級考試真題匯編與專用題庫:二級MS Office高級應用
- 全國計算機等級考試《二級C語言程序設計》【教材精講+真題解析】講義與視頻課程【45小時高清視頻】
- 2014年全國計算機等級考試3年真題精解與過關全真訓練題:二級Java語言程序設計
- 2020年3月全國計算機等級考試《二級Visual Basic語言程序設計》歷年真題與模擬試題詳解
- 全國職稱計算機考試講義·真題·預測三合一:PowerPoint 2003中文演示文稿
- 2024年全國計算機等級考試上機考試題庫二級Python
- 全國計算機等級考試一本通:二級MS Office高級應用
- 2020年3月全國計算機等級考試《三級網絡技術》復習全書【核心講義+歷年真題詳解】