歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

C程序設計再版前言

  • 資源ID:27889589       資源大?。?span id="r3pjr35" class="font-tahoma">81.50KB        全文頁數(shù):6頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

C程序設計再版前言

譚浩強教授:關(guān)于C程序設計(第四版)出版及學習程序設計問題的幾點想法 2010-12-09 12:46文泉書局 在C程序設計(第4版)出版之際,作者想對學習程序設計問題提出以下幾點看法:1. 為什么要學習程序設計 大學生不能滿足于只會用辦公軟件,應當有更高的要求,對于理工科的學生尤其如此。 計算機的本質(zhì)是“程序的機器”,程序和指令的思想是計算機系統(tǒng)中最基本的概念。程序設計是軟件開發(fā)人員的基本功。只有懂得程序設計,才能進一步懂得計算機,真正了解計算機是怎樣工作的。通過學習程序設計,學會進一步了解計算機的工作原理,更好地理解和應用計算機;掌握用計算機處理問題的方法;培養(yǎng)分析問題和解決問題的能力;具有編制程序的初步能力。即使將來不是計算機專業(yè)人員,由于學過程序設計,理解軟件生產(chǎn)的特點和生產(chǎn)過程,就能與程序開發(fā)人員更好地溝通與合作,開展本領(lǐng)域中的計算機應用,開發(fā)與本領(lǐng)域有關(guān)的應用程序。 因此,無論計算機專業(yè)學生還是非計算機專業(yè)學生,都應當學習程序設計知識,并且把它作為進一步學習與應用計算機的基礎。2. 為什么選擇C語言 進行程序設計,必須用一種計算機語言作為工具,否則只是紙上談兵??晒┻x擇的語言很多,各有特點和應用領(lǐng)域。C語言功能豐富、表達能力強、使用靈活方便、應用面廣、目標程序效率高、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,既適于編寫系統(tǒng)軟件,又能方便地用來編寫應用軟件。有人以為C+語言出現(xiàn)后,C語言過時了,淘汰了,這是一種誤解。C+是為處理較大規(guī)模的程序開發(fā)而研制的大型語言,它比C語言復雜得多,難學得多。事實上,將來并不是每個人都需要用C+編制大型程序。C語言是更為基本的。美國一位資深軟件專家寫了一篇文章,題目是“對計算機系學生的建議”,是經(jīng)驗之談,可供參考。他說“大學生畢業(yè)前要學好C語言,C語言是當前程序員共同的語言。它使程序員互相溝通,比你在大學學到的現(xiàn)代語言(比如ML語言、Java語言、Python語言或者正在教授的流行語言)都更接近機器”。他指出: “不管你懂得多少延續(xù)、閉包、異常處理,只要你不能解釋為什么while(s+=t+)的作用是復制字符串,那你就是在盲目無知的情況下編程,就像一個醫(yī)生不懂最基本的解剖學就在開處方”。C語言更適合于解決某些小型程序的編程。C語言作為傳統(tǒng)的面向過程的程序設計語言,在編寫底層的設備驅(qū)動程序和內(nèi)嵌應用程序時,往往是更好的選擇。 現(xiàn)在大多數(shù)高校把C語言作為第一門計算機語言進行程序設計教學,這是合適的,有了C的基礎,在需要時進一步學習C+,也是很容易過渡的。3. 怎樣組織程序設計的教學?怎樣處理算法和語言的關(guān)系 要進行程序設計,要解決兩個問題: (1) 要學習和掌握解決問題的思路和方法,即算法;(2) 學習怎樣實現(xiàn)算法,即用計算機語言編寫程序,達到用計算機解題的目的。 因此,課程的內(nèi)容應當主要包括兩個方面: 算法和語言。算法是靈魂,不掌握算法就是無米之炊。語言是工具,不掌握語言,編程就成了空中樓閣。二者都是必要的,缺一不可。作者的做法是: 以程序設計為中心,把二者緊密結(jié)合起來,既不能孤立地抽象地研究算法,更不能孤立地枯燥地學習語法。算法是重要的,但本課程不是專門研究算法與邏輯的理論課程,不可能系統(tǒng)全面地介紹算法;也不是脫離語言環(huán)境研究算法,而是在學習編程的過程中,介紹有關(guān)的典型算法,引導學生思考怎樣構(gòu)造一個算法。編寫程序的過程就是設計算法的過程。 語言工具也是重要的,掌握基本的語法規(guī)則是編程的基礎,如果不掌握必要的語法規(guī)則,連最簡單的程序也編不出來,或者編出來的程序錯誤百出,無法運行。但是掌握C語言絕不能靠死學死記,就像熟讀英語的語法不一定會寫英文文章,靠字典是學不好外語的。如果你去看C語言標準文本,可能感覺如看“天書”一樣,恐怕只有計算機專家才能看懂。絕不能把程序設計課程變成枯燥地介紹語法的課程,學習語法要服務于編程。 在30年前我們編寫B(tài)ASIC語言時就已經(jīng)遇到了這個問題,我們堅決摒棄了孤立地介紹語法的做法,而是以程序設計為中心,把算法與語言緊密結(jié)合起來。不是根據(jù)語言規(guī)則的分類和順序作為教學和教材的章節(jié)和順序,而是從應用的角度切入,以編程為目的,以編程為主線,從初學者的認知規(guī)律出發(fā),由淺入深,由易到難,構(gòu)造了教材和教學的體系。一開始就讓學生看懂簡單的程序,編寫簡單的程序,然后逐步深入。語法規(guī)則不是通過孤立的學習而是在學習編程的過程中學到的。隨著編程難度的逐步提高,算法和語法的學習同步趨于深入。學生在富有創(chuàng)意、引人入勝的編程中,學會了算法,掌握了語法,把枯燥無味的語法規(guī)則變成生動活潑的編程應用。事實證明這種做法是成功的。多年來,我們堅持和發(fā)展了這種行之有效的方法,取得了很好的效果。 近年來許多學校的經(jīng)驗表明,按照這種思路進行教學,教師容易教,學生容易學,效果很好。4. 怎樣學習C程序設計(1) 要著眼于培養(yǎng)能力。C語言程序設計并不是一門純理論的課程,而是一門應用的課程。應當注意培養(yǎng)分析問題的能力、構(gòu)造算法的能力、編程的能力和調(diào)試程序的能力。(2) 要把重點放在解題的思路上,通過大量的例題學習怎樣設計一個算法,構(gòu)造一個程序。初學時更不要在語法細節(jié)上死背死摳。一開始就要學會看懂程序,編寫簡單的程序,然后逐步深入。語法細節(jié)是需要通過較長期的實踐才能熟練掌握的。初學時,切忌過早地濫用C語言的某些容易引起錯誤的細節(jié)(如不適當?shù)厥褂?和-)。(3) 掌握基本要求,注意打好基礎。在學校學習階段,主要是學習程序設計的方法,進行程序設計的基本訓練,為將來進一步學習和應用打下基礎。不可能通過幾十小時的學習,由一個門外漢變成編程高手,編寫出大型而實用的程序,要求應當實事求是。如果學時有限,有些較深入的內(nèi)容可以選學或自學,把精力放在最基本、最常用的內(nèi)容上,學好基本功。(4) 要十分重視實踐環(huán)節(jié)。光靠聽課和看書是學不會程序設計的,學習本課程既要掌握概念,又必須動手編程,還要親自上機調(diào)試運行。讀者一定要重視實踐環(huán)節(jié),包括編程和上機。既會編寫程序,又會調(diào)試程序。學得好與壞,不是看你“知不知道”,而是“會不會干”。考核方法應當是編寫程序和調(diào)試程序,而不應該只采用是非題和選擇題。(5) 要舉一反三。學習程序設計,主要是掌握程序設計的思路和方法。學會使用一種計算機語言編程,在需要時改用另一種語言應當不會太困難。不能設想今后一輩子只使用在學校里學過的某一種語言。但是無論用哪一種語言進行程序設計,其基本規(guī)律是一樣的。在學習時一定要學活用活,舉一反三,掌握規(guī)律,在以后需要時能很快地掌握其他新的語言進行編程。 (6) 要提倡和培養(yǎng)創(chuàng)新精神。教師和學生都不應當局限于教材中的內(nèi)容,應該啟發(fā)學生的學習興趣和創(chuàng)新意識。能夠在教材程序的基礎上,思考更多的問題,編寫難度更大的程序。在本書每章的習題中,包括了一些難度較大的題目,建議學生盡量選做,學會自己發(fā)展知識,提高能力。(7) 如果對學生有較高的程序設計要求,應當在學習本課程后,安排一次集中的課程設計環(huán)節(jié),要求學生獨立完成一個有一定規(guī)模的程序。5. 從實際出發(fā),區(qū)別對待 學習本課程的有計算機專業(yè)學生,也有非計算機專業(yè)的大學生;有本科生,也有專科(高職)學生;有重點大學的學生,也有一般大學的學生。情況各異,要求不同,必須從實際出發(fā),制訂出切實可行的教學要求和教學方案,切忌脫離實際的一刀切。 例如,對計算機專業(yè)學生,要求應當比非計算機專業(yè)高,尤其是對算法的要求應當高一些,不僅會用現(xiàn)成的算法,還應當會設計一般的算法。最好能在學完本課程后獨立完成一個有一定規(guī)模的程序。對高職學生的要求應不同于本科生,更不應搬用重點大學的做法,不宜在算法上要求太高,因為高職不是培養(yǎng)設計算法的人才,而應切實掌握語言工具,具有較強的動手和實踐能力,例如編碼能力、調(diào)試能力。對基礎較好、學生程度較高的學校,可以少講多練,強調(diào)自學,有的內(nèi)容課堂上可以不講或少講,指定學生自學。引導學生通過自學和實踐發(fā)展知識,盡可能完成一些難度較高的習題。6. 為什么要修訂C程序設計 任何工作都要與時俱進,不斷完善,追求完美。計算機科學技術(shù)不斷發(fā)展,C語言也在發(fā)展,在高校計算機教學過程中不斷累積了新的經(jīng)驗,廣大讀者在學習過程中也對本書提出了一些新的期望和建議。因此,作者對C程序設計一書再次進行修訂,第四版保持了前三版的寫作風格,保持了概念清晰、通俗易懂的特點,并在以下幾個方面作了修改: (1) 按照C 99標準進行介紹,以適應C語言的發(fā)展,使程序更加規(guī)范。目前大多數(shù)介紹C語言的教材是按照C 89標準介紹的,本書按照C 99的規(guī)定進行介紹,程序符合C 99的要求。例如: 數(shù)據(jù)類型介紹中,增加了C 99擴充的雙長整型(long long int)、復數(shù)浮點型(float_complex,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 <stdio.h>/以“/”作為注釋行的開始int main()/指定main函數(shù)為int類型 return 0;/如函數(shù)正常執(zhí)行,返回整數(shù)0 C 99增加的其他一些具體內(nèi)容,在書中有關(guān)章節(jié)中專門注明,以提醒讀者。由于C 99是在C 89的基礎上增加或擴充一些功能而成的,因此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的部分功能。考慮到讀者上機實踐的條件,本書中的例題程序都可以在目前廣泛使用的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章專門介紹算法的概念、算法的特點、表示算法的工具以及怎樣設計算法,并通過一些簡單的例子說明怎樣構(gòu)造一個算法。使讀者有一個初步的、基本的了解。在以后各章中,由淺入深地結(jié)合例題介紹各種典型的算法,并且馬上用C語言實現(xiàn)此算法,寫出程序。這樣就使算法與程序緊密結(jié)合,而且通過運行程序,得到結(jié)果,便于驗證算法的正確性。學習時不會覺得抽象,而會覺得算法具體有趣,看得見,摸得著。在各例題中,在給出問題后,都先進行分析問題,介紹解題思路,也就是構(gòu)造算法,然后才是根據(jù)算法編寫程序,而不是先列出程序再解釋程序,從中了解算法。這樣做,更符合讀者認知規(guī)律,更容易理解算法,也引導讀者在做題時先考慮算法再編程,而不是坐下來就寫程序。培養(yǎng)好的習慣。(4) 更加通俗易懂,容易學習。作者充分考慮到廣大初學者的情況,精心設計體系,適當降低門檻,便于讀者入門。盡量少用深奧難懂的專業(yè)術(shù)語,用通俗易懂的方法和語言闡述清楚復雜的概念,使復雜的問題簡單化。沒有學過計算機原理和高等數(shù)學的讀者完全可以掌握本書的內(nèi)容。本書采用作者提出的“提出問題解決問題歸納分析”的新的教學三部曲,先具體后抽象,先實際后理論,先個別后一般。而不是先抽象后具體,先理論后實際,先一般后個別。在介紹每個例題時,都采取以下的步驟: 給出問題解題思路編寫程序運行結(jié)果程序分析有關(guān)說明,使讀者很容易理解。即使沒有教師講解,讀者也能看懂本書的內(nèi)容,就有可能做到,教師少講,提倡自學,上機實踐。(5) 重新組織內(nèi)容。根據(jù)近年來各校教學中的實際情況,作者對本書內(nèi)容作了以下調(diào)整: 根據(jù)非計算機專業(yè)學生的培養(yǎng)要求和將來工作的情況,在教材中不再包括“位運算”一章??紤]到有部分讀者需要學習這部分內(nèi)容,將“位運算”的內(nèi)容列入C程序設計(第四版)學習輔導一書中,供選學。 取消C程序設計(第三版)中的第3章“數(shù)據(jù)類型、運算符與表達式”。這章內(nèi)容涉及數(shù)據(jù)在計算機內(nèi)存中的存儲形式,讀者感到一開始就接觸這些內(nèi)容比較難學。在第四版中,對這些內(nèi)容進行精簡,不再單獨列章,將其中最基本的、必須了解的內(nèi)容結(jié)合在第3章“最簡單的C程序設計”中介紹,這樣可以降低學習難度。 第三版包括“預處理命令”一章,考慮到這章的內(nèi)容不是最基本的,在第四版中對它不作詳細的介紹,而把它放在C程序設計(第四版)學習輔導一書中,供選學。 考慮到絕大多數(shù)讀者在學習本課程之前未學習過其他計算機語言,缺乏對計算機語言和程序的基本了解,把第三版的第1章“C語言概述”改為“程序設計和C語言”,在這一章中增加了計算機語言和程序的基本知識。 許多學校把本課程放在一年級學習,此時還未學習或未學完高等數(shù)學,在學本課程時對有關(guān)高等教學的程序感到有困難,在第四版中不再包括有關(guān)高等數(shù)學的內(nèi)容,具有高中以上文化程度的讀者都能看懂本書。 在第三版的“結(jié)構(gòu)體與共用體”一章中有設計鏈表(鏈表的建立、插入、刪除和輸出等)的內(nèi)容,對于非計算機專業(yè)學生來說,難度較大。作者認為,這部分內(nèi)容對非計算機專業(yè)可以不作為基本要求,在第四版中對這部分內(nèi)容作了精簡,只對鏈表作簡單的介紹,讀者對之有一定了解即可??紤]到這部分對計算機專業(yè)學生是需要的,我們把有關(guān)鏈表的詳細內(nèi)容作為習題供選做,并在C程序設計(第四版)學習輔導一書的習題解答中給出完整的程序,供需要者參考。 專門編寫了“C程序案例” 一章,綜合應用各章的知識。提供了不同難度、不同類型的程序。閱讀這些程序,可以使學生了解怎樣去編寫應用程序,提高自己的編程能力。這部分內(nèi)容安排在C程序設計(第四版)學習輔導一書中,供需要者參考。相信經(jīng)過修改后,本書會更加容易學習,效果更好。

注意事項

本文(C程序設計再版前言)為本站會員(xinsh****encai)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復下載不扣分。




關(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ǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!