c語言第一次講課.ppt_第1頁
c語言第一次講課.ppt_第2頁
c語言第一次講課.ppt_第3頁
c語言第一次講課.ppt_第4頁
c語言第一次講課.ppt_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、為什么要學習C語言,個人體會,為什么要學習C語言,很多人對學習C語言感到無從下手,經(jīng)常問我同一個問題:究竟怎樣學習C語言?我是一個教師,已經(jīng)開發(fā)了很多年的程序,和很多剛剛起步的人一樣,學習的第一個計算機語言就是C語言。,為什么要學習C語言,經(jīng)過這些年的開發(fā),我深深的體會到C語言對于一個程序設計人員多么的重要,如果不懂C語言,你想寫底層程序這幾乎聽起來很可笑,不懂C語言,你想寫出優(yōu)秀高效的程序這簡直就是天方夜譚。為什么C語言如此重要呢?,一、C語言語法結構很簡潔精妙,寫出的程序也很高效,很便于描述算法,大多數(shù)的程序員愿意使用C語言去描述算法本身,所以,如果你想在程序設計方面有所建樹,就必須去學它

2、。,二、C語言能夠讓你深入系統(tǒng)底層,你知道的操作系統(tǒng),哪一個不是C語言寫的?所有的windows,Unix,Linux,,沒有一個例外的,如果你不懂C語言,怎么可能深入到這些操作系統(tǒng)當中去呢?更不要說你去寫它們的內核程序了。,三、很多新型的語言都是衍生自C語言,C+,Java,C#,J#,哪個不是呢?掌握了C語言,可以說你就掌握了很多門語言,經(jīng)過簡單的學習,你就可以用這些新型的語言去開發(fā)了,這個再一次驗證了C語言是程序設計的重要基礎。還有啊,多說一點:即使現(xiàn)在招聘程序員,考試都是考C語言,你想加入IT行業(yè),那么就一定要掌握好C語言。,怎樣學習C語言,程序員之路,怎樣學習C語言,學習C語言不是一

3、朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習并精通C語言是本文的主題。請注意,即使是“最小的代價”,也絕不是什么捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經(jīng)歷艱苦的過程。,一、要讀就讀好書,否則不如不讀,所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優(yōu)秀的教材是事半功倍的關鍵因素。一般情況,學校通常會幫你指定一本很基本的C語言課本;而幸運的是,你還可以再次選擇。,一、要讀就讀好書,否則不如不讀,大名鼎鼎的譚浩強教授出了一本C語言程序設計,據(jù)說發(fā)行量有超過1000萬,據(jù)我所知,很多學校都會推薦這本書作為C語言課本。這本書不是寫給計

4、算機專業(yè)的學生的,而是給那些需要考計算機等級考試的其它專業(yè)學生看的。,一、要讀就讀好書,否則不如不讀,Kernighan和Ritchie的The C Programming Language(中譯名C程序設計語言)堪稱經(jīng)典中的經(jīng)典,不過舊版的很多內容都已過時,和現(xiàn)在的標準C語言相去甚遠,大家一定要看最新的版本,否則不如不看。,一、要讀就讀好書,否則不如不讀,另外,即使是最經(jīng)典最權威的書,也沒有辦法面面俱到,所以手邊常備一本C語言參考手冊是十分必要的。C語言參考手冊就是C Reference Manual,是C語言標準的詳細描述,包括絕大多數(shù)C標準庫函數(shù)的細節(jié),算得上是最好的標準C語言的工具書。

5、,一、要讀就讀好書,否則不如不讀,還有一本C和指針,寫得也是相當?shù)夭诲e,英文名是Pointers on C,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書并不十分適合初學者,如果你曾經(jīng)學過C語言,有那么一些C語言的基礎但又不是很扎實,那么你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。,一、要讀就讀好書,否則不如不讀,你可以挑戰(zhàn)一下 Expert C Programming(中譯名C專家編程),書如其名,這本書頗具難度,一旦你仔細讀完并能透徹理解,你便可以放心大膽地在簡歷上寫“精通C語言”了。,一、要讀就讀好書,否則不如不讀,切記一個原則,不要讀自己目前還看不懂的書

6、,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然后再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。,二、Unix/Linux還是Windows,這是個很大的問題,不同的編程環(huán)境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發(fā)環(huán)境,比如Visual Studio,而Unix程序員更加鐘愛Makefile與控制臺。顯而易見,集成開發(fā)環(huán)境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C+工具欄按鈕就可以開始寫Hello, World!了。,二、Unix/Li

7、nux還是Windows,這是個很大的問題,而在Unix下,你需要一些控制臺操作的基本知識。有人也許認為Unix的環(huán)境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統(tǒng),似乎有點不劃算。,二、Unix/Linux還是Windows,這是個很大的問題,對于一個只懂得Windows基本操作、連DOS是什么都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注于C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。,二、Unix/Li

8、nux還是Windows,這是個很大的問題,所以我建議初學者應該以Visual C+ 6.0(不是VisualC+ .NET)或者Dev C+作為主要的學習環(huán)境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今后你一定要轉向Unix環(huán)境的。Visual C+ 6.0使用很方便,調試也很直觀,,二、Unix/Linux還是Windows,這是個很大的問題,等你學完一本C語言的教材,你一定要轉向Unix平臺繼續(xù)學習,幾乎所有的C語言高級教程都是基于Unix平臺的(比如C專家編程)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同于Windows平臺的思考方式,但是這種痛苦是值得的。,

