C程序設(shè)計再版前言

上傳人:xinsh****encai 文檔編號:27889589 上傳時間:2021-08-21 格式:DOC 頁數(shù):6 大?。?1.50KB
收藏 版權(quán)申訴 舉報 下載
C程序設(shè)計再版前言_第1頁
第1頁 / 共6頁
C程序設(shè)計再版前言_第2頁
第2頁 / 共6頁
C程序設(shè)計再版前言_第3頁
第3頁 / 共6頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C程序設(shè)計再版前言》由會員分享,可在線閱讀,更多相關(guān)《C程序設(shè)計再版前言(6頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、譚浩強教授:關(guān)于C程序設(shè)計(第四版)出版及學習程序設(shè)計問題的幾點想法 2010-12-09 12:46文泉書局 在C程序設(shè)計(第4版)出版之際,作者想對學習程序設(shè)計問題提出以下幾點看法:1. 為什么要學習程序設(shè)計 大學生不能滿足于只會用辦公軟件,應當有更高的要求,對于理工科的學生尤其如此。 計算機的本質(zhì)是“程序的機器”,程序和指令的思想是計算機系統(tǒng)中最基本的概念。程序設(shè)計是軟件開發(fā)人員的基本功。只有懂得程序設(shè)計,才能進一步懂得計算機,真正了解計算機是怎樣工作的。通過學習程序設(shè)計,學會進一步了解計算機的工作原理,更好地理解和應用計算機;掌握用計算機處理問題的方法;培養(yǎng)分析問題和解決問題的能力;具

2、有編制程序的初步能力。即使將來不是計算機專業(yè)人員,由于學過程序設(shè)計,理解軟件生產(chǎn)的特點和生產(chǎn)過程,就能與程序開發(fā)人員更好地溝通與合作,開展本領(lǐng)域中的計算機應用,開發(fā)與本領(lǐng)域有關(guān)的應用程序。 因此,無論計算機專業(yè)學生還是非計算機專業(yè)學生,都應當學習程序設(shè)計知識,并且把它作為進一步學習與應用計算機的基礎(chǔ)。2. 為什么選擇C語言 進行程序設(shè)計,必須用一種計算機語言作為工具,否則只是紙上談兵。可供選擇的語言很多,各有特點和應用領(lǐng)域。C語言功能豐富、表達能力強、使用靈活方便、應用面廣、目標程序效率高、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,既適于編寫系統(tǒng)軟件,又能方便地用來編寫應用軟

3、件。有人以為C+語言出現(xiàn)后,C語言過時了,淘汰了,這是一種誤解。C+是為處理較大規(guī)模的程序開發(fā)而研制的大型語言,它比C語言復雜得多,難學得多。事實上,將來并不是每個人都需要用C+編制大型程序。C語言是更為基本的。美國一位資深軟件專家寫了一篇文章,題目是“對計算機系學生的建議”,是經(jīng)驗之談,可供參考。他說“大學生畢業(yè)前要學好C語言,C語言是當前程序員共同的語言。它使程序員互相溝通,比你在大學學到的現(xiàn)代語言(比如ML語言、Java語言、Python語言或者正在教授的流行語言)都更接近機器”。他指出: “不管你懂得多少延續(xù)、閉包、異常處理,只要你不能解釋為什么while(s+=t+)的作用是復制字符

4、串,那你就是在盲目無知的情況下編程,就像一個醫(yī)生不懂最基本的解剖學就在開處方”。C語言更適合于解決某些小型程序的編程。C語言作為傳統(tǒng)的面向過程的程序設(shè)計語言,在編寫底層的設(shè)備驅(qū)動程序和內(nèi)嵌應用程序時,往往是更好的選擇。 現(xiàn)在大多數(shù)高校把C語言作為第一門計算機語言進行程序設(shè)計教學,這是合適的,有了C的基礎(chǔ),在需要時進一步學習C+,也是很容易過渡的。3. 怎樣組織程序設(shè)計的教學?怎樣處理算法和語言的關(guān)系 要進行程序設(shè)計,要解決兩個問題: (1) 要學習和掌握解決問題的思路和方法,即算法;(2) 學習怎樣實現(xiàn)算法,即用計算機語言編寫程序,達到用計算機解題的目的。 因此,課程的內(nèi)容應當主要包括兩個方面

5、: 算法和語言。算法是靈魂,不掌握算法就是無米之炊。語言是工具,不掌握語言,編程就成了空中樓閣。二者都是必要的,缺一不可。作者的做法是: 以程序設(shè)計為中心,把二者緊密結(jié)合起來,既不能孤立地抽象地研究算法,更不能孤立地枯燥地學習語法。算法是重要的,但本課程不是專門研究算法與邏輯的理論課程,不可能系統(tǒng)全面地介紹算法;也不是脫離語言環(huán)境研究算法,而是在學習編程的過程中,介紹有關(guān)的典型算法,引導學生思考怎樣構(gòu)造一個算法。編寫程序的過程就是設(shè)計算法的過程。 語言工具也是重要的,掌握基本的語法規(guī)則是編程的基礎(chǔ),如果不掌握必要的語法規(guī)則,連最簡單的程序也編不出來,或者編出來的程序錯誤百出,無法運行。但是掌握

6、C語言絕不能靠死學死記,就像熟讀英語的語法不一定會寫英文文章,靠字典是學不好外語的。如果你去看C語言標準文本,可能感覺如看“天書”一樣,恐怕只有計算機專家才能看懂。絕不能把程序設(shè)計課程變成枯燥地介紹語法的課程,學習語法要服務(wù)于編程。 在30年前我們編寫B(tài)ASIC語言時就已經(jīng)遇到了這個問題,我們堅決摒棄了孤立地介紹語法的做法,而是以程序設(shè)計為中心,把算法與語言緊密結(jié)合起來。不是根據(jù)語言規(guī)則的分類和順序作為教學和教材的章節(jié)和順序,而是從應用的角度切入,以編程為目的,以編程為主線,從初學者的認知規(guī)律出發(fā),由淺入深,由易到難,構(gòu)造了教材和教學的體系。一開始就讓學生看懂簡單的程序,編寫簡單的程序,然后逐

7、步深入。語法規(guī)則不是通過孤立的學習而是在學習編程的過程中學到的。隨著編程難度的逐步提高,算法和語法的學習同步趨于深入。學生在富有創(chuàng)意、引人入勝的編程中,學會了算法,掌握了語法,把枯燥無味的語法規(guī)則變成生動活潑的編程應用。事實證明這種做法是成功的。多年來,我們堅持和發(fā)展了這種行之有效的方法,取得了很好的效果。 近年來許多學校的經(jīng)驗表明,按照這種思路進行教學,教師容易教,學生容易學,效果很好。4. 怎樣學習C程序設(shè)計(1) 要著眼于培養(yǎng)能力。C語言程序設(shè)計并不是一門純理論的課程,而是一門應用的課程。應當注意培養(yǎng)分析問題的能力、構(gòu)造算法的能力、編程的能力和調(diào)試程序的能力。(2) 要把重點放在解題的思

8、路上,通過大量的例題學習怎樣設(shè)計一個算法,構(gòu)造一個程序。初學時更不要在語法細節(jié)上死背死摳。一開始就要學會看懂程序,編寫簡單的程序,然后逐步深入。語法細節(jié)是需要通過較長期的實踐才能熟練掌握的。初學時,切忌過早地濫用C語言的某些容易引起錯誤的細節(jié)(如不適當?shù)厥褂?和-)。(3) 掌握基本要求,注意打好基礎(chǔ)。在學校學習階段,主要是學習程序設(shè)計的方法,進行程序設(shè)計的基本訓練,為將來進一步學習和應用打下基礎(chǔ)。不可能通過幾十小時的學習,由一個門外漢變成編程高手,編寫出大型而實用的程序,要求應當實事求是。如果學時有限,有些較深入的內(nèi)容可以選學或自學,把精力放在最基本、最常用的內(nèi)容上,學好基本功。(4) 要十

