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