關(guān)于我們
書單推薦
新書推薦
|
C語言程序設(shè)計(jì)(第四版)
C語言是程序員的入門語言,也是許多大學(xué)為學(xué)生安排的第一門程序設(shè)計(jì)課程。本書充分考慮到這一點(diǎn),在內(nèi)容的編排上盡量符合初學(xué)者的要求,在實(shí)例的選擇上從易到難,循序漸進(jìn),并且能夠解決一些實(shí)際問題。本書主要內(nèi)容包括:C語言概述、C語言的基本知識、順序和選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體等構(gòu)造數(shù)據(jù)類型、文件和綜合案例。
該書定位準(zhǔn)確,選材恰當(dāng),概念清晣,深入淺出,例題豐富,容易學(xué)習(xí),在第三版的基礎(chǔ)上,根據(jù)教學(xué)實(shí)踐又作了調(diào)整修改,使之更切合教學(xué)的需要。是一本適合于高校計(jì)算機(jī)基礎(chǔ)教育的比較好的C教材。
本書延續(xù)了前三版的特點(diǎn),并在此基礎(chǔ)上對所講解的內(nèi)容做了適當(dāng)修訂,以適合第一次學(xué)習(xí) 程序設(shè)計(jì)者的需求。 主要的修訂內(nèi)容包括: (1)選用了一些新的案例。這些案例不但更適合初學(xué)者,也更有實(shí)際意義。例如,有關(guān)人的 姓名在計(jì)算機(jī)內(nèi)的存儲。 (2)教學(xué)內(nèi)容的先后做了部分調(diào)整。尤其是第 2 章,因?yàn)樵撜碌膬?nèi)容比較煩瑣,學(xué)生也覺得 枯燥,重新調(diào)整后更利于教學(xué),教師在使用時(shí)也可以根據(jù)情況增刪該部分內(nèi)容。第 6 章將二維數(shù) 組放到了最后,將字符數(shù)組和字符串的內(nèi)容提前了。 (3)增加了第 10 章綜合案例。盡管前 9 章的一些案例隨著教學(xué)進(jìn)程不斷豐富,已經(jīng)比較復(fù) 雜,但是筆者還是認(rèn)為不夠,為了讓學(xué)生學(xué)到更多的程序設(shè)計(jì)案例,增加了第 10 章,希望對大 家有更大的幫助。 (4)將大部分程序的架構(gòu)改為 int main() { … return 0; } 習(xí)題中加*號的表示老師可以留作業(yè),習(xí)題解答中未給出答案。 本書能夠多次再版,要感謝所有使用本書作為教材和學(xué)習(xí)參考書的教師和讀者,同時(shí)再次殷 切希望讀者對本書的內(nèi)容和編寫方法提出寶貴的意見和建議。 由于編者水平有限,疏漏與不妥之處在所難免,敬請廣大讀者批評指正。 編 者
林小茶 北京信息科技大學(xué) 信息管理學(xué)院 副教授 多年來一直從事程設(shè)計(jì)類課程的教學(xué)工作,有豐富的教學(xué)經(jīng)驗(yàn);出版了多本有關(guān)程序設(shè)計(jì)的教材,并有多本教材入選國家十一五規(guī)劃教材、北京市精品教材以及*精品教材。
第1章C語言概述.............................. 1 1.1 程序與程序設(shè)計(jì)語言 .................... 1 1.1.1 程序 .................................... 1 1.1.2 程序設(shè)計(jì)語言..................... 2 1.2 C 語言發(fā)展歷史和主要特點(diǎn).......... 3 1.2.1 C 語言的發(fā)展歷史.............. 3 1.2.2 C 語言的主要特點(diǎn).............. 4 1.3 C 語言的基本結(jié)構(gòu)......................... 4 1.3.1 第一個(gè)程序......................... 5 1.3.2 第二個(gè)程序......................... 5 1.3.3 printf()使用初步.................. 6 1.3.4 第三個(gè)程序......................... 7 1.4 程序的調(diào)試.................................... 7 1.4.1 調(diào)試步驟 ............................ 7 1.4.2 在 Visual Studio 2010 調(diào)試 環(huán)境下調(diào)試第一個(gè)程序...... 8 小結(jié).......................................................12 習(xí)題.......................................................12 第2章C語言的基本知識.................. 13 2.1 變量 ..............................................13 2.2 常量 ..............................................15 2.3 C 語言的數(shù)據(jù)類型........................16 2.3.1 為什么要討論數(shù)據(jù)類型.....16 2.3.2 C 語言有哪些數(shù)據(jù)類型 .....17 2.3.3 基本數(shù)據(jù)類型....................17 2.4 不同數(shù)據(jù)類型的變量說明............18 2.4.1 整型變量 ...........................18 2.4.2 浮點(diǎn)變量 ...........................19 2.4.3 字符變量 ...........................20 2.5 不同數(shù)據(jù)類型的常量寫法............20 2.5.1 整型常量 ...........................20 2.5.2 浮點(diǎn)常量 ...........................21 2.5.3 字符常量 ...........................21 2.6 不同數(shù)據(jù)類型的輸入/輸出...........23 2.6.1 整型數(shù)據(jù)的輸入/輸出 .......23 2.6.2 浮點(diǎn)數(shù)據(jù)的輸入/輸出 .......24 2.6.3 字符數(shù)據(jù)的輸入/輸出 .......25 2.6.4 用 getchar()輸入字符和用 putchar()輸出字符..............26 2.7 不同數(shù)據(jù)類型數(shù)據(jù)間的混合運(yùn)算 27 2.7.1 自動轉(zhuǎn)換............................28 2.7.2 強(qiáng)制轉(zhuǎn)換............................28 2.7.3 安全類型轉(zhuǎn)換與非安全類型 轉(zhuǎn)換 ...................................29 2.8 字符集和標(biāo)識符 ...........................30 2.8.1 字符集 ...............................31 2.8.2 標(biāo)識符 ...............................31 2.9 典型錯(cuò)誤及典型例題 ...................32 小結(jié).......................................................35 習(xí)題.......................................................36 第3章 順序和選擇結(jié)構(gòu)程序設(shè)計(jì)........37 3.1 結(jié)構(gòu)化程序設(shè)計(jì) ...........................37 3.1.1 結(jié)構(gòu)化程序設(shè)計(jì)的 3 種 基本結(jié)構(gòu) ...........................37 3.1.2 結(jié)構(gòu)化程序設(shè)計(jì)思想的 產(chǎn)生 ...................................42 3.2 語句與分程序...............................44 3.3 順序結(jié)構(gòu)程序設(shè)計(jì) .......................45 3.4 算術(shù)運(yùn)算符與賦值運(yùn)算符............46 3.4.1 算術(shù)運(yùn)算符的種類及運(yùn)算.46 3.4.2 算術(shù)表達(dá)式及算術(shù)運(yùn)算符 的優(yōu)先級 ...........................47 3.4.3 算術(shù)運(yùn)算符的結(jié)合性.........48 3.4.4 普通賦值運(yùn)算符 ................48 3.4.5 復(fù)合賦值運(yùn)算符 ................49 3.5 選擇結(jié)構(gòu)程序設(shè)計(jì) .......................49 CONTENTS 目錄 2 C語言程序設(shè)計(jì)(第四版) 3.5.1 問題提出與程序示例 ........49 3.5.2 if 形式................................51 3.5.3 if…else 形式 ......................53 3.5.4 else if 形式.........................55 3.5.5 嵌套的 if 語句....................58 3.6 關(guān)系運(yùn)算符與邏輯運(yùn)算符............60 3.6.1 關(guān)系運(yùn)算符........................60 3.6.2 邏輯運(yùn)算符........................61 3.7 增 1/減 1 運(yùn)算符...........................62 3.8 求字節(jié)數(shù)運(yùn)算符...........................63 3.9 switch 語句....................................65 3.10 條件運(yùn)算符.................................68 3.11 程序舉例.....................................70 3.12 典型錯(cuò)誤及典型例題 .................73 小結(jié).......................................................78 習(xí)題.......................................................79 第4章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì).................. 81 4.1 問題提出與程序示例 ...................81 4.2 while 語句 .....................................83 4.2.1 while 語句的語法和流程圖83 4.2.2 使用 while 語句需要注意 的問題 ...............................84 4.3 do…while 語句..............................86 4.3.1 do…while 語句的語法和 流程圖 ...............................86 4.3.2 使用 do…while 語句 解決問題 ...........................86 4.3.3 使用 do…while 語句需要 注意的問題........................88 4.4 for 語句.........................................89 4.4.1 for 語句的語法和流程圖 ...89 4.4.2 使用 for 語句解決問題 ......90 4.4.3 使用 for 語句需要注意的 問題...................................91 4.5 多重循環(huán) ......................................92 4.6 break 語句在循環(huán)語句中的用法 ..94 4.7 continue 語句 ................................96 4.7.1 continue 的用法 .................96 4.7.2 break 與 continue 的區(qū)別 ...96 4.8 程序舉例 ......................................97 4.9 典型錯(cuò)誤及典型例題 .................104 小結(jié).....................................................108 習(xí)題.....................................................108 第5章 函數(shù)..................................... 111 5.1 問題提出與程序示例 .................111 5.2 函數(shù)基礎(chǔ) ....................................112 5.3 函數(shù)的定義.................................113 5.3.1 函數(shù)的定義形式 ..............113 5.3.2 函數(shù)的返回值..................114 5.4 函數(shù)調(diào)用 ....................................115 5.4.1 函數(shù)的調(diào)用方式 ..............115 5.4.2 嵌套調(diào)用..........................116 5.5 函數(shù)聲明 ....................................118 5.6 參數(shù)傳遞 ....................................119 5.6.1 形參和實(shí)參......................119 5.6.2 形參的數(shù)據(jù)類型是基本 數(shù)據(jù)類型 .........................120 5.7 遞歸調(diào)用 ....................................121 5.8 變量的存儲類別 .........................126 5.8.1 自動變量與外部變量.......126 5.8.2 靜態(tài)變量..........................130 5.8.3 寄存器變量......................132 5.9 典型錯(cuò)誤及典型例題 .................133 小結(jié).....................................................136 習(xí)題.....................................................137 第6章 數(shù)組..................................... 138 6.1 問題提出與程序示例 .................138 6.2 一維數(shù)組 ....................................140 6.2.1 一維數(shù)組的定義 ..............140 6.2.2 一維數(shù)組的引用 ..............141 6.2.3 一維數(shù)組的初始化 ..........141 6.2.4 程序舉例..........................142 6.3 數(shù)組作為函數(shù)的參數(shù) .................146 6.4 字符串與字符串函數(shù) .................149 3 目 錄 6.4.1 字符數(shù)組 .........................149 6.4.2 使用字符串常量初始化 字符數(shù)組 .........................150 6.4.3 對字符數(shù)組進(jìn)行輸入/ 輸出操作 .........................150 6.4.4 字符串函數(shù)......................153 6.4.5 程序舉例 .........................157 6.5 二維數(shù)組 ....................................160 6.5.1 二維數(shù)組 OP 的定義........160 6.5.2 二維數(shù)組的引用 ..............161 6.5.3 二維數(shù)組的初始化 ..........162 6.5.4 程序舉例 .........................162 6.6 典型錯(cuò)誤及典型例題 .................168 小結(jié).....................................................174 習(xí)題.....................................................174 第7章 指針..................................... 178 7.1 指針類型與指針運(yùn)算符..............178 7.1.1 指針數(shù)據(jù)類型..................179 7.1.2 指針運(yùn)算符&和*的使用..180 7.2 空間的動態(tài)分配與指針運(yùn)算......181 7.2.1 程序示例 .........................181 7.2.2 空指針 .............................182 7.2.3 存儲器申請......................182 7.2.4 存儲器釋放......................184 7.2.5 指針值的算術(shù)運(yùn)算 ..........184 7.3 指針與函數(shù).................................187 7.3.1 形參的數(shù)據(jù)類型是 指針類型 .........................187 7.3.2 返回指針值的函數(shù) ..........190 7.3.3 指向函數(shù)的指針 ..............191 7.4 指針與一維數(shù)組.........................195 7.4.1 問題提出與程序示例 ......195 7.4.2 數(shù)組名及指針作為 函數(shù)參數(shù) .........................197 7.4.3 指針與字符串..................199 7.5 二級指針 ....................................201 7.6 指針數(shù)組 ....................................203 7.6.1 問題提出與程序示例.......203 7.6.2 指針數(shù)組的定義和使用...204 7.7 指針與二維數(shù)組 .........................207 7.7.1 用指針方法操作二維數(shù)組 .........................................207 7.7.2 動態(tài)的二維數(shù)組 ..............209 7.7.3 用指向數(shù)組的指針操作 二維數(shù)組 .........................211 7.8 命令行參數(shù).................................213 7.9 典型錯(cuò)誤及典型例題 .................217 小結(jié).....................................................223 習(xí)題.....................................................224 第8章 結(jié)構(gòu)體等構(gòu)造數(shù)據(jù)類型......... 226 8.1 結(jié)構(gòu)體 ........................................226 8.1.1 問題提出與程序示例.......226 8.1.2 結(jié)構(gòu)體的聲明和結(jié)構(gòu)體 變量的定義......................227 8.1.3 結(jié)構(gòu)體成員的引用 ..........228 8.1.4 結(jié)構(gòu)體的初始化 ..............229 8.2 結(jié)構(gòu)體數(shù)組.................................230 8.3 結(jié)構(gòu)體與指針.............................231 8.3.1 指向結(jié)構(gòu)體的指針 ..........231 8.3.2 結(jié)構(gòu)體中的成員包含 指針 .................................234 8.3.3 用結(jié)構(gòu)體類型指針 建立鏈表 .........................235 8.4 結(jié)構(gòu)體與函數(shù).............................240 8.4.1 結(jié)構(gòu)體數(shù)據(jù)作為函數(shù) 的參數(shù) .............................240 8.4.2 返回指向結(jié)構(gòu)體的指針 的函數(shù) .............................241 8.5 聯(lián)合體 ........................................243 8.5.1 問題提出與程序示例.......243 8.5.2 聯(lián)合體的聲明和聯(lián)合體 變量的定義......................244 8.5.3 聯(lián)合體變量成員的引用...245 8.5.4 指向聯(lián)合體變量的指針...246 4 C語言程序設(shè)計(jì)(第四版) 8.5.5 聯(lián)合體變量與函數(shù) ..........247 8.6 枚舉 ............................................249 8.6.1 枚舉的聲明和枚舉變量 的定義 .............................249 8.6.2 枚舉變量的使用 ..............249 8.7 類型定義 ....................................250 8.8 程序舉例 ....................................251 8.9 典型錯(cuò)誤及典型例題 .................254 小結(jié).....................................................259 習(xí)題.....................................................260 第9章 文件..................................... 263 9.1 問題提出與程序示例 .................263 9.2 文件操作的基本方法和 相關(guān)概念.....................................264 9.2.1 數(shù)據(jù)文件 .........................264 9.2.2 文件類型指針..................264 9.2.3 文件的打開......................265 9.2.4 文件的關(guān)閉......................267 9.2.5 文件操作順序..................268 9.2.6 C 語言的設(shè)備文件...........269 9.3 文件的讀/寫操作........................269 9.3.1 fputc()函數(shù)與 fgetc()函數(shù)..269 9.3.2 fprintf()函數(shù)與 fscanf()函數(shù) .........................................273 9.3.3 fread()函數(shù)與 fwrite()函數(shù) 275 9.3.4 fgets()和 fputs() .................279 9.4 文件的定位.................................280 9.4.1 文件的順序存取和 隨機(jī)存取 .........................280 9.4.2 rewind()函數(shù).....................280 9.4.3 fseek()函數(shù) .......................281 9.5 程序舉例 ....................................282 小結(jié).....................................................287 習(xí)題.....................................................287 第10章 綜合案例............................ 290 附錄A
你還可能感興趣
我要評論
|