出版時(shí)間:2010-6-1 出版社:清華大學(xué)出版社 作者:譚浩強(qiáng) 頁數(shù):390
Tag標(biāo)簽:無
前言
從20世紀(jì)70年代末、80年代初開始,我國的高等院校開始面向各個(gè)專業(yè)的全體大學(xué)生開展計(jì)算機(jī)教育。面向非計(jì)算機(jī)專業(yè)學(xué)生的計(jì)算機(jī)基礎(chǔ)教育,牽涉的專業(yè)面廣、人數(shù)眾多,影響深遠(yuǎn),它將直接影響我國各行各業(yè)、各個(gè)領(lǐng)域中計(jì)算機(jī)應(yīng)用的發(fā)展水平。這是一項(xiàng)意義重大而且大有可為的工作,應(yīng)該引起各方面的充分重視。20多年來,全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)和全國高校從事計(jì)算機(jī)基礎(chǔ)教育的老師始終不渝地在這片未被開墾的土地上辛勤工作,深入探索,努力開拓,積累了豐富的經(jīng)驗(yàn),初步形成了一套行之有效的課程體系和教學(xué)理念。20年來高等院校計(jì)算機(jī)基礎(chǔ)教育的發(fā)展經(jīng)歷了3個(gè)階段:20世紀(jì)80年代是初創(chuàng)階段,帶有掃盲的性質(zhì),多數(shù)學(xué)校只開設(shè)一門入門課程;20世紀(jì)90年代是規(guī)范階段,在全國范圍內(nèi)形成了按3個(gè)層次進(jìn)行教學(xué)的課程體系,教學(xué)的廣度和深度都有所發(fā)展;進(jìn)入21世紀(jì),開始了深化提高的第3階段,需要在原有基礎(chǔ)上再上一個(gè)新臺(tái)階。在計(jì)算機(jī)基礎(chǔ)教育的新階段,要充分認(rèn)識(shí)到計(jì)算機(jī)基礎(chǔ)教育面臨的挑戰(zhàn)。(1)在世界范圍內(nèi)信息技術(shù)以空前的速度迅猛發(fā)展,新的技術(shù)和新的方法層出不窮,要求高等院校計(jì)算機(jī)基礎(chǔ)教育必須跟上信息技術(shù)發(fā)展的潮流,大力更新教學(xué)內(nèi)容,用信息技術(shù)的新成就武裝當(dāng)今的大學(xué)生。(2)我國國民經(jīng)濟(jì)現(xiàn)在處于持續(xù)快速穩(wěn)定發(fā)展階段,需要大力發(fā)展信息產(chǎn)業(yè),加快經(jīng)濟(jì)與社會(huì)信息化的進(jìn)程,這就迫切需要大批既熟悉本領(lǐng)域業(yè)務(wù),又能熟練使用計(jì)算機(jī),并能將信息技術(shù)應(yīng)用于本領(lǐng)域的新型專門人才。因此需要大力提高高校計(jì)算機(jī)基礎(chǔ)教育的水平,培養(yǎng)出數(shù)以百萬計(jì)的計(jì)算機(jī)應(yīng)用人才。(3)21世紀(jì),信息技術(shù)教育在我國中小學(xué)中全面開展,計(jì)算機(jī)教育的起點(diǎn)從大學(xué)下移到中小學(xué)。水漲船高,這樣也為提高大學(xué)的計(jì)算機(jī)教育水平創(chuàng)造了十分有利的條件。迎接21世紀(jì)的挑戰(zhàn),大力提高我國高等學(xué)校計(jì)算機(jī)基礎(chǔ)教育的水平,培養(yǎng)出符合信息時(shí)代要求的人才,已成為廣大計(jì)算機(jī)教育工作者的神圣使命和光榮職責(zé)。全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)和清華大學(xué)出版社于2002年聯(lián)合成立了“中國高等院校計(jì)算機(jī)基礎(chǔ)教育改革課題研究組”,集中了一批長(zhǎng)期在高校計(jì)算機(jī)基礎(chǔ)教育領(lǐng)域從事教學(xué)和研究的專家、教授,經(jīng)過深入調(diào)查研究,廣泛征求意見,反復(fù)討論修改,提出了高校計(jì)算機(jī)基礎(chǔ)教育改革思路和課程方案,并于2004年7月發(fā)布了《中國高等院校計(jì)算機(jī)基礎(chǔ)教育課程體系2004》(簡(jiǎn)稱CFC2004)。國內(nèi)知名專家和從事計(jì)算機(jī)基礎(chǔ)教育工作的廣大教師一致認(rèn)為CFC2004提出了一個(gè)既體現(xiàn)先進(jìn)性又切合實(shí)際的思路和解決方案,該研究成果具有開創(chuàng)性、針對(duì)性、前瞻性和可操作性,對(duì)發(fā)展我國高等院校的計(jì)算機(jī)基礎(chǔ)教育具有重要的指導(dǎo)作用。
內(nèi)容概要
由譚浩強(qiáng)教授著、清華大學(xué)出版社出版的《C程序設(shè)計(jì)》是一本公認(rèn)的學(xué)習(xí)C語言程序設(shè)計(jì)的經(jīng)典教材。根據(jù)C語言的發(fā)展和計(jì)算機(jī)教學(xué)的需要,作者在《C程序設(shè)計(jì)(第三版)》的基礎(chǔ)上進(jìn)行了修訂。本書按照C語言的新標(biāo)準(zhǔn)C 99進(jìn)行介紹,所有程序都符合C 99的規(guī)定,使編寫程序更加規(guī)范;對(duì)C語言和程序設(shè)計(jì)的基本概念和要點(diǎn)講解透徹,全面而深入;按照作者提出的“提出問題—解決問題—?dú)w納分析”三部曲進(jìn)行教學(xué)、組織教材;本書的每個(gè)例題都按以下幾個(gè)步驟展開:提出任務(wù)—解題思路—編寫程序—運(yùn)行程序—程序分析—有關(guān)說明。符合讀者認(rèn)知規(guī)律,容易入門與提高?! ”緯鴥?nèi)容先進(jìn),體系合理,概念清晰,講解詳盡,降低臺(tái)階,分散難點(diǎn),例題豐富,深入淺出,文字流暢,通俗易懂,是初學(xué)者學(xué)習(xí)C程序設(shè)計(jì)的理想教材,可作為高等學(xué)校各專業(yè)的正式教材,也是一本自學(xué)的好教材。本書還配有輔助教材《C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo)》。
作者簡(jiǎn)介
譚浩強(qiáng),教授,我國著名計(jì)算機(jī)教育專家,1934年生1958年清華大學(xué)畢業(yè)學(xué)生時(shí)代曾擔(dān)任清華大學(xué)學(xué)生會(huì)主席、北京市人民代表他是我國計(jì)算機(jī)普及和高校計(jì)算機(jī)基礎(chǔ)教育開拓者之一,現(xiàn)任全國高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)榮譽(yù)會(huì)長(zhǎng)、教育部全國計(jì)算機(jī)應(yīng)用技術(shù)證書考試委員會(huì)主任委員。譚浩強(qiáng)教授創(chuàng)造了3個(gè)世界紀(jì)錄:(1)20年來他(及和他人合作)共編著出版了140本計(jì)算機(jī)著作,此外主編了300多本計(jì)算機(jī)書籍,是出版科技著作數(shù)量最多的人。(2)他編著和主編的書發(fā)行量超過5000萬冊(cè),是讀者最多的科技作家我國平均每26人、知識(shí)分子每1.2人就擁有1本譚浩強(qiáng)教授編著的書(3)他和別人合作編著的《BASIC語言》發(fā)行了1250萬冊(cè),創(chuàng)科技書籍發(fā)行量的世界紀(jì)錄,此外,他編著的《C程序設(shè)計(jì)》發(fā)行了1100萬冊(cè):他曾在中央電視臺(tái)主講了BASIC,F(xiàn)ORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七種計(jì)算機(jī)語言,觀眾超過500萬人。在我國學(xué)習(xí)計(jì)算機(jī)的人中很少有不知道譚浩強(qiáng)教授的..他善于用容易理解的方法和語言說明復(fù)雜的概念許多人認(rèn)為他開創(chuàng)了計(jì)算機(jī)書籍貼近大眾的新風(fēng),為我國的計(jì)算機(jī)普及事業(yè)做出了重要的貢獻(xiàn)。譚浩強(qiáng)教授曾獲全國高校教學(xué)成果國家級(jí)獎(jiǎng)、國家科技進(jìn)步獎(jiǎng),以及北京市政府授予的“有突出貢獻(xiàn)專家”稱號(hào)?!队?jì)算機(jī)世界》報(bào)組織的“世紀(jì)評(píng)選”把他評(píng)為我國“20世紀(jì)最有影響的IT人物”10個(gè)人之一(排在第2位),他的功績(jī)是把千百萬群眾帶入計(jì)算機(jī)的大門。
書籍目錄
第1章 程序設(shè)計(jì)和C語言 1.1 什么是計(jì)算機(jī)程序 1.2 什么是計(jì)算機(jī)語言 1.3 C語言的發(fā)展及其特點(diǎn) 1.4 最簡(jiǎn)單的C語言程序 1.4.1 最簡(jiǎn)單的C語言程序舉例 1.4.2 C語言程序的結(jié)構(gòu) 1.5 運(yùn)行C程序的步驟與方法 1.6 程序設(shè)計(jì)的任務(wù) 習(xí)題第2章 算法——程序的靈魂 2.1 什么是算法 2.2 簡(jiǎn)單的算法舉例 2.3 算法的特性 2.4 怎樣表示一個(gè)算法 2.4.1 用自然語言表示算法 2.4.2 用流程圖表示算法 2.4.3 三種基本結(jié)構(gòu)和改進(jìn)的流程圖 2.4.4 用N?S流程圖表示算法 2.4.5 用偽代碼表示算法 2.4.6 用計(jì)算機(jī)語言表示算法 2.5 結(jié)構(gòu)化程序設(shè)計(jì)方法 習(xí)題第3章 最簡(jiǎn)單的C程序設(shè)計(jì)——順序程序設(shè)計(jì) 3.1 順序程序設(shè)計(jì)舉例 3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算 3.2.1 常量和變量 3.2.2 數(shù)據(jù)類型 3.2.3 整型數(shù)據(jù) 3.2.4 字符型數(shù)據(jù) 3.2.5 浮點(diǎn)型數(shù)據(jù) 3.2.6 怎樣確定常量的類型 3.2.7 運(yùn)算符和表達(dá)式 3.3 C語句 3.3.1 C語句的作用和分類 3.3.2 最基本的語句——賦值語句 3.4 數(shù)據(jù)的輸入輸出 3.4.1 輸入輸出舉例 3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念 3.4.3 用printf函數(shù)輸出數(shù)據(jù) 3.4.4 用scanf函數(shù)輸入數(shù)據(jù) 3.4.5 字符數(shù)據(jù)的輸入輸出 習(xí)題第4章 選擇結(jié)構(gòu)程序設(shè)計(jì) 4.1 選擇結(jié)構(gòu)和條件判斷 4.2 用if語句實(shí)現(xiàn)選擇結(jié)構(gòu) 4.2.1 用if語句處理選擇結(jié)構(gòu)舉例 4.2.2 if語句的一般形式 4.3 關(guān)系運(yùn)算符和關(guān)系表達(dá)式 4.3.1 關(guān)系運(yùn)算符及其優(yōu)先次序 4.3.2 關(guān)系表達(dá)式 4.4 邏輯運(yùn)算符和邏輯表達(dá)式 4.4.1 邏輯運(yùn)算符及其優(yōu)先次序 4.4.2 邏輯表達(dá)式 4.4.3 邏輯型變量 4.5 條件運(yùn)算符和條件表達(dá)式 4.6 選擇結(jié)構(gòu)的嵌套 4.7 用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu) 4.8 選擇結(jié)構(gòu)程序綜合舉例 習(xí)題第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì) 5.1 為什么需要循環(huán)控制 5.2 用while語句實(shí)現(xiàn)循環(huán) 5.3 用do…while語句實(shí)現(xiàn)循環(huán) 5.4 用for 語句實(shí)現(xiàn)循環(huán) 5.5 循環(huán)的嵌套 5.6 幾種循環(huán)的比較 5.7 改變循環(huán)執(zhí)行的狀態(tài) 5.7.1 用break語句提前終止循環(huán) 5.7.2 用continue語句提前結(jié)束本次循環(huán) 5.7.3 break語句和continue語句的區(qū)別 5.8 循環(huán)程序舉例 習(xí)題第6章 利用數(shù)組處理批量數(shù)據(jù) 6.1 怎樣定義和引用一維數(shù)組 6.1.1 怎樣定義一維數(shù)組 6.1.2 怎樣引用一維數(shù)組元素 6.1.3 一維數(shù)組的初始化 6.1.4 一維數(shù)組程序舉例 6.2 怎樣定義和引用二維數(shù)組 6.2.1 怎樣定義二維數(shù)組 6.2.2 怎樣引用二維數(shù)組的元素 6.2.3 二維數(shù)組的初始化 6.2.4 二維數(shù)組程序舉例 6.3 字符數(shù)組 6.3.1 怎樣定義字符數(shù)組 6.3.2 字符數(shù)組的初始化 6.3.3 怎樣引用字符數(shù)組中的元素 6.3.4 字符串和字符串結(jié)束標(biāo)志 6.3.5 字符數(shù)組的輸入輸出 6.3.6 使用字符串處理函數(shù) 6.3.7 字符數(shù)組應(yīng)用舉例 習(xí)題第7章 用函數(shù)實(shí)現(xiàn)模塊化程序設(shè)計(jì) 7.1 為什么要用函數(shù) 7.2 怎樣定義函數(shù) 7.2.1 為什么要定義函數(shù) 7.2.2 定義函數(shù)的方法 7.3 調(diào)用函數(shù) 7.3.1 函數(shù)調(diào)用的形式 7.3.2 函數(shù)調(diào)用時(shí)的數(shù)據(jù)傳遞 7.3.3 函數(shù)調(diào)用的過程 7.3.4 函數(shù)的返回值 7.4 對(duì)被調(diào)用函數(shù)的聲明和函數(shù)原型 7.5 函數(shù)的嵌套調(diào)用 7.6 函數(shù)的遞歸調(diào)用 7.7 數(shù)組作為函數(shù)參數(shù) 7.7.1 數(shù)組元素作函數(shù)實(shí)參 7.7.2 數(shù)組名作函數(shù)參數(shù) 7.7.3 多維數(shù)組名作函數(shù)參數(shù) 7.8 局部變量和全局變量 7.8.1 局部變量 7.8.2 全局變量 7.9 變量的存儲(chǔ)方式和生存期 7.9.1 動(dòng)態(tài)存儲(chǔ)方式與靜態(tài)存儲(chǔ)方式 7.9.2 局部變量的存儲(chǔ)類別 7.9.3 全局變量的存儲(chǔ)類別 7.9.4 存儲(chǔ)類別小結(jié) 7.10 關(guān)于變量的聲明和定義 7.11 內(nèi)部函數(shù)和外部函數(shù) 7.11.1 內(nèi)部函數(shù) 7.11.2 外部函數(shù) 習(xí)題第8章 善于利用指針 8.1 指針是什么 8.2 指針變量 8.2.1 使用指針變量的例子 8.2.2 怎樣定義指針變量 8.2.3 怎樣引用指針變量 8.2.4 指針變量作為函數(shù)參數(shù) 8.3 通過指針引用數(shù)組 8.3.1 數(shù)組元素的指針 8.3.2 在引用數(shù)組元素時(shí)指針的運(yùn)算 8.3.3 通過指針引用數(shù)組元素 8.3.4 用數(shù)組名作函數(shù)參數(shù) 8.3.5 通過指針引用多維數(shù)組 8.4 通過指針引用字符串 8.4.1 字符串的引用方式 8.4.2 字符指針作函數(shù)參數(shù) 8.4.3 使用字符指針變量和字符數(shù)組的比較 8.5 指向函數(shù)的指針 8.5.1 什么是函數(shù)指針 8.5.2 用函數(shù)指針變量調(diào)用函數(shù) 8.5.3 怎樣定義和使用指向函數(shù)的指針變量 8.5.4 用指向函數(shù)的指針作函數(shù)參數(shù) 8.6 返回指針值的函數(shù) 8.7 指針數(shù)組和多重指針 8.7.1 什么是指針數(shù)組 8.7.2 指向指針數(shù)據(jù)的指針 8.7.3 指針數(shù)組作main函數(shù)的形參 8.8 動(dòng)態(tài)內(nèi)存分配與指向它的指針變量 8.8.1 什么是內(nèi)存的動(dòng)態(tài)分配 8.8.2 怎樣建立內(nèi)存的動(dòng)態(tài)分配 8.8.3 void指針類型 8.9 有關(guān)指針的小結(jié) 習(xí)題第9章 用戶自己建立數(shù)據(jù)類型 9.1 定義和使用結(jié)構(gòu)體變量 9.1.1 自己建立結(jié)構(gòu)體類型 9.1.2 定義結(jié)構(gòu)體類型變量 9.1.3 結(jié)構(gòu)體變量的初始化和引用 9.2 使用結(jié)構(gòu)體數(shù)組 9.2.1 定義結(jié)構(gòu)體數(shù)組 9.2.2 結(jié)構(gòu)體數(shù)組的應(yīng)用舉例 9.3 結(jié)構(gòu)體指針 9.3.1 指向結(jié)構(gòu)體變量的指針 9.3.2 指向結(jié)構(gòu)體數(shù)組的指針 9.3.3 用結(jié)構(gòu)體變量和結(jié)構(gòu)體變量的指針作函數(shù)參數(shù) 9.4 用指針處理鏈表 9.4.1 什么是鏈表 9.4.2 建立簡(jiǎn)單的靜態(tài)鏈表 9.4.3 建立動(dòng)態(tài)鏈表 9.4.4 輸出鏈表 9.5 共用體類型 9.5.1 什么是共用體類型 9.5.2 引用共用體變量的方式 9.5.3 共用體類型數(shù)據(jù)的特點(diǎn) 9.6 使用枚舉類型 9.7 用typedef聲明新類型名 習(xí)題第10章 對(duì)文件的輸入輸出 10.1 C文件的有關(guān)基本知識(shí) 10.1.1 什么是文件 10.1.2 文件名 10.1.3 文件的分類 10.1.4 文件緩沖區(qū) 10.1.5 文件類型指針 10.2 打開與關(guān)閉文件 10.2.1 用fopen函數(shù)打開數(shù)據(jù)文件 10.2.2 用fclose函數(shù)關(guān)閉數(shù)據(jù)文件 10.3 順序讀寫數(shù)據(jù)文件 10.3.1 怎樣向文件讀寫字符 10.3.2 怎樣向文件讀寫一個(gè)字符串 10.3.3 用格式化的方式讀寫文件 10.3.4 用二進(jìn)制方式向文件讀寫一組數(shù)據(jù) 10.4 隨機(jī)讀寫數(shù)據(jù)文件 10.4.1 文件位置標(biāo)記及其定位 10.4.2 隨機(jī)讀寫 10.5 文件讀寫的出錯(cuò)檢測(cè) 習(xí)題第11章 常見錯(cuò)誤分析355附錄附錄A 在Visual C++6.0環(huán)境下運(yùn)行C程序的方法附錄B 常用字符與ASCII代碼對(duì)照表附錄C C語言中的關(guān)鍵字附錄D 運(yùn)算符和結(jié)合性附錄E C語言常用語法提要附錄F C庫函數(shù)參考文獻(xiàn)
章節(jié)摘錄
插圖:如果只是編寫和運(yùn)行一個(gè)很簡(jiǎn)單的程序,上面介紹的步驟就夠了。但是實(shí)際上要處理的問題比上面見到的例子復(fù)雜得多,需要考慮和處理的問題也復(fù)雜得多。程序設(shè)計(jì)是指從確定任務(wù)到得到結(jié)果、寫出文檔的全過程。從確定問題到最后完成任務(wù),一般經(jīng)歷以下幾個(gè)工作階段:(1)問題分析。對(duì)于接手的任務(wù)要進(jìn)行認(rèn)真的分析,研究所給定的條件,分析最后應(yīng)達(dá)到的目標(biāo),找出解決問題的規(guī)律,選擇解題的方法。在此過程中可以忽略一些次要的因素,使問題抽象化,例如用數(shù)學(xué)式子表示問題的內(nèi)在特性。這就是建立模型。(2)設(shè)計(jì)算法。即設(shè)計(jì)出解題的方法和具體步驟。例如要解一個(gè)方程式,就要選擇用什么方法求解,并且把求解的每一個(gè)步驟清晰無誤地寫出來。一般用流程圖來表示解題的步驟。(3)編寫程序。根據(jù)得到的算法,用一種高級(jí)語言編寫出源程序。(4)對(duì)源程序進(jìn)行編輯、編譯和連接,得到可執(zhí)行程序。(5)運(yùn)行程序,分析結(jié)果。運(yùn)行可執(zhí)行程序,得到運(yùn)行結(jié)果。能得到運(yùn)行結(jié)果并不意味著程序正確,要對(duì)結(jié)果進(jìn)行分析,看它是否合理。例如把“b=a;”錯(cuò)寫為“a=b;”,程序不存在語法錯(cuò)誤,能通過編譯,但運(yùn)行結(jié)果顯然與預(yù)期不符。因此要對(duì)程序進(jìn)行調(diào)試(debug)。調(diào)試的過程就是通過上機(jī)發(fā)現(xiàn)和排除程序中故障的過程。經(jīng)過調(diào)試,得到了正確的結(jié)果,但是工作不應(yīng)到此結(jié)束。不要只看到某一次結(jié)果是正確的,就認(rèn)為程序沒有問題。例如,求c-b/a,當(dāng)a=4,b=2時(shí),求出c的值為0.5,是正確的,但是當(dāng)a-0,b-2時(shí),就無法求出c的值。說明程序?qū)δ承?shù)據(jù)能得到正確結(jié)果,對(duì)另外一些數(shù)據(jù)卻得不到正確結(jié)果,程序還有漏洞,因此,還要對(duì)程序進(jìn)行測(cè)試(test)。所謂測(cè)試,就是設(shè)計(jì)多組測(cè)試數(shù)據(jù),檢查程序?qū)Σ煌瑪?shù)據(jù)的運(yùn)行情況,從中盡量發(fā)現(xiàn)程序中存在的漏洞,并修改程序,使之能適用于各種情況,作為商品提供使用的程序,是必須經(jīng)過嚴(yán)格測(cè)試的。在本書的配套書《C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo)》中對(duì)程序的調(diào)試和測(cè)試做了進(jìn)一步的說明,讀者可以參考。(6)編寫程序文檔。許多程序是提供給別人使用的,如同正式的產(chǎn)品應(yīng)當(dāng)提供產(chǎn)品說明書一樣,正式提供給用戶使用的程序,必須向用戶提供程序說明書(也稱為用戶文檔)。內(nèi)容應(yīng)包括:程序名稱、程序功能、運(yùn)行環(huán)境、程序的裝入和啟動(dòng)、需要輸入的數(shù)據(jù),以及使用注意事項(xiàng)等。
編輯推薦
《C程序設(shè)計(jì)(第4版)》特色:保持了《C程序設(shè)計(jì)》前三版的寫作風(fēng)格和概念清晰、通俗易懂的特點(diǎn),為更切合當(dāng)前需要,在以下幾個(gè)方面作了改進(jìn):按照C99標(biāo)準(zhǔn)進(jìn)行介紹,以適應(yīng)c語言的發(fā)展,使程序更加規(guī)范。采用Visualc++6.0作為編譯和運(yùn)行環(huán)境。加強(qiáng)算法,以程序設(shè)計(jì)為中心把算法與語言工具緊密結(jié)合。更加通俗易懂,容易學(xué)習(xí)。根據(jù)當(dāng)前需要適當(dāng)調(diào)整教材內(nèi)容。全國高校出版社優(yōu)秀暢銷書特等獎(jiǎng)
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載