出版時間:2009-8 出版社:西安電子科技大學出版社 作者:楊俊清 編 頁數(shù):199
前言
本書是按照高等學?;A(chǔ)教育改革的要求,由西安航空技術(shù)高等專科學校計算機工程系組織編寫的。 程序設(shè)計技術(shù)是信息技術(shù)人員的基本功。隨著計算機技術(shù)的進步和高校教學改革的不斷深入,C語言由原來計算機專業(yè)高年級學生學習的專業(yè)課程,逐漸變成了低年級學生學習程序設(shè)計的入門課程、基礎(chǔ)課程。教學目的和教學對象的變化,要求必須對這門課程的教學內(nèi)容和教學方法進行改革。我系近年來在這方面進行了有益的嘗試,對改革的成果進行了總結(jié)和提煉,編寫了這本教材。 本書以《程序設(shè)計基礎(chǔ)》命名,是為了突出這門課程作為入門性課程的特點。在這門課程中,核心是程序設(shè)計的基本思想和方法。但思想和方法又不能憑空存在,必須以某種方式表達出來,C語言是表達這種思想和方法的一種非常優(yōu)秀的工具。本書以C語言的語法為線索,逐漸地融入程序設(shè)計的基礎(chǔ)知識,使學生在學習C語言的過程中,潛移默化地接受、理解和掌握程序設(shè)計的基本思想和方法。當然,作為入門性的課程,也不能期望在這門課程中解決所有的問題。因此,在本書中,我們只介紹最基本的、學生能夠理解和掌握的程序設(shè)計思想和方法,而程序設(shè)計中一些經(jīng)典的思想和方法,留到其他課程中去解決?! ”緯€有一個特點,就是把c語言中應(yīng)用最靈活、學生學習時感覺難度最大的指針進行了分解。在書中,我們把指針的相關(guān)知識,按照它的作用分解到各個章節(jié)中。這樣不但分散了難點,而且使學生知道什么時候必須使用指針,該如何使用指針。解決了指針這個難點,C語言的教學就成功了一半?! ”緯蓷羁∏褰淌谌沃骶?,負責全書的組織和統(tǒng)稿工作,并編寫了第1章。石鋒擔任副主編,并編寫了第7章。參加編寫的人員還有:程傳旭,編寫了第2、3章;陳慶榮,編寫了第4章;張少應(yīng),編寫了第5章;彭寒,編寫了第6章;王建,編寫了第8、9章;曹國震,編寫了第10章?! ∮捎谧髡咚接邢?,書中疏漏之處在所難免,懇請讀者批評指正。
內(nèi)容概要
《程序設(shè)計基礎(chǔ)(C語言)》是為了適應(yīng)高職高專教學改革的需要而編寫的,全書主要內(nèi)容包括C程序的結(jié)構(gòu),算法及算法的描述,c語言基礎(chǔ),流程控制語句,函數(shù),數(shù)組,結(jié)構(gòu)體、共用體和枚舉類型,文件等,較全面地反映了c語言的全貌?!冻绦蛟O(shè)計基礎(chǔ)(C語言)》在內(nèi)容的組織上打破了同類教材的傳統(tǒng)結(jié)構(gòu),突出了重點,分散了難點。主要表現(xiàn)在:一是將編譯預(yù)處理和位運算并入c語言基礎(chǔ),降低了教學要求;二是將指針的相關(guān)知識以應(yīng)用為原則,分散到相關(guān)章節(jié)中,便于學生學習和掌握。同時,《程序設(shè)計基礎(chǔ)(C語言)》內(nèi)容完全覆蓋了“全國計算機等級考試(二級C)考試大綱”中C語言部分的知識點,并且在習題中選入部分歷年考試的原題,為學習者參加全國計算機等級考試提供幫助?! 冻绦蛟O(shè)計基礎(chǔ)(C語言)》可以作為高職高專類學校計算機專業(yè)的教材,也適合有關(guān)人員自學使用。
書籍目錄
第1章 程序設(shè)計概述1.1 程序工作原理1.1.1 馮·諾伊曼原理1.1.2 計算機的構(gòu)成原理1.2 程序設(shè)計語言1.2.1 程序設(shè)計語言的發(fā)展1.2.2 典型高級語言1.2.3 程序設(shè)計語言發(fā)展趨勢1.3 算法概述1.4 c語言程序設(shè)計1.4.1 C語言的發(fā)展歷史1.4.2 C語言的特點1.4.3 c語言程序基本結(jié)構(gòu)1.4.4 C語言程序的開發(fā)環(huán)境習題第2章 C語言基礎(chǔ)2.1 標識符與關(guān)鍵字2.2 簡單數(shù)據(jù)類型2.2.1 常量與變量2.2.2 整型2.2.3 實型2.2.4 字符型2.2.5 不同類型數(shù)據(jù)的混合運算2.3 簡單計算2.3.1 算術(shù)運算與算術(shù)表達式2.3.2 賦值運算符與賦值表達式2.3.3 自加、自減和逗號運算習題第3章 順序結(jié)構(gòu)程序設(shè)計3.1 c語句概述3.1.1 C程序基本結(jié)構(gòu)3.1.2 C語句分類3.1.3 c結(jié)構(gòu)化程序設(shè)計3.2 數(shù)據(jù)的輸入與輸出3.2.1 printf函數(shù)3.2.2 scanf函數(shù)3.2.3 其他輸入腧出函數(shù)3.3 編譯預(yù)處理命令3.3.1 宏定義3.3.2 文件包含3.3.3 條件編譯3.4 函數(shù)簡介3.4.1 函數(shù)定義和調(diào)用的一般方法3.4.2 庫函數(shù)的調(diào)用3.5 順序結(jié)構(gòu)程序設(shè)計舉例習題第4章 選擇程序設(shè)計4.1 關(guān)系運算和邏輯運算4.1.1 關(guān)系運算符和關(guān)系表達式4.1.2 邏輯運算符和邏輯表達式4.2 分支流程控制語句4.2.1 if語句4.2.2 switch語句4.2.3 條件運算符4.3 選擇語句的嵌套4.4 選擇結(jié)構(gòu)程序設(shè)計舉例習題第5章 循環(huán)結(jié)構(gòu)程序設(shè)計5.1 循環(huán)流程控制語句5.1.1 while語句5.1.2 do-while語句5.1.3 for語句5.2 循環(huán)嵌套5.3 break語句和continue語句5.3.1 break語句5.3.2 continue語句5.4 循環(huán)結(jié)構(gòu)程序設(shè)計舉例5.4.1 窮舉5.4.2 迭代習題第6章 函數(shù)6.1 函數(shù)的定義和調(diào)用6.1.1 函數(shù)概述6.1.2 函數(shù)的定義6.1.3 函數(shù)的調(diào)用6.2 函數(shù)問地址的傳遞6.2.1 指針的概念6.2.2 指針變量6.2.3 指針變量的對象6.2.4 函數(shù)間傳遞地址6.3 函數(shù)間函數(shù)的傳遞6.3.1 函數(shù)的地址6.3.2 指向函數(shù)的指針變量6.3.3 在函數(shù)之間傳遞函數(shù)6.4 函數(shù)的遞歸調(diào)用6.5 變量的作用域6.5.1 內(nèi)部變量6.5.2 外部變量6.5.3 內(nèi)部函數(shù)和外部函數(shù)6.6 變量的存儲屬性6.6.1 變量及其存儲屬性6.6.2 動態(tài)內(nèi)部變量和靜態(tài)內(nèi)部變量習題第7章 數(shù)組7.1 一維數(shù)組7.1.1 數(shù)組概述7.1.2 一維數(shù)組的定義和初始化7.1.3 一維數(shù)組元素的引用7.1.4 簡單排序算法7.2 函數(shù)問一維數(shù)組的傳遞7.2.1 一維數(shù)組元素地址的表示7.2.2 利用指針變量訪問一維數(shù)組7.2.3 在函數(shù)間傳遞一維數(shù)組7.3 二維數(shù)組7.3.1 二維數(shù)組的定義和初始化7.3.2 二維數(shù)組元素的引用7.4 函數(shù)問二維數(shù)組的傳遞7.4.1 二維數(shù)組元素的地址表示法7.4.2 利用行指針變量訪問二維數(shù)組元素7.4.3 函數(shù)之問二維數(shù)組的傳遞習題第8章 字符串8.1 字符串8.1.1 字符串常量8.1.2 字符串的存儲8.1.3 字符串的表示8.2 函數(shù)間字符串的傳遞8.2.1 單個字符串的傳遞8.2.2 多個字符串的傳遞8.2.3 main函數(shù)的參數(shù)8.2.4 字符串處理函數(shù)習題第9章 結(jié)構(gòu)體、共用體和枚舉類型9.1 結(jié)構(gòu)體9.1.1 結(jié)構(gòu)體的類型定義9.1.2 結(jié)構(gòu)體數(shù)據(jù)的定義和引用9.2 單鏈表9.2.1 動態(tài)存儲分配9.2.2 單鏈表概述9.2.3 單鏈表的基本操作9.3 共用體和枚舉類型9.3.1 共用體9.3.2 枚舉類型9.4 typedef定義類型習題第10章 文件10.1 文件概述10.1.1 文件和文件指針10.1.2 文件操作的一般過程10.1.3 文件的打開與關(guān)閉10.2 文件的讀寫10.2.1 fprintf和fscanf函數(shù)10.2.2 fputc和fgetc函數(shù)10.2.3 fputs和fgets函數(shù)10.2.4 fwrite和fread函數(shù)10.3 文件定位10.3.1 rewind函數(shù)10.3.2 fseek函數(shù)習題附錄A 常用字符ASCII代碼表附錄B 運算符的優(yōu)先級和結(jié)合性附錄C 標準庫函數(shù)
章節(jié)摘錄
?。?)健壯性:正確的輸入能得到正確的輸出,這是算法必須具有的特性之一。但當遇到非法輸入時,算法應(yīng)能做出反應(yīng)或處理(如提示信息等),而不會產(chǎn)生不需要的或不正確的結(jié)果。 例如,在算法中總是采用較簡單的方法以及模塊化函數(shù)以增強算法的易讀性;采用步驟較少的求解方法以提高算法的時間效率;對可能發(fā)生的各種現(xiàn)象及輸入形式給出應(yīng)對措施以提高算法的健壯性?! ∫_定一個算法是適合的、“好”的算法,就需要進行算法分析。算法分析的兩個主要方面是分析算法的時間效率和空間效率,目的是以求改進算法或?qū)Σ煌乃惴ㄟM行比較。鑒于目前情況下運算空間較為充足,我們把算法的時間效率分析作為主要內(nèi)容?! ∷惴ㄟ\行的時間分析和程序運行的時間分析是有區(qū)別的。同一算法由不同的程序員所編寫的程序有優(yōu)劣之分,程序運行的時間也就有所不同;程序在不同的機器上運行的速度又和機器本身的速度有關(guān)。而我們感興趣的是對解決問題的算法作時間上的度量分析,或?qū)鉀Q同一問題的兩種或兩種以上的算法運行時問加以比較。
圖書封面
評論、評分、閱讀與下載