出版時間:2008-9 出版社:清華大學(xué)出版社 作者:梁立,解敏 主編 頁數(shù):242
前言
《C程序設(shè)計實例教程》編寫的目的是期望幫助程序設(shè)計初學(xué)者快速入門,并迅速提高。多年來,編者一直思考、研究并付諸教學(xué)實踐的問題就是幫助學(xué)生解決程序設(shè)計快速入門的難題;最終,在二十余年程序設(shè)計教學(xué)經(jīng)驗、軟件開發(fā)心得的基礎(chǔ)上,花費了近五年的時間寫成了這本教材。學(xué)習(xí)程序設(shè)計的基本條件是具有較強的邏輯思維能力和一定的數(shù)學(xué)基礎(chǔ)。程序設(shè)計是學(xué)習(xí)計算機應(yīng)用與開發(fā)的基礎(chǔ),因此,程序設(shè)計課程的重要地位不言而喻。C語言是學(xué)習(xí)系統(tǒng)開發(fā)、應(yīng)用開發(fā)的最基礎(chǔ)語言,其靈活而簡潔的表達方式已被多種程序設(shè)計語言所借用(如C++、C#、Java、PHP、FPGA開發(fā)語言等),現(xiàn)在所有計算機及相關(guān)專業(yè)都將C語言作為基礎(chǔ)課程,學(xué)好了C語言再學(xué)其他程序設(shè)計語言就駕輕就熟了。程序設(shè)計用來解決實際問題,是軟件開發(fā)的基礎(chǔ),而程序設(shè)計語言就是一份產(chǎn)品的使用說明書??墒呛芏嘟滩膶φZ法糾纏不休,使讀者陷入了語法規(guī)則的泥潭中,卻難以解決根本問題。經(jīng)驗表明,初學(xué)者通常會遇到以下幾個困難問題: 不清楚計算機是如何工作的,不知如何設(shè)計解決問題的步驟;不清楚C語言到底能做什么事,感覺無從下手;不清楚應(yīng)該先學(xué)什么后學(xué)什么,即使記住了語法規(guī)則也不知用在何處;解決問題的邏輯關(guān)系混亂。經(jīng)典的教科書都強調(diào)解決問題的方法和步驟,即算法,這很重要。倘若初學(xué)者還不知道計算機如何工作,又何談算法呢?我們認(rèn)為,對計算機語言的學(xué)習(xí)是沒有先后順序的,從解決小問題入手,通過模仿再熟悉語法規(guī)則,在此基礎(chǔ)上也可閱讀語法規(guī)則以解決更難的問題。《C程序設(shè)計實例教程》把語法規(guī)則放到附錄中就是這個道理,建議初學(xué)者經(jīng)常查閱。本教材有以下幾點特色。 通過固定模式引導(dǎo)入門:用“輸入?處理?輸出”模式強化入門訓(xùn)練?! ∈褂萌蝿?wù)教學(xué)驅(qū)動語法學(xué)習(xí):用實例講解語法,同一個問題用不同的知識點分別實現(xiàn)?! ±煤线m的分析圖幫助理解算法:重點應(yīng)用PAD框圖?! 》稚㈦y點、由淺入深、實戰(zhàn)提高:把函數(shù)、指針分散講解,再系統(tǒng)歸納總結(jié)?! 【C合訓(xùn)練,提高設(shè)計能力:專門用一章講授綜合應(yīng)用,實現(xiàn)軟件工程的初步訓(xùn)練。本教材通過大量實例,在解決實際問題的過程中覆蓋主要的語法知識點。每個例子由5部分構(gòu)成:問題、分析、程序、運行、說明。其中“分析”部分包括對解決問題的方法、原理以及用C語言如何實現(xiàn)的具體分析;“說明”部分講解語法知識、注意事項、書寫習(xí)慣、程序改進等。通過這種方式,教材將從以下9個方面解決程序設(shè)計入門和提高的問題?! 。?)C程序的基本結(jié)構(gòu)。編寫程序時,初學(xué)者都應(yīng)該先寫出基本結(jié)構(gòu),既可以解決初學(xué)者對程序設(shè)計的畏難情緒,又使初學(xué)者能理解計算機工作的流程?! 。?)熟練默寫并理解幾個小程序。比如求兩個數(shù)的最大值、交換兩個變量的值,這樣的小問題理解上并不難,但已經(jīng)涉及到基本程序設(shè)計的語法點?! 。?)從固定的思維模式入手。輸入、處理、輸出是程序的3個部分。對一個問題可以分解為輸入什么、如何實現(xiàn);輸出什么,如何實現(xiàn);在輸出之前必須為輸出做哪些準(zhǔn)備,即處理?!拜斎?處理?輸出”的順序不能顛倒。輸入是為處理做準(zhǔn)備、處理是為輸出做準(zhǔn)備的,沒有上一步的準(zhǔn)備就無法轉(zhuǎn)向下一步繼續(xù)執(zhí)行?! 。?)學(xué)習(xí)控制結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)。學(xué)習(xí)控制結(jié)構(gòu),即順序、選擇和循環(huán)結(jié)構(gòu);學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu),則主要從數(shù)據(jù)存儲、數(shù)據(jù)在內(nèi)存中的變化等方面展開,初步掌握結(jié)構(gòu)體、共用體及鏈表的使用,從而提高程序設(shè)計的能力。前言C程序設(shè)計實例教程 ?。?)多記多理解經(jīng)典算法,著重講解解決問題的方法?! 。?)學(xué)習(xí)過程契合認(rèn)識過程,先背,再模仿,最后自主設(shè)計?! 。?)從實際問題入手。將每一個問題解決的過程中涉及的新語法知識點或新方法在程序后面給予說明,在解決實際問題的同時,講解語法、熟悉語法、靈活運用語法?! 。?)對初學(xué)者強調(diào)書寫習(xí)慣。提倡利用PAD圖幫助學(xué)生理解程序的層次關(guān)系,培養(yǎng)書寫習(xí)慣,掌握層次(鋸齒型)書寫以及適當(dāng)添加注釋以增加程序的可讀性等。 ?。?)通過課程綜合設(shè)計,提供軟件工程方法和步驟的初步訓(xùn)練,以及綜合應(yīng)用C語言設(shè)計較大的應(yīng)用程序。總之,《C程序設(shè)計實例教程》的教學(xué)思想是:輕語法、重應(yīng)用、摒棄“想當(dāng)然”。所謂想當(dāng)然,一是教師想當(dāng)然,例如,程序是一行一行地串行執(zhí)行,而有的學(xué)生恰好有一點不成熟的“多CPU”和“CPU時間片”的概念,就誤認(rèn)為程序在并行執(zhí)行,尤其是在函數(shù)調(diào)用的時候,想當(dāng)然地認(rèn)為主調(diào)函數(shù)和被調(diào)函數(shù)同時都在執(zhí)行,這是錯誤的,而教師想當(dāng)然認(rèn)為學(xué)生應(yīng)該明白;二是學(xué)生想當(dāng)然,例如,加、減、乘、除的運算符與數(shù)學(xué)上的符號幾乎一樣,于是想當(dāng)然地認(rèn)為“相等”的符號也應(yīng)該一樣,殊不知這個“=”被用作賦值了,而C語言又多了一個賦值表達式的概念,于是就把“==”錯誤地寫成“=”了。程序設(shè)計是實踐性很強的課程,建議一般學(xué)校至少用72學(xué)時的課堂講授,并另外安排盡量多的上機課時,特別是課程項目訓(xùn)練和工程實踐。編者也建議把課時分散到兩個學(xué)期使用,讓學(xué)生有更多的時間理解、適應(yīng)程序設(shè)計的思維方式,可以閱讀更多的程序、解決更多的基本問題以提高程序設(shè)計的能力。本教材以MicrosoftVisualC++6.0為開發(fā)平臺講解程序,在與標(biāo)準(zhǔn)C有差異之處都有說明,因此,程序可以在任何上機環(huán)境中調(diào)試通過。第1-3章,由梁立編寫;第4章和第5章由肖斕楠、徐天偉共同編寫;第6章和第7章由楊德強、肖飛共同編寫;第8章、第9章、附錄及全書的算法框圖由解敏完成。全書由梁立、解敏統(tǒng)籌。感謝許多研究生及本科生對教材的編寫提出的寶貴意見;感謝高麗金為書稿的整理付出的辛勤勞動;特別感謝胡國梁教授的鼓勵與關(guān)懷。感謝清華大學(xué)出版社對教材編寫工作的建議及全程支持。感謝全國高等師范學(xué)校計算機教育研究會的專家給予的建議。感謝《C程序設(shè)計實例教程》所引用參考文獻的作者和出版社。由于水平所限,縱使編者想努力做到完美,《C程序設(shè)計實例教程》的不足之處也在所難免,敬請讀者不吝賜教。
內(nèi)容概要
本書主要完成兩個任務(wù):一是快速入門,二是迅速提高。全書以“輸入-處理-輸出”的固定模式進行程序設(shè)計的入門訓(xùn)練;從小問題人手,由淺入深,并注重邏輯性、實用性、趣昧性和可讀性;從第3章開始逐步引入有應(yīng)用背景的綜合應(yīng)用例題和習(xí)題;第8章以提高程序設(shè)計能力為目的,進行課程綜合訓(xùn)練。 本書以大量的實例講解C語言的語法規(guī)則,采用案例式教學(xué),以應(yīng)用帶動語言學(xué)習(xí),覆蓋了ANSI C的全部知識,并以軟件工程的基本方法實現(xiàn)軟件設(shè)計與開發(fā)的初步訓(xùn)練。 本書是程序設(shè)計的入門教材,適用于計算機及相關(guān)專業(yè)學(xué)生,工程開發(fā)人員,也可作為等級考試參考書及自學(xué)教材使用。
書籍目錄
第1章 概述 本章導(dǎo)讀 1.1 計算機完成任務(wù)——程序化 1.2 解決問題的方法和步驟——算法 1.3 用計算機語言表達算法——程序 1.4 C程序設(shè)計的基本思路 1.5 調(diào)試程序的基本操作步驟 本章小結(jié) 習(xí)題1第2章 用C語言表達程序 本章導(dǎo)讀 2.1 C程序的結(jié)構(gòu) 2.1.1 簡單結(jié)構(gòu) 2.1.2 簡單函數(shù)構(gòu)造與調(diào)用 2.2 常量、變量與賦值 2.2.1 預(yù)處理命令 2.2.2 變量與內(nèi)存 2.3 表達式 2.3.1 運算符 2.3.2 使用庫函數(shù) 2.3.3 賦值表達式與變量的自增自減 2.4 基本輸入輸出 2.4.1 格式輸入輸出 2.4.2 字符輸入輸出 2.5 基本數(shù)據(jù)類型 2.5.1 數(shù)據(jù)在內(nèi)存中的存儲 2.5.2 變量的地址及用指針存取數(shù)據(jù) 2.5.3 表達式混合運算的數(shù)據(jù)類型轉(zhuǎn)換 本章小結(jié) 習(xí)題2第3章 控制結(jié)構(gòu) 本章導(dǎo)讀 3.1 分支結(jié)構(gòu) 3.1.1 條件語句 3.1.2 多分支結(jié)構(gòu) 3.2 循環(huán)結(jié)構(gòu) 3.2.1 while循環(huán) 3.2.2 dowhile循環(huán) 3.2.3 for循環(huán) 3.3 控制結(jié)構(gòu)綜合應(yīng)用 本章小結(jié) 習(xí)題3第4章 數(shù)據(jù)組織 本章導(dǎo)讀 4.1 數(shù)組 4.1.1 一維數(shù)組 4.1.2 二維數(shù)組 4.2 字符串 4.3 結(jié)構(gòu)體與共用體 4.3.1 結(jié)構(gòu)體 4.3.2 結(jié)構(gòu)體與指針 4.3.3 共用體 本章小結(jié) 習(xí)題4第5章 文件 本章導(dǎo)讀 5.1 文本文件 5.2 二進制文件 本章小結(jié) 習(xí)題5第6章 函數(shù)與指針 本章導(dǎo)讀 6.1 函數(shù)的定義和調(diào)用 6.1.1 函數(shù)的定義、聲明與調(diào)用 6.1.2 函數(shù)的嵌套調(diào)用與遞歸 6.2 函數(shù)的參數(shù)傳遞 6.2.1 變量的作用域 6.2.2 值傳遞與地址傳遞 6.3 指針作為函數(shù)參數(shù) 6.3.1 指針作為參數(shù) 6.3.2 函數(shù)作為參數(shù) 6.3.3 主函數(shù)的參數(shù) 6.4 函數(shù)的綜合應(yīng)用 本章小結(jié) 習(xí)題6第7章 動態(tài)組織數(shù)據(jù) 本章導(dǎo)讀 7.1 建立鏈表的過程 7.2 鏈表結(jié)點的查找一 7.3 鏈表結(jié)點的插入 7.4 鏈表結(jié)點的刪除 7.5 循環(huán)鏈表 本章小結(jié) 習(xí)題7第8章 綜合應(yīng)用 本章導(dǎo)讀 8.1 窮舉法:打開問題的缺口 8.1.1 窮舉法的基本思想 8.1.2 減少窮舉量,提高窮舉效率 8.1.3 局部窮舉 8.2 回溯法:系統(tǒng)地搜索問題的解 8.3 綜合程序設(shè)計:簡單通訊錄管理 8.3.1 需求分析 8.3.2 總體設(shè)計 8.3.3 詳細設(shè)計 8.3.4 編碼實現(xiàn) 8.3.5 系統(tǒng)測試 本章小結(jié) 習(xí)題8第9章 課程綜合設(shè)計參考題目附錄A Microsoft Visual C++6.0上機操作與調(diào)試附錄B 十進制表示的ASCII碼表附錄C C語言語法參考附錄D 常用庫函數(shù)附錄E 程序的圖形描述參考文獻
章節(jié)摘錄
第1章 概述 本章導(dǎo)讀 如果一個人做事沒有條理,相信他也沒能力安排別人順利完成任務(wù),更不用說安排計算去完成任務(wù)。安排計算機完成任務(wù)就是程序設(shè)計?! ”菊聫摹皺C械”地完成任務(wù)開始,認(rèn)識計算機完成任務(wù)的程序化;解決問題的方法和步驟(即算法)是程序設(shè)計的核心內(nèi)容;本書以C語言為開發(fā)平臺,用C語言實現(xiàn)算法來解決實際問題,從而達到程序設(shè)計基礎(chǔ)訓(xùn)練的目的。
編輯推薦
《21世紀(jì)普通高校計算機公共課程規(guī)劃教材:C程序設(shè)計實例教程》是程序設(shè)計的入門教材,適用于計算機及相關(guān)專業(yè)學(xué)生,工程開發(fā)人員,也可作為等級考試參考書及自學(xué)教材使用。
圖書封面
評論、評分、閱讀與下載