內容簡介
本書以培養學生程序設計基本能力為目標,系統地介紹了C語言程序設計的基本知識和方法。全書共分12章,主要內容包括C語言基礎、算法基礎、選擇結構程序設計、循環結構程序設計、數組、函數、指針、結構體、文件、系統設計與開發、程序編寫的常見錯誤、C語言試題。全書結構清晰,案例豐富,語言流暢,通俗易懂。
本書可作為高等學校各專業的程序設計基礎教學的教材,特別適合應用型本科、高職院校計算機及非計算機專業的學生使用。
前 言
C語言是一種在國內外廣泛使用的計算機程序設計語言。它具有功能豐富、表達能力強、應用廣、目標程序效率高、可移植性好、使用方便靈活等特點,既有高級語言的優點,又有低級語言的某些特點,因此常被稱為"中級語言"。同時,C語言的控制結構簡明清晰,是非常適合進行結構化程序設計的一種計算機語言。因此,目前國內大部分高等院校都把C語言作為學習其他程序設計語言或是專業課程的基礎。
C語言涉及的概念多、規則復雜、容易出錯,初學者往往感覺困難。本書在詳細闡述程序設計基本概念、原理和方法的基礎上,采用循序漸進、深入淺出、通俗易懂的講解方法,本著理論與實際相結合的原則,通過大量經典案例,重點講解C語言的概念、規則和使用方法,便于程序設計語言的初學者在建立正確程序設計理念的前提下,掌握利用C語言進行結構化程序設計的技術和方法。
本書可作為高等學校各專業程序設計基礎教學的教材,特別適合應用型本科、高職院校的計算機及非計算機專業的學生使用。書中的案例和習題緊密結合應用,可作為編程人員和C語言自學者的參考用書。
本書共分12章,主要內容包括C語言基礎、算法基礎、選擇結構程序設計、循環結構程序設計、數組、函數、指針、結構體、文件、系統設計與開發、程序編寫的常見錯誤、C語言試題。
本書由陸洲、劉素芬、陳慧英擔任主編,劉濤、張慶玲、王敏、韓耀坤擔任副主編,趙志茹參編。
本書第1~3章由陳慧英編寫,第4~6章由劉素芬編寫,第7章由王敏編寫,第8、9章由劉濤編寫,第10、11章由陸洲編寫(并審定全書內容),第12章由張慶玲、韓耀坤、趙志茹編寫。戴春燕、劉澤宇、劉婧婧、孫妍、于慧凝也參與了本書的編寫工作。
限于編者的水平,書中難免會有不足和疏漏之處,希望廣大讀者批評指正。
編 者
目錄
第1章 C語言基礎 11.1 C語言簡介 21.1.1 C語言的應用及發展歷程 21.1.2 C語言的特點 31.2 標識符 31.3 集成開發環境 51.3.1 Visual C++ 6.0 51.3.2 Turbo C 71.4 常量和變量 71.4.1 常量 71.4.2 變量 91.5 數據類型 101.6 運算符和表達式 121.6.1 賦值運算符 121.6.2 算術運算符 121.6.3 邏輯運算符 131.6.4 關系運算符 141.7 小型案例實訓 151.7.1 案例一:第一個程序 151.7.2 案例二:程序結構及文件結構 17本章小結 19習題 19第2章 算法基礎 212.1 算法簡介 222.1.1 算法的概念 222.1.2 算法的特性 242.2 算法描述 242.2.1 常見的算法描述 242.2.2 流程圖的圖示 262.2.3 三種基本結構的流程圖 262.3 算法應用 272.4 小型案例實訓 282.4.1 案例一:簡單算法描述 282.4.2 案例二:復雜算法描述 29本章小結 29習題 29第3章 選擇結構的程序設計 313.1 if語句 323.1.1 單分支語句 323.1.2 雙分支語句 333.2 if語句的嵌套 343.3 switch語句 363.4 小型案例實訓 373.4.1 案例一:if嵌套的應用 373.4.2 案例二:break語句的應用 38本章小結 38習題 38第4章 循環結構的程序設計 414.1 循環結構程序設計的概念 424.2 while語句 424.2.1 while語句的格式 424.2.2 while語句的執行過程 434.2.3 while語句的示例 434.3 do-while語句 454.3.1 do-while語句的格式 454.3.2 do-while語句的執行過程 454.3.3 do-while語句的示例 464.4 for語句 474.4.1 for語句的格式 474.4.2 for語句的執行過程 484.4.3 for語句示例 494.5 循環語句的嵌套 504.6 以循環實現的典型算法 524.6.1 Fibonacci數列 524.6.2 平方根的求解 534.6.3 百元百雞問題的求解 544.6.4 質數判斷的算法 554.7 break語句和continue語句 564.7.1 break語句 564.7.2 continue語句 564.8 goto語句 574.9 小型案例實訓 584.9.1 案例一:輸出滿足條件的所有數 584.9.2 案例二:輸出所有的玫瑰花數 59本章小結 60習題 61第5章 數組 635.1 一維數組 645.1.1 一維數組的定義 645.1.2 元素的表示 645.1.3 一維數組示例 655.2 二維數組 685.2.1 二維數組的定義 695.2.2 元素的表示 695.2.3 二維數組示例 705.3 字符數組 735.3.1 字符串與字符型數組 735.3.2 字符數組的定義形式 735.3.3 字符數組的初始化 735.3.4 字符數組的輸入輸出 745.3.5 字符串處理函數 755.3.6 字符數組示例 765.4 小型案例實訓 785.4.1 案例一:逆序輸出一組數 785.4.2 案例二:小組成績的統計 79本章小結 81習題 81第6章 函數 836.1 函數定義 846.2 函數的調用 856.3 嵌套調用 876.4 遞歸調用 886.4.1 遞歸調用的定義 886.4.2 遞歸調用的條件 896.4.3 遞歸的說明 896.5 變量的存儲類別 906.5.1 內部變量和外部變量 906.5.2 動態存儲變量和靜態存儲變量 916.6 小型案例實訓 936.6.1 案例一:判斷是否為素數 936.6.2 案例二:求最大公約數和最小公倍數 94本章小結 96習題 96第7章 指針 997.1 指針的概念 1007.1.1 地址概述 1007.1.2 指針的概念 1027.2 指針變量 1027.2.1 指針變量的定義 1037.2.2 指針變量的引用 1037.2.3 指針變量作為函數的參數 1057.3 指針與數組 1077.3.1 指向數組元素的指針變量 1077.3.2 通過指針引用數組元素 1087.3.3 數組名做函數參數 1097.4 指針與字符串 1117.4.1 字符串的表示形式 1117.4.2 字符串指針做函數參數 1127.5 小型案例實訓 1147.5.1 案例一:排序 1147.5.2 案例二:篩選 115本章小結 116習題 116第8章 結構體 1198.1 結構體類型 1208.2 結構體變量 1218.2.1 結構體變量的定義 1218.2.2 結構體變量的引用 1238.3 結構體變量的應用 1248.3.1 指向結構體類型數據的指針 1248.3.2 結構體數組 1258.3.3 結構體數組的指針 1278.3.4 結構體與函數 1288.4 小型案例實訓 1298.4.1 案例一:統計學生的平均成績 1298.4.2 案例二:搜索學生信息 130本章小結 132習題 132第9章 文件 1339.1 文件的概念 1349.1.1 文件的概念 1349.1.2 文件指針 1349.2 文件的打開與關閉 1359.2.1 文件打開函數 1359.2.2 文件關閉函數 1379.3 文件的輸入與輸出 1379.3.1 字符讀寫函數 1389.3.2 字符串讀寫函數 1419.3.3 數據塊讀寫函數 1429.3.4 格式化讀寫函數 1449.3.5 文件的隨機讀寫 1459.3.6 文件檢測函數 1469.4 小型案例實訓 1479.4.1 案例一:修改員工信息 1479.4.2 案例二:創建學員成績登記冊 148本章小結 150習題 150第10章 系統的設計與開發 15310.1 通信錄管理系統 15410.2 評分系統 15710.3 成績管理系統 161本章小結 167習題 167第11章 程序編寫中的常見錯誤 16911.1 程序編寫中常見的錯誤 17011.2 VC環境中常見的錯誤信息 17211.3 TC環境中常見的錯誤信息 173本章小結 176習題 176第12章 C語言試題 17912.1 試題第一套 18012.2 試題第二套 18712.3 試題第三套 196附錄I ASCII碼表 204附錄II C語言中的關鍵字 205附錄III 運算符的優先級和結合性 206附錄IV C語言的庫函數 207附錄V 全國計算機等級考試簡介 211附錄VI 二級C語言考試大綱(2013版) 213參考文獻 215