程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C語言教案——基礎知識

C語言教案——基礎知識

編輯:關於C語言

C語言基礎 【教學目的】:了解C語言發展過程              掌握C語言的特點              掌握C語言上機練習的過程 【本章內容】:C語言發展過程              C語言程序結構              C語言開發工具的安裝和使用 【本章重點】:C語言開發工具的安裝和使用 【計劃課時】:4 1.       C語言的發展歷史 1.1.       編程語言 計算機是一種可以自動執行動作的設備,但是需要根據已經設定好的命令來執行。設定計算機動作的工具就是編程語言。最早的編程語言是機器語言,即用0和1來進行編程,後來升級為匯編語言。統稱低級語言。低級語言非常依賴硬件,尤其是CPU的結構,如果用低級語言編寫一個程序,那麼這個程序一般只能在一種特定的軟硬件上執行,如果放到其它結構的平台上將不能執行。如在A類CPU上有一個128K的高速存儲器,程序員可以將一些數據放入該存儲器中以便運行時使用,但是B類CPU上的高速存儲器只有1K大小,這就導致在A類CPU上可以運行的程序,放到B類CPU上運行時,很多數據沒有空間存放,程序無法執行。因此低級語言的程序只能針對特定軟硬件環境編寫,沒有跨平台的能力。而且使用低級語言編寫程序前必須對將來要使用的硬件平台有較深了解,這就導致使用低級語言開發程序速度慢,效率低。但是低級語言直接在硬件上執行,編寫好的程序運行速度很快。 後來出現了C、Pascal等更接近英語習慣的面向過程的高級語言,還有JAVA、C++等面向對象的高級語言。高級語言在使用上比較接近英語習慣,不需要程序員詳細了解硬件結構,因此學習比較容易。高級語言不能在硬件上直接執行,需要使用一些工具將高級語言程序轉換為硬件可以直接執行的形式,根據轉換方式不同,可以分為編譯和解釋兩大類轉換方式。高級語言因為不直接面向硬件,因此具有一定的跨平台能力,如C語言,同樣的程序,如果需要在不同的硬件上執行,只需要使用不同的工具將程序轉換為適應不同硬件的形式就可以了;而JAVA這樣的語言具有更強的跨平台能力。 編程語言的好壞很難直接比較,不同的編程語言有不同的特點和適用領域。如C語言比較適合開發操作系統這樣的底層軟件,但是在精確的數值計算上不如Fortran語言;PHP就比較適合開發動態網站,而C++則比較適合開發單機的軟件,如游戲。 1.2.       編譯和解釋 編譯和解釋都可以把程序代碼轉換為可以在硬件上直接執行的指令,但是方式不同。編譯方式是先將所有的代碼都轉換以後再在硬件上執行,這種方式編譯時間較長,但是編譯後執行速度較快,跨平台能力較差;解釋方式是運行時將一部分代碼轉換後就開始在硬件上執行,一邊轉換一邊執行,速度上較慢,但跨平台能力強於編譯方式。 兩者各有優缺點。C語言屬於編譯型的語言,負責編譯源程序的工具叫做編譯器。如果是解釋型的語言,負責解釋源程序的工具叫做解釋器。 1.3.       C語言 Ken Thompson(圖靈獎獲得者,目前在Google研發Go語言) 和Dennis Ritchie(圖靈獎獲得者,已於2011.10.9去世)共同發明了UNIX和C語言。最早的UNIX使用匯編語言編寫,KenThompson和Dennis Ritchie 為了將UNIX移植到其它結構的計算機上,發明了C語言,C語言的發展又使UNIX擁有更好的性能和更多的功能,兩者相互促進,相互影響。UNIX後來是最優秀也是最流行的操作系統,蘋果公司的操作系統就源自UNIX,還有最穩定的操作系統BSD,以及Solaris、IPX等一系列非常優秀的大型機操作系統,均源自UNIX,目前炙手可熱的Linux也是受到UNIX啟發而編寫的,可以說是UNIX家族的一個分支,目前世界最先進的前500台計算機,絕大多數都選擇UNIX或Linux作用它們的操作系統。C語言則是JAVA、C++等流行編程語言的前身,還有其它一些編程語言,如Python等解釋型語言,它們的解釋器均由C語言編寫。   1.4.       C語言的標准 C語言最初沒有標准,後來因為比較流行,美國政府執制訂了C語言的標准,最早的標准是ANSI於1989年發布,簡稱ANSI C,或者C89,後來經過修改,於1999年形成了新的標准,簡稱C99。 標准需要編譯器來執行。 但是C語言本身非常靈活,而標准也不是非常嚴謹,使用者在使用C語言時,會根據自己的開發環境和要求,來開發適合自己的編譯器。這就導致目前已經有了數百個編譯器,每個編譯器都有自己的特點,雖然都基本遵循C語言的標准,但細微之處都略有差異,這就需要使用者在編寫程序之前先了解這些細微差別。比較著名的編譯器有tc,gcc,cl等。 2.       C語言的特點 l           語言簡潔、緊湊,使用方便、靈活 l           運算符豐富 l           數據結構豐富,具有現代化語言的各種數據結構 l           具有結構化的控制語句 l           程序可移植 l           語法限制不嚴格,程序設計自由度大 l           直接對硬件操作,能進行位操作 l           執行效率高,速度快 l           C語言開發周期較長 l           C語言過於靈活,易出錯 l           C的標准比較模糊,導致出現了數百種C語言編譯器,而且各有差異 3.       C語言開發工具 3.1.       基本開發工具 C語言的源程序是純文本文件,因此任何文本編輯器均可用於編寫C語言的源程序,保存時注意源文件的後綴名必須為“c”即可(頭文件的後綴名是“h”,其本質也是純文本文件,和C語言源文件內容要求一致,後綴名僅僅用於區分兩者的作用差異而已),文件名沒有特殊規定,只要符合一般命名規則即可——漢字除外。選擇文本編輯器時最好選擇具有關鍵字高亮、和自動匹配符號和自動縮進的軟件,這樣容易寫出正確、整齊的代碼。比較流行的、適合編寫代碼的編輯器有Notepad++,PSPad等。 還需要編譯器,所有的編譯器都可以在命令行下運行,因此需要掌握所選編譯器的基本命令格式和使用方法。建議使用gcc編譯器,該編譯器支持標准C語言,功能強大,速度比較快,而且可以免費獲取。 3.2.       IDE IDE是集成開發環境的縮寫,IDE可以允許程序員在同一個軟件中編寫代碼,調用編譯器,界面簡單、直觀,高級的IDE開可以提供項目管理、代碼完成、圖形化開發等高級功能,在這些功能的幫助下,程序員不需要寫很多代碼即可實現程序的核心功能,其它部分由IDE自動完成,因此好的IDE可以大大加快程序開發速度。 3.3.       開發工具的選擇 IDE方便,速度快,有利於開發者,而不適合初學者使用。因為很多部分不需要開發者來直接編寫,只需要按下一些快捷鍵,或者使用一些向導工具即可完成,開發者可以利用這些功能加快開發速度,初學者卻完全不知道IDE究竟做了什麼,對於學習編程有害而無利。 因此初學者盡量選擇合適的文本編輯器+命令行編譯器,通過手寫代碼和手工編譯來加深對編程語言的理解,或者選擇功能簡單的IDE來編寫和運行程序,但一定不能有自動完成代碼或者代碼提示等功能。那麼什麼時候可以使用IDE呢?等到不需要IDE也能做開發的時候,就說明你已經掌握編程語言的基本知識,可以使用IDE來加快開發了。 3.4.       Code::Blocks 我建議使用Code::Blocks來作為初學者的IDE,因為該IDE自帶Gcc編譯器,可以省去配置環境變量的麻煩,而且沒有過多的自動化功能,可以供初學者使用。   4.       C語言上機實驗流程 (1)         打開Code::Blocks; (2)         選擇界面中的“創建新項目”,打開新建對話框; (3)         選擇左側“代碼文件”,再選擇右側的“C/C++ Source”,單擊“出發”按鈕; (4)         一開始是歡迎界面,可以選擇界面中唯一的復選框來保證以後可以調過該界面,單擊“下一步”按鈕; (5)         選擇“C”這一選項,然後單擊“下一步”按鈕; (6)         在“帶完整路徑的文件名”文本框中輸入即將建立的C程序源文件的存放位置和文件名稱,也可以單擊文本框右側的按鈕來輸入,然後單擊“完成”按鈕; (7)         進入編輯界面,編寫代碼; (8)         點擊“保存”按鈕,保存代碼後使用Crtl+F9(或者Shift+Crtl+F9)編譯程序,如果代碼有錯誤,會在界面下半部分提示,根據提示改正錯誤,直到編譯後沒有錯誤和警告提示,按下Crtl+F10運行程序。 5.       C語言程序的結構 #include<stdio.h> /*包含頭文件*/ main() /*主函數,C語言的基本單位是函數,C程序運行的入口點就是main函數,因此每個C程序有且只能有一個main函數*/ { /*大括號,內部是這個函數的內容,也就是函數體*/ int x,y,sum; /*定義變量*/ scanf("%d%d",&x,&y); /*scanf是輸入函數,可以由用戶輸入數據,定義在stdio.h文件中*/ sum=x+y; /*將x+y的值賦予變量sum*/ printf("%d\n",sum); /*printf是輸出函數,可以輸出數據,定義在stdio.h文件中*/ } 6.       學習編程語言的過程 ►    做好預習和復習 ►    上課認真聽講,上機課認真練習 ►    抄程序 ►    改程序 ►    讀別人寫好的程序 ►    注意編程格式 ►    自己編寫簡單程序 ►    嘗試解決一些較復雜問題 ►    經常交流,善於提問,善於討論問題  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved