?? 22.htm
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="Author" CONTENT="wdg">
<META NAME="GENERATOR" CONTENT="Mozilla/4.03 [en] (Win95; I) [Netscape]">
<TITLE>22</TITLE>
</HEAD>
<BODY>
2. 數據類型
<BR> 在Turbo C語言中, 每個變量在使用之前必須定義其數據類型。Turbo
C有以
<BR>下幾種類型: 整型(int)、浮點型(float)、字符型(char)、指針型(*)、無值型
<BR>(void)以及結構(struct)和聯合(union)。其中前五種是Turbo C的基本數據類型、
<BR>后兩種數據類型(結構和聯合)將在第五章介紹。
<P> 2.1 整型(int)
<P> 一、整型數說明
<BR> 加上不同的修飾符, 整型數有以下幾種類型;
<BR> signed short int 有符號短整型數說明。簡寫為short或int,
字長為2
<BR>
字節共16位二進制數, 數的范圍是-32768~32767。
<BR> signed long int 有符號長整型數說明。簡寫為long,
字長為4字節共
<BR>
32位二進制數, 數的范圍是-2147483648~2147483647。
<BR> unsigned short int 無符號短整型數說明。簡寫為unsigned
int, 字長
<BR>
為2字節共16位二進制數, 數的范圍是0~65535。
<BR> unsigned long int 無符號長整型數說明。簡寫為unsigned
long, 字長
<BR>
為4字節共32位二進制數, 數的范圍是0~4294967295。
<P> 二、整型變量定義
<BR> 可以用下列語句定義整型變量
<BR> int a, b;
/*a、b被定義為有符號短整型變量*/
<BR> unsigned long c; /*c被定義為無符號長整型變量*/
<P> 三、整型常數表示
<BR> 按不同的進制區分, 整型常數有三種表示方法:
<BR> 十進制數: 以非0開始的數
<BR>
如:220, -560, 45900
<BR> 八進制數: 以0開始的數
<BR>
如:06; 0106, 05788
<BR> 十六進制數:以0X或0x開始的數
<BR>
如:0X0D, 0XFF, 0x4e
<BR> 另外, 可在整型常數后添加一個"L"或"l"字母表示該數為長整型數,
如22L,
<BR>0773L, 0Xae4l。
<P> 2.2 浮點型(float)
<BR> 一、浮點數說明
<BR> Turbo C中有以下兩種類型的浮點數:
<BR> float 單浮點數。字長為4
個字節共32 位二進制數, 數的范圍是
<BR>
3.4x10-38E~3.4x10+38E。
<BR> double 雙浮點數。字長為
8個字節共 64 位二進制數, 數的范圍是
<BR>
1.7x10-308E~1.7x10+308E。
<BR> 說明:
<BR> 浮點數均為有符號浮點數, 沒有無符號浮點數。
<P> 二、浮點型變量定義
<BR> 可以用下列語句定義浮點型變量:
<BR> float a, f; /*a, f被定義為單浮點型變量*/
<BR> double b; /*b被定義為雙浮點型變量*/
<P> 三、浮點常數表示
<BR> 例如: +29.56, -56.33, -6.8e-18, 6.365
<BR> 說明:
<BR> 1. 浮點常數只有一種進制(十進制)。
<BR> 2. 所有浮點常數都被默認為double。
<BR> 3. 絕對值小于1的浮點數, 其小數點前面的零可以省略。如:0.22可寫為.22,
<BR>-0.0015E-3可寫為-.0015E-3。
<BR> 4. Turbo C默認格式輸出浮點數時, 最多只保留小數點后六位。
<P> 2.3 字符型(char)
<BR> 加上不同的修飾符, 可以定義有符號和無符號兩種類型的字符型變量,
例如:
<BR> char a:
/*a被定義為有符號字符變量*/
<BR> unsigned char l; /*l被定義為無符號字符變量*/
<BR> 字符在計算機中以其ASCII碼方式表示, 其長度為1個字節,
有符號字符型數
<BR>取值范圍為-128~127, 無符號字符型數到值范圍是0~255。因此在Turbo C語言中,
<BR>字符型數據在操作時將按整型數處理, 如果某個變量定義成char, 則表明該變量
<BR>是有符號的, 即它將轉換成有符號的整型數。
<BR> Turbo C中規定對ASCII碼值大于0x80的字符將被認為是負數。例如ASCII
值
<BR>為0x8c的字符, 定義成char時, 被轉換成十六進制的整數0xff8c
。 這是因當
<BR>ASCII碼值大于0x80時, 該字節的最高位為1, 計算機會認為該數為負數,
對于
<BR>0x8c表示的數實際上是-74(8c的各位取反再加1), 而-74 轉換成兩字節整型數并
<BR>在計算機中表示時就是0xff8c( 對0074 各位取反再加1) 。
因此只有定義為
<BR>unsigned char 0x8c轉換成整型數時才是8c。這一點在處理大于0x80的ASCII碼
<BR>字符時(例如漢字碼)要特別注意。一般漢字均定義為unsigned char(在以后的程
<BR>序中會經常碰到)。
<BR> 另外, 也可以定義一個字符型數組(關于數組后面再作詳細介紹),
此時該數
<BR>組表示一個字符串。
<BR> 例如:
<BR> char str[10];
<BR> 計算機在編譯時, 將留出連續10個字符的空間, 即str[0]到str[9]共10個變
<BR>量, 但只有前9個供用戶使用。第10個str[9]用來存放字符串終止符NULL即"\0",
<BR>但終止符是編編譯程序自動加上的, 這一點應特別注意。
<P> 二、字符常數表示
<BR> 能用符號表示的字符可直接用單引號括起來表示, 如'a',
'9', 'Z', 也可用
<BR>該字符的ASCII碼值表示, 例如十進制數85表示大寫字母'U', 十六進制數0x5d表示
<BR>']', 八進制數0102表示大寫字母'B'。
<BR> 一些不能用符號表示的控制符, 只能用ASCII碼值來表示,
如十進制數10 表示
<BR>換行, 下六進制數0x0d表示回車, 八進制數033表示Esc。Turbo C2.0中也有另外一
<BR>種表示表示方法, 如'\033'表示Esc, 這里'\ 0' 符號后面的數字表示十六進制的
<BR>ASCII值當然這種表示方法也適用于可睦接用符號表示的字符。
<BR> 另外, Turbo C2.0中有些常用的字符用以下特殊規定來表示:
<BR> 規定符
等價于 含義
<BR> '\f'
'\X0C' 換頁
<BR> '\r'
'\X0D' 回車
<BR> '\t'
'\X09' 制表鍵
<BR> '\n'
'\X0A' 換行
<BR> '\\'
'\X5C' \符
<BR> '\''
'\X27' '符
<BR> '\"'
'\X22' "符
<BR> 對于字符串常量, 一般用雙引號括起來表示, 如"Hello
Turbo C2.0"。
<P> 2.4 指針型(*)
<BR> 指針是一種特殊的數據類型, 在其它語言中一般沒有。指針是指向變量的地址,
<BR>實質上指針就是存貯單元的地址。 根據所指的變量類型不同,
可以是整型指針
<BR>(int *)、浮點型指針(float *)、字符型指針(char *)、結構指針(struct *)和聯
<BR>合指針(union *)(結構指針和聯合指針將在第4節中介紹)。
<BR>
<BR> 2.5 無值型(void)
<BR> 無值型字節長度為0, 主要有兩個用途: 一是明確地表示一個函數不返回任何
<BR>值; 一是產生一個同一類型指針(可根據需要動態分配給其內存)。
<BR> 例如:
<BR>
void *buffer; /*buffer被定義為無值型指針*/
<BR>
<P>
<A HREF="index.html">返回目錄</A>
<BR>
</BODY>
</HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -