【C語言探索之旅】 第二課:工欲善其事,必先利其器,之旅必先利其器

來源:互聯網
上載者:User

【C語言探索之旅】 第二課:工欲善其事,必先利其器,之旅必先利其器




內容簡介


1、課程大綱

2、第一部分第二課:工欲善其事,必先利其器

3、第一部分第三課預告:你的第一個程式



課程大綱


我們的課程分為四大部分,每一個部分結束後都會有練習題,並會公布答案。還會帶大家用C語言編寫三個遊戲。



C語言編程基礎知識


  • 什麼是編程?

  • 工欲善其事,必先利其器

  • 你的第一個程式

  • 變數的世界

  • 運算子

  • 條件運算式

  • 迴圈語句

  • 實戰:第一個C語言小遊戲

  • 函數

  • 練習題

  • 習作:完善第一個C語言小遊戲



C語言進階技術


  • 模組化編程

  • 進擊的指標,C語言王牌

  • 數組

  • 字串

  • 預先處理

  • 建立你自己的變數類型

  • 檔案讀寫

  • 動態分配

  • 實戰:“懸掛小人”遊戲

  • 安全的文本輸入

  • 練習題

  • 習作:用自己的語言解釋指標



用基於C語言的SDL庫開發2D遊戲


  • 安裝SDL

  • 建立視窗和畫布

  • 顯示映像

  • 事件處理

  • 實戰:“超級瑪麗推箱子”遊戲

  • 掌握時間的使用

  • 用SDL_ttf編輯文字

  • 用FMOD控制聲音

  • 實戰:可視化的聲音譜線

  • 練習題



資料結構


  • 鏈表

  • 堆,棧和隊列

  • 雜湊表

  • 練習題



第一部分第二課:工欲善其事,必先利其器


昨天的課,反響比較好,超乎了我的想象。激動,很感恩。


昨天說了程式員需要具備三個特質:

耐心,邏輯,冷靜。

我突然感覺到還需要第四大特質---謙虛,相當重要。因為你只會發現你越學習越覺得不足,外面的世界太大了,編程的前輩和大牛太多,新技術永遠比你學習速度快地湧現,所以永遠保持一顆初心,不得瑟。

凡事多感恩,一方面感謝協助過我們的人,也感謝給我們逆耳忠言的人,也要感謝陪伴我們的電腦和開源社區等。


其實,我一直覺得程式員是一個不錯的職業,雖然可能程式員有不少職業病,例如話少,宅,呆萌,害羞等,

但是程式員比較單純,這是跟與我們朝夕相伴的電腦分不開的。因為機器不會說假話,1就是1,0就是0,絕對忠誠,高效和不變心(芯)。所以,和機器長期打交道之後的程式員也變得不是那麼有心機,感覺萌萌噠。


之前網上有一篇文章,說找程式員做男女朋友的好處,挺有意思。

跟公司裡幾個同事相處下來也發現,程式員真的都很有趣,很可愛,很童真。


只是在國內程式員還不是太被重視,但我相信隨著中國的強大,會改觀的。


好了言歸正傳。在上一課《什麼是編程》後,這一課我們就正式進入C語言編程的正題了。


這一課我們回答以下問題:

我們需要什麼軟體來編程呢?


這一課大家可以很輕鬆地度過,因為沒有什麼痛點。我們會花點時間來認識一些常用的編程軟體。

應該好好享受這一課,因為下一課開始我們就要一起寫程式了,所以該喝咖啡的喝咖啡,該吃烤雞的吃烤雞,休息好了,才能上陣。


編程的必要工具


依你看,什麼軟體對編程來說是必要的呢?如果你認真學了上一課,那你至少可以說出一種吧。


對了,就是編譯器。這個重要的程式可以把你的原始碼(用進階語言如C語言寫的指令)轉換成電腦可以理解的二進位碼(只包含0和1的,類似 01100110001111011101010...)。

上一課我們也提了一下,每種進階語言都有對應的編譯器(當然對於Python這樣的解釋性語言,就不需要編譯了),光是C語言的編譯器就有很多。比較常用的有GCC(GNU C Compiler。GNU是國際著名的自由軟體基金會,GNU是“GNU is Not Unix” (GNU不是Unix)的遞迴縮寫法,老外總是那麼頑皮,起名字也喜歡整一些編程的知識,比如Linux就是“Linux Is Not Unix”(Linux不是Unix)的遞迴。要不就用很多動物的名字或表徵圖,特別好玩)。


除了編譯器,我們還需要什麼工具呢?

