定 價(jià):49.8 元
叢書名:“十三五”高校計(jì)算機(jī)應(yīng)用技術(shù)系列規(guī)劃教材
- 作者:[中國(guó)]趙旭寶
- 出版時(shí)間:2019/1/1
- ISBN:9787113254322
- 出 版 社:中國(guó)鐵道出版社
- 中圖法分類:TP312C
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
C 語言是目前使用比較廣泛的一種結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語言,由于其具有高效、靈活、運(yùn)算能力強(qiáng)等特點(diǎn),特別適合嵌入式系統(tǒng)和底層操作系統(tǒng)程序的開發(fā)。 本書從計(jì)算機(jī)“存儲(chǔ)程序”工作原理出發(fā),以啟發(fā)式教學(xué)方法,采用一問一答的形式,由簡(jiǎn)入繁、循序漸進(jìn)地將每個(gè)知識(shí)點(diǎn)逐步展開,引導(dǎo)學(xué)生在深入理解知識(shí)點(diǎn)的同時(shí),進(jìn)行程序開發(fā)。每個(gè)知識(shí)點(diǎn)都配有豐富的實(shí)踐例題。在語法上嚴(yán)格遵守ANSI C 標(biāo)準(zhǔn)。在程序設(shè)計(jì)方面強(qiáng)調(diào)模塊化思想,特別注重知識(shí)點(diǎn)的分析和程序設(shè)計(jì)能力的訓(xùn)練,通過實(shí)踐訓(xùn)練提高程序設(shè)計(jì)能力和知識(shí)點(diǎn)的綜合運(yùn)用能力。本書共分11 章,主要內(nèi)容包括:C 語言入門、數(shù)據(jù)類型、運(yùn)算符與表達(dá)式、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、函數(shù)、數(shù)組、預(yù)處理命令、指針、結(jié)構(gòu)體與共用體、文件。 本書教法新穎、深入淺出、通俗易懂、邏輯性強(qiáng),適合作為高等學(xué)校理工類學(xué)生學(xué)習(xí)C 語言的教材,也可作為初學(xué)者自學(xué)教材以及各類等級(jí)考試和社會(huì)培訓(xùn)機(jī)構(gòu)C 語言課程的培訓(xùn)教材。
本教程從計(jì)算“存儲(chǔ)程序”工作原理出發(fā),以啟發(fā)式教學(xué)方法,采用一問一答的形式,由簡(jiǎn)入繁、循序漸進(jìn)地將每個(gè)知識(shí)點(diǎn)逐步展開,引導(dǎo)學(xué)生在深入理解知識(shí)點(diǎn)的同時(shí),進(jìn)行程序開發(fā)。
前?言C語言是目前比較流行的一種計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)語言,由于其具有高效、靈活、表達(dá)力與運(yùn)算能力強(qiáng)等特點(diǎn),普遍應(yīng)用于底層操作系統(tǒng)和嵌入式系統(tǒng)的開發(fā),例如Linux操作系統(tǒng)和智能手機(jī)、智能電器、智能機(jī)器人等。但由于其內(nèi)容較多,語法嚴(yán)謹(jǐn),尤其是指針類型的引入,用法比較抽象,難于理解,更加深了初學(xué)者的學(xué)習(xí)難度。因此,本書從計(jì)算機(jī)“存儲(chǔ)程序”工作原理出發(fā),強(qiáng)調(diào)程序開發(fā)以內(nèi)存為中心,以啟發(fā)式教學(xué)方法為主導(dǎo),從初學(xué)者角度,把知識(shí)點(diǎn)轉(zhuǎn)化為讀者學(xué)習(xí)的具體問題,再通過進(jìn)一步詳細(xì)解答問題講解知識(shí)點(diǎn),一問一答,由簡(jiǎn)入繁,循序漸進(jìn)地將每個(gè)知識(shí)點(diǎn)逐步展開,zui后形成一套比較完整的知識(shí)體系。本書在引導(dǎo)讀者理解知識(shí)點(diǎn)的同時(shí),更注重培養(yǎng)讀者分析問題、解決問題的能力,激發(fā)讀者自主編程的熱情,提高學(xué)習(xí)興趣。在程序設(shè)計(jì)方面強(qiáng)調(diào)模塊化設(shè)計(jì)思想,引導(dǎo)讀者對(duì)程序的設(shè)計(jì)按功能進(jìn)行模塊分解,分而治之,分工協(xié)作,并以“服務(wù)外包”思想解讀模塊之間的調(diào)用過程。教材中每個(gè)知識(shí)點(diǎn)都配有生動(dòng)、豐富的實(shí)踐例題,通過實(shí)踐例題的訓(xùn)練提高讀者程序設(shè)計(jì)開發(fā)能力和知識(shí)綜合運(yùn)用能力。 本書共11章,每章的開始部分都介紹一些基本概念和原理,讓初學(xué)者知道本章內(nèi)容適用于解決什么問題及在什么情況下使用。然后在后續(xù)各節(jié)中,采用一問一答的形式教會(huì)讀者如何使用本章的知識(shí)點(diǎn)。第1章主要以問答的方式介紹了C語言的特點(diǎn)、C語言程序的開發(fā)步驟,通過講解讀者可了解C語言程序的結(jié)構(gòu)和執(zhí)行原理,開發(fā)出屬于自己的第一個(gè)C語言程序。第2章介紹了基本數(shù)據(jù)類型和各種輸入和輸出函數(shù)。第3章介紹了各種運(yùn)算符和表達(dá)式。第4章介紹了選擇結(jié)構(gòu),講解時(shí)注重與實(shí)際問題結(jié)合,選擇貼近生活的實(shí)例,讓讀者理解各種選擇結(jié)構(gòu)如何實(shí)現(xiàn)對(duì)程序流程的控制。第5章介紹了循環(huán)結(jié)構(gòu),重點(diǎn)介紹了循環(huán)結(jié)構(gòu)的運(yùn)算特點(diǎn)及循環(huán)結(jié)構(gòu)在程序開發(fā)中的運(yùn)用,提高讀者使用循環(huán)結(jié)構(gòu)解決實(shí)際問題的能力。第6章是本書的重點(diǎn)之一,介紹了函數(shù)的定義、調(diào)用、返回和程序中變量的作用域和生命周期。強(qiáng)調(diào)程序開發(fā)模塊化的設(shè)計(jì)原則,并通過“服務(wù)外包”思想,結(jié)合生動(dòng)的實(shí)例,一步一步講解函數(shù)的調(diào)用過程。使讀者對(duì)函數(shù)的使用有更深入的理解,提高讀者模塊化的程序設(shè)計(jì)能力。第7章是本書的另一個(gè)重點(diǎn),介紹了數(shù)組元素的存儲(chǔ)和地址的分布特點(diǎn),詳細(xì)介紹了數(shù)組與循環(huán)結(jié)合對(duì)數(shù)據(jù)進(jìn)行批處理的使用方法,同時(shí)結(jié)合實(shí)踐例題講解了一些實(shí)用的算法。第8章介紹了預(yù)處理命令。第9章是本書的難點(diǎn)指針,通過啟發(fā)式提問,介紹了指針的工作原理和指針操作變量、指針操作數(shù)組、指針操作函數(shù)、指針操作字符串的使用過程。第10 章介紹了結(jié)構(gòu)體、共用體與枚舉的定義及它們?cè)谔幚韽?fù)雜問題時(shí)的使用方法。第11章介紹了文件操作的基本原理和步驟,詳細(xì)講解了文件讀/寫函數(shù)和文件讀/寫控制函數(shù)的使用。 學(xué)習(xí)C語言編程,學(xué)習(xí)語法是基礎(chǔ),學(xué)習(xí)解決問題的算法是關(guān)鍵。因此本書在講授語法的同時(shí)還詳細(xì)地介紹了一些實(shí)用的算法(如打擂算法、窮舉算法、排序算法和開關(guān)控制算法等),并結(jié)合一些典型例題引導(dǎo)學(xué)生進(jìn)行算法設(shè)計(jì)。同時(shí)也在算法設(shè)計(jì)過程中,深入理解C語言的語法知識(shí)。 本書由大連交通大學(xué)軟件學(xué)院趙旭寶、大連海洋大學(xué)信息工程學(xué)院祝開艷主編。其中,第1~3章由祝開艷編寫,第4~11 章由趙旭寶編寫。本書是作者多年教學(xué)和培訓(xùn)成果的結(jié)晶,采用啟發(fā)式教授方法,特別適合作為C語言初學(xué)者入門級(jí)教材。本書在編寫過程中參考了大量的著作和教材,在此對(duì)其作者深表感謝。 由于作者水平有限,書中難免存在疏漏和不足之處,敬請(qǐng)廣大讀者不吝指正,不勝感謝。編者2018年10月
趙旭寶 2002.9-2005.7中國(guó)科學(xué)院沈陽自動(dòng)化研究所 機(jī)械電子工程專業(yè) 2005.7-現(xiàn)在 大連交通大學(xué)軟件學(xué)院祝開艷 2002.9-2005.6吉林大學(xué)通信學(xué)院 信號(hào)與信息處理專業(yè) 2007.9-2014.12 大連理工大學(xué)電信學(xué)部 信號(hào)與信息處理專業(yè) 2005.7-現(xiàn)在 大連海洋大學(xué)信息工程學(xué)院
目?錄 第1章?C語言入門 ............1 1.1?C語言歷史背景................1 1.2?一個(gè)簡(jiǎn)單的C語言程序....3 1.3?C語言程序的開發(fā)與運(yùn)行步驟....6 1.4?如何學(xué)習(xí)C語言..............14 1.5?結(jié)構(gòu)化程序設(shè)計(jì)方法簡(jiǎn)介........15小??結(jié)...............16習(xí)??題...............16第2章?數(shù)據(jù)類型 .............18 2.1?數(shù)據(jù)類型介紹................18 2.2?基本數(shù)據(jù)類型................19 2.3?數(shù)據(jù)類型的轉(zhuǎn)換............31 2.4?數(shù)據(jù)的輸入/輸出...........33 2.5?單個(gè)字符的輸入/輸出...34 2.6?有格式數(shù)據(jù)的輸入/輸出...........35 2.7?字符串的輸入/輸出.......42小??結(jié)...............42習(xí)??題...............43第3章?運(yùn)算符與表達(dá)式 .............47 3.1?運(yùn)算符介紹...47 3.2?算術(shù)運(yùn)算符和算術(shù)表達(dá)式........48 3.3?關(guān)系運(yùn)算符和關(guān)系表達(dá)式........51 3.4?邏輯運(yùn)算符和邏輯表達(dá)式........52 3.5?賦值運(yùn)算符和賦值表達(dá)式........56 3.6?位運(yùn)算符.......58 3.7?其他運(yùn)算符...60 小??結(jié)...............62 習(xí)??題...............63 第4章?選擇結(jié)構(gòu) ............. 68 4.1?選擇結(jié)構(gòu)概述.................68 4.2?簡(jiǎn)單if選擇結(jié)構(gòu)...............69 4.3?if else選擇結(jié)構(gòu)................70 4.4?if…else if…else選擇結(jié)構(gòu)...........72 4.5?選擇結(jié)構(gòu)的嵌套.............74 4.6?switch case多分支選擇結(jié)構(gòu).......76 4.7?switch case嵌套結(jié)構(gòu).......79 4.8?選擇結(jié)構(gòu)在程序開發(fā)中的應(yīng)用...................81 小??結(jié)...............83 習(xí)??題...............83 第5章?循環(huán)結(jié)構(gòu) ............. 89 5.1?循環(huán)結(jié)構(gòu)概述.................89 5.2?while循環(huán)結(jié)構(gòu).................90 5.3?do while循環(huán)結(jié)構(gòu)............94 5.4?for循環(huán)結(jié)構(gòu)...96 5.5?break和continue關(guān)鍵字...99 5.6?各種循環(huán)結(jié)構(gòu)嵌套.......101 5.7?循環(huán)結(jié)構(gòu)在程序開發(fā)中的應(yīng)用 ................104 小??結(jié).............108 習(xí)??題.............108 第6章?函數(shù) .................. 116 6.1?函數(shù)的結(jié)構(gòu)...................116 6.2?函數(shù)聲明與函數(shù)原型...127 6.3?C程序的基本結(jié)構(gòu).........128 6.4?函數(shù)的遞歸...................130 6.5?全局變量和局部變量...133 6.6?存儲(chǔ)類別.....136 小??結(jié).............140 習(xí)??題.............140第7章?數(shù)組 .................. 147 7.1?數(shù)組的引入...................147 7.2?一維數(shù)組的定義與使用...........148 7.3?二維數(shù)組的定義與使用...........158 7.4?字符數(shù)組的定義與使用...........165 7.5?數(shù)組在程序開發(fā)中的應(yīng)用.......174 小??結(jié).............176 習(xí)??題.............177 第8章?預(yù)處理命令 ....... 185 8.1?預(yù)處理命令的引入.......185 8.2?宏定義.........186 8.3?文件包含.....188 8.4?條件編譯.....192 小??結(jié).............195 習(xí)??題.............195 第9章?指針 .................. 198 9.1?內(nèi)存地址的介紹...........198 9.2?指針的引入...................199 9.3?指向單個(gè)變量的指針變量.......200 9.4?指針與數(shù)組元素的關(guān)系...........205 9.5?指向一維數(shù)組的指針變量.......213 9.6?指向字符串的指針變量...........216 9.7? 指針數(shù)組....221 9.8?指針與函數(shù)...................226 9.9?指針在程序開發(fā)中的應(yīng)用.......228 小??結(jié).............230 習(xí)??題.............231 第10章?結(jié)構(gòu)體與共用體 ......... 240 10.1?結(jié)構(gòu)體類型的引入.....240 10.2?結(jié)構(gòu)體類型的定義.....241 10.3?指向結(jié)構(gòu)體的指針變量.........249 10.4?結(jié)構(gòu)體在程序開發(fā)中的應(yīng)用...................252 10.5?共用體類型.................259 10.6?枚舉類型...262 10.7?typedef類型重命名......265 小??結(jié).............266 習(xí)??題.............266 第11章?文件 ................. 274 11.1?文件介紹...274 11.2?文件順序讀/寫操作....276 11.3?文件讀/寫控制............285 11.4?文件在程序開發(fā)中的應(yīng)用.....287 小??結(jié).............289 習(xí)??題.............290 附錄A?標(biāo)準(zhǔn)ASCII表 ... 295 附錄B?運(yùn)算符表 .......... 296 附錄C?習(xí)題參考答案 .. 297 參考文獻(xiàn) ...... 307