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