出版時間:2005-3 出版社:機(jī)械工業(yè)出版社 作者:羅伯茨 頁數(shù):498 譯者:翁惠玉
Tag標(biāo)簽:無
內(nèi)容概要
本書是計算機(jī)科學(xué)的經(jīng)典教材,介紹了計算機(jī)科學(xué)的基礎(chǔ)知識和程序設(shè)計的專門知識。本書以介紹ANSI C為主線,不僅涵蓋C語言的基本知識,而且介紹了軟件工程技術(shù)以及如何應(yīng)用良好的程序設(shè)計風(fēng)格進(jìn)行開發(fā)等內(nèi)容。本書采用了庫函數(shù)的方法,強(qiáng)調(diào)抽象的原則,詳細(xì)闡述了庫和模塊化開發(fā)。此外,本書還利用大量實例講述解決問題的全過程,對開發(fā)過程中常見的錯誤也給出了解決和避免的方法。本書既可作為高等院校計算機(jī)科學(xué)入門課程及C語言入門課程的教材,也是C語言開發(fā)人員的極佳參考書。
作者簡介
Eric S. Roberts,美國斯坦福大學(xué)計算機(jī)科學(xué)系教授,主管教學(xué)的系副主任。他由于教學(xué)改革的成就獲得Charles Simonyi榮譽教授。Roberts于1980年獲哈佛大學(xué)應(yīng)用數(shù)學(xué)博士學(xué)位,其后他創(chuàng)建了威爾斯利學(xué)院的計算機(jī)科學(xué)系,并擔(dān)任系主任。后來,他在加州Palo Alto的DEC公司系統(tǒng)
書籍目錄
第1章 概述 1.1 計算簡史 1.2 什么是計算機(jī)科學(xué) 1.3 計算機(jī)硬件簡介 1.3.1 CPU 1.3.2 內(nèi)存 1.3.3 輔助存儲器 1.3.4 I/O設(shè)備 1.4 算法 1.5 程序設(shè)計語言和編譯 1.6 編程錯誤和調(diào)試 1.7 軟件維護(hù) 1.8 軟件工程的重要性 1.9 關(guān)于C程序設(shè)計語言的一些思考 小結(jié) 復(fù)習(xí)題 第一部分 C語言程序設(shè)計基礎(chǔ) 第2章 通過例子學(xué)習(xí) 2.1 “Hello world”程序 2.1.1 注釋 2.1.2 庫包含 2.1.3 主程序 2.2 兩個數(shù)的加法程序 2.2.1 輸入階段 2.2.2 計算階段 2.2.3 輸出階段 2.3 有關(guān)程序設(shè)計過程的觀點 2.4 數(shù)據(jù)類型 2.4.1 浮點型數(shù)據(jù) 2.4.2 字符串類型的數(shù)據(jù) 2.5 表達(dá)式 2.5.1 常量 2.5.2 變量 2.5.3 賦值語句 2.5.4 運算符和操作數(shù) 2.5.5 整型數(shù)和浮點型數(shù)的結(jié)合 2.5.6 整數(shù)除法和求余運算符 2.5.7 優(yōu)先級 2.5.8 優(yōu)先級法則的應(yīng)用 2.5.9 類型轉(zhuǎn)換 小結(jié) 復(fù)習(xí)題 程序設(shè)計練習(xí) 第3章 問題求解 3.1 程序設(shè)計習(xí)語和范例 3.1.1 復(fù)合賦值習(xí)語 3.1.2 自增和自減運算符 3.2 解決規(guī)模稍大的問題 3.3 控制語句 3.3.1 重復(fù)N次習(xí)語 3.3.2 迭代和循環(huán) 3.3.3 下標(biāo)變量 3.3.4 初始化的重要性 3.3.5 讀入-直到-標(biāo)志習(xí)語 3.3.6 創(chuàng)造一個更實用的應(yīng)用程序 3.3.7 條件執(zhí)行和if語句 3.4 一個調(diào)試練習(xí) 3.5 格式化輸出 3.5.1 printf的格式碼 3.5.2 控制空格、對齊方式和精度 3.6 構(gòu)思一個程序 3.6.1 程序設(shè)計風(fēng)格 3.6.2 設(shè)計時考慮將來的修改 3.6.3 #define機(jī)制 小結(jié) 復(fù)習(xí)題 程序設(shè)計練習(xí) 第4章 語句形式 4.1 簡單語句 4.1.1 賦值的嵌套 4.1.2 多重賦值 4.1.3 程序塊 4.2 控制語句 4.3 布爾型數(shù)據(jù) 4.3.1 關(guān)系運算符 4.3.2 邏輯運算符 4.3.3 簡化求值 4.3.4 標(biāo)志 4.3.5 避免布爾表達(dá)式中的冗余 4.3.6 布爾計算示例 4.4 if語句 4.4.1 單行if語句 4.4.2 多行if語句 4.4.3 if/else語句 4.4.4 級聯(lián)if語句 4.4.5 ?: 運算符(可選的) 4.5 switch語句 4.6 while語句 4.6.1 while循環(huán)的應(yīng)用 4.6.2 無限循環(huán) 4.6.3 解決半途退出問題 4.7 for語句 4.7.1 嵌套的for循環(huán) 4.7.2 for和while的關(guān)系 4.7.3 for語句中浮點型數(shù)據(jù)的使用問題 小結(jié) 復(fù)習(xí)題 程序設(shè)計練習(xí) 第5章 函數(shù) 5.1 使用庫函數(shù) 5.2 函數(shù)聲明 5.3 自己編寫函數(shù) 5.3.1 return語句 5.3.2 將函數(shù)與主程序放在一起 5.3.3 包含內(nèi)部控制結(jié)構(gòu)的函數(shù) 5.3.4 返回非數(shù)字值的函數(shù) 5.3.5 謂詞函數(shù) 5.3.6 測試字符串是否相等的謂詞函數(shù) 5.4 函數(shù)調(diào)用過程機(jī)制 5.4.1 參數(shù)傳遞 5.4.2 在其他函數(shù)中調(diào)用函數(shù) 5.5 過程 5.6 逐步精化 5.6.1 從頂開始 5.6.2 實現(xiàn)PrintCalendar 5.6.3 實現(xiàn)PrintCalendarMonth 5.6.4 完成最后的片段 小結(jié) 復(fù)習(xí)題 程序設(shè)計練習(xí) 第6章 算法 6.1 測試素數(shù) 6.1.1 一個IsPrime的簡單版本 6.1.2 驗證一個策略是否表示一個算法 6.1.3 說明IsPrime算法的正確性 6.1.4 改進(jìn)算法的效率 6.1.5 在各個可選方案中選擇 6.2 計算最大公約數(shù) 6.2.1 brute-force算法 6.2.2 歐幾里德算法 6.2.3 歐幾里德算法的正確性說明(可選) 6.2.4 比較GCD算法的效率 6.3 數(shù)值算法 6.3.1 連續(xù)逼近 6.3.2 報告錯誤 6.4 級數(shù)展開 6.4.1 Zeno悖論 6.4.2 用級數(shù)展開法設(shè)計平方根函數(shù) 6.4.3 估計平方根的泰勒級數(shù)展開(可選) 6.4.4 泰勒級數(shù)近似的實現(xiàn) 6.4.5 停留在收斂半徑之內(nèi) 6.5 指定數(shù)值類型的大小 6.5.1 整數(shù)類型 6.5.2 無符號類型 6.5.3 浮點類型 小結(jié) 復(fù)習(xí)題 程序設(shè)計練習(xí) 第二部分 庫和模塊化開發(fā)……第三部分 復(fù)合數(shù)據(jù)類型附錄
媒體關(guān)注與評論
本書是一本計算機(jī)科學(xué)的經(jīng)典教材,強(qiáng)調(diào)軟件工程和優(yōu)秀的程序設(shè)計風(fēng)格。此外,學(xué)生還可以從書中學(xué)習(xí)到ANSI C的基礎(chǔ)知識,這些內(nèi)容已經(jīng)成為計算機(jī)行業(yè)的標(biāo)準(zhǔn)。作者的寫作風(fēng)格使得書中深奧的概念變得易于理解和引人入勝。 本書集中討論庫和抽象的用法,這是當(dāng)代程序設(shè)計技術(shù)中最基本的知識。作者使用庫來隱藏C語言的復(fù)雜性,更加突出主題,使學(xué)生可以較好地掌握每一個主題的精髓。然后,進(jìn)一步給出每個庫的底層實現(xiàn),較好地展示了自身的抽象威力?! ”緯鴱幕A(chǔ)開始講起,是C語言的入門教材。本書已經(jīng)被美國斯坦福大學(xué)、哥倫比亞大學(xué)等多所大學(xué)和學(xué)院成功采用,在國內(nèi)已被上海交通大學(xué)采用,是一本適合高等院校計算機(jī)及相關(guān)專業(yè)使用的優(yōu)秀教材?! ∽g者序 隨著計算機(jī)產(chǎn)業(yè)的迅速發(fā)展,對計算機(jī)專業(yè)人才的需求也日益迫切。而程序設(shè)計是所有計算機(jī)專業(yè)人才必備的基礎(chǔ)知識和技能。俗話說“萬事開頭難”,如何使學(xué)生順利地進(jìn)入程序設(shè)計的大門,如何熟悉和精通程序設(shè)計,也是計算機(jī)專業(yè)教學(xué)的難題?! ”緯且槐居嬎銠C(jī)科學(xué)的經(jīng)典教材,是作者二十多年來從事計算機(jī)教學(xué)的經(jīng)驗的總結(jié),它提供了豐富的計算機(jī)科學(xué)的基礎(chǔ)知識和程序設(shè)計的專門知識。本書具有鮮明的特色。首先,用ANSI C作為教學(xué)語言。C語言是目前使用最廣泛的教學(xué)語言,選用C語言可以使學(xué)生畢業(yè)后很快就能投入實際工作,并為學(xué)習(xí)C++和面向?qū)ο蟮恼Z言鋪平了道路。第二,采用了基于庫函數(shù)的方法,強(qiáng)調(diào)抽象的原則。本書相當(dāng)詳細(xì)地介紹了庫和模塊化開發(fā),介紹了如何通過庫隱藏程序的復(fù)雜性,這些是現(xiàn)代程序設(shè)計的基本概念。第三,在程序設(shè)計中最重要的是從陳述問題過渡到解決問題,本書以通俗易懂的方式講述了這一過程,使學(xué)生能輕松而有趣地學(xué)習(xí)程序設(shè)計?! 〕绦蛟O(shè)計既是一門科學(xué),也是一門藝術(shù)。學(xué)習(xí)良好的程序設(shè)計需要掌握很多知識,而不只是記住一組規(guī)則。必須通過實踐以及閱讀其他程序來學(xué)習(xí)。本書包括大量的程序?qū)嵗?,這些實例說明了如何用C語句建立一個完整的程序,如何培養(yǎng)良好的程序設(shè)計風(fēng)格。每章都用豐富的復(fù)習(xí)題作為知識點的總結(jié),并包含大量的程序設(shè)計練習(xí)讓讀者自己動手做更多的程序設(shè)計項目?! ≌且驗楸緯哂械纳鲜鰞?yōu)點,我們認(rèn)為把本書譯成中文能讓更多的學(xué)生從中獲益,從而打下扎實的程序設(shè)計的基礎(chǔ)?! ⒓颖緯g工作的有翁惠玉、張冬茉、楊鑫和蔣文新,由翁惠玉對全書進(jìn)行審校。本書也是上海交通大學(xué)《程序設(shè)計》課程所選用的教材。在翻譯過程中得到了整個課程小組十多位教師的大力幫助,在此表示衷心的感謝。由于時間和水平的限制,書中難免有錯漏之處,敬請讀者指正?! ∽g者 2004年8月
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載