C程序設(shè)計(第3版)(新世紀(jì)計算機基礎(chǔ)教育叢書(譚浩強主編))
定 價:34.5 元
- 作者:譚浩強 著
- 出版時間:2005/7/1
- ISBN:9787302108535
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:H31
- 頁碼:378
- 紙張:膠版紙
- 版次:3
- 開本:16開
C語言是國內(nèi)外廣泛使用的計算機語言,學(xué)會使用C語言進行程序設(shè)計是計算機工作者的一項基本功。
《新世紀(jì)計算機基礎(chǔ)教育叢書:C程序設(shè)計(第3版)》的第一版于1991年出版,第二版于1999年出版。由于本書作者具有豐富的教學(xué)經(jīng)驗和編寫教材的經(jīng)驗,并針對初學(xué)者的特點。精心策劃、準(zhǔn)確定位,使得本書概念清晰、例題豐富、深入淺出,受到專家和讀者的一致好評。本書被普遍認(rèn)為是學(xué)習(xí)C語言的好教材,并被全國大多數(shù)高校選用。十多年來本書累計發(fā)行了800多萬冊,創(chuàng)同類書的全國最高記錄,是學(xué)習(xí)C語言的主流用書。本書曾榮獲原電子工業(yè)部優(yōu)秀教材一等獎、高校出版社優(yōu)秀暢銷書特等獎、全國高等院校計算機基礎(chǔ)教育研究會優(yōu)秀教材一等獎。
根據(jù)發(fā)展的需要,作者對本書進行了再修訂,使本書更加完善,更便于學(xué)習(xí)。書中全部例題中的程序均已調(diào)試通過。
《新世紀(jì)計算機基礎(chǔ)教育叢書:C程序設(shè)計(第3版)》內(nèi)容新穎、體系合理、邏輯性強、文字流暢、通俗易懂,是學(xué)習(xí)C語言的理想教材。凡具有計算機初級知識的讀者都能讀懂本書。本書可作為高等學(xué)校各專業(yè)的正式教材,也是一本自學(xué)的好教材。
C程序設(shè)計(第3版)(新世紀(jì)計算機基礎(chǔ)教育叢書(譚浩強主編))
C++程序設(shè)計基礎(chǔ)教程學(xué)生用書(清華大學(xué)計算機基礎(chǔ)教育課程系列教材)
全國高校出版社優(yōu)秀暢銷書特等獎。累計發(fā)行逾1250萬冊,創(chuàng)同類書的全國最高記錄,是學(xué)習(xí)C語言的主流用書,計算機教育史上的奇跡。本書提供ppt課件和源代碼。本書已出新版C程序設(shè)計題解與上機指導(dǎo)(第3版)C程序設(shè)計試題匯編(第二版)
C語言是在國內(nèi)外廣泛使用的一種計算機語言。C語言功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,因此特別適合于編寫系統(tǒng)軟件。C語言誕生后,許多原來用匯編語言編寫的軟件,現(xiàn)在可以用C語言編寫了(例如,著名的UNIX操作系統(tǒng)就是用C語言編寫的),而學(xué)習(xí)和使用C語言要比學(xué)習(xí)和使用匯編語言容易得多。
近年來,C語言不僅為計算機專業(yè)工作者所使用,而且為廣大計算機應(yīng)用人員(包括大量原來是非計算機專業(yè)的使用計算機的人們)所喜愛和使用。許多高等學(xué)校,不僅在計算機
C語言是在國內(nèi)外廣泛使用的一種計算機語言。C語言功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,因此特別適合于編寫系統(tǒng)軟件。C語言誕生后,許多原來用匯編語言編寫的軟件,現(xiàn)在可以用C語言編寫了(例如,著名的UNIX操作系統(tǒng)就是用C語言編寫的),而學(xué)習(xí)和使用C語言要比學(xué)習(xí)和使用匯編語言容易得多。
近年來,C語言不僅為計算機專業(yè)工作者所使用,而且為廣大計算機應(yīng)用人員(包括大量原來是非計算機專業(yè)的使用計算機的人們)所喜愛和使用。許多高等學(xué)校,不僅在計算機專業(yè)開設(shè)了C語言課程,而且在非計算機專業(yè)也開設(shè)了C語言課程。全國計算機等級考試、全國計算機應(yīng)用技術(shù)證書考試(NIT)和全國各地區(qū)組織的大學(xué)生計算機統(tǒng)一考試都將C語言列入了考試范圍。許多人用它編寫應(yīng)用軟件。學(xué)習(xí)C語言已經(jīng)成為廣大計算機應(yīng)用人員和廣大青年學(xué)生的迫切要求。
由于C語言牽涉的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯,不少初學(xué)者感到困難,迫切希望有一本容易入門、容易學(xué)習(xí)的C語言教材。在許多同志的鼓勵和督促下,作者于1991年編寫了《C程序設(shè)計》,由清華大學(xué)出版社出版,以期拋磚引玉。該書針對初學(xué)者的特點和認(rèn)知規(guī)律,精選內(nèi)容,分散難點,降低臺階,例題豐富,通過深入淺出地敘述,闡明了復(fù)雜的概念,力求做到內(nèi)容新穎、概念清晰、實用性強、通俗易懂。該書出版后受到廣大讀者的熱烈歡迎,許多讀者說“C語言原來是比較難學(xué)的,但自從《C程序設(shè)計》出版后,C語言變得不難學(xué)了”,“作者深入淺出地敘述,使我們對C語言由害怕到興趣盎然”。1999年,作者對本書進行了修訂,使之進一步完善,出版了本書的第二版。十多年來,該書累計發(fā)行了700多萬冊,平均每年印刷50萬冊,居全國同類書的首位。全國大多數(shù)高校把本書作為正式教材。許多高校的研究生入學(xué)考試都指定本書為必讀教材,國內(nèi)許多介紹C語言的書籍以本書為藍本,許多在職干部和計算機愛好者通過自學(xué)本書掌握了C語言程序設(shè)計。在推廣普及計算機程序設(shè)計過程中,本書成為廣大初學(xué)者學(xué)習(xí)C語言程序設(shè)計的主流用書。本書曾榮獲原電子工業(yè)部優(yōu)秀教材一等獎、全國高等院校計算機基礎(chǔ)教育研究會優(yōu)秀教材一等獎、高校出版社優(yōu)秀暢銷書特等獎。這是對我的莫大鼓勵和鞭策。我深切地感受到廣大讀者對作者的殷切期望。
根據(jù)計算機科學(xué)技術(shù)的發(fā)展和教學(xué)實踐的需要,作者對《C程序設(shè)計》一書再次進行了修訂,出版第三版。第三版保持了第一版的寫作風(fēng)格,保留了通俗易懂的特點,并在以下幾方面做了修改。
(1) 在本書的前兩版中,采用Turbo C 2.0對程序進行編譯。由于近年來,大多數(shù)人習(xí)慣使用Windows操作系統(tǒng)的圖形界面,用鼠標(biāo)進行操作,感到用Turbo C 2.0不大方便。在第三版中改用Turbo C++ 3.0作為編譯工具。Turbo C++ 3.0雖然是基于DOS界面的,但它支持鼠標(biāo)操作,可以在Windows環(huán)境下方便地使用。它的使用方法與Turbo C類似。用過Turbo C的人很容易掌握Turbo C++ 3.0。Turbo C++本來是用來編譯C++程序的,由于C++是從C語言發(fā)展而來的,C++對C語言是兼容的,用C語言編寫的程序可以用C++編譯系統(tǒng)進行編譯。在與本書配套的《C程序設(shè)計題解與上機指導(dǎo)》(第三版)中還介紹了Visual C++ 6.0對C程序的編譯方法。讀者也可以使用Visual C++ 6.0。這樣也有利于讀者今后向C++過渡。
本書的例題程序是用Turbo C++ 3.0或Visual C++ 6.0進行編譯的。用C++編譯系統(tǒng)時,對程序要求更加規(guī)范。例如,在定義和聲明函數(shù)時,必須指定函數(shù)類型;程序中如果用到系統(tǒng)提供的庫函數(shù)(包括printf和scanf函數(shù)),都必須在程序文件的開頭用#include命令將有關(guān)頭文件包含進來。因此,本書的程序基本上采用下面的形式:#include /* 如果程序中用到系統(tǒng)提供的輸入輸出函數(shù) */
void main() /* 要求指定main函數(shù)的類型 */
{
}(2) 對各章內(nèi)容和表述進行了細(xì)致的修改,調(diào)整了部分內(nèi)容和例題,使讀者更容易理解。
(3) 本書第二版的14章和15章介紹C++的初步知識。由于作者已出版了《C++程序設(shè)計》(清華大學(xué)出版社出版),對C++做了全面、詳細(xì)的介紹,讀者如需了解和學(xué)習(xí)C++,可以參考該書,同時為了壓縮篇幅,在第三版中不再保留這兩章的內(nèi)容。
相信修訂后的第三版會更加符合讀者的需要。
關(guān)于怎樣學(xué)習(xí)程序設(shè)計,作者提出以下幾點看法。
(1) 近年來,有一些面向?qū)ο蟮挠嬎銠C語言陸續(xù)問世,受到歡迎。有些人認(rèn)為面向過程的C語言已經(jīng)過時了,不必學(xué)了。這是一種誤解。不應(yīng)把面向?qū)ο蠛兔嫦蜻^程對立起來,在面向?qū)ο蟪绦蛟O(shè)計中仍然要用到面向過程的知識。作為計算機程序開發(fā)人員,既要掌握面向?qū)ο蟪绦蛟O(shè)計的知識,又要掌握面向過程程序設(shè)計的知識。面向過程程序設(shè)計仍然是計算機工作者的基本功。
C++是為開發(fā)大型程序而研制的,它比C語言要復(fù)雜得多,學(xué)習(xí)C++也比學(xué)習(xí)C語言困難得多。事實上,將來并不是每個人都需要用C++編制大型程序。對于計算機專業(yè)人員,學(xué)習(xí)和使用C++是理所當(dāng)然的。對于非計算機專業(yè)人員,可以先學(xué)習(xí)C語言,打下程序設(shè)計的基礎(chǔ),在以后需要時再學(xué)習(xí)和使用C++。有了C語言基礎(chǔ),再學(xué)習(xí)C++就容易多了。也可以在學(xué)習(xí)C語言的基礎(chǔ)上,再學(xué)習(xí)一些面向?qū)ο蟪绦蛟O(shè)計的初步知識,為以后進一步學(xué)習(xí)和使用C++打下基礎(chǔ)。
目前,國內(nèi)外的高等學(xué)校都把C語言程序設(shè)計作為一門重要的課程,我國各種計算機統(tǒng)一考試都包括C語言程序設(shè)計的科目。
現(xiàn)在大多數(shù)高校把C語言作為第一門計算機語言進行教學(xué),這是可行的,學(xué)生是能夠?qū)W習(xí)好的。
(2) 在學(xué)校中,學(xué)習(xí)程序設(shè)計課程的目的是掌握設(shè)計程序的思路,學(xué)會用計算機語言編寫程序,以實現(xiàn)所需處理的任務(wù)。要正確處理算法與語法的關(guān)系,算法是程序的核心、是靈魂,語法是外殼、是工具。不應(yīng)把學(xué)習(xí)重點放在語法規(guī)則上,語法是重要的,不掌握語法規(guī)則就無法編寫出正確的程序,但是只學(xué)會語法,甚至能把語法背得滾瓜爛熟,也不可能編寫出好的程序。一定要把重點放在解題的思路上,通過大量的例題學(xué)習(xí)怎樣設(shè)計一個算法,構(gòu)造一個程序。在學(xué)習(xí)開始時更不要在語法細(xì)節(jié)上死背死摳。請記住: 重要的是學(xué)會編程序,而不是背語法。一開始就要學(xué)會看懂程序,編寫簡單的程序,然后逐步深入。有一些語法細(xì)節(jié)是需要通過較長期的實踐才能熟練地掌握的。初學(xué)時,切忌過早地濫用C語言的某些容易引起錯誤的細(xì)節(jié)(如不適當(dāng)?shù)厥褂?+和--的副作用)。
(3) 不能設(shè)想今后一輩子只使用在學(xué)校里學(xué)過的某一種語言。但是,無論用哪一種語言進行程序設(shè)計,其基本規(guī)律是一樣的。在學(xué)習(xí)時一定要學(xué)活用活,舉一反三,掌握規(guī)律,在以后需要時能很快地掌握其他新的語言進行工作。
(4) 在學(xué)校學(xué)習(xí)階段,主要是學(xué)習(xí)程序設(shè)計的方法,進行程序設(shè)計的基本訓(xùn)練,打下將來進一步學(xué)習(xí)的基礎(chǔ)。對多數(shù)學(xué)生來說,不可能通過幾十小時的學(xué)習(xí),由一個門外漢變成編程高手,編寫出大型而實用的程序。學(xué)習(xí)程序設(shè)計課程時,應(yīng)該把精力放在最基本、最常用的內(nèi)容上,學(xué)好基本功。如果對學(xué)生有較高的程序設(shè)計要求,應(yīng)當(dāng)在學(xué)習(xí)本課程后,安排一次集中的課程設(shè)計環(huán)節(jié),按照實際工作的要求,完成有一定規(guī)模的程序設(shè)計。
(5) 程序設(shè)計是一門實踐性很強的課程,既要掌握概念,又要動手編程,還要上機調(diào)試運行,希望讀者一定要重視實踐環(huán)節(jié),包括編程和上機。既會編寫程序,又會調(diào)試程序。衡量這門課學(xué)習(xí)的好壞,不是看你“知不知道”,而是“會不會干”。 考核的方法不能主要用是非題和選擇題,而應(yīng)當(dāng)把重點放在編制程序和調(diào)試程序上。
(6) 使用哪一種編譯系統(tǒng)并不是原則問題,重要的是編程能力的培養(yǎng)。程序編好以后,用哪一種編譯系統(tǒng)進行編譯都可以。讀者不應(yīng)該只會用某一種編譯環(huán)境,應(yīng)當(dāng)了解、接觸和使用不同的編譯環(huán)境。不同的編譯系統(tǒng),其功能和使用方法有些不同,編譯時給出的信息也不完全相同,要注意參閱使用說明書,特別要在使用中積累經(jīng)驗,舉一反三。
為了幫助讀者學(xué)習(xí)本書,作者還編了一本《C程序設(shè)計題解與上機指導(dǎo)》(第三版),提供本書中各章習(xí)題的參考答案,以及上機實習(xí)指導(dǎo)。該書由清華大學(xué)出版社于2005年出版。
作者從事計算機教育和計算機普及工作二十多年,最深刻的體會是:作者心中要永遠(yuǎn)裝著讀者,要處處為讀者考慮,要和讀者將心比心。我的心中經(jīng)常浮現(xiàn)出千萬讀者殷切期望的目光。讀者熱切地期望作者能為他們寫出一批好書,使他們的學(xué)習(xí)能事半功倍。作者多年來以此來鞭策自己,希望能摸索出一些能減少初學(xué)者困難的方法,并做了一些探索和嘗試。要寫好一本書,是不容易的。要深入了解自己工作的對象,有的放矢,準(zhǔn)確定位;要根據(jù)應(yīng)用的需要,合理取舍,精選內(nèi)容;要認(rèn)真研究學(xué)習(xí)者的認(rèn)識規(guī)律,采用讀者容易理解的方法,深入淺出,通俗易懂;要善于把復(fù)雜問題簡單化,而不能把簡單問題復(fù)雜化。寫書不僅是簡單地把有關(guān)的技術(shù)內(nèi)容告訴讀者,而且要考慮怎樣寫才能使讀者容易理解。要下很大的功夫,有時為了找到一個好的例子或一個通俗的比喻,苦苦思索好幾天,每一句話都要反復(fù)斟酌推敲,總是努力把每一本書都做成精品。作為教師和作者,可以不計較自己的作品是否獲獎,但是應(yīng)當(dāng)努力使自己的作品得到千萬讀者的認(rèn)可和贊譽,成為事實上的精品,這才是最高的獎賞。
最后,對多年來關(guān)心支持本書和本書作者的領(lǐng)導(dǎo)和朋友們表示由衷地感謝。尤其是原全國政協(xié)副主席、國務(wù)委員、科委主任、中國工程院院長宋健院士,中國計算機學(xué)會名譽理事長、中國科學(xué)院資深院士張效祥先生等前輩給予作者有力地支持和指導(dǎo)。全國高等院校計算機基礎(chǔ)教育研究會多年來始終全力支持和幫助作者在計算機教育和計算機普及領(lǐng)域所從事的工作。全國高校廣大教師多年來和我共同奮斗,千萬讀者每時每刻都給予我巨大的、寶貴的關(guān)心和支持。清華大學(xué)出版社十幾年始終密切合作與支持。沒有這一切,我不可能取得今天的成就。我永遠(yuǎn)感謝曾經(jīng)幫助和支持過我的、相識的和不相識的同志和朋友。
譚亦峰工程師參加了本書部分章節(jié)的編寫和程序調(diào)試工作。由于作者水平有限,本書肯定會有不少缺點和不足,熱切期望得到專家和讀者的批評指正。
譚浩強
2005年春節(jié)于清華園
譚浩強,教授,我國著名計算機教育專家。1934年生,廣東臺山人。1985年清華大學(xué)自動控制系畢業(yè)。學(xué)生時代曾擔(dān)任清華大學(xué)學(xué)生會主席、北京市人民代表。他是我國計算機普及和高校計算機基礎(chǔ)教育開拓者之一,現(xiàn)任全國高等院校計算機基礎(chǔ)教育研究會會長、教育部一國計算機應(yīng)用技術(shù)證書考試委員會主任委員和教育部全國計算機等級考試委員會副主任。
他創(chuàng)造了3個世界記錄:(1)20年來他(及和他人合作)共編著出版了140本計算機著作,此外主編了300多本計算機書籍,是出版科技著作數(shù)量最多的人。(2)他編著和主編的書發(fā)行量超過5000萬冊,是讀者最多的科技作家。我國平均每26人、知識分子每1.5人就擁有1本譚浩強編著的書。(3)他和別人合作編著的《BASIC語言》發(fā)行了1250萬冊,創(chuàng)科技書籍發(fā)行量的世界記錄。此外他編著的《C程序設(shè)計》發(fā)行了700萬冊,在中央電視臺系統(tǒng)地向全國講授了BASIC、C、FORTRAN、COBOL、PASCAL、Visual Basic共7種計算機語言,觀眾超過500萬人。
在我國學(xué)習(xí)計算機的人中很少有人不知道譚浩強的名字的。他善于用讀者容易理解的方法和語言說明復(fù)雜的概念。許多人認(rèn)為他“開創(chuàng)了計算機書籍貼近大眾的新風(fēng)”,為 譚浩強,教授,我國著名計算機教育專家。1934年生,廣東臺山人。1985年清華大學(xué)自動控制系畢業(yè)。學(xué)生時代曾擔(dān)任清華大學(xué)學(xué)生會主席、北京市人民代表。他是我國計算機普及和高校計算機基礎(chǔ)教育開拓者之一,現(xiàn)任全國高等院校計算機基礎(chǔ)教育研究會會長、教育部一國計算機應(yīng)用技術(shù)證書考試委員會主任委員和教育部全國計算機等級考試委員會副主任。
他創(chuàng)造了3個世界記錄:(1)20年來他(及和他人合作)共編著出版了140本計算機著作,此外主編了300多本計算機書籍,是出版科技著作數(shù)量最多的人。(2)他編著和主編的書發(fā)行量超過5000萬冊,是讀者最多的科技作家。我國平均每26人、知識分子每1.5人就擁有1本譚浩強編著的書。(3)他和別人合作編著的《BASIC語言》發(fā)行了1250萬冊,創(chuàng)科技書籍發(fā)行量的世界記錄。此外他編著的《C程序設(shè)計》發(fā)行了700萬冊,在中央電視臺系統(tǒng)地向全國講授了BASIC、C、FORTRAN、COBOL、PASCAL、Visual Basic共7種計算機語言,觀眾超過500萬人。
在我國學(xué)習(xí)計算機的人中很少有人不知道譚浩強的名字的。他善于用讀者容易理解的方法和語言說明復(fù)雜的概念。許多人認(rèn)為他“開創(chuàng)了計算機書籍貼近大眾的新風(fēng)”,為我國的計算機普及畫來作出了重要貢獻。
譚浩強教授獲全國高校教學(xué)成果獎(國家能獎)、國家科技進步獎,北京市政府授予“有突出貢獻專家稱號”。全國政協(xié)副主席、中國工程院院長宋健為他題詞,知名人士他為“教授計算技術(shù)的大師,普及現(xiàn)代科技之巨擘”!队嬎銠C世界》報組織的“世紀(jì)評選”指導(dǎo)他評為我國“20世紀(jì)最有影響的IT人物”10個人之一(排在第2位)。他的功績是把千百萬群眾帶入計算機的大門。
1 C 語言概述
1.1 C語言出現(xiàn)的歷史背景
1.2 C 語言的特點
1.3 簡單的C語言程序介紹
1.4 運行C程序的步驟與方法
1.4.1 運行C程序的步驟
1.4.2 上機運行C程序的方法
習(xí)題
2 程序的靈魂——算法
2.1 算法的概念
2.2 簡單算法舉例
2.3 算法的特性
2.4 怎樣表示一個算法
2.4.1 用自然語言表示算法 1 C 語言概述
1.1 C語言出現(xiàn)的歷史背景
1.2 C 語言的特點
1.3 簡單的C語言程序介紹
1.4 運行C程序的步驟與方法
1.4.1 運行C程序的步驟
1.4.2 上機運行C程序的方法
習(xí)題
2 程序的靈魂——算法
2.1 算法的概念
2.2 簡單算法舉例
2.3 算法的特性
2.4 怎樣表示一個算法
2.4.1 用自然語言表示算法
2.4.2 用流程圖表示算法
2.4.3 3種基本結(jié)構(gòu)和改進的流程圖
2.4.4 用N-S流程圖表示算法
2.4.5 用偽代碼表示算法
2.4.6 用計算機語言表示算法
2.5 結(jié)構(gòu)化程序設(shè)計方法
習(xí)題
3 數(shù)據(jù)類型、運算符與表達式
3.1 C語言的數(shù)據(jù)類型
3.2 常量與變量
3.2.1 常量和符號常量
3.2.2 變量
3.3 整型數(shù)據(jù)
3.3.1 整型常量的表示方法
3.3.2 整型變量
3.3.3 整型常量的類型
3.4 浮點型數(shù)據(jù)
3.4.1 浮點型常量的表示方法
3.4.2 浮點型變量
3.4.3 浮點型常量的類型
3.5 字符型數(shù)據(jù)
3.5.1 字符常量
3.5.2 字符變量
3.5.3 字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法
3.5.4 字符串常量
3.6 變量賦初值
3.7 各類數(shù)值型數(shù)據(jù)間的混合運算
3.8 算術(shù)運算符和算術(shù)表達式
3.8.1 C語言運算符簡介
3.8.2 算術(shù)運算符和算術(shù)表達式
3.9 賦值運算符和賦值表達式
3.10 逗號運算符和逗號表達式
習(xí)題
4 最簡單的C程序設(shè)計——順序程序設(shè)計
4.1 C語句概述
4.2 賦值語句
4.3 數(shù)據(jù)輸入輸出的概念及在C語言中的實現(xiàn)
4.4 字符數(shù)據(jù)的輸入輸出
4.4.1 putchar函數(shù)
4.4.2 getchar函數(shù)
4.5 格式輸入與輸出
4.5.1 printf函數(shù)
4.5.2 scanf函數(shù)
……
5 選擇結(jié)構(gòu)程序設(shè)計
6 循環(huán)控制
7 數(shù)組
8 函數(shù)
9 預(yù)處理命令
10 指針
11 結(jié)構(gòu)體與共用體
12 位運算
13 文件
14 常見錯誤和程序調(diào)試
附錄A 常用字符與ASCII代碼對照表
附錄B C語言中的關(guān)鍵字
附錄C 運算符和結(jié)合性
附錄D C語言常用語法提要
附錄E C庫函數(shù)
參考文獻