就不賣關子了,下面列出編程的基本工具:


  • 文字編輯器:用來寫原始碼的工具。理論上Windows作業系統的記事本或者Linux下的VI編輯器都可以作為文字編輯器來使用。但是,最好還是用一些更進階點的文字編輯器,比如可以支援代碼高亮顯示,方便你在代碼間跳轉等。個人非常推薦的文字編輯器是Emacs,真的非常強,跨平台(蘋果Mac,Windows,Linux等),自由定製,各種快速鍵組合,收發郵件,看視頻,瀏覽網頁,瀏覽PDF,沒有你做不到,只有想不到(略有誇張...),可以讓你編輯代碼非常高效。我之前使用的是VIM,也是很不錯的,但是後來用了Emacs,感覺還是更喜歡Emacs一些。當然這見仁見智。還有一個文字編輯器:Notepad++也是挺好的,經過配置和安裝一些外掛程式,可以很強大,不過貌似沒有蘋果電腦版本。


  • 編譯器:已經提過了,用來轉換(或叫編譯)你的原始碼成為二進位碼


  • 調試器:Debugger,用來跟蹤、發現程式裡的錯誤的工具。這裡出現一個新名詞,調試(Debug)。bug是英語臭蟲,蟲子的意思,de在英語裡是一個表示“分離,除掉”的首碼,所以Debug的意思就是除臭蟲。一般把程式裡的錯誤或者缺陷叫做bug(臭蟲),據說是因為傳奇女程式員Grace Hopper(格萊斯.霍普)有一次在MARK II電腦(就是那種早期的比較龐大的電腦)中發現了一隻飛蛾,這隻飛蛾導致了這台電腦死機(夾在電腦裡的繼電器之間),霍普用鑷子把飛蛾夾出來,用透明膠布貼到筆記本上,並註明“第一個發現蟲子(bug)的執行個體”。從此,人們就沿用了這個稱呼,用debug表示排除程式錯誤的行為。現在霍普的筆記本,連同那隻呆萌的飛蛾,陳列在美國歷史博物館裡。


霍普的筆記本和光榮載入曆史的飛蛾


當然,如果你有冒險精神,喜歡挑戰,也可以不用調試器(通過一些小技巧也是可以自己找到錯誤所在的)。但是,我想一般來說你是會需要調試器的。


所以,我們就有兩個選擇了:

  • 分開使用文字編輯器,編譯器和調試器這三種工具。雖然複雜一些,但是也行得通。特別在Linux環境下,不少程式員還是喜歡用這種方式來編程,可能不是裝,要的就是這個feel,倍爽。

  • 使用一種軟體,這種軟體集合了這三種工具的功能。這種軟體被稱為IDE(Integrated Development Environment 整合式開發環境)。


一開始你可能會難以抉擇,到底用哪種呢?即使選擇了用IDE,也會糾結到底用哪一個IDE好呢。其實我們可以肯定的是:不論你選擇哪種工具,你都可以編寫你想要的程式。只是效率,個人習慣和特定平台要求不同罷了。


個人淺見:

如果剛接觸C語言,盡量在Linux的命令列裡學習C語言編程。一開始不要怎麼用IDE。因為IDE做得太好了,都有提示,代碼自動補全,自動幫你添加代碼,你就不能學到很多,也記不牢。等編程水平好了一些,再用IDE不遲,那個時候IDE可以提高你的編程效率。一開始用emacs或者vim編寫C語言,用GCC編譯C語言,用GDB(GNU Debugger)調試C語言,是不錯的選擇。


當然了,我們還是會花比較多的篇幅介紹幾個常用的IDE。


選擇你的IDE


我們覺得有必要向大家展示幾個最著名的IDE,這幾個都是免費的(只買對的,不選貴的)


  • Code::Blocks:個人比較喜歡的一款IDE,免費,開源,跨平台。在之後的課程裡,我們會用Code::Blocks來做開發,因為Code::Blocks的開發環境搭建起來太快了,不需要什麼配置。

    可以運行在蘋果Mac,Windows,Linux等大多數作業系統上


  • Visual Studio:基礎版本是收費的。但是幸好有一個Visual Studio Express的版本是免費的。VS功能很完備,而且調試器很強大。

    只能運行在Windows作業系統上


  • Xcode:作為蘋果的當家IDE,不得不說Xcode真的做得太棒了。可以用來開發基本的小程式,也可以編寫iPhone和iPad的App(模擬器速度超快),和智能手錶應用,還可以和其他如Unity 3D引擎配合來編寫遊戲。

    只能運行在蘋果Mac OS X作業系統上



Code::Blocks

Code::Blocks是一款很不錯的IDE,不過目前只有英文版,當然網上也有漢化版本,不過既然學編程,就盡量把英語這關過了,也不需要太厲害的英語,基礎就好。畢竟漢化版有的翻譯不到位,可能會影響使用。而且好的編程資源基本都是英語的。


下載Code::Blocks

