C語言是(shì)一(yī)種計(jì)算(suàn)機(jī)程序設計(jì)語言,它既具有±&★✔(yǒu)高(gāo)級語言的(de)特點,又(yòu)具有(yǒu)低(←$♠dī)級語言的(de)特點;它既可(kě)以編寫系統軟件(j↔∏iàn),也(yě)可(kě)以用(yòng)來(lái)編寫應'"用(yòng)軟件(jiàn)。C語言的(de)應用(yòng)範圍非常廣泛,它具有(yǒu)很("•>hěn)強的(de)數(shù)據處理(lǐ)能(néng)力,不(bù)僅計(jì)∏≠☆算(suàn)功能(néng)、邏輯判斷功能δ←<(néng)比較強大(dà),圖形功能(néng)也(yě)很(hěn)強大(dà),适合于"₩☆DOS、UNIX、Windows、Linux等多(duō)種操作(zuλσ≠ò)系統。
本書(shū)具有(yǒu)如(rú)下(xià≥±¶)幾個(gè)特點。
(1)本書(shū)是(shì)一(yī)本全面介紹C≈δ語言程序設計(jì)的(de)圖書(shū),改變傳統教材以語法為(wèi)驅動的(de)內₹ (nèi)容編排模式,有(yǒu)利于任課教師(shī)÷≥組織課堂教學,有(yǒu)利于培養學生(shēng)解決實際問(wèn)題的(de)能(nδ>éng)力。
(2)本書(shū)注重教材的(de)可(kě)Ω¶∞讀(dú)性和(hé)實用(yòng)性,每章(zhāng) ↕±開(kāi)頭都(dōu)給出了(le)本章(zhāng)概覽、本章(zh""āng)重點和(hé)本章(zhāng)目标,對(duì)關鍵知(zhī)識點進行( ←©xíng)了(le)詳細的(de)說(shuō)明(míng),并附有(yǒu)大(dà)量的(d↕•↑ e)圖表方便讀(dú)者正确、直觀地(dì)對(duì)問(wèn)題↑進行(xíng)理(lǐ)解,樣例程序由淺入深,強化(huà)了≠γ (le)知(zhī)識點、算(suàn)法、編程方法與技(jì)巧,并給出了(le)詳細®←§的(de)解釋。
(3)本書(shū)以實用(yòng)為(wèi)出發點,以培養讀(dú)者♣↑• 的(de)實踐和(hé)實際應用(yòngα↑←↔)能(néng)力為(wèi)目标,并通(tōng)過通(tōng)俗易懂(dǒng)₹↕↕≤的(de)文(wén)字和(hé)手把手的(de)教學方式♣"&講解C語言中的(de)要(yào)點、難點,使讀$π♠(dú)者不(bù)僅能(néng)掌握程序設計(jì)知(zhī♦♠)識,還(hái)能(néng)掌握實際的(dΩβ≥e)應用(yòng)技(jì)能(néng)。
(4)本書(shū)每章(zhāng)後面都(dōu)有(yǒu)本章(zhāng)小(xiǎo←∏♦)結和(hé)大(dà)量的(de)思考與練習(xí),以讓讀(dú)者及時(shí)鞏α☆✔™固所學的(de)知(zhī)識。
(5)本書(shū)內(nèi)容先進,體(tǐ)系合理(lǐ),概念清✔晰,講解詳盡,分(fēn)散難點,例題豐富,深入淺出,文(wén)字流暢,通(t♣≠∑★ōng)俗易懂(dǒng),是(shì)學習(xí)∞←βC程序設計(jì)的(de)理(lǐ)想教材。
本章(zhāng)概覽】 ···········€£····································· 38"•₹
【本章(zhāng)重點】 ·································♠σδ··············· 38
【本章(zhāng)目标】 ··························· ↔♦····················· 38
3.1 C程序的(de)語句 ······' φ$·································>>····· 38
3.1.1 表達式語句 ··················∞≥······················· 39
3.1.2 函數(shù)調用(yòng)語句 ·······················σ·············· 39
3.1.3 控制(zhì)語句 ······≤♠···································✘©···· 39
3.1.4 複合語句 ································ ©¶············· 40
3.1.5 空(kōng)語句 ·······"←♣¥········································· 40
3.2 順序結構 ·······································↔ ♣············· 40
3.2.1 賦值語句 ······························₹•··············· 40
3.2.2 字符數(shù)據的(de)輸入與輸出函數(shù) ·············· 4∑♣1
3.2.3 格式輸入和(hé)輸出函數(shù) ···················€♣→······ 44
3.3 選擇結構 ··································×₹απ·················· 49
3.2.1 關系運算(suàn)與邏輯運算(suànσδ) ························· 49
3.2.2 if 語句 ·························©§························ 51
3.2.3 switch 語句 ················£ ®························· 56
3.4 循環結構 ·······························♠ ····················· 59
3.3.1 goto 語句························· π···················· 59
3.3.2 while 語句 ···························>★↑················ 60
3.3.3 do_while 語句 ······························ ±······· 61
3.3.4 for 語句 ···············≤ ······························· 62
3.3.5 循環語句的(de)嵌套 ········±δ························· 65
C 語言程序設計(jì)教程
·II·
3.3.6 break 語句和(hé)continue 語句 ········♥♦ ·········66
3.5 本章(zhāng)小(xiǎo)結 ··············✔∑····································©≠ε··67
3.6 思考與練習(xí) ··················✘≈·······························67
一(yī)、填空(kōng)題 ······························γ★·······················67
二、選擇題 ······································♥₹···············70
三、簡答(dá)題 ······················<·························♣♣······74
四、編程題 ········································₽>♦ε·············74
第4 章(zhāng) 利用(yòng)數(&<αshù)組處理(lǐ)批量數(shù)據 ············€ε™ ·· 76
【本章(zhāng)概覽】 ·····························≤€≈····················76
【本章(zhāng)重點】 ·········" ←······················'&→··················76δ™
【本章(zhāng)目标】 ···············→♥£··································76
4.1 一(yī)維數(shù)組 ·······≈>☆✔·························£€★····················76
4.1.1 一(yī)維數(shù)組的(de)定義 ··················<Ωσ···············76
4.1.2 一(yī)維數(shù)組元素的(de)引用(yòng) ··±€························77
4.1.3 一(yī)維數(shù)組的(de)初始化(huà) ············♣×ε··················79
4.1.4 一(yī)維數(shù)組的(de)實例 ···¥¶··························β∞¶····81
4.2 二維數(shù)組 ································↕∞····················83
4.2.1 二維數(shù)組的(de)定義 ·······················✘λ>··········83
4.2.2 二維數(shù)組元素的(de)引用(yòng) ········φ₩ ··················84
4.2.3 二維數(shù)組的(de)初始化(huà) ···γ∏×♥···························85
4.2.4 二維數(shù)組的(de)實例 •↔™·································86
4.3 字符數(shù)組 ···································ε'→δ·················89
4.3.1 字符數(shù)組的(de)定義 ···············¶✔··················89
4.3.2 字符數(shù)組的(de)初始化(huà) α↑£······························89
4.3.3 字符串和(hé)字符串結束标志(zhì) ·········γ↔¶·········90
4.3.4 字符數(shù)組的(de)引用(yòng)和(hé)輸入輸出 ······λβ ∑········93
4.3.5 用(yòng)于字符串處理(lǐ)的(de)幾個(gè)函數(shù) λ★··············93
4.3.6 字符數(shù)組的(de)實例 ····················×§σ↕·············96
4.4 本章(zhāng)小(xiǎo)結 ···················↓₽₩·····················β←☆<············97
4.5 思考與練習(xí) ······················✘♣$···························97
一(yī)、填空(kōng)題 ·······················™→>······························97
二、選擇題 ·····································←¶© ················98
三、編程題 ···········································£÷'··········99
第5 章(zhāng) 用(yòng)函數(shù)實現(δ★xiàn)模塊化(huà)程序設計(jì) ·· ÷¥·· 100
【本章(zhāng)概覽】 ····················≠φ₽<····················β←φ······· 100
【本章(zhāng)重點】 ···········∞≤···································· 100
【本章(zhāng)目标】 ·········♣¥π······································ 100
5.1 函數(shù)的(de)基本知(zhī)識 ···········★↓♥····················®×φ®········ 100
5.1.1 函數(shù)定義的(de)一(yī)般形式 ·········≠♥∑··············· 101
5.1.2 函數(shù)的(de)聲明(míng) ···············≤γ♣························ 103
5.1.3 函數(shù)的(de)定義、聲明(míng)和✘™™(hé)調用(yòng)的(de)區(qū)别 ···· 10↕'✔Ω4
5.2 函數(shù)的(de)參數(shù)←↕σ和(hé)函數(shù)的(de)值 ·······················€®···· 105
5.2.1 形參和(hé)實參 ·······························↓£········ 105
5.2.2 函數(shù)的(de)值 ·················£'·························· ¥106
5.3 函數(shù)的(de)調用(yòng)♦"§₽ ························≥€Ω ······················ 10↑λ7
5.3.1 函數(shù)調用(yòng)的(de)方式 ·········>γ∑······················ 107
5.3.2 嵌套調用(yòng) ·························®→βπ·················· 108
5.3.3 遞歸調用(yòng) ····························'≥¶··············· 110
5.4 數(shù)組作(zuò)函數(sh↕™ù)參數(shù) ···············€≤ ₽······················· 113
5.4.1 數(shù)組元素作(zuò)為(wèi)函數(shù)參數(shù)↔↔ ···················· 113
5.4.2 數(shù)組名作(zuò)為(wèi)函∏ 數(shù)的(de)實參 ·······π×············· 115
5.1 局部變量和(hé)全局變量 ·····························'™★·· 117
5.1.1 局部變量 ·······················≈×···················· 117
5.1.2 全局變量 ····································ε§ ······· 119
5.2 變量的(de)存儲類型 ·························&≈☆············· 123
5.2.1 動态變量 ···································↔♣♣≤········· 123
5.2.2 靜(jìng)态變量 ·······↔ΩΩ·································≤÷···· 125
5.2.3 外(wài)部變量 ··········· ™······························π"··· 126
5.3 內(nèi)部函數(shù)和(hé)外(wà•±i)部函數(shù) ····················· ·········· 127
5.3.1 內(nèi)部函數(shù)(靜(jìng≥≤≠)态函數(shù)) ················· ☆··· 127
5.3.2 外(wài)部函數(shù) ·····················¶ε······················ 127
5.5 本章(zhāng)小(xiǎo)結 ····················γ÷→¶······························ 128
5.6 思考與練習(xí) ······················σα φ························ 129
一(yī)、填空(kōng)題 ····················δ······························ 129
二、選擇題 ··································α♠ ®················ 131
三、編程題 ········································ ≤™&·········· 133
第6 章(zhāng) 善于利用(yòng)指針 ¥÷···························· 134
【本章(zhāng)概覽】 ························↑♥α······················ 134
【本章(zhāng)重點】 ···········÷"γ∞··································· 134
【本章(zhāng)目标】 ·································'≈············· 134
6.1 變量的(de)地(dì)址和(h¥Ωé)指針變量 ················ αα··········· 134
6.1.1 變量的(de)地(dì)址 ··················· λ★···················· 134
6.1.2 指針變量 ·······················ε♦···················· 135
6.1.3 指針變量的(de)使用(yòngσ) ···················∞ δ············ 135
6.2 數(shù)組指針 ··························¥♥························ 137
6.2.1 數(shù)組指針的(de)運算(suàn) ··············≤↑················· 137
6.2.2 數(shù)組元素的(de)指針 ···················₽λ÷············ 138
6.2.3 數(shù)組名作(zuò)函數(shù)實參 ·············δ·············· 140
目 錄
·III·
6.2.4 指向二維數(shù)組元素的(de)指針變量 ······ ∞÷·· 144
6.2.5 指向一(yī)維數(shù)組的(de)指針變量 ··········≈♠♦♦······ 145
6.3 字符串指針 ···································₩✔£≥············ 146
6.3.1 字符串的(de)表示形式 ················←α≈¥············ 146
6.3.2 字符串指針作(zuò)函數(shù)參數(shù) ··············☆♦∑······ 148
6.4 函數(shù)指針 ·········∑ ↔·································ε≥±········ 149
6.4.1 指向函數(shù)的(de)指♣↔₩₩針變量 ························ 149
6.4.2 返回指針值的(de)函數(shù) ·············ππ≤··············· 150
6.5 指針數(shù)組 ·········φ ∑········································· 151
6.5.1 指針數(shù)組的(de)定義和(hé)使用(yòn>g) ···················· 151↔α
6.5.2 命令行(xíng)參數(shù) δ×·····················α$·················· 152
6.6 二級指針 ······································≥←'£············ 153
6.7 本章(zhāng)小(xiǎo)ε¶∞✔結 ····················↕←♦······························ 154
6.8 思考與練習(xí) ····························α∑γ··················· 154
一(yī)、寫出以下(xià)程序的(de)運行(xíng)結λ£δ果 ···················· 154
二、編程題 ························β☆₽>··························· 1↕β<57
第7 章(zhāng) 建立自(zì)己的(de)數(sh§ ™ù)據類型 ················ 158×♣∑
【本章(zhāng)概覽】 ············ π··································· 158
【本章(zhāng)重點】 ··························λ↓····················· 158
【本章(zhāng)目标】 ·····················δ¶•™·························· 158
7.1 結構類型 ···················'<←·························· ∞····· 158
7.1.1 結構類型的(de)一(yī)般形式 ···←♣····················· 158
7.1.2 結構變量的(de)定義 ········α¶ ······················· 159
7.1.2 結構變量的(de)引用(yòng) ···············♠£≤π················ 161
7.1.3 結構變量的(de)初始化(huà) ·······♠'····················· 1↑✔62
7.1.4 結構數(shù)組 ······················<∞····················· 163
7.1.5 指向結構的(de)指針 ·················· "↕∑············· 165
7.1.6 結構指針變量作(zuò)函數(shù)參數(shù) ··÷♥₽·············· 168
7.1.7 引用(yòng)自(zì)身(shēn)的(de)結構 ···············© ↕················ 169
7.1.8 鏈表操作(zuò) ·····················©······················ 171
7.2 聯合 ···························$≤······························· 174
7.2.1 聯合的(de)定義 ·······························§↕'®········ 174
7.2.2 聯合變量的(de)說(shuō)明(míng) ···········σ ···················· 175
7.2.3 聯合變量的(de)賦值和(hé)使用(yòng) ··············÷®α······ 176
7.3 枚舉 ································±£$·························· 177
7.3.1 枚舉的(de)定義 ·································×÷······ 177
7.3.2 枚舉變量的(de)說(shuō)明(míng) ······ ★φ························· 177
7.3.3 枚舉類型變量的(de)賦值和(hé)使用(yòng) ··········βε✔≠·· 178
7.4 類型定義符typedef ······························ €€↔···· 178
7.5 本章(zhāng)小(xiǎo)結 ·········λ↓>···································∞α★······ 179
7.6 思考與練習(xí) ···················δ ··························· 180
一(yī)、填空(kōng)題 ·············↓α····························∑λ♦'········· 180
二、編程題 ···························↓φε······················· 181
第8 章(zhāng) 對(duì)文(wén)件(jiàε∏✔∑n)的(de)輸入輸出 ··············<Ω······ 182
【本章(zhāng)概覽】 ······¶→··························$<·············· 182
【本章(zhāng)重點】 ········· ✔> ······················¶>"✔··············· 182
【本章(zhāng)目标】 ····························≠₩÷±·················· 182
8.1 文(wén)件(jiàn)的(de)基本知(zhī♠α)識 ··································γπ•···· 182
8.1.1 文(wén)件(jiàn)的(de)類型 ········≈ ♣≥······························· 182
8.1.2 文(wén)件(jiàn)指針 ······················§×©····················· 183
8.1.3 流(stream)和(hé)文(wén)件(jiàn)(file) ··· ∏ ········· 184
8.1.4 關于C的(de)庫文(wén)件(jiàn) ···············✘∏σ················ 184
8.2 文(wén)件(jiàn)的(de)打開(kāi)與關閉 ·············$'×······················ 184
8.2.1 文(wén)件(jiàn)的(de)₹∞™$打開(kāi)(fopen())函數(shù) ········· 18♠↕5
8.2.2 文(wén)件(jiàn)的(✔☆de)關閉(fclose()函數(shù))······· 186
8.3 文(wén)件(jiàn)的(de)操作(zuò) ·················λ§······················£®↑······· 187
8.3.1 字符讀(dú)寫函數(shù)(fputc 和(hé)fgetc) ©♦······ 187
8.3.2 字符串讀(dú)寫函數(shù)(fputs 和(hé)fgets) ·€™←· 190
8.3.3 數(shù)據塊讀(dú)寫函數(shù>¶ ™)(fread 和(hé)fwrite) · 192
8.3.4 格式化(huà)讀(dú)寫(fscanf 函數(shù)和(hé)fprin♠¶tf 函數(shù))
························································ 194
8.3.5 文(wén)件(jiàn)的(de)定位函數(shù) ☆♠······························· 195
8.3.6 文(wén)件(jiàn)檢測函數(shù) ····♣✘®······························· 196
8.4 典型程序實例 ·························¥↓<★················· 197
8.5 本章(zhāng)小(xiǎo)結 ························· λ························· 198
8.6 思考與練習(xí) ····························•¥€×·················· 199
一(yī)、填空(kōng)題 ······················≤¥€··························· Ω· 199
二、編程題 ····································₹£·············· 200
第9 章(zhāng) 編譯預處理(lǐ)命令 ························ ₩ 201
【本章(zhāng)概覽】 ······"™>········································ 201
【本章(zhāng)重點】 ····················←♠±÷·························· 201&€δ
【本章(zhāng)目标】 ·························α ₹····················· 201∏£
9.1 宏定義 ·····························£"························· 201
9.1.1 不(bù)帶參數(shù)的(de)宏定義(符号常量) ···· 201
9.1.2 帶參數(shù)的(de)宏定義 ····················· ·········· 203
9.2 文(wén)件(jiàn)包含 ··········÷↓········································ 204
9.2.1 文(wén)件(jiàn)包含的(de)一(yī)般形式 ··♣↓····················· ↓γ204
9.2.2 文(wén)件(jiàn)包含的♥Ω'÷(de)幾點說(shuō)明(míng) ··············§ ↓₹········· 205
C 語言程序設計(jì)教程
·IV·
9.3 條件(jiàn)編譯 ········§≥¥···························÷→λ··············· 206
9.3.1 常用(yòng)條件(jiàn)編譯命令的(de)形式 ·······"β♦········· 206
9.3.2 其他(tā)一(yī)些(xiē)标準指令 ·············<•₽®··············· 208
9.4 本章(zhāng)小(xiǎo)結 ······················$₽···························· ± 208
9.5 思考與練習(xí) ··································≤δ×£············· 208
一(yī)、填空(kōng)題 ·········· σ········································· 20©≤↓8
二、選擇題 ······················★♣<····························· 209
第10 章(zhāng) 位運算(suàn)···········★§·························∞ ♦·· 210
【本章(zhāng)概覽】 ············ ✔······························λ↓•σ····· 210
【本章(zhāng)重點】 ······ ★→¶········································· 210
【本章(zhāng)目标】 ·························♦≤≈♥······················ 210
10.1 位運算(suàn)符和(hé)位運算(suà©€φδn) ································· 21σΩ$₽0
10.1.1 按位與運算(suàn) ·····························™™ ········ 211
10.1.2 按位或運算(suàn) ··············↕ ······················· 211
10.1.3 按位異或運算(suàn) ·······≥•∞·························· 212
10.1.4 求反運算(suàn) ·······················✘®·················· 212
10.1.5 左移運算(suàn) ······················¥'··················· 213
10.1.6 右移運算(suàn) ·······₹←··························&λαα········ 213
10.2 使用(yòng)位域 ············≥♦···························ε∑§®········· 214
10.2.1 位域的(de)定義 ···········←¶·························· 2☆₽♦λ14
10.2.1 位域變量的(de)聲明(míng) ··········· ·················· 214
10.2.2 位域的(de)使用(yòng) ········←γ····························· 215
10.3 典型例題解析 ·································₩™······· 216
10.4 本章(zhāng)小(xiǎo)結 φ∞ε☆·························δ ♦·····················•Ωα·· 217
10.5 思考與練習(xí) ··········γ♣··························∞£········ 218
一(yī)、填空(kōng)題 ················ <♣α··························±& ········ 218
二、選擇題 ····································'↑€·············· 218
三、算(suàn)法設計(jì) ··············· ¶α ······························· 218
四、編程題 ···············δ←¶··································σ¥¥· 218
附錄1 ASCII 字符與編碼對(duì)照(zhào)表 ·········· 21γ÷9
附錄2 運算(suàn)符和(hé)結合性 ··················∏♥······· 220
附錄3 C 常用(yòng)庫函數(shù) ·············✘←················ 221
附錄4 C 語言中的(de)32 個(gè)關鍵字 ············ 2≠♥25
附錄5 C 語言常用(yòng)語法提要(yà≈✘$÷o) ·················· 227
附錄6 C 語言庫函數(shù) ···········σ≥₹·················· 231