出版時間:2010-3 出版社:人民郵電出版社 作者:K. N. King 頁數(shù):600 譯者:呂秀鋒,黃倩
Tag標(biāo)簽:無
前言
在計算領(lǐng)域中,把顯而易見的轉(zhuǎn)變?yōu)橛袑嵱脙r值的,這一過程是“挫折”一詞的生動體現(xiàn)。 自本書第1版出版以來,基于C的語言大量興起(其中最杰出的代表是Java和C#),已有的C++和Perl等相關(guān)語言也取得了更大的成就。盡管如此,C語言仍然像當(dāng)年一樣流行,仍然悄無聲息地掌控著世界上的許多軟件。跟1996年一樣,C語言仍然是計算機領(lǐng)域里的通用語言。 但即便是C語言也必須隨著時間而發(fā)展。C99標(biāo)準(zhǔn)的發(fā)布催生了對本書新版的需求,而且,第1版涉及的DOS和16位處理器也已經(jīng)趨于過時。本版對內(nèi)容進(jìn)行了全面更新,并在其他許多方面進(jìn)行了改進(jìn)。 本版新增內(nèi)容 下面列出了本版的新特色和所做的改進(jìn)。 完整地覆蓋了C89標(biāo)準(zhǔn)和C99標(biāo)準(zhǔn)。本版和第1版最大的差別就在于覆蓋了C99標(biāo)準(zhǔn)。我的目標(biāo)是覆蓋C89和C99之間的每一個重要差別,包括C99新增的所有語言特性和庫函數(shù)。C99中的每一處改變都會清楚地標(biāo)出來,或者在小節(jié)標(biāo)題中加上“C99”字樣,或者在討論比較簡短時在正文的左邊空白處用一個專門的圖標(biāo)表示。我這樣做有兩個目的:一是提醒讀者注意C99中的改變,二是讓那些對C99不感興趣或沒有C99編譯器的讀者知道哪些內(nèi)容可以跳過。C99新增的許多內(nèi)容可能只有特定的讀者會感興趣,但有些新特性幾乎對所有的C程序員都有用。 提供了對所有C89和C99庫函數(shù)的快速參考。第1版中附錄D介紹了C89的所有標(biāo)準(zhǔn)庫函數(shù),本版的附錄D給出了C89和C99的所有庫函數(shù)。 擴展了GCC的內(nèi)容。自本書第1版出版以來,GCC(最初是GNU C Compiler的簡稱,現(xiàn)在指GNU Compiler Collection)得到了廣泛應(yīng)用。GCC有很多優(yōu)點,包括高性能、低成本(不用花錢)以及在眾多軟硬件平臺之間的可移植性等。由于認(rèn)識到GCC日漸重要,我在本版中介紹了更多與GCC相關(guān)的信息,包括如何使用GCC以及常見的GCC錯誤消息和警告。 增加了對抽象數(shù)據(jù)類型的討論。在第1版中,第19章重點討論了C++。這部分內(nèi)容現(xiàn)在看起來似乎作用不大,因為本書的讀者可能已經(jīng)學(xué)過C++、Java或者C#了。在本版中,對C++的介紹替換為討論如何在C中建立抽象數(shù)據(jù)類型。 擴展了國際化特性的內(nèi)容。本版第25章更加詳盡地討論了C語言的國際化特性。重點擴展了Unicode字符集及編碼。 針對CPU和操作系統(tǒng)做了更新。當(dāng)我編寫本書第1版時,許多讀者用的還是16位機和DOS操作系統(tǒng),但現(xiàn)在情況不同了。在本版中,我把討論的重點放在32位機和64位機上。盡管本版也介紹了Windows和Mac OS操作系統(tǒng)中影響C程序員的方面,但是針對Linux和其他UNIX版本的出現(xiàn),我們的討論更側(cè)重于后一個系列的操作系統(tǒng)。
內(nèi)容概要
時至今日,C語言仍然是計算機領(lǐng)域的通用語言之一,但今天的C語言已經(jīng)和最初的時候大不相同了。本書最主要的一個目的就是通過一種“現(xiàn)代方法”來介紹C語言,書中強調(diào)標(biāo)準(zhǔn)C,強調(diào)軟件工程,不再強調(diào)“手工優(yōu)化”。這一版中緊密結(jié)合了C99標(biāo)準(zhǔn),并與C89標(biāo)準(zhǔn)進(jìn)行對照,補充了C99中的最新特性。本書分為C語言的基礎(chǔ)特性、C語言的高級特性、C語言標(biāo)準(zhǔn)庫和參考資料4個部分。每章末尾都有一個“問與答”小節(jié)給出一系列與該章內(nèi)容相關(guān)的問題及答案,此外還包含適量的習(xí)題?! ”緯菫榇髮W(xué)本科階段的C語言課程編寫的教材,同時也非常適合作為其他課程的輔助用書。 作者簡介:K.N.King 世界知名的計算機程序設(shè)計教育家,佐治亞州立大學(xué)數(shù)學(xué)與計算機科學(xué)系副教授。耶魯大學(xué)計算機科學(xué)碩士,加州大學(xué)伯克利分校計算機科學(xué)博士,曾任教于佐治亞理工學(xué)院。除本書外,他還撰寫了廣受歡迎的教材Java Programming:From the Beginning,并在Dr.Dobb's Journal等權(quán)威雜志上發(fā)表了許多論文。業(yè)余時間,King教授還在多部電影中扮演過角色。
作者簡介
作者:(美國)金(K.N.King) 譯者:呂秀鋒 黃倩K. N. King 世界知名的計算機程序設(shè)計教育家,現(xiàn)為佐治亞州立大學(xué)數(shù)學(xué)與計算機科學(xué)系副教授。他擁有耶魯大學(xué)計算機科學(xué)碩士學(xué)位,加州大學(xué)伯克利分校計算機科學(xué)博士學(xué)位,曾任教于佐治亞理工學(xué)院。除本書外,他還撰寫了廣受歡迎的著作Modula-2: A Complete Guide 和Java Programming: From the Beginning,并在Dr.Dobb's Journal等權(quán)威雜志上發(fā)表了許多文章。呂秀鋒,亞洲理工大學(xué)(AIT)計算機軟件碩士,現(xiàn)為北京理工大學(xué)軟件學(xué)院教師。多年來一直從事“計算機基礎(chǔ)(雙語)”、“C語言程序設(shè)計(雙語)”以及“程序設(shè)計開發(fā)與實踐”等本科生課程的教學(xué)工作,深受學(xué)生歡迎。她還譯有《數(shù)據(jù)結(jié)構(gòu)與算法:C#語言描述》一書。黃倩,中國科學(xué)院計算技術(shù)研究所工學(xué)博士,中國計算機學(xué)會會員。研究方向包括視頻處理、視頻監(jiān)控等,已在知名的國際期刊和國際會議論文集上發(fā)表10篇論文。譯有《編程珠璣(第2版)》一書,受到讀者歡迎。
書籍目錄
第1章 C語言概述 第2章 C語言基本概念 第3章 格式化輸入/輸出 第4章 表達(dá)式 第5章 選擇語句 第6章 循環(huán) 第7章 基本類型 第8章 數(shù)組 第9章 函數(shù) 第10章 程序結(jié)構(gòu) 第11章 指針 第12章 指針和數(shù)組 第13章 字符串 第14章 預(yù)處理器 第15章 編寫大型程序 第16章 結(jié)構(gòu)、聯(lián)合和枚舉 第17章 指針的高級應(yīng)用 第18章 聲明 第19章 程序設(shè)計 第20章 底層程序設(shè)計 第21章 標(biāo)準(zhǔn)庫 第22章 輸入/輸出 第23章 庫對數(shù)值和字符數(shù)據(jù)的支持 第24章 錯誤處理 第25章 國際化特性 第26章 其他庫函數(shù) 附錄A C語言運算符 附錄B C99與C89的比較 附錄C C89與經(jīng)典C的比較 附錄D 標(biāo)準(zhǔn)庫函數(shù) 附錄E ASCII字符集 參考文獻(xiàn) 索引
章節(jié)摘錄
插圖:C語言的輸入/輸出庫是標(biāo)準(zhǔn)庫中最大且最重要的部分。由于輸入/輸出是C語言的高級應(yīng)用,因此這里將用一整章(本書中最長的一章)來討論頭——輸入/輸出函數(shù)存放的主要地方。從第2章開始,我們已經(jīng)在使用了,而且已經(jīng)對printf函數(shù)、scanf函數(shù)、putchar函數(shù)、getchar函數(shù)、puts函數(shù)以及gets函數(shù)的使用有了一定的了解。本章會提供更多有關(guān)這6個函數(shù)的信息,并介紹一些新的用于文件處理的函數(shù)。值得高興的是,許多新函數(shù)和我們已經(jīng)熟知的函數(shù)有著緊密的聯(lián)系。例如,printf函數(shù)就是printf函數(shù)的“文件版”。本章的開始將會討論一些基本問題:流的概念、FILE類型、輸入和輸出重定向以及文本文件和二進(jìn)制文件的差異(22.1節(jié))。隨后將轉(zhuǎn)入討論特別為使用文件而設(shè)計的函數(shù),包括打開和關(guān)閉文件的函數(shù)(22.2節(jié))。在討論完printf函數(shù)、scanf函數(shù)以及與“格式化”輸入/輸出相關(guān)的函數(shù)(22.3節(jié))以后,我們將著眼于讀/寫非格式化數(shù)據(jù)的函數(shù)?!っ看巫x寫一個字符的getc函數(shù)、putc函數(shù)以及相關(guān)的函數(shù)(22.4節(jié))?!っ看巫x寫一行字符的gets函數(shù)、puts函數(shù)以及相關(guān)的函數(shù)(22.5節(jié))?!ぷx/寫數(shù)據(jù)塊的fread函數(shù)和fwri七e函數(shù)(22.6節(jié))。隨后,22.7節(jié)會說明如何對文件上執(zhí)行隨機的訪問操作。最后,22.8節(jié)會描述sprintf函數(shù)、snpr·intf函數(shù)和sscanf函數(shù),它們是printf函數(shù)和scan£函數(shù)的變體,后兩者分別用于寫入和讀取一個字符串。本章涵蓋了中的絕大部分函數(shù),但忽略了其中8個函數(shù)。perror函數(shù)是這8個函1數(shù)中的一個,它與頭緊密相關(guān),所以我把它推遲到24.2節(jié)討論頭時進(jìn)行介紹。26.1節(jié)涵蓋了其余7個函數(shù)(vfprintf、vprintf、vsprintf、vsnprintf、vfscanf、vscanf和vsscanf)。這些函數(shù)依賴于valist類型,該類型在26.1節(jié)介紹。在C89r扣,所有的標(biāo)準(zhǔn)輸入/輸出函數(shù)都屬于但C99有所不同,有些輸入/輸出函數(shù)在.頭(25.5節(jié))中聲明。中的函數(shù)用于處理寬字符而不是普通字符,但大多數(shù)函數(shù)與中的函數(shù)緊密相關(guān)。中用于讀或?qū)憯?shù)據(jù)的函數(shù)稱為宇節(jié)輸入/輸出函數(shù),而中的類似函數(shù)則稱為寬字符輸入/輸出函數(shù)。
媒體關(guān)注與評論
“我完全沉浸在閱讀的過程中,我迫切地想用這本書作為授課教材?!薄 狵aren Reid,多倫多大學(xué)計算機科學(xué)系資深講師 “我將這本書用作工程系新生的教材。它語言簡潔,闡述清晰,并且覆蓋了C語言的方方面面,非常適用于初學(xué)者。“ ——Maekus Bussmann,多倫多大學(xué)機械工業(yè)工程系教授 “這是我目前讀到過的一本最好的C語言書籍,15年前如果有這本書的話,我大概會少走很多彎路?!啊 泳W(wǎng)讀者評論
編輯推薦
《C語言程序設(shè)計:現(xiàn)代方法(第2版)》是C語言的經(jīng)典之作,被譽為“近10年來最好的一部C語言著作”。書中討論了標(biāo)準(zhǔn)C和C標(biāo)準(zhǔn)庫的全部特性,包括信號、setjmp/longjmp和可變參數(shù)列表等其他書中很少涉及的內(nèi)容。全書由易而難、循序漸進(jìn)、螺旋式地講述C語言,很好地處理了指針和位運算等難點。第2版覆蓋了C99標(biāo)準(zhǔn),并提供了對所有C99庫函數(shù)的參考,還擴展了GCC的內(nèi)容,增加了對抽象數(shù)據(jù)類型的討論,并針對新CPU和操作系統(tǒng)做了更新?!禖語言程序設(shè)計:現(xiàn)代方法(第2版)》尤為強調(diào)軟件工程和現(xiàn)代編程理念,在知識的闡述中突出工業(yè)界的最佳實踐、實際經(jīng)驗和編程風(fēng)格,使讀者能夠合理運用所學(xué),編寫出可讀性好、可靠性高和容易維護(hù)的代碼。書中精心選擇了近500道習(xí)題,貼近實戰(zhàn),與敘述文字相得益彰。目前《C語言程序設(shè)計:現(xiàn)代方法(第2版)》已被全球200多所學(xué)校采用為教材,包括哈佛大學(xué)、麻省理工學(xué)院、斯坦福大學(xué)、加州大學(xué)伯克利分校、耶魯大學(xué)、加州理工學(xué)院等諸多名校。
名人推薦
“我完全沉浸在閱讀的過程中,我迫切地想用這本書作為授課教材。” ——Karen Reid,多倫多大學(xué)計算機科學(xué)系資深講師 “我將這本書用作工程系新生的教材。它語言簡潔,闡述清晰,并且覆蓋了C語言的方方面面,非常適用于初學(xué)者?!? ——Maekus Bussmann,多倫多大學(xué)機械工業(yè)工程系教授 “這是我目前讀到過的一本最好的C語言書籍,15年前如果有這本書的話,我大概會少走很多彎路?!? ——互動網(wǎng)讀者評論
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載