出版時間:2008-8 出版社:機械工業(yè)出版社 作者:劉振安,劉燕君 編著 頁數:239
內容概要
本書采用實例方式進行講解,以培養(yǎng)C語言應用能力為主線,強調理論教學與實踐密切結合的同時,注意介紹ANSI C已經更新的內容,并與C++接軌,例如引入函數原型,void關鍵字及const限定符的使用方法等。本書重點介紹了基本理論、基本知識和基本技能,使讀者熟練掌握編譯環(huán)境,尤其是從事軟件初步開發(fā)的能力,并注意為后續(xù)課程的學習打下基礎。 本書各章均有例題和錯誤分析,并結合本章內容給出實踐和習題,同時從實用的觀點出發(fā),專門開設一章C程序結構化設計實例,結合實例詳細介紹頭文件、多個C語言文件及工程文件的編制等方法,以培養(yǎng)學生的實際應用能力。 本書共分7章,主要講解了C語言程序設計基礎、C語言的控制結構、函數與變量類型、數組和指針、結構類型、文件、C程序結構化設計實例。 本書取材新穎、結構合理、概念清楚、語言簡潔、通俗易懂、實用性強,易于教學重在培養(yǎng)學生的應用技能。本書既可供普通高等學校計算機專業(yè)的學生使用,也可以作為培訓班教材、自學教材及工程技術人員的參考書。
書籍目錄
出版說明前言第1章 C語言程序設計基礎 1.1 C程序及其主函數 1.1.1 簡單的C程序 1.1.2 程序語句 1.1.3 大小寫字母的使用 1.1.4 程序的書寫格式 1.1.5 簡單C程序的基本結構模式 1.2 基本的輸入與輸出 1.3 初學者最容易出現的錯誤 1.4 用C程序解題的完整過程 1.4.1 程序的編輯、編譯和運行的基本概念 1.4.2 熟練使用集成環(huán)境的重要性 1.4.3 解題的簡單過程 1.5 Visual C++6.O上機指南 1.6 基本數據類型和表達式 1.6.1 標識符 1.6.2 變量 1.6.3 基本數據類型 1.6.4 常量 1.6.5 運算符與表達式 1.7 數據輸出 1.7.1 putchar函數 1.7.2 printf函數 1.8 數據輸入 1.8.1 getchar函數 1.8.2 scanf函數 1.9 典型錯誤分析 1.10 實踐如何編輯、編譯、調試和運行一個實際程序 1.11 習題第2章 C語言的控制結構 2.1 C語言的程序控制語句分類 2.2 關系運算 2.2.1 關系運算符及其優(yōu)先順序 2.2.2 關系表達式 2.3 邏輯運算 2.3.1 邏輯運算符及其優(yōu)先次序 2.3.2 邏輯表達式 2.4 控制選擇 2.4.1 條件分支程序設計 2.4.2 switch開關分支程序設計 2.5 循環(huán)控制程序設計 2.5.1 while語句 2.5.2 dowhile語句 2.5.3 for語句 2.5.4 dowhile、while及for語句的比較 2.5.5 break語句與continue語句 2.6 goto語句 2.7 計算機解題實例 2.7.1 枚舉法 2.7.2 計算機求解邏輯思維題的方法 2.7.3 計算機解題小結 2.7.4 解題步驟練習 2.8 錯誤分析 2.9 實踐通過調試改正程序中的錯誤 2.10 習題第3章 函數與變量類型 3.1 函數 3.1.1 函數和函數原型 3.1.2 函數值和return語句 3.1.3 函數調用形式 3.1.4 函數的參數 3.1.5 被調用函數的返回位置 3.2 變量的作用域 3.3 算法基本概念和典型實例 3.3.1 算法基本概念 3.3.2 迭代算法 3.3.3 遞推算法 3.3.4 遞歸算法 3.4 C語言預處理器 3.4.1 宏定義與const修飾符 3.4.2 文件包含 3.4.3 條件編譯 3.5 C程序的典型結構 3.5.1 單文件結構 3.5.2 一個源文件和一個頭文件 3.5.3 多文件結構 3.6 正確使用庫函數 3.7 錯誤分析 3.8 實踐編輯含有多個文件的函數調用程序 3.9 習題第4章 數組和指針 4.1 數組 4.1.1 一維數組 4.1.2 數組元素的初始化 4.1.3 多維數組 4.1.4 字符串數組 4.2 指針 4.2.1 構造指針類型 4.2.2 指針變量的說明 4.2.3 指針運算符 4.2.4 地址運算 4.2.5 動態(tài)分配函數 4.2.6 綜合例題 4.3 指針與數組 4.3.1 指針與數組的關系 4.3.2 指針數組 4.3.3 用指針或數組名進行函數參數傳遞 4.4 對指針使用const限定符 4.4.1 指向常量的指針 4.4.2 常量指針 4.4.3 指向常量的常量指針 4.4.4 使用const限定數組和指針作為函數參數 4.5 指向指針的指針 4.6 指針函數 4.7 查找算法 4.7.1 線性查找 4.7.2 二分查找 4.8 使用數組與指針易犯的錯誤 4.8.1 數組使用錯誤 4.8.2 指針使用不當 4.8.3 變量傳遞給函數 4.9 實踐使用數組和指針 4.10 習題第5章 結構類型 5.1 結構定義及其變量的初始化 5.1.1 結構定義 5.1.2 結構變量的初始化 5.1.3 結構使用的運算符 5.2 結構數組 5.2.1 結構數組實例 5.2.2 結構數組定義 5.2.3 結構數組的初始化 5.3 結構指針 5.3.1 結構數組的指針 5.3.2 結構指針的初始化 5.3.3 結構指針參數 5.3.4 使用結構指針 5.4 結構的內存分配 5.5 引用自身的結構 5.6 枚舉 5.7 使用結構應注意的問題 5.8 實踐使用結構指針數組 5.9 習題第6章 文件 6.1 文件概述 6.2 文件的打開與關閉 6.2.1 文件的打開 6.2.2 文件的關閉 6.3 文件的讀寫 6.3.1 fputc(putc)函數和龜etc(getc)函數 6.3.2 fread函數和fwrite函數 6.3.3 fprintf函數和fscanf函數 6.3.4 文件的內存分配 6.3.5 其他讀寫函數 6.4 文件的定位 6.4.1 rewind j函數 6.4.2 fseek函數和隨機讀寫 6.4.3 ftell函數 6.5 出錯的檢測 6.5.1 ferror函數 6.5.2 clearerr函數 6.6 文件輸入輸出小結 6.7 文件使用錯誤分析 6.8 實踐在函數里使用文件 6.9 習題第7章 C程序結構化設計實例 7.1 實用結構化程序設計基礎 7.1.1 模塊化程序設計 7.1.2 分塊開發(fā) 7.1.3 工程文件 7.2 函數設計注意事項 7.2.1 函數類型和返回值 7.2.2 傳數值 7.2.3 傳地址值 7.2.4 結構與函數 7.3 軟件測試 7.4 程序的測試與調試 7.5 程序設計、管理與測試實例 7.5.1 功能設計要求 7.5.2 總體設計 7.5.3 函數設計 7.6 參考程序 7.7 測試示例 7.7.1 菜單項及空表和空文件測試 7.7.2 測試建表 7.7.3 測試讀取文件 7.8 實訓擴充完善學生成績管理程序附錄 附錄A C語言新版本與老版本的主要差別 附錄B C語言操作符的優(yōu)先級 附錄C C語言關鍵字 附錄D 七位ASCII代碼表 附錄E 常用標準庫解析參考文獻
章節(jié)摘錄
第7章 C程序結構化設計實例 學習語言是為了使用,一般教科書僅以介紹語法結構為目的,重點是保證語法正確。但在實際的應用中,則應重點保證程序的結構化設計質量。尤其是大的程序設計,更應如此。本章將結合具體實例詳細介紹頭文件的編制、多個c語言文件及工程文件的編制等方法,以培養(yǎng)實際應用能力。 7.1 實用結構化程序設計基礎 本節(jié)重點介紹用C語言設計結構化實用程序時經常用到的主要技術?! ?.1.1 模塊化程序設計 C語言是結構化程序語言,它的程序設計特點就是函數設計?! ?.函數和模塊 在錯誤分析的討論中,已經不止一次地指出:把一切邏輯功能完全獨立的或相對獨立的程序部分都設計成函數,并讓每一個函數只完成一個功能,這既符合只應有一個入口和出口的結構化程序設計原則,也是避免錯誤的最好方法。這樣,一個函數就是一個程序模塊,程序的各個部分除了必要的信息交流之外,互不影響。相互隔離的程序設計方法就是模塊化程序設計方法。C語言的這種程序結構化和模塊化設計方法,特別適合于大程序的開發(fā)。它解決了過去組成大系統(tǒng)時所產生的多文件的組織與管理問題?! ?.函數分解 對于大的程序,更要注意按照程序所完成的功能進行分解,這種功能分解主要是函數分解。如何合理地進行函數分解,并沒有萬能的準則。一個程序可能有許多種可行的分解方式,很難說哪種是最佳分解。一般可以注意如下兩個問題: ?。?)可以從程序中重復出現的相同或者相似的計算片斷中,抽取出共同的東西組成函數。這樣既可以縮短程序的代碼,又可提高程序的可讀性和易修改性?! 。?)將程序中具有邏輯獨立性的片斷定義為函數。哪怕只有一個地方使用,也應該定義為函數。這樣既可分解程序的復雜性,又可提高程序的易理解性和可讀性。程序設計人員還提出一條經驗準則:如果一段計算可以定義為函數,就應該將其定義為函數。 3.設計函數 其實,函數就是封裝起來的一段有名字的程序代碼,這種封裝就把函數的里面和外面分開,形成函數的內部和外部?! 耐獠靠?,關心的應是函數實現的功能,而不是函數功能的實現。程序員只需知道函數的名字和特征,遵守調用規(guī)則,提供數目和類型適當的實參并正確接受返回值,即可得到預期的計算結果。例如,雖然不知道標準庫函數如何實現,但并不影響正確使用它們?! ?/pre>圖書封面
評論、評分、閱讀與下載