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