關(guān)于我們
書(shū)單推薦
新書(shū)推薦
|
C語(yǔ)言程序設(shè)計(jì)(第四版)
C語(yǔ)言是程序員的入門(mén)語(yǔ)言,也是許多大學(xué)為學(xué)生安排的第一門(mén)程序設(shè)計(jì)課程。本書(shū)充分考慮到這一點(diǎn),在內(nèi)容的編排上盡量符合初學(xué)者的要求,在實(shí)例的選擇上從易到難,循序漸進(jìn),并且能夠解決一些實(shí)際問(wèn)題。本書(shū)主要內(nèi)容包括:C語(yǔ)言概述、C語(yǔ)言的基本知識(shí)、順序和選擇結(jié)構(gòu)程序設(shè)計(jì)、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)、函數(shù)、數(shù)組、指針、結(jié)構(gòu)體等構(gòu)造數(shù)據(jù)類(lèi)型、文件和綜合案例。
該書(shū)定位準(zhǔn)確,選材恰當(dāng),概念清晣,深入淺出,例題豐富,容易學(xué)習(xí),在第三版的基礎(chǔ)上,根據(jù)教學(xué)實(shí)踐又作了調(diào)整修改,使之更切合教學(xué)的需要。是一本適合于高校計(jì)算機(jī)基礎(chǔ)教育的比較好的C教材。
本書(shū)延續(xù)了前三版的特點(diǎn),并在此基礎(chǔ)上對(duì)所講解的內(nèi)容做了適當(dāng)修訂,以適合第一次學(xué)習(xí) 程序設(shè)計(jì)者的需求。 主要的修訂內(nèi)容包括: (1)選用了一些新的案例。這些案例不但更適合初學(xué)者,也更有實(shí)際意義。例如,有關(guān)人的 姓名在計(jì)算機(jī)內(nèi)的存儲(chǔ)。 (2)教學(xué)內(nèi)容的先后做了部分調(diào)整。尤其是第 2 章,因?yàn)樵撜碌膬?nèi)容比較煩瑣,學(xué)生也覺(jué)得 枯燥,重新調(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 章,希望對(duì)大 家有更大的幫助。 (4)將大部分程序的架構(gòu)改為 int main() { … return 0; } 習(xí)題中加*號(hào)的表示老師可以留作業(yè),習(xí)題解答中未給出答案。 本書(shū)能夠多次再版,要感謝所有使用本書(shū)作為教材和學(xué)習(xí)參考書(shū)的教師和讀者,同時(shí)再次殷 切希望讀者對(duì)本書(shū)的內(nèi)容和編寫(xiě)方法提出寶貴的意見(jiàn)和建議。 由于編者水平有限,疏漏與不妥之處在所難免,敬請(qǐng)廣大讀者批評(píng)指正。 編 者
林小茶 北京信息科技大學(xué) 信息管理學(xué)院 副教授 多年來(lái)一直從事程設(shè)計(jì)類(lèi)課程的教學(xué)工作,有豐富的教學(xué)經(jīng)驗(yàn);出版了多本有關(guān)程序設(shè)計(jì)的教材,并有多本教材入選國(guó)家十一五規(guī)劃教材、北京市精品教材以及*精品教材。
第1章C語(yǔ)言概述.............................. 1 1.1 程序與程序設(shè)計(jì)語(yǔ)言 .................... 1 1.1.1 程序 .................................... 1 1.1.2 程序設(shè)計(jì)語(yǔ)言..................... 2 1.2 C 語(yǔ)言發(fā)展歷史和主要特點(diǎn).......... 3 1.2.1 C 語(yǔ)言的發(fā)展歷史.............. 3 1.2.2 C 語(yǔ)言的主要特點(diǎn).............. 4 1.3 C 語(yǔ)言的基本結(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語(yǔ)言的基本知識(shí).................. 13 2.1 變量 ..............................................13 2.2 常量 ..............................................15 2.3 C 語(yǔ)言的數(shù)據(jù)類(lèi)型........................16 2.3.1 為什么要討論數(shù)據(jù)類(lèi)型.....16 2.3.2 C 語(yǔ)言有哪些數(shù)據(jù)類(lèi)型 .....17 2.3.3 基本數(shù)據(jù)類(lèi)型....................17 2.4 不同數(shù)據(jù)類(lèi)型的變量說(shuō)明............18 2.4.1 整型變量 ...........................18 2.4.2 浮點(diǎn)變量 ...........................19 2.4.3 字符變量 ...........................20 2.5 不同數(shù)據(jù)類(lèi)型的常量寫(xiě)法............20 2.5.1 整型常量 ...........................20 2.5.2 浮點(diǎn)常量 ...........................21 2.5.3 字符常量 ...........................21 2.6 不同數(shù)據(jù)類(lèi)型的輸入/輸出...........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ù)類(lèi)型數(shù)據(jù)間的混合運(yùn)算 27 2.7.1 自動(dòng)轉(zhuǎn)換............................28 2.7.2 強(qiáng)制轉(zhuǎn)換............................28 2.7.3 安全類(lèi)型轉(zhuǎn)換與非安全類(lèi)型 轉(zhuǎn)換 ...................................29 2.8 字符集和標(biāo)識(shí)符 ...........................30 2.8.1 字符集 ...............................31 2.8.2 標(biāo)識(shí)符 ...............................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 語(yǔ)句與分程序...............................44 3.3 順序結(jié)構(gòu)程序設(shè)計(jì) .......................45 3.4 算術(shù)運(yùn)算符與賦值運(yùn)算符............46 3.4.1 算術(shù)運(yùn)算符的種類(lèi)及運(yùn)算.46 3.4.2 算術(shù)表達(dá)式及算術(shù)運(yùn)算符 的優(yōu)先級(jí) ...........................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語(yǔ)言程序設(shè)計(jì)(第四版) 3.5.1 問(wèn)題提出與程序示例 ........49 3.5.2 if 形式................................51 3.5.3 if…else 形式 ......................53 3.5.4 else if 形式.........................55 3.5.5 嵌套的 if 語(yǔ)句....................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 語(yǔ)句....................................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 問(wèn)題提出與程序示例 ...................81 4.2 while 語(yǔ)句 .....................................83 4.2.1 while 語(yǔ)句的語(yǔ)法和流程圖83 4.2.2 使用 while 語(yǔ)句需要注意 的問(wèn)題 ...............................84 4.3 do…while 語(yǔ)句..............................86 4.3.1 do…while 語(yǔ)句的語(yǔ)法和 流程圖 ...............................86 4.3.2 使用 do…while 語(yǔ)句 解決問(wèn)題 ...........................86 4.3.3 使用 do…while 語(yǔ)句需要 注意的問(wèn)題........................88 4.4 for 語(yǔ)句.........................................89 4.4.1 for 語(yǔ)句的語(yǔ)法和流程圖 ...89 4.4.2 使用 for 語(yǔ)句解決問(wèn)題 ......90 4.4.3 使用 for 語(yǔ)句需要注意的 問(wèn)題...................................91 4.5 多重循環(huán) ......................................92 4.6 break 語(yǔ)句在循環(huán)語(yǔ)句中的用法 ..94 4.7 continue 語(yǔ)句 ................................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 問(wèn)題提出與程序示例 .................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ù)類(lèi)型是基本 數(shù)據(jù)類(lèi)型 .........................120 5.7 遞歸調(diào)用 ....................................121 5.8 變量的存儲(chǔ)類(lèi)別 .........................126 5.8.1 自動(dòng)變量與外部變量.......126 5.8.2 靜態(tài)變量..........................130 5.8.3 寄存器變量......................132 5.9 典型錯(cuò)誤及典型例題 .................133 小結(jié).....................................................136 習(xí)題.....................................................137 第6章 數(shù)組..................................... 138 6.1 問(wèn)題提出與程序示例 .................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 對(duì)字符數(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 指針類(lèi)型與指針運(yùn)算符..............178 7.1.1 指針數(shù)據(jù)類(lèi)型..................179 7.1.2 指針運(yùn)算符&和*的使用..180 7.2 空間的動(dòng)態(tài)分配與指針運(yùn)算......181 7.2.1 程序示例 .........................181 7.2.2 空指針 .............................182 7.2.3 存儲(chǔ)器申請(qǐng)......................182 7.2.4 存儲(chǔ)器釋放......................184 7.2.5 指針值的算術(shù)運(yùn)算 ..........184 7.3 指針與函數(shù).................................187 7.3.1 形參的數(shù)據(jù)類(lèi)型是 指針類(lèi)型 .........................187 7.3.2 返回指針值的函數(shù) ..........190 7.3.3 指向函數(shù)的指針 ..............191 7.4 指針與一維數(shù)組.........................195 7.4.1 問(wèn)題提出與程序示例 ......195 7.4.2 數(shù)組名及指針作為 函數(shù)參數(shù) .........................197 7.4.3 指針與字符串..................199 7.5 二級(jí)指針 ....................................201 7.6 指針數(shù)組 ....................................203 7.6.1 問(wèn)題提出與程序示例.......203 7.6.2 指針數(shù)組的定義和使用...204 7.7 指針與二維數(shù)組 .........................207 7.7.1 用指針?lè)椒ú僮鞫S數(shù)組 .........................................207 7.7.2 動(dòng)態(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ù)類(lèi)型......... 226 8.1 結(jié)構(gòu)體 ........................................226 8.1.1 問(wèn)題提出與程序示例.......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)體類(lèi)型指針 建立鏈表 .........................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 問(wèn)題提出與程序示例.......243 8.5.2 聯(lián)合體的聲明和聯(lián)合體 變量的定義......................244 8.5.3 聯(lián)合體變量成員的引用...245 8.5.4 指向聯(lián)合體變量的指針...246 4 C語(yǔ)言程序設(shè)計(jì)(第四版) 8.5.5 聯(lián)合體變量與函數(shù) ..........247 8.6 枚舉 ............................................249 8.6.1 枚舉的聲明和枚舉變量 的定義 .............................249 8.6.2 枚舉變量的使用 ..............249 8.7 類(lèi)型定義 ....................................250 8.8 程序舉例 ....................................251 8.9 典型錯(cuò)誤及典型例題 .................254 小結(jié).....................................................259 習(xí)題.....................................................260 第9章 文件..................................... 263 9.1 問(wèn)題提出與程序示例 .................263 9.2 文件操作的基本方法和 相關(guān)概念.....................................264 9.2.1 數(shù)據(jù)文件 .........................264 9.2.2 文件類(lèi)型指針..................264 9.2.3 文件的打開(kāi)......................265 9.2.4 文件的關(guān)閉......................267 9.2.5 文件操作順序..................268 9.2.6 C 語(yǔ)言的設(shè)備文件...........269 9.3 文件的讀/寫(xiě)操作........................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
你還可能感興趣
我要評(píng)論
|