4.實型常量實型常量有十進制的定點和浮點兩種表示方法,但并不存在其他進制的表示,下面分別介紹這兩種表示方法。(1)定點表示定點表示的實數(shù)簡稱定點數(shù),實際上是以小數(shù)形式表示實數(shù)。定點表示的實數(shù)是由一個正號或負號(正號可以省略)后接若干個十進制數(shù)字和一個小數(shù)點所組成,這個小數(shù)點可以處在任何一個數(shù)字位的前面或后面。(2)浮點表示浮點表示的實數(shù)簡稱浮點數(shù),實際上是以指數(shù)形式表示實數(shù)。浮點表示的實數(shù)是由一個十進制整數(shù)或定點數(shù)后接一個字母E(大、小寫均可)和一個1至3位的十進制整數(shù)所組成,字母E之前的部分稱為該浮點數(shù)的尾數(shù),之后的部分成為該浮點數(shù)的指數(shù),該浮點數(shù)的值就是它的尾數(shù)乘以10的指數(shù)冪。對于一個浮點數(shù),若將它尾數(shù)中的小數(shù)點調(diào)整到最左邊第一個非零數(shù)字的后面,則稱它為規(guī)格化(或標準化)浮點數(shù)。實型常量分為單精度(float)、雙精度(double)和長雙精度(long double)三類。一般float型數(shù)據(jù)在內(nèi)存中占4個字節(jié),提供7位有效數(shù)字;double型數(shù)據(jù)占8個字節(jié),提供15位有效數(shù)字;long double型數(shù)據(jù)占10個字節(jié),提供19位有效數(shù)字。對于一個定點數(shù)或浮點數(shù),C+ +自動按一個雙精度數(shù)(double型)來存儲。若在一個定點數(shù)或浮點數(shù)之后加上字母F(大、小寫均可),則自動按一個單精度數(shù)來存儲。
5.枚舉常量枚舉常量是枚舉類型中定義的值,即枚舉植。枚舉類型屬于用戶定義類型,用關(guān)鍵字enum表示,因此又稱為enum類型。用戶通常利用枚舉類型定義程序中需要使用的一組相關(guān)符號常量。聲明枚舉類型的語法格式為:enum<類型名>{<枚舉值表>};
其中,enum是關(guān)鍵字,指出要定義的是枚舉類型。<類型名>是標識符,即由用戶給出的具體枚舉類型名。<枚舉值表>包含多個枚舉值,它們用逗號分隔開,每個枚舉值就是一個枚舉常量。枚舉值有兩種定義形式:一是<值名>;二是<值名>=<整型常量>。
關(guān)于enum類型有四點說明:(1)一個enum類型實際上是int類型的一個子集,其每一個枚舉值代表一個整數(shù)。(2)n個枚舉值全部未賦常量值時,它們自左至右分別與整數(shù)0,1…n-1對應。(3)若第i個枚舉值賦常量值為m,則其未賦常量值的后續(xù)枚舉值分別與整數(shù)m+1,m+2…對應,直到下一個賦了值的枚舉值或結(jié)束。因此,為枚舉值所賦的整型常量值應從左至右遞增。(4)枚舉類型的聲明也可作為成組聲明若干整型符號常量的方法。也就是說,把每個要聲明的符號常量作為一個枚舉值,將各個枚舉值合在一起定義成一個枚舉類型。由于枚舉類型屬于用戶定義數(shù)據(jù)類型,一旦枚舉類型被定義后就可以使用它來定義變量。 【考點三】 變量
1.變量的定義變量的定義是通過變量聲明語句來實現(xiàn)的,變量聲明語句的一般格式為:[<存儲類>]<類型名><變量名>[=<初值表達式>],...;<存儲類>有四種,它們分別是auto、register、static、extern。<類型名>為已存在的一種數(shù)據(jù)類型名稱,如char,short,int,long,float,double等基本數(shù)據(jù)類型名,或者用戶定義的數(shù)據(jù)類型名。<變量名>是用戶定義的一個標識符,用來表示一個變量,該變量可以通過后面的可選項賦予一個值,稱為給變量賦初值,也叫做對變量進行初始化。C+ +中標識符是區(qū)分大小寫的,也就是說,大寫字母和小寫字母被認為是不同的字母。變量名的命名遵循如下規(guī)則:(1) 不能是C+ +關(guān)鍵字;(2)第一個字符必須是字母或下劃線;(3)中間不能有空格;(4)變量名中不能包括;,′″+-之類的特殊符號。實際上變量名中除了能使用26個英文大小寫字母和數(shù)字外,只能使用下劃線"_"。
2.變量的使用方式(1)全局變量和局部變量全局變量是在所有函數(shù)定義、類定義和程序塊之外聲明的變量。聲明全局變量時如果在程序中不對它進行專門的初始化,該變量會被系統(tǒng)自動初始化為0。在程序的任何一個函數(shù)、類或程序塊之內(nèi)均可以訪問全局變量。局部變量是在某個函數(shù)定義、類定義或程序塊之內(nèi)聲明的變量。局部變量只能在聲明它的函數(shù)、類或程序塊中被訪問。 (2)生存期與作用域生存期是指從一個變量被聲明且分配了內(nèi)存開始,直到該變量聲明語句失效,它占用的內(nèi)存空間被釋放為止。一個全局變量的生存期從它被聲明開始,直到程序結(jié)束;一個局部變量的生存期從它被聲明開始,直到包含它的最近的一個程序塊結(jié)束。作用域是指變量名可以代表該變量存儲空間的使用范圍。一般情況下,變量的作用域與其生存期一致,但由于C+ +語言允許在程序的不同部分為不同變量取同一名字,因此一個變量名的作用域可能小于其生存期。(3)變量的存儲類屬性在C+ +中變量還可以按存儲分配方式的不同被劃分為4種不同的存儲類別,它們分別是:①auto變量:用關(guān)鍵字auto聲明的局部變量稱為自動變量。auto為變量聲明時的默認存儲類別,即在變量定義時,如果不顯式標明存儲類別,則系統(tǒng)自動按auto變量處理。auto變量所占用存儲空間的分配和釋放工作將由系統(tǒng)自動完成。②register變量:用關(guān)鍵字register聲明的局部變量稱為寄存器變量。register變量可能以寄存器作為其存儲空間。聲明寄存器變量時,關(guān)鍵字register的作用只能是建議(而不是強制)系統(tǒng)使用寄存器,原因是寄存器雖然存取速度快,但空間有限,當寄存器不夠用時,該變量仍然按自動變量處理。③static變量:用關(guān)鍵字static聲明的變量稱為靜態(tài)變量。任何靜態(tài)變量的生存期將延續(xù)到整個程序的終止。與全局變量一樣,為靜態(tài)變量分配的存儲空間在整個程序運行過程中不再被釋放;如果靜態(tài)變量未被賦初值,系統(tǒng)將自動為其賦初值為0。④extern變量:用關(guān)鍵字extern聲明的變量稱為外部變量。變量一旦被聲明為外部變量,系統(tǒng)就不必像一般變量那樣為其分配內(nèi)存,因為該變量已在這一局部的外面被定義。外部變量一般用于多個文件組成的程序中,有些變量在多個文件中被聲明,但卻是指同一變量。標明某一變量為外部變量可以避免為其重復分配內(nèi)存。(4)typedef類型說明使用關(guān)鍵字typedef可以為已有類型名定義一個新類型名。其語法格式為:typedef<已有類型名><新類型名>typedef類型說明并沒有真正地定義新的數(shù)據(jù)類型,它只是相當于給某個已有的數(shù)據(jù)類型起了一個別名。在規(guī)模較大的程序中為了提高代碼可讀性常采用這種形式。
希望與更多計算機等級考試的網(wǎng)友交流,請進入計算機等級考試論壇
更多信息請訪問:考試吧計算機等級考試欄目