C語(yǔ)言程序設(shè)計(jì)與應(yīng)用(0105)
定 價(jià):39.8 元
- 作者:張小東 鄭宏珍 主編
- 出版時(shí)間:2009/4/1
- ISBN:9787115193193
- 出 版 社:人民郵電出版社
- 中圖法分類(lèi):H31
- 頁(yè)碼:324
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16K
《C語(yǔ)言程序設(shè)計(jì)與應(yīng)用》是以最基本的工程實(shí)踐為基礎(chǔ),以教育部考試中心最新公布的全國(guó)計(jì)算機(jī)等級(jí)考試大綱(二級(jí)C語(yǔ)言)為依據(jù)編寫(xiě)的教材。全書(shū)共分9章,包括簡(jiǎn)單C程序設(shè)計(jì)、簡(jiǎn)單判定性問(wèn)題求解、循環(huán)結(jié)構(gòu)及應(yīng)用、模塊化設(shè)計(jì)與應(yīng)用、相同類(lèi)型數(shù)據(jù)集合、深入模塊化設(shè)計(jì)與應(yīng)用、構(gòu)造數(shù)據(jù)類(lèi)型、綜合設(shè)計(jì)與應(yīng)用、數(shù)據(jù)永久性存儲(chǔ)等內(nèi)容。
《C語(yǔ)言程序設(shè)計(jì)與應(yīng)用》注重教材的可讀性和實(shí)用性,從計(jì)算機(jī)工程角度展開(kāi)講解、探索和論述。每章開(kāi)頭都有關(guān)鍵字和難點(diǎn)提示,每章結(jié)尾安排本章小結(jié),并從知識(shí)層面和方法層面對(duì)本章進(jìn)行總結(jié);從日常生活或?qū)嶋H工程中所遇到的問(wèn)題著手,典型例題一題多解,由淺入深,循序漸進(jìn),強(qiáng)化知識(shí)點(diǎn)、算法、編程方法與技巧;還將程序測(cè)試、程序調(diào)試、軟件的健壯性和代碼風(fēng)格、結(jié)構(gòu)化設(shè)計(jì)與模塊化程序設(shè)計(jì)方法等軟件工程知識(shí)融入其中。
《C語(yǔ)言程序設(shè)計(jì)與應(yīng)用》可作為高等學(xué)校公共課教材,也可作為全國(guó)計(jì)算機(jī)等級(jí)考試參考書(shū)及C語(yǔ)言自學(xué)教材。
全面的基礎(chǔ)圈點(diǎn),輕松構(gòu)筑程序框架,精要的解析方法,平滑實(shí)現(xiàn)基礎(chǔ)轉(zhuǎn)換,生動(dòng)的案例分析,提高探索創(chuàng)新技能。
目前市面上有關(guān)C語(yǔ)言方面的圖書(shū),內(nèi)容大都按傳統(tǒng)思路組織,從C語(yǔ)言的歷史講起,然后是數(shù)據(jù)類(lèi)型、運(yùn)算符、表達(dá)式、常量、變量、控制結(jié)構(gòu)、數(shù)組、指針、函數(shù)、結(jié)構(gòu)體與共用體、文件等,由最基本、最本質(zhì)并較為抽象的內(nèi)容開(kāi)始,如單詞、句法、語(yǔ)法、程序段等,逐漸復(fù)雜化,逐步進(jìn)行講解。表面上看,這樣對(duì)抽象知識(shí)學(xué)習(xí)過(guò)程,并不適合于C語(yǔ)言的教學(xué),學(xué)生對(duì)知識(shí)點(diǎn)的理解不充分,不全面,甚至是不懂,只是靠著死記硬背而獲得一個(gè)不錯(cuò)的分?jǐn)?shù),學(xué)完之后不會(huì)使用,就連簡(jiǎn)單的命題也可能解決不了!不可否認(rèn),這跟我國(guó)的傳統(tǒng)應(yīng)試教育模式有很大的關(guān)系,但就事論事地講,跟我們的教材編寫(xiě)也有一定的關(guān)系。
本著學(xué)以致用的原則,本書(shū)從第1章開(kāi)始就教學(xué)生學(xué)習(xí)寫(xiě)簡(jiǎn)單應(yīng)用程序,每一個(gè)知識(shí)點(diǎn)都糅進(jìn)應(yīng)用當(dāng)中去,不做單純的知識(shí)點(diǎn)堆積,不但把前幾章那些“簡(jiǎn)單的”知識(shí)點(diǎn)分散到各個(gè)章節(jié),避免機(jī)械式的記憶,而且把難點(diǎn)也分散了。全書(shū)以應(yīng)用為主線,用到了才講:講,就是為了能更好地用!為了培養(yǎng)學(xué)生規(guī)范地使用語(yǔ)言,先從問(wèn)題的規(guī)范描述開(kāi)始,然后分析問(wèn)題,建立模型,實(shí)現(xiàn)求解,最后測(cè)試通過(guò)。從嚴(yán)格的科學(xué)研究與工程應(yīng)用的角度出發(fā),進(jìn)行c語(yǔ)言的學(xué)習(xí)與研究,并將這種思想滲透到每個(gè)實(shí)例中!明確的學(xué)習(xí)目的與目標(biāo)也是學(xué)習(xí)的主要?jiǎng)恿,本?shū)要幫助學(xué)生建立的學(xué)習(xí)目的就是能夠?qū)崿F(xiàn)算法設(shè)計(jì)解決相關(guān)命題,目標(biāo)是提高自己的學(xué)習(xí)能力與動(dòng)手能力。
全書(shū)在提供豐富而有趣的經(jīng)典實(shí)例時(shí),還精心設(shè)計(jì)了兩個(gè)相對(duì)完整的應(yīng)用:計(jì)算器與學(xué)生成績(jī)檔案管理。計(jì)算器屬于算法
第1章 簡(jiǎn)單C程序設(shè)計(jì)
1.1 C程序的構(gòu)成
1.1.1 簡(jiǎn)單的C程序?qū)嵗?br />
1.1.2 閱讀C程序
1.1.3 C程序結(jié)構(gòu)
1.2 簡(jiǎn)單程序擴(kuò)展
1.2.1 計(jì)算器基本功能
1.2.2 計(jì)算器解決方案
1.2.3 計(jì)算過(guò)程實(shí)現(xiàn)及分析
1.2.4 深入解讀
1.3 Visual C++ 6.0編譯環(huán)境簡(jiǎn)介
1.3.1 Visual C++ 6.0的啟動(dòng)
1.3.2 源程序錄入
1.3.3 編譯、鏈接和運(yùn)行
1.3.4 調(diào)試
1.3.5 退出編譯環(huán)境
1.4 本章小結(jié)
練習(xí)與思考 1
第2章 簡(jiǎn)單判定性問(wèn)題求解
2.1 判定性問(wèn)題及判定條件的描述
2.1.1 關(guān)系型判定條件
2.1.2 邏輯型判定條件
2.1.3 按位進(jìn)行的邏輯運(yùn)算
2.2 if-else判定性結(jié)構(gòu)
2.2.1 if判定結(jié)構(gòu)
2.2.2 if語(yǔ)句的嵌套問(wèn)題
2.2.3 條件運(yùn)算符和條件表達(dá)式
2.3 switch判定結(jié)構(gòu)
2.4 應(yīng)用實(shí)例
2.4.1 計(jì)算器
2.4.2 學(xué)生成績(jī)管理
2.5 本章小結(jié)
練習(xí)與思考2
第3章 循環(huán)結(jié)構(gòu)及應(yīng)用
3.1 概述
3.2 for循環(huán)
3.2.1 for循環(huán)的一般結(jié)構(gòu)
3.2.2 for循環(huán)的深入探討
3.3 while循環(huán)
3.4 do while循環(huán)
3.5 關(guān)于循環(huán)的一些問(wèn)題
3.5.1 循環(huán)的嵌套
3.5.2 無(wú)限循環(huán)
3.5.3 循環(huán)語(yǔ)句的選擇
3.6 如何從循環(huán)中跳出
3.6.1 break語(yǔ)句
3.6.2 continue語(yǔ)句
3.6.3 goto語(yǔ)句
3.7 應(yīng)用實(shí)例
3.7.1 計(jì)算器
3.7.2 學(xué)生成績(jī)檔案管理系統(tǒng)
3.8 本章小結(jié)
練習(xí)與思考3
第4章 模塊化設(shè)計(jì)與應(yīng)用
4.1 模塊化程序設(shè)計(jì)方法
4.1.1 模塊化程序設(shè)計(jì)思想
4.1.2 模塊規(guī)劃實(shí)例
4.2 函數(shù)
4.2.1 函數(shù)的定義
4.2.2 函數(shù)的調(diào)用
4.3 預(yù)處理
4.3.1 文件包含
4.3.2 宏定義
4.4 應(yīng)用實(shí)例
4.5 本章小結(jié)
練習(xí)與思考4
第5章 相同類(lèi)型數(shù)據(jù)集合
5.1 數(shù)組與數(shù)組元素的概念
5.2 相同類(lèi)型數(shù)據(jù)的一維線性存儲(chǔ)
5.2.1 一維數(shù)組的定義
5.2.2 一維數(shù)組的初始化
5.2.3 一維數(shù)組的引用
5.2.4 一維數(shù)組程序舉例
5.3 相同類(lèi)型數(shù)據(jù)的二維及多維存儲(chǔ)
5.3.1 二維數(shù)組的定義
5.3.2 二維數(shù)組的初始化
5.3.3 二維數(shù)組的引用
5.3.4 多維數(shù)組的初始化和引用
5.3.5 數(shù)組程序舉例
5.4 字符類(lèi)型數(shù)據(jù)集合的存儲(chǔ)
5.5 字符串處理函數(shù)
5.6 字符串指針變量與字符數(shù)組
5.7 應(yīng)用實(shí)例
5.8 本章小結(jié)
練習(xí)與思考5
第6章 深入模塊化設(shè)計(jì)與應(yīng)用
6.1 算法基本概念
6.1.1 概念
6.1.2 引例
6.2 簡(jiǎn)單的排序算法
6.2.1 冒泡排序算法
6.2.2 選擇排序算法
6.3 嵌套與遞歸設(shè)計(jì)及應(yīng)用
6.3.1 函數(shù)的嵌套調(diào)用
6.3.2 函數(shù)的遞歸調(diào)用
6.4 模塊間的批量數(shù)據(jù)傳遞
6.4.1 指針作為函數(shù)參數(shù)
6.4.2 一維數(shù)組作為函數(shù)參數(shù)
6.4.3 二維數(shù)組作為函數(shù)參數(shù)
6.5 模塊化設(shè)計(jì)中程序代碼的訪問(wèn)
6.6 應(yīng)用實(shí)例
6.6.1 計(jì)算器
6.6.2 學(xué)生成績(jī)管理
6.7 本章小結(jié)
練習(xí)與思考6
第7章 構(gòu)造數(shù)據(jù)類(lèi)型
7.1 結(jié)構(gòu)體
7.1.1 結(jié)構(gòu)體類(lèi)型的定義
7.1.2 結(jié)構(gòu)體變量
7.1.3 結(jié)構(gòu)體數(shù)組
7.1.4 結(jié)構(gòu)體指針
7.1.5 結(jié)構(gòu)體與函數(shù)
7.1.6 位段
7.2 共用體
7.2.1 共用體類(lèi)型的定義
7.2.2 共用體變量的定義
7.2.3 共用體變量的賦值和引用
7.3 枚舉
7.4 自定義類(lèi)型
7.5 應(yīng)用實(shí)例
7.6 本章小結(jié)
練習(xí)與思考7
第8章 綜合設(shè)計(jì)與應(yīng)用
8.1 變量的作用域與存儲(chǔ)類(lèi)別
8.1.1 變量的作用域
8.1.2 變量的存儲(chǔ)類(lèi)別
8.2 指針與數(shù)組
8.2.1 一維數(shù)組與指針
8.2.2 多維數(shù)組與指針
8.2.3 指針數(shù)組
8.3 函數(shù)main()中的參數(shù)
8.4 指針型函數(shù)
8.5 動(dòng)態(tài)存儲(chǔ)空間分配
8.6 鏈表
8.6.1 鏈表的概念
8.6.2 鏈表的基本操作
8.6.3 帶頭結(jié)點(diǎn)鏈表簡(jiǎn)介
8.7 本章小結(jié)
練習(xí)與思考8
第9章 數(shù)據(jù)永久性存儲(chǔ)
9.1 數(shù)據(jù)的永久性存儲(chǔ)
9.2 文件組織方式
9.3 文件操作
9.3.1 標(biāo)準(zhǔn)輸入/輸出頭文件stdio.h
9.3.2 文件打開(kāi)與關(guān)閉
9.3.3 文件讀/寫(xiě)函數(shù)
9.3.4 文件定位函數(shù)
9.4 應(yīng)用實(shí)例
9.5 本章小結(jié)
練習(xí)與思考9
附錄 C語(yǔ)言參考
附1 C語(yǔ)言發(fā)展史及版本歷程
附1.1 C語(yǔ)言的發(fā)展史
附1.2 C語(yǔ)言的版本歷程
附2 C語(yǔ)言關(guān)鍵字
附3 ASCII表
附4 Visual C++各數(shù)據(jù)類(lèi)型所占字節(jié)數(shù)和取值范圍
附5 C運(yùn)算符及優(yōu)先級(jí)
附6 格式化輸入/輸出控制字符列表
附6.1 函數(shù)printf()
附6.2 函數(shù)scanf()
附7 ANSI C常用標(biāo)準(zhǔn)庫(kù)函數(shù)
附7.1 數(shù)學(xué)函數(shù)
附7.2 字符處理函數(shù)
附7.3 字符串處理函數(shù)
附7.4 緩沖文件系統(tǒng)的輸入/輸出函數(shù)
附7.5 動(dòng)態(tài)內(nèi)存分配函數(shù)
附7.6 非緩沖文件系統(tǒng)的輸入/輸出函數(shù)
參考文獻(xiàn)
收起全部↑
解決問(wèn)題的關(guān)鍵是把問(wèn)題分析清楚,然后給出解決的方法和步驟,接著按照設(shè)計(jì)的方法用程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn),最后通過(guò)驗(yàn)證,證明給出的方法與實(shí)現(xiàn)是否滿足了最初的問(wèn)題要求。下面結(jié)合前面簡(jiǎn)易計(jì)算器程序的實(shí)現(xiàn)過(guò)程來(lái)進(jìn)行簡(jiǎn)要介紹。
第一步,分析問(wèn)題。分析的目的就是搞清楚問(wèn)題本身要求解決什么,使用哪些數(shù)據(jù),獲得哪些結(jié)果,只有最終的結(jié)果符合問(wèn)題的需要,程序才是滿足要求的,否則,再多的努力也是徒勞。在簡(jiǎn)易計(jì)算器的程序中,要求實(shí)現(xiàn)的功能是:使用整型的操作數(shù),進(jìn)行+、.、*、/和%運(yùn)算,并將運(yùn)算結(jié)果顯示出來(lái)。進(jìn)行算術(shù)計(jì)算并得到正確結(jié)果,這就是問(wèn)題的本質(zhì)。
第二步,給出解決問(wèn)題的方法和步驟。這是一個(gè)關(guān)鍵的階段,它要給出解決問(wèn)題的根本性方法和具體的方案。簡(jiǎn)單地說(shuō)就是如何將一個(gè)整體性的問(wèn)題進(jìn)行抽象和分析,分解成若干子問(wèn)題,各個(gè)擊破。在這個(gè)階段對(duì)所要解決的問(wèn)題進(jìn)行逐步分解,按照不同的邏輯關(guān)系,把一個(gè)大的問(wèn)題分解成幾個(gè)小型的、相對(duì)獨(dú)立的個(gè)體,然后對(duì)每個(gè)相對(duì)獨(dú)立的個(gè)體再次進(jìn)行分析,最后把它們一一實(shí)現(xiàn),這樣整個(gè)軟件也就得以實(shí)現(xiàn),從而滿足需求,即前面所提的“自頂向下,逐步求精”的方式。
在簡(jiǎn)易計(jì)算器程序設(shè)計(jì)過(guò)程中,首先要確定操作數(shù)的表示:選擇數(shù)據(jù)類(lèi)型,引入變量,并進(jìn)行初始化;然后根據(jù)算術(shù)運(yùn)算符進(jìn)行計(jì)算;最后輸出結(jié)果。設(shè)計(jì)時(shí),將問(wèn)題的處理過(guò)程用流程圖的方式表示,明確地讓編程人員知道,每個(gè)部分該如何去做。
第三步,代碼編寫(xiě)。它是一個(gè)把停留在紙面上的軟件,轉(zhuǎn)化為真正可以運(yùn)行起來(lái)的程序?qū)嶓w。在這個(gè)階段,編程人員按照分析階段給定的實(shí)現(xiàn)要求,用計(jì)算機(jī)語(yǔ)言來(lái)完成具體的需求,即程序的功能。同時(shí),良好的編程風(fēng)格,對(duì)完成一個(gè)軟件也是必要的,如代碼格式安排合理、有適當(dāng)?shù)淖⑨尩,這樣便于程序的閱讀、理解以及后期的維護(hù)。在簡(jiǎn)易計(jì)算器的實(shí)現(xiàn)過(guò)程中,根據(jù)設(shè)計(jì)方案,聲明變量,選用合適的運(yùn)算符完成對(duì)應(yīng)的計(jì)算,最后使用primfo函數(shù)把結(jié)果呈現(xiàn)給用戶(hù)。
第四步,正確性驗(yàn)證。這一步就是對(duì)編寫(xiě)好的程序進(jìn)行測(cè)試,從而驗(yàn)證完成的程序是否正確地完成了最初的需求,測(cè)試可以幫助我們發(fā)現(xiàn)程序中的錯(cuò)誤,完善軟件功能。測(cè)試要輸入測(cè)試數(shù)據(jù),也就是我們精心設(shè)計(jì)的一些數(shù)據(jù),然后看程序執(zhí)行完畢后得到的結(jié)果是否滿足我們的正確需要。當(dāng)然,測(cè)試不僅僅要驗(yàn)證實(shí)現(xiàn)的正確性,還包括可靠性、健壯性、完整性等。