9、二、Unix/Linux還是Windows,這是個很大的問題,Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數(shù)優(yōu)秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數(shù)的聯(lián)機手冊,還可以看到最優(yōu)秀的代碼風格。,二、Unix/Linux還是Windows,這是個很大的問題,歸結起來就是一句話:初學C語言,建議使用Windows系統(tǒng)和集成開發(fā)環(huán)境,在準備向“高手”方向努力時,請先轉向Unix平臺。,三、萬事俱備,你就是東風,書已選定,環(huán)境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一

10、章開始看,這是錯誤的做法。,三、萬事俱備,你就是東風,前言是作者對整本書的大體介紹,作者一般會告訴你需要什么基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經(jīng)具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。,三、萬事俱備,你就是東風,學習C語言,必需注意每一個細節(jié),書上的例子代碼一定要自己親自敲一遍,編譯執(zhí)行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要“創(chuàng)造”一些例子 。,三、萬事俱備,你就是東風,例子之后就是習題了,我建議初學者把所有的習題都獨立做一遍,然后對照答案的代碼,看看自己的代碼有

11、那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。,三、萬事俱備,你就是東風,也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到后面才發(fā)現(xiàn)自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數(shù)千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今后繼續(xù)學習的一筆財富。,三、萬事俱備,你就是東風,仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最后將所有的代碼留下,成為自己的經(jīng)驗和財富,絕對的辛苦,也絕對的事半功倍。,三、萬事俱備,你就是東風,

12、寫到最后,還有非常非常重要的一點沒有提及代碼風格,從最開始學習就必須強迫自己模仿最優(yōu)秀的代碼風格。,嵌入式開發(fā),C語言的貢獻,嵌入式操作系統(tǒng),是指以應用為中心、以計算機技術為基礎,軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。舉例來說,大到油田的集散控制系統(tǒng)和工廠流水線,小到家用VCD機或手機,甚至組成普通PC終端設備的鍵盤、鼠標、硬盤、Modem等均是由嵌入式處理器控制的。,應用領域,嵌入式系統(tǒng)無疑是當前最熱門最有發(fā)展前途的IT應用領域之一。嵌入式系統(tǒng)用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對

13、實時響應要求很高等。,應用領域,特別是隨著消費家電的智能化,嵌入式更顯重要。像我們平常常見到的手機、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數(shù)字相機(DC)、數(shù)字攝像機(DV)、U-Disk、機頂盒(Set Top Box)、高清電視(HDTV)、游戲機、智能玩具、交換機、路由器、數(shù)控設備或儀表、汽車電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設備等等都是典型的嵌入式系統(tǒng)。,C語言程序設計,河南大學計算中心,馮東棟 河南大學計算中心 ,同學們好!,祝大家: 學習進步, 生活愉快!,C語言程序設計,課程目標: 熟記C語言的基本概念 熟記Visual studio 6.0的上機

14、操作要求 會讀、會編、會調試C程序 課程要求:多上機練習,C語言與自然語言的比較,C語言程序設計,學習要點 熟記C語言的語法、句法 學會算法分析和算法設計 本課重點 第三章第八章 本課難點 第八章、第十章,C語言程序設計,書面考試題型 選擇題(40%) 填空題(10%) 讀程題(25%) 編程題(25%),CH1 C語言概述,內容提要: C語言的起源與發(fā)展 C語言的特點 簡單的C程序設計 C程序的上機步驟,CH1 C語言概述,1.1 C語言的起源與發(fā)展(P1自學) 1.2 C語言的特點(P2) 1、C語言簡潔、緊湊,使用方便、靈活。 (ANSI C一共只有32個關鍵字,9種控制語句),1.2

15、C語言的特點,1.2 C語言的特點,2、運算符豐富。共有34種 3、數(shù)據(jù)結構類型豐富。 4、具有結構化的控制語句。 5、生成目標代碼質量高,程序執(zhí)行效率高。 6、可移植性好 7、兼有低級語言與高級語言的特點 8、語法限制不太嚴格,程序設計自由度大。,1.3 簡單的C程序介紹,例1.1 最簡單的程序 # include /*包含頭文件*/ void main( ) /*主函數(shù)*/ printf(“This is a C program.n”); /*輸出一句話*/ ,1.3 簡單的C程序介紹,例1.2:求兩數(shù)之和 # include /*包含頭文件*/ void main( ) /*主函數(shù)*/

16、int a,b,sum; /*定義變量*/ a=123,b=456; /*給變量賦值*/ sum=a+b; /*求a與b的和*/ printf(“sum is %dn”,sum); /*輸出結果*/ ,1.3 簡單的C程序介紹,# include /*包含頭文件*/ void main( ) /*主函數(shù)*/ int a,b,sum; /*定義變量*/ scanf(“%d%d”, /*輸出結果*/,1.3 簡單的C程序介紹,例1.3:求兩數(shù)中的大數(shù) void main() /*主函數(shù)*/ int x,y,z; /*變量說明*/ int max(int a,int b); /*函數(shù)說明*/ pri

17、ntf(input two numbers:n); scanf(%d%d, /*輸出*/ ,1.3 簡單的C程序介紹,int max(int a,int b) /*定義max函數(shù)*/ if(ab)return a; else return b; /*把結果返回主調函數(shù)*/ ,C程序的結構特點和書寫格式,void main() /*主函數(shù)*/ int x,y,z; /*變量說明*/ int max(int a,int b); /*函數(shù)說明*/ printf(input two numbers:n); scanf(%d%d, /*把結果返回主調函數(shù)*/ ,C程序的結構特點和書寫格式,1.函數(shù)是組成C程

溫馨提示

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

最新文檔

評論

0/150

提交評論