第一篇:C語言基礎(chǔ)教程(二)數(shù)據(jù)類型、變量和運算符
本節(jié)首先介紹Turbo C程序的基本組成部分;然后介紹Turbo C的數(shù)據(jù)類型、變量類型、變量的初始化和賦值;最后介紹Turbo C的有關(guān)操作。通過本節(jié)的學(xué)習(xí), 可以對Turbo C語言有一個初步認(rèn)識。1.Turbo C程序的一般組成部分
Turbo C 2.0 象其它語言一樣按其規(guī)定的格式和提供的語句由用戶編寫應(yīng)用 程序。請看下面一段Turbo C源程序。
例1: /*Example program of Turbo C*/ #include
3.Turbo C程序的書寫格式非常靈活, 沒有嚴(yán)格限制。
例1的主函數(shù)可寫成: main(){char c;clrscr();gotoxy(12,3);puts(“Welcome to use Turbo C2.0!”);gotoxy(15,13);printf(“
通過以上介紹, 可以得出Turbo C源程序的一般形式為: 包含文件
子函數(shù)類型說明
全程變量定義 main(){ 局部變量定義 <程序體> } sub1(){ 局部變量定義 <程序體> } sub2(){ 局部變量定義 <程序體> }...subN(){ 局部變量定義 <程序體> } 其中sub1(),..., subN()代表用戶定義的子函數(shù), 程序體指Turbo C 2.0 提供的任何庫函數(shù)調(diào)用語句、控制流程語句或其它用子函數(shù)調(diào)用語句等。
1.數(shù)據(jù)類型
在Turbo C語言中, 每個變量在使用之前必須定義其數(shù)據(jù)類型。Turbo C有以 下幾種類型: 整型(int)、浮點型(float)、字符型(char)、指針型(*)、無值型(void)以及結(jié)構(gòu)(struct)和聯(lián)合(union)。其中前五種是Turbo C的基本數(shù)據(jù)類型、后兩種數(shù)據(jù)類型(結(jié)構(gòu)和聯(lián)合)將在第五章介紹。2.1 整型(int)
一、整型數(shù)說明
加上不同的修飾符, 整型數(shù)有以下幾種類型;signed short int 有符號短整型數(shù)說明。簡寫為short或int, 字長為2 字節(jié)共16位二進制數(shù), 數(shù)的范圍是-32768~32767。signed long int 有符號長整型數(shù)說明。簡寫為long, 字長為4字節(jié)共 32位二進制數(shù), 數(shù)的范圍是-2147483648~2147483647。unsigned short int 無符號短整型數(shù)說明。簡寫為unsigned int, 字長
為2字節(jié)共16位二進制數(shù), 數(shù)的范圍是0~65535。unsigned long int 無符號長整型數(shù)說明。簡寫為unsigned long, 字長
為4字節(jié)共32位二進制數(shù), 數(shù)的范圍是0~4294967295。
二、整型變量定義
可以用下列語句定義整型變量
int a, b;/*a、b被定義為有符號短整型變量*/ unsigned long c;/*c被定義為無符號長整型變量*/
三、整型常數(shù)表示
按不同的進制區(qū)分, 整型常數(shù)有三種表示方法: 十進制數(shù): 以非0開始的數(shù)
如:220,-560, 45900 八進制數(shù): 以0開始的數(shù)
如:06;0106, 05788 十六進制數(shù):以0X或0x開始的數(shù) 如:0X0D, 0XFF, 0x4e 另外, 可在整型常數(shù)后添加一個“L”或“l(fā)”字母表示該數(shù)為長整型數(shù), 如22L, 0773L, 0Xae4l。2.2 浮點型(float)
一、浮點數(shù)說明
Turbo C中有以下兩種類型的浮點數(shù): float 單浮點數(shù)。字長為4 個字節(jié)共32 位二進制數(shù), 數(shù)的范圍是 3.4x10-38E~3.4x10+38E。
double 雙浮點數(shù)。字長為 8個字節(jié)共 64 位二進制數(shù), 數(shù)的范圍是 1.7x10-308E~1.7x10+308E。
說明: 浮點數(shù)均為有符號浮點數(shù), 沒有無符號浮點數(shù)。
二、浮點型變量定義
可以用下列語句定義浮點型變量: float a, f;/*a, f被定義為單浮點型變量*/ double b;/*b被定義為雙浮點型變量*/
三、浮點常數(shù)表示
例如: +29.56,-56.33,-6.8e-18, 6.365 說明: 1.浮點常數(shù)只有一種進制(十進制)。2.所有浮點常數(shù)都被默認(rèn)為double。
3.絕對值小于1的浮點數(shù), 其小數(shù)點前面的零可以省略。如:0.22可寫為.22,-0.0015E-3可寫為-.0015E-3。
4.Turbo C默認(rèn)格式輸出浮點數(shù)時, 最多只保留小數(shù)點后六位。
2.3 字符型(char)加上不同的修飾符, 可以定義有符號和無符號兩種類型的字符型變量, 例如: char a: /*a被定義為有符號字符變量*/ unsigned char l;/*l被定義為無符號字符變量*/ 字符在計算機中以其ASCII碼方式表示, 其長度為1個字節(jié), 有符號字符型數(shù) 取值范圍為-128~127, 無符號字符型數(shù)到值范圍是0~255。因此在Turbo C語言中, 字符型數(shù)據(jù)在操作時將按整型數(shù)處理, 如果某個變量定義成char, 則表明該變量 是有符號的, 即它將轉(zhuǎn)換成有符號的整型數(shù)。
Turbo C中規(guī)定對ASCII碼值大于0x80的字符將被認(rèn)為是負(fù)數(shù)。例如ASCII 值 為0x8c的字符, 定義成char時, 被轉(zhuǎn)換成十六進制的整數(shù)0xff8c。這是因當(dāng) ASCII碼值大于0x80時, 該字節(jié)的最高位為1, 計算機會認(rèn)為該數(shù)為負(fù)數(shù), 對于 0x8c表示的數(shù)實際上是-74(8c的各位取反再加1), 而-74 轉(zhuǎn)換成兩字節(jié)整型數(shù)并 在計算機中表示時就是0xff8c(對0074 各位取反再加1)。因此只有定義為 unsigned char 0x8c轉(zhuǎn)換成整型數(shù)時才是8c。這一點在處理大于0x80的ASCII碼 字符時(例如漢字碼)要特別注意。一般漢字均定義為unsigned char(在以后的程 序中會經(jīng)常碰到)。
另外, 也可以定義一個字符型數(shù)組(關(guān)于數(shù)組后面再作詳細(xì)介紹), 此時該數(shù) 組表示一個字符串。
例如: char str[10];計算機在編譯時, 將留出連續(xù)10個字符的空間, 即str[0]到str[9]共10個變 量, 但只有前9個供用戶使用。第10個str[9]用來存放字符串終止符NULL即“