9、分重視實踐環(huán)節(jié)。光靠聽課和看書是學不會程序設(shè)計的,學習本課程既要掌握概念,又必須動手編程,還要親自上機調(diào)試運行。讀者一定要重視實踐環(huán)節(jié),包括編程和上機。既會編寫程序,又會調(diào)試程序。學得好與壞,不是看你“知不知道”,而是“會不會干”??己朔椒☉斒蔷帉懗绦蚝驼{(diào)試程序,而不應該只采用是非題和選擇題。(5) 要舉一反三。學習程序設(shè)計,主要是掌握程序設(shè)計的思路和方法。學會使用一種計算機語言編程,在需要時改用另一種語言應當不會太困難。不能設(shè)想今后一輩子只使用在學校里學過的某一種語言。但是無論用哪一種語言進行程序設(shè)計,其基本規(guī)律是一樣的。在學習時一定要學活用活,舉一反三,掌握規(guī)律,在以后需要時能很快地掌握

10、其他新的語言進行編程。 (6) 要提倡和培養(yǎng)創(chuàng)新精神。教師和學生都不應當局限于教材中的內(nèi)容,應該啟發(fā)學生的學習興趣和創(chuàng)新意識。能夠在教材程序的基礎(chǔ)上,思考更多的問題,編寫難度更大的程序。在本書每章的習題中,包括了一些難度較大的題目,建議學生盡量選做,學會自己發(fā)展知識,提高能力。(7) 如果對學生有較高的程序設(shè)計要求,應當在學習本課程后,安排一次集中的課程設(shè)計環(huán)節(jié),要求學生獨立完成一個有一定規(guī)模的程序。5. 從實際出發(fā),區(qū)別對待 學習本課程的有計算機專業(yè)學生,也有非計算機專業(yè)的大學生;有本科生,也有???高職)學生;有重點大學的學生,也有一般大學的學生。情況各異,要求不同,必須從實際出發(fā),制訂出

11、切實可行的教學要求和教學方案,切忌脫離實際的一刀切。 例如,對計算機專業(yè)學生,要求應當比非計算機專業(yè)高,尤其是對算法的要求應當高一些,不僅會用現(xiàn)成的算法,還應當會設(shè)計一般的算法。最好能在學完本課程后獨立完成一個有一定規(guī)模的程序。對高職學生的要求應不同于本科生,更不應搬用重點大學的做法,不宜在算法上要求太高,因為高職不是培養(yǎng)設(shè)計算法的人才,而應切實掌握語言工具,具有較強的動手和實踐能力,例如編碼能力、調(diào)試能力。對基礎(chǔ)較好、學生程度較高的學校,可以少講多練,強調(diào)自學,有的內(nèi)容課堂上可以不講或少講,指定學生自學。引導學生通過自學和實踐發(fā)展知識,盡可能完成一些難度較高的習題。6. 為什么要修訂C程序設(shè)

12、計 任何工作都要與時俱進,不斷完善,追求完美。計算機科學技術(shù)不斷發(fā)展,C語言也在發(fā)展,在高校計算機教學過程中不斷累積了新的經(jīng)驗,廣大讀者在學習過程中也對本書提出了一些新的期望和建議。因此,作者對C程序設(shè)計一書再次進行修訂,第四版保持了前三版的寫作風格,保持了概念清晰、通俗易懂的特點,并在以下幾個方面作了修改: (1) 按照C 99標準進行介紹,以適應C語言的發(fā)展,使程序更加規(guī)范。目前大多數(shù)介紹C語言的教材是按照C 89標準介紹的,本書按照C 99的規(guī)定進行介紹,程序符合C 99的要求。例如: 數(shù)據(jù)類型介紹中,增加了C 99擴充的雙長整型(long long int)、復數(shù)浮點型(float_c

13、omplex,double_complex,long long _complex)、布爾型(bool)等,使讀者有所了解。 C 99要求,main函數(shù)的類型一律指定為int型,并在函數(shù)的末尾加一個返回語句“return 0;”。 C 99增加了注釋行的新形式以雙鈄線/開始的內(nèi)容作為注釋行,這本來是C+的注釋行形式,現(xiàn)在C 99把它擴充進來了,使編程更加方便。同時保留了原來的/形式,以使原來按C 89標準編寫的程序可以不加修改仍可使用。本書采用C 99的注釋新形式,讀者使用更方便,而且符合發(fā)展需要。因此,本書的程序基本上采用下面的形式: #include /以“/”作為注釋行的開始int mai

14、n()/指定main函數(shù)為int類型 return 0;/如函數(shù)正常執(zhí)行,返回整數(shù)0 C 99增加的其他一些具體內(nèi)容,在書中有關(guān)章節(jié)中專門注明,以提醒讀者。由于C 99是在C 89的基礎(chǔ)上增加或擴充一些功能而成的,因此C 89和C 99基本上是兼容的。用C 89編寫的程序在C 99環(huán)境下仍然可以運行。C 99所增加的有些新的功能和規(guī)則,是在編制比較復雜的程序時為方便使用和提高效率而用的,本書對目前暫時用不到的內(nèi)容不作介紹,以免讀者分心,增加學習難度。在將來進行深入編程時再逐步了解和學習。目前社會上使用的一些C編譯系統(tǒng),有的并未實現(xiàn)C 99的要求,有的實現(xiàn)了C 99的部分功能??紤]到讀者上機實踐

15、的條件,本書中的例題程序都可以在目前廣泛使用的C+編譯系統(tǒng)中使用。(2) 考慮到國內(nèi)當前的情況和讀者使用的方便,本書中的程序是用Visual C+ 6.0編譯的,運行結(jié)果也是在Visual C+ 6.0環(huán)境下得到的。在分析時也以Visual C+ 6.0環(huán)境為例進行介紹。如果采用其他編譯系統(tǒng),也大同小異,不會產(chǎn)生任何問題。(3) 加強算法。第2章專門介紹算法的概念、算法的特點、表示算法的工具以及怎樣設(shè)計算法,并通過一些簡單的例子說明怎樣構(gòu)造一個算法。使讀者有一個初步的、基本的了解。在以后各章中,由淺入深地結(jié)合例題介紹各種典型的算法,并且馬上用C語言實現(xiàn)此算法,寫出程序。這樣就使算法與程序緊密結(jié)

16、合,而且通過運行程序,得到結(jié)果,便于驗證算法的正確性。學習時不會覺得抽象,而會覺得算法具體有趣,看得見,摸得著。在各例題中,在給出問題后,都先進行分析問題,介紹解題思路,也就是構(gòu)造算法,然后才是根據(jù)算法編寫程序,而不是先列出程序再解釋程序,從中了解算法。這樣做,更符合讀者認知規(guī)律,更容易理解算法,也引導讀者在做題時先考慮算法再編程,而不是坐下來就寫程序。培養(yǎng)好的習慣。(4) 更加通俗易懂,容易學習。作者充分考慮到廣大初學者的情況,精心設(shè)計體系,適當降低門檻,便于讀者入門。盡量少用深奧難懂的專業(yè)術(shù)語,用通俗易懂的方法和語言闡述清楚復雜的概念,使復雜的問題簡單化。沒有學過計算機原理和高等數(shù)學的讀者

17、完全可以掌握本書的內(nèi)容。本書采用作者提出的“提出問題解決問題歸納分析”的新的教學三部曲,先具體后抽象,先實際后理論,先個別后一般。而不是先抽象后具體,先理論后實際,先一般后個別。在介紹每個例題時,都采取以下的步驟: 給出問題解題思路編寫程序運行結(jié)果程序分析有關(guān)說明,使讀者很容易理解。即使沒有教師講解,讀者也能看懂本書的內(nèi)容,就有可能做到,教師少講,提倡自學,上機實踐。(5) 重新組織內(nèi)容。根據(jù)近年來各校教學中的實際情況,作者對本書內(nèi)容作了以下調(diào)整: 根據(jù)非計算機專業(yè)學生的培養(yǎng)要求和將來工作的情況,在教材中不再包括“位運算”一章??紤]到有部分讀者需要學習這部分內(nèi)容,將“位運算”的內(nèi)容列入C程序設(shè)

18、計(第四版)學習輔導一書中,供選學。 取消C程序設(shè)計(第三版)中的第3章“數(shù)據(jù)類型、運算符與表達式”。這章內(nèi)容涉及數(shù)據(jù)在計算機內(nèi)存中的存儲形式,讀者感到一開始就接觸這些內(nèi)容比較難學。在第四版中,對這些內(nèi)容進行精簡,不再單獨列章,將其中最基本的、必須了解的內(nèi)容結(jié)合在第3章“最簡單的C程序設(shè)計”中介紹,這樣可以降低學習難度。 第三版包括“預處理命令”一章,考慮到這章的內(nèi)容不是最基本的,在第四版中對它不作詳細的介紹,而把它放在C程序設(shè)計(第四版)學習輔導一書中,供選學。 考慮到絕大多數(shù)讀者在學習本課程之前未學習過其他計算機語言,缺乏對計算機語言和程序的基本了解,把第三版的第1章“C語言概述”改為“程

19、序設(shè)計和C語言”,在這一章中增加了計算機語言和程序的基本知識。 許多學校把本課程放在一年級學習,此時還未學習或未學完高等數(shù)學,在學本課程時對有關(guān)高等教學的程序感到有困難,在第四版中不再包括有關(guān)高等數(shù)學的內(nèi)容,具有高中以上文化程度的讀者都能看懂本書。 在第三版的“結(jié)構(gòu)體與共用體”一章中有設(shè)計鏈表(鏈表的建立、插入、刪除和輸出等)的內(nèi)容,對于非計算機專業(yè)學生來說,難度較大。作者認為,這部分內(nèi)容對非計算機專業(yè)可以不作為基本要求,在第四版中對這部分內(nèi)容作了精簡,只對鏈表作簡單的介紹,讀者對之有一定了解即可??紤]到這部分對計算機專業(yè)學生是需要的,我們把有關(guān)鏈表的詳細內(nèi)容作為習題供選做,并在C程序設(shè)計(第四版)學習輔導一書的習題解答中給出完整的程序,供需要者參考。 專門編寫了“C程序案例” 一章,綜合應用各章的知識。提供了不同難度、不同類型的程序。閱讀這些程序,可以使學生了解怎樣去編寫應用程序,提高自己的編程能力。這部分內(nèi)容安排在C程序設(shè)計(第四版)學習輔導一書中,供需要者參考。相信經(jīng)過修改后,本書會更加容易學習,效果更好。

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!