C語言教程
C語言是一種電腦程式設計語言。
C語言對作業系統和系統使用程式以及需要對硬體進行操作的場合,用C語言明顯優於其它解釋型高級語言,有一些大型套用軟體也是用C語言編寫的。一、概述 上 下 二、變數和常量 三、運算符 四、表達式和語句 五、編寫第一個C語言程式 六、條件語句 七、循環語句和循環控制 八、數組 九、多維數組 十、函式的定義和調用 十一、函式參數的傳遞和值返回 十二、變數的作用域和存儲類型 十三、函式遞歸 十四、預處理過程 十五、指針概念 十六、數組和指針 十七、指針函式和函式指針 十八、結構體 十九、聯合和枚舉 二十、堆和鍊表 二十一、位操作 二十二、檔案操作基本常識 二十三、檔案操作
基本介紹
- 中文名:C語言0基礎入門
- 外文名:Basic Combind Programming Language
- 大小:9.4MB
- 版本:4.6.0
- 下載次數:1643
- 來自:91助手
- 性質:安全、無廣告
一、概述 上 下
二、變數和常量
三、運算符
四、表達式和語句
五、編寫第一個C語言程式
六、條件語句
七、循環語句和循環控制
八、數組
九、多維數組
十、函式的定義和調用
十一、函式參數的傳遞和值返回
十二、變數的作用域和存儲類型
十三、函式遞歸 十四、預處理過程
十五、指針概念
十六、數組和指針
十七、指針函式和函式指針
十八、結構體
十九、聯合和枚舉
二十、堆和鍊表
二十一、位操作
二十二、檔案操作基本常識
二十三、檔案操作 查看全部
編譯環境設定好以後,就可以正式學習C語言了。
一、變數
(一)、變數類型和表示方法
1.什麼是變數?一句話,變數是存儲數據的值的空間。由於數值的類型有多種,有整數、小數(浮點數)、字元等等,那么對應的變數就有整型變數、浮點型變 量、字元型變數。變數還有其他的具體分類。整型變數還可具體分為無符號型、長整型和短整型。浮點型也可分為單精度型、雙精度型和長雙精度型。此外還可以分 為靜態變數、外部變數、暫存器變數和自動存儲變數。這些數據類型我們在本節和後面的章節中都會陸陸續續介紹。
那么變數我們總要給它取個名字吧,這個名字我們叫做標識符。
標識符的命名有一定的規則:
(1).標識符只能由字母、數字和下劃線三類字元組成
(2).第一個字元必須是字母(第一個字元也可以是下劃線,但被視作系統自定義的標識符)
(3).大寫字母和小寫字母被認為是兩個不同的字元,如A和a是兩個不同的標識符
(4).標識符可以任意長,但只有前32位有效。有些舊的C版本對外部標識符的限制為6位。這是由於連結程式的限制所總成的,而不是C語言本身的局限性
(5).標識符不能是C的關鍵字
2.從上面的規則中,有個關鍵字的概念。那么什麼叫關鍵字呢?
從表面字意上也可以看出,關鍵字是C語言本身某些特性的一個表示,是唯一的代表某一個意思的。
下面列出ANSI標準定義的32個C語言的關鍵字,這些關鍵字在以後的學習中基本上都會用到,到時再說它們的各自用法。
auto break case char const continue default
do double else enum extern float for
goto if int long register return short
signed sizeof static struct switch typedef
union unsigned void volatile while
C語言還包括一些不能用做標識符的擴展關鍵字。
asm cdecl _cs _ds _es far
huge interrupt near pascal _ss
所以在以後的學習中,在給變數命名時要避開這些關鍵字。
3. Turbo C2.0規定所有變數在使用前都必須加以說明。一條變數說明語句由數據類型和其後的一個或多個變數名組成。變數說明的形式如下:
類型 <變數表>;
這裡類型是指Turbo C2.0的有效數據類型。變數表是一個或多個標識符名,每個標識符之間用,分隔。
(二)、整型變數
整型變數是用來存儲整數的。
整型變數又可具體分為好幾種,最基本的整型變數是用類型說明符int聲明的符號整型,形式如下:
int Counter;
這裡int是類型說明符,Counter是變數的名字。
整型變數可以是有符號型、無符號型、長型、短型或象上面定義的普通符號整型。
整型是16位的,長整型是32位,短整型等價於整型。
以下是幾種整型變數的聲明示例:
long int Amount; /*長整型*/
long Amount; /*長整型,等價於上面*/
signed int Total; /*有符號整型*/
signed Total; /*有符號整型,等價於上面*/
unsigned int Offset; /*無符號整型*/
unsigned Offset; /*無符號整型,等價於上面*/
short int SmallAmt; /*短整型*/
short SmallAmt; /*短整型,等價於上面*/
unsigned short int Month; /*無符號短整型*/
unsigned short Month; /*無符號短整型,等價於上面*/
從上面的示例可以看出,當定義長整型、短整型、符號整型或無符號整型時,可以省略關鍵字int。
註明:
1.用signed對整型變數進行有符號指定是多餘的,因為除非用unsigned指定為無符號型,否則整型都是有符號的。
2.當一個變數有幾重特性時,聲明關鍵字的順序可以任意。以下幾種聲明是等價的:
unsigned long T1;
long unsigned T2;
unsigned long int T3;
unsigned int long T4;
long unsigned int T5;
long int unsigned T6;
int unsigned long T7;
int long unsigned T8;
(三)、浮點類型變數
顧名思義,浮點類型變數是用來存儲帶有小數的實數的。
C語言中有三種不同的浮點類型,以下是對這三種不同類型的聲明示例:
float Amount; /*單精度型*/
double BigAmount; /*雙精度型*/
long double ReallyBigAmount; /*長雙精度型*/
這裡Amount,BigAmount,ReallyBigAmount都是變數名。
浮點型都是有符號的。
(四)、字元型變數
字元型變數中所存放的字元是計算機字元集中的字元。對於PC機上運行的C系統,字元型數據用8位單位元組的ASCII碼錶示。程式用類型說明符char來聲明字元型變數:
char ch;
這條聲明語句聲明了一個字元型變數,標識符為ch。當以這種形式聲明變數之後,程式可以在表達式中引用這個變數,關於語句和表達式的知識在後面將會介紹。
字元數據類型事實上是8位的整型數據類型,可以用於數值表達式中,與其他的整型數據同樣使用。在這種情況下,字元型變數可以是有符號的,也可以是無符號的。對於無符號的字元型變數可以聲明為:
unsigned char ch;
除非聲明為無符號型,否則在算術運算和比較運算中,字元型變數一般作為8位有符號整型變數處理。
還有其他的如指針型變數,void型變數,以後再介紹。
常量的意思就是不可改變的量,是一個常數。同變數一樣,常量也分為整型常量、浮點型常量、字元型常量,還有字元串常量、轉義字元常量和地址常量。
(一)、整型常量
整型常量可以是長整型、短整型、有符號型、無符號型。在Tubbo C 2.0里有符號整型常量的範圍從-32768到32767,無符號整型的為0到65535;有符號長整型的範圍為-2147483648到 2147483647。無符號長整型的範圍為0到4294967295。短整型同字元型。
可以指定一個整型常量為二進制、八進制或十六進制,如以下語句:
-129, 0x12fe, 0177
常量的前面有符號0x,這個符號表示該常量是十六進制表示。如果前面的符號只有一個字母0,那么表示該常量是八進制。
有時我們在常量的後面加上符號L或者U,來表示該常量是長整型或者無符號整型:
22388L, 0x4efb2L, 40000U
後綴可以是大寫,也可以是小寫。
(二)、浮點型常量
一個浮點型常量由整數和小數兩部分構成,中間用十進制的小數點隔開。有些浮點樹非常大或者非常小,用普通方法不容易表示,可以用科學計數法或者指數方法表示。下面是一個實例:
3.1416, 1.234E-30, 2.47E201
注意在C語言中,數的大小也有一定的限制。對於float型浮點數,數的表示範圍為-3.402823E38到3.402823E38,其中 -1.401298E-45到1.401298E-45不可見。double型浮點型常數的表示範圍為-1.79E308到1.79E308,其中 -4.94E-324到4.94E-324不可見。
在浮點型常量里我們也可以加上後綴。
FloatNumber=1.6E10F; /*有符號浮點型*/
LongDoubleNumber=3.45L; /*長雙精度型*/
後綴可大寫也可小寫。
說明:
1. 浮點常數只有一種進制(十進制)。
2. 所有浮點常數都被默認為double。
3. 絕對值小於1的浮點數, 其小數點前面的零可以省略。如:0.22可寫為.22, -0.0015E-3可寫為-.0015E-3。
4. Turbo C默認格式輸出浮點數時, 最多只保留小數點後六位
(三)、字元型常量
字元型常量所表示的值是字元型變數所能包含的值。我們可以用ASCII表達式來表示一個字元型常量,或者用單引號內加反斜槓表示轉義字元。
'A', '\x2f', '\013';
其中:\x表示後面的字元是十六進制數,\0表示後面的字元是八進制數。
注意:在Turbo C 2.0中,字元型常量表示數的範圍是-128到127,除非你把它聲明為unsigned,這樣就是0到255。
(四)、字元串常量
字元串常量就是一串字元,用雙引號括起來表示。
Hello,World!
\nEnter selection:
\aError!!!
(五)、轉義字元
上面我們見到的\x,\n,\a等等都是叫轉義字元,它告訴編譯器需要用特殊的方式進行處理。下面給出所有的轉義字元和所對應的意義:
轉義字元 描述
\' 單引號
\ 雙引號
\\ 反斜槓
\0 空字元
\0nnn 八進制數
\a 聲音符
\b 退格符
\f 換頁符
\n 換行符
\r 回車符
\t 水平制表符
\v 垂直制表符
\x 十六進制符
它們的具體用法我們到講輸出語句時再介紹。
(六)、地址常量
我們前面說的變數是存儲數據的空間,它們在記憶體里都有對應的地址。在C語言裡可以用地址常量來引用這些地址,如下:
&Counter, ∑
&是取地址符,作用是取出變數(或者函式)的地址。在後面的輸入語句和指針里還會說明。
這一節所講到的變數和常量知識可以說是在一切程式中都要用到,特別是變數的聲明和命名規則。