| 導購 | 订阅 | 在线投稿
分享
 
 
 

C語言初級講座之二

來源:互聯網網民  2008-06-01 01:11:23  評論

我們已經看到程序中使用的各種變量都應預先加以說明,即先說明,後使用。對變量的說明可以包括三個方面:

·數據類型

·存儲類型

·作用域

在本講中,我們只介紹數據類型說明。其它說明在以後陸續介紹。所謂數據類型是按被說明量的性質,表示形式,占據存儲空間的多少,構造特點來劃分的。在C語言中,數據類型可分爲:基本數據類型,構造數據類型,指針類型,空類型四大類。

1.基本數據類型

基本數據類型最主要的特點是,其值不可以再分解爲其它類型。也就是說,基本數據類型是自我說明的。

2.構造數據類型構造數據類型

是根據已定義的一個或多個數據類型用構造的方法來定義的。也就是說,一個構造類型的值可以分解成若幹個「成員」或「元素」。每個「成員」都是一個基本數據類型或又是一個構造類型。在C語言中,構造類型有以下幾種:

·數組類型

·結構類型

·聯合類型

3.指針類型

指針是一種非凡的,同時又是具有重要作用的數據類型。其值用來表示某個量在內存儲器中的地址。雖然指針變量的取值類似于整型量,但這是兩個類型完全不同的量,因此不能混爲一談。4.空類型在調用函數值時,通常應向調用者返回一個函數值。這個返回的函數值是具有一定的數據類型的,應在函數定義及函數說明中給以說明,例如在例題中給出的max函數定義中,函數頭爲: int max(int a,int b);其中「int 」類型說明符即表示該函數的返回值爲整型量。又如在例題中,使用了庫函數 sin,由于系統規定其函數返回值爲雙精度浮點型,因此在賦值語句s=sin (x);中,s 也必須是雙精度浮點型,以便與sin函數的返回值一致。所以在說明部分,把s說明爲雙精度浮點型。但是,也有一類函數,調用後並不需要向調用者返回函數值, 這種函數可以定義爲「空類型」。其類型說明符爲void。在本講中,我們先介紹基本數據類型中的整型、浮點型和字符型。其余類型在以後各講中陸續介紹。

對于基本數據類型量,按其取值是否可改變又分爲常量和變量兩種。在程序執行過程中,其值不發生改變的量稱爲常量,取值可變的量稱爲變量。它們可與數據類型結合起來分類。例如,可分爲整型常量、整型變量、浮點常量、浮點變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,常量是可以不經說明而直接引用的,而變量則必須先說明後使用。

整型量

整型量包括整型常量、整型變量。整型常量就是整常數。在C語言中,使用的整常數有八進制、十六進制和十進制三種。

整型常量

1.八進制整常數八進制整常數必須以0開頭,即以0作爲八進制數的前綴。數碼取值爲0~7。八進制數通常是無符號數。

以下各數是合法的八進制數:

015(十進制爲13)0101(十進制爲65)0177777(十進制爲65535)

以下各數不是合法的八進制數:

256(無前綴0) 03A2(包含了非八進制數碼)-0127(出現了負號)

2.十六進制整常數

十六進制整常數的前綴爲0X或0x。其數碼取值爲0~9,A~F或a~f。

以下各數是合法的十六進制整常數:

0X2A(十進制爲42)0XA0 (十進制爲160)0XFFFF (十進制爲65535)

以下各數不是合法的十六進制整常數:

5A (無前綴0X)0X3H (含有非十六進制數碼)

3.十進制整常數

十進制整常數沒有前綴。其數碼爲0~9。

以下各數是合法的十進制整常數:

237 -568 65535 1627

以下各數不是合法的十進制整常數:

023 (不能有前導0)23D (含有非十進制數碼)

在程序中是根據前綴來區分各種進制數的。因此在書寫常數時不要把前綴弄錯造成結果不正確。4.整型常數的後綴在16位字長的機器上,基本整型的長度也爲16位,因此表示的數的範圍也是有限定的。十進制無符號整常數的範圍爲0~65535,有符號數爲-32768~+32767。八進制無符號數的表示範圍爲0~0177777。十六進制無符號數的表示範圍爲0X0~0XFFFF或0x0~0xFFFF。假如使用的數超過了上述範圍,就必須用長整型數來表示。長整型數是用後綴「L」或「l」來表示的。例如:

十進制長整常數 158L (十進制爲158) 358000L (十進制爲-358000)

八進制長整常數 012L (十進制爲10) 077L (十進制爲63)0200000L (十進制爲65536)

十六進制長整常數 0X15L (十進制爲21) 0XA5L (十進制爲165)0X10000L (十進制爲65536)

長整數158L和基本整常數158 在數值上並無區別。但對158L,因爲是長整型量,C編譯系統將爲它分配4個字節存儲空間。而對158,因爲是基本整型,只分配2 個字節的存儲空間。因此在運算和輸出格式上要予以注重,避免出錯。無符號數也可用後綴表示,整型常數的無符號數的後綴爲「U」或「u」。例如: 358u,0x38Au,235Lu 均爲無符號數。前綴,後綴可同時使用以表示各種類型的數。如0XA5Lu表示十六進制無符號長整數A5,其十進制爲165。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
  我們已經看到程序中使用的各種變量都應預先加以說明,即先說明,後使用。對變量的說明可以包括三個方面:   ·數據類型   ·存儲類型   ·作用域   在本講中,我們只介紹數據類型說明。其它說明在以後陸續介紹。所謂數據類型是按被說明量的性質,表示形式,占據存儲空間的多少,構造特點來劃分的。在C語言中,數據類型可分爲:基本數據類型,構造數據類型,指針類型,空類型四大類。   1.基本數據類型   基本數據類型最主要的特點是,其值不可以再分解爲其它類型。也就是說,基本數據類型是自我說明的。   2.構造數據類型構造數據類型   是根據已定義的一個或多個數據類型用構造的方法來定義的。也就是說,一個構造類型的值可以分解成若幹個「成員」或「元素」。每個「成員」都是一個基本數據類型或又是一個構造類型。在C語言中,構造類型有以下幾種:   ·數組類型   ·結構類型   ·聯合類型   3.指針類型   指針是一種非凡的,同時又是具有重要作用的數據類型。其值用來表示某個量在內存儲器中的地址。雖然指針變量的取值類似于整型量,但這是兩個類型完全不同的量,因此不能混爲一談。4.空類型在調用函數值時,通常應向調用者返回一個函數值。這個返回的函數值是具有一定的數據類型的,應在函數定義及函數說明中給以說明,例如在例題中給出的max函數定義中,函數頭爲: int max(int a,int b);其中「int 」類型說明符即表示該函數的返回值爲整型量。又如在例題中,使用了庫函數 sin,由于系統規定其函數返回值爲雙精度浮點型,因此在賦值語句s=sin (x);中,s 也必須是雙精度浮點型,以便與sin函數的返回值一致。所以在說明部分,把s說明爲雙精度浮點型。但是,也有一類函數,調用後並不需要向調用者返回函數值, 這種函數可以定義爲「空類型」。其類型說明符爲void。在本講中,我們先介紹基本數據類型中的整型、浮點型和字符型。其余類型在以後各講中陸續介紹。   對于基本數據類型量,按其取值是否可改變又分爲常量和變量兩種。在程序執行過程中,其值不發生改變的量稱爲常量,取值可變的量稱爲變量。它們可與數據類型結合起來分類。例如,可分爲整型常量、整型變量、浮點常量、浮點變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,常量是可以不經說明而直接引用的,而變量則必須先說明後使用。   整型量   整型量包括整型常量、整型變量。整型常量就是整常數。在C語言中,使用的整常數有八進制、十六進制和十進制三種。   整型常量   1.八進制整常數八進制整常數必須以0開頭,即以0作爲八進制數的前綴。數碼取值爲0~7。八進制數通常是無符號數。   以下各數是合法的八進制數: 015(十進制爲13) 0101(十進制爲65) 0177777(十進制爲65535)   以下各數不是合法的八進制數: 256(無前綴0) 03A2(包含了非八進制數碼) -0127(出現了負號)   2.十六進制整常數   十六進制整常數的前綴爲0X或0x。其數碼取值爲0~9,A~F或a~f。   以下各數是合法的十六進制整常數: 0X2A(十進制爲42)  0XA0 (十進制爲160)  0XFFFF (十進制爲65535)   以下各數不是合法的十六進制整常數: 5A (無前綴0X)  0X3H (含有非十六進制數碼)   3.十進制整常數   十進制整常數沒有前綴。其數碼爲0~9。   以下各數是合法的十進制整常數:   237 -568 65535 1627   以下各數不是合法的十進制整常數: 023 (不能有前導0) 23D (含有非十進制數碼)   在程序中是根據前綴來區分各種進制數的。因此在書寫常數時不要把前綴弄錯造成結果不正確。4.整型常數的後綴在16位字長的機器上,基本整型的長度也爲16位,因此表示的數的範圍也是有限定的。十進制無符號整常數的範圍爲0~65535,有符號數爲-32768~+32767。八進制無符號數的表示範圍爲0~0177777。十六進制無符號數的表示範圍爲0X0~0XFFFF或0x0~0xFFFF。假如使用的數超過了上述範圍,就必須用長整型數來表示。長整型數是用後綴「L」或「l」來表示的。例如:   十進制長整常數 158L (十進制爲158) 358000L (十進制爲-358000)   八進制長整常數 012L (十進制爲10) 077L (十進制爲63) 0200000L (十進制爲65536)   十六進制長整常數 0X15L (十進制爲21) 0XA5L (十進制爲165) 0X10000L (十進制爲65536)      長整數158L和基本整常數158 在數值上並無區別。但對158L,因爲是長整型量,C編譯系統將爲它分配4個字節存儲空間。而對158,因爲是基本整型,只分配2 個字節的存儲空間。因此在運算和輸出格式上要予以注重,避免出錯。無符號數也可用後綴表示,整型常數的無符號數的後綴爲「U」或「u」。例如: 358u,0x38Au,235Lu 均爲無符號數。前綴,後綴可同時使用以表示各種類型的數。如0XA5Lu表示十六進制無符號長整數A5,其十進制爲165。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有