C語言入門之數(shù)據(jù)類型(1)

字號:

我們已經(jīng)看到程序中使用的各種變量都應預先加以說明,即先說明,后使用。對變量的說明可以包括三個方面:
     ·數(shù)據(jù)類型
     ·存儲類型
     ·作用域
     在本講中,我們只介紹數(shù)據(jù)類型說明。其它說明在以后陸續(xù)介紹。所謂數(shù)據(jù)類型是按被說明量的性質,表示形式,占據(jù)存儲空間的多少,構造特點來劃分的。在C語言中,數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型,構造數(shù)據(jù)類型,指針類型,空類型四大類。
    1.基本數(shù)據(jù)類型
     基本數(shù)據(jù)類型最主要的特點是,其值不可以再分解為其它類型。也就是說,基本數(shù)據(jù)類型是自我說明的。
     2.構造數(shù)據(jù)類型構造數(shù)據(jù)類型
     是根據(jù)已定義的一個或多個數(shù)據(jù)類型用構造的方法來定義的。也就是說,一個構造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數(shù)據(jù)類型或又是一個構造類型。在C語言中,構造類型有以下幾種:
     ·數(shù)組類型
     ·結構類型
     ·聯(lián)合類型
     3.指針類型
     指針是一種特殊的,同時又是具有重要作用的數(shù)據(jù)類型。其值用來表示某個量在內存儲器中的地址。雖然指針變量的取值類似于整型量,但這是兩個類型完全不同的量,因此不能混為一談。4.空類型在調用函數(shù)值時,通常應向調用者返回一個函數(shù)值。這個返回的函數(shù)值是具有一定的數(shù)據(jù)類型的,應在函數(shù)定義及函數(shù)說明中給以說明,例如在例題中給出的max函數(shù)定義中,函數(shù)頭為: int max(int a,int b);其中“int ”類型說明符即表示該函數(shù)的返回值為整型量。又如在例題中,使用了庫函數(shù) sin,由于系統(tǒng)規(guī)定其函數(shù)返回值為雙精度浮點型,因此在賦值語句s=sin (x);中,s 也必須是雙精度浮點型,以便與sin函數(shù)的返回值一致。所以在說明部分,把s說明為雙精度浮點型。但是,也有一類函數(shù),調用后并不需要向調用者返回函數(shù)值, 這種函數(shù)可以定義為“空類型”。其類型說明符為void。在本講中,我們先介紹基本數(shù)據(jù)類型中的整型、浮點型和字符型。其余類型在以后各講中陸續(xù)介紹。
     對于基本數(shù)據(jù)類型量,按其取值是否可改變又分為常量和變量兩種。在程序執(zhí)行過程中,其值不發(fā)生改變的量稱為常量,取值可變的量稱為變量。它們可與數(shù)據(jù)類型結合起來分類。例如,可分為整型常量、整型變量、浮點常量、浮點變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,常量是可以不經(jīng)說明而直接引用的,而變量則必須先說明后使用。
     整型量
     整型量包括整型常量、整型變量。整型常量就是整常數(shù)。在C語言中,使用的整常數(shù)有八進制、十六進制和十進制三種。
     整型常量
     1.八進制整常數(shù)八進制整常數(shù)必須以0開頭,即以0作為八進制數(shù)的前綴。數(shù)碼取值為0~7。八進制數(shù)通常是無符號數(shù)。
     以下各數(shù)是合法的八進制數(shù):
    015(十進制為13) 0101(十進制為65) 0177777(十進制為65535)
     以下各數(shù)不是合法的八進制數(shù):
    256(無前綴0) 03A2(包含了非八進制數(shù)碼) -0127(出現(xiàn)了負號)
     2.十六進制整常數(shù)
     十六進制整常數(shù)的前綴為0X或0x。其數(shù)碼取值為0~9,A~F或a~f。
     以下各數(shù)是合法的十六進制整常數(shù):
    0X2A(十進制為42)  0XA0 (十進制為160)  0XFFFF (十進制為65535)
     以下各數(shù)不是合法的十六進制整常數(shù):
    5A (無前綴0X)  0X3H (含有非十六進制數(shù)碼)
     3.十進制整常數(shù)
     十進制整常數(shù)沒有前綴。其數(shù)碼為0~9。
     以下各數(shù)是合法的十進制整常數(shù):
     237 -568 65535 1627