先去Code::Blocks的官方下載頁面:http://www.codeblocks.org/downloads/binaries

  • Windows使用者請下載 .exe 的檔案,請注意要下載名字裡有 mingw 的那個(codeblocks-13.12mingw-setup.exe),因為如果沒有mingw這幾個字母的版本不包含編譯器,就會很麻煩。

  • Linux使用者請下載對應你的作業系統的版本

  • 蘋果Mac使用者請下載 CodeBlocks-13.12-mac.zip



安裝運行Code::Blocks

Code::Blocks的安裝太簡單了,就跟安裝QQ沒什麼區別,一路預設到底就好。

安裝完之後雙擊運行,你可以看到如的介面



中標註了四個地區:

  1. 工具列:有很多按鈕,但只有幾個是真正我們時常用到的。

  2. 專案檔列表區:左邊的欄裡面顯示了你的項目的所有檔案

  3. 主介面:寫代碼的地方

  4. 通知欄:會看到啟動並執行錯誤,編譯的問題等等


如何來建立一個C語言的基本的控制台應用程式呢?


首先到菜單裡,File -> New -> Project,會開啟如下的視窗



可以看到,Code::Blocks支援非常多的程式類型,這些程式類型用到不同的庫,比如SDL(開發2D程式),OpenGL(開發3D程式),Qt和wxWidgets,等等。目前,這些表徵圖很多都只是好看而已,因為你還沒安裝對應的庫,所有不能用。我們會在後續課程開發基於SDL庫的遊戲。暫時我們只用最基本的Console application(控制台應用,簡單來說就是會彈出一個框,裡面顯示程式啟動並執行結果)。


選擇 Console application,點擊Go按鈕到下一步



“Project Title”裡面填寫你要建立的項目名稱,我們填的是著名的 HelloWorld。“Folder to create project in” 是選擇項目存放的路徑。

點擊Next到下一步,



這裡我們不必更改什麼,預設就好。點擊Finish(完成)結束配置,Code::Blocks就會建立你的第一個項目了。



開啟Sources裡的main.c這個C語言的原始碼檔案,點擊上面工具列裡有一個綠色的三角形按鈕,運行程式,它會提示你是否要編譯,點擊“yes”,運行起來後我們的第一個控制台程式輸出 Hello World!



Visual Studio


下載 Visual Studio Express,去官方下載頁面 http://www.visualstudio.com/products/visual-studio-express-vs

選擇適合你的作業系統的版本來下載。

因為小編是在蘋果電腦上編輯文章的,所以就不多做示範了。請大家去參考網上的安裝和使用圖文教程。不好意思啦。

安裝完運行後應該是與Code::Blocks類似的布局




Xcode

Mac作業系統裡有不少IDE,但是Xcode卻是廣大蘋果使用者的最愛。

不是所有的蘋果使用者都是程式員,所以蘋果沒有在Mac系統裡預裝Xcode,你需要到Mac App Store(市集)下載Xcode(需要有蘋果賬戶,沒有可以註冊一個)。


安裝很方便,只要去App Store搜尋Xcode,然後點擊Install(安裝),就安裝到應用程式裡了。將Xcode運行起來



然後選擇 Create a new Xcode project(建立一個新的Xcode項目),會彈出如下視窗



選擇 OS X -> Application -> Command Line Tool,點擊Next到下一步



Project Name裡填寫項目名稱,我們填了HelloWorld。Language(語言)選擇 C 語言,點Next下一步,會讓你選擇專案檔夾的存放路徑,隨便選擇。然後點擊Finish完成。



項目開啟之後,點擊 三角形 按鈕,運行,可以看到輸出了 Hello World!



總結一下

  • 一個程式要從開始編寫到能夠運行,一般來說需要三種工具:文字編輯器,編譯器,調試器(當然對於Python這樣的解釋性語言,就不需要編譯了)

  • 我們可以分開使用這三種工具來完成任務。但是比較方便的是使用IDE(整合式開發環境,混合了這三者)來開發。

  • Code::Blocks,Visual Studio(或Visual C++),Xcode是最著名的IDE,當然還有很多優秀的IDE(例如 Eclipse),就不一一介紹了。IDE只是工具。



第一部分第三課預告:你的第一個程式


今天的課就到這裡,一起加油吧。下一課一起來寫我們的第一個C語言的程式咯。





程式員聯盟 公眾號*您若覺得本文不錯,請點擊“分享”

*新朋友請關注「程式員聯盟」搜公眾號  ProgrammerLeague

小編的號:frogoscar

小編的郵箱:    enmingx@gmail.com




“程式員聯盟”公眾號專為程式員,App設計師,各位喜愛編程和熱愛分享的小夥伴們推送各樣編程相關知識,優秀軟體推薦,業界動態等。搜尋ProgrammerLeague 加關注~


持續關注 程式員聯盟 公眾號,更多有趣,有料,有亮點的內容等著你哦!


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.