C語言程序設計-第1章 緒論_第1頁
C語言程序設計-第1章 緒論_第2頁
C語言程序設計-第1章 緒論_第3頁
C語言程序設計-第1章 緒論_第4頁
C語言程序設計-第1章 緒論_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1章緒論 返回總目錄目錄 1.1C語言的發(fā)展過程 1.2C語言的特點 1.3C程序的結構和書寫格式 1.4Visual C+ 6.0上機操作 1.5習題一 返回總目錄基本要求:)了解C語言的發(fā)展過程與特點;)熟悉C語言程序的結構和書寫格式;)熟悉C語言程序的上機調試過程。學習重點:)C程序的結構與書寫格式;)C程序的上機調試過程。機器語言匯編語言高級語言面向過程面向對象CPU指令系統(tǒng),由0、1序列構成的指令碼組成如:10000000 加 10010000 減用助記符號描述的指令系統(tǒng)如 ADD A, B面向機器的語言程序設計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封

2、裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設計關鍵是定義類,并由類派生對象1.1C語言的發(fā)展過程1.1.1 計算機語言的發(fā)展過程 返回目錄5254565860626466687072747678808284868890929496AdaALGOL60ALGOL68PascalModula-2CPLBCPLBCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASICVBFORTRAN901.1C語言的發(fā)展過程1.1.2 C語言的發(fā)展過程 產(chǎn)生過程時間:19721973地點:美國貝爾實驗室目的

3、:UNIX操作系統(tǒng)設計人: Ken.Thompson和Dennis.M.RitchieC標準標準C: K&R合著The C Programming LanguageANSI C: 1983年89 ANSI C: 1989年99 ANSI C: 1999年1.1C語言的發(fā)展過程1.1.2 C語言的發(fā)展過程 語言簡潔、緊湊、靈活運算符和數(shù)據(jù)類型豐富程序設計結構化、模塊化生成目標代碼質量高可移植性好1.2C語言的特點1.2.1 C語言的特點 返回目錄32個關鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double

4、elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while1.2C語言的特點1.2.1 C語言的特點 9種控制語句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn1.2C語言的特點1.2.1 C語言的特點 例 C語言與Pascal語言比較C語言 Pascal語言 含義 BEGIN.END 復合語句if(

5、e) s; IF(e) THEN s 條件語句int i ; VAR i:INTEGER 定義i為整型變量 int a10; VAR a:ARRAY1.10 OF INTEGER 定義整型數(shù)組aint f(); FUNCTION f():INTEGER 定義f為返值整型的函數(shù)int *p; VAR p:INTEGER 定義p為指向整型變量的指針i+= 2; i=i+2 賦值i+2ii+,+i; i=i+1 i自增值結論:C比 Pascal簡練,源程序短。1.2C語言的特點1.2.1 C語言的特點 34種運算符:算術運算符:+ - * / % + -關系運算符: = !=邏輯運算符:! & |位

6、運算符 : | &賦值運算符:= 及其擴展條件運算符:?:逗號運算符:,指針運算符:* &求字節(jié)數(shù) :sizeof強制類型轉換:(類型)分量運算符:. -下標運算符:其它 :( ) -1.2C語言的特點1.2.1 C語言的特點 C數(shù)據(jù)類型基本類型構造類型指針空類型(void)自定義(typedef)數(shù)值類型字符類型(char)枚舉類型(enum)整 型浮點型單精度型(float)雙精度型(double)短整型(short)長整型(long)整型(int)數(shù)組結構體(struct)共用體(union)1.2C語言的特點1.2.1 C語言的特點 例1.1 第一個程序 Hello,World!/*

7、LT1_1.c The first C Program*/#include main() printf(“Hello,World!n”);注釋編譯預處理函數(shù)語句輸出:Hello,World!1.3C程序的結構和書寫格式1.3.1 C程序的結構 返回目錄例1.2/* example1.2 calculate the sum of a and b*/#include /* This is the main program */main() int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %dn,sum);/ This function cal

8、culates the sum of x and y int add(int x,int y) int z; z=x+y; return(z);運行結果:sum=34函數(shù)語句預處理命令注釋函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成必須有且只能有一個主函數(shù)main()程序執(zhí)行從main開始,在main中結束,其它函數(shù)通過嵌套調用得以執(zhí)行。程序語句C程序由語句組成用“;”作為語句終止符注釋/* */為注釋,不能嵌套不產(chǎn)生編譯代碼編譯預處理命令例: /*This is the main /* of example1.1*/ */ 非法1.3C程序的結構和書寫格式1.3.1 C程序的結構 格式特點習慣用小寫

9、字母,大小寫敏感不使用行號可使用空行和空格常用鋸齒形書寫格式(縮進對齊)main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum);優(yōu)秀C程序員的編程風格:使用TAB縮進 對齊有足夠的注釋有合適的空行注:VC中通過設置可實現(xiàn)智能縮進和 對齊1.3C程序的結構和書寫格式1.3.2 C程序的書寫格式 編輯鏈接編譯執(zhí)行file.exe程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標程序*.obj與其它目標程序或庫鏈接裝配,

10、生成可執(zhí)行程序*.exe 返回目錄1.4.1 C程序的開發(fā)步驟 1.4Visual C+ 6.0上機操作1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 在Visual C+ 6.0開發(fā)環(huán)境下,C程序按工程(project)進行組織,每個工程可包括一個或多個C/CPP源文件,但只能有一個main函數(shù)。有時,為了完成任務經(jīng)常需要不止一個工程。如可能要寫DLL以支持應用程序,因此,VC中將1個或多個工程組織成一個工作區(qū)。工作區(qū)一般包括1個或多個工程,也可以是空的工作區(qū),但是不能創(chuàng)建一個沒有工作區(qū)的工程。1.4.2 Visual C+ 6.0軟件簡介 所以在VC

11、+ 6.0中存在如下關系:工作區(qū)(1個)工程(0個或多個)C/CPP文件(0個或多個)工作區(qū)信息保存在擴展名為.dsw的文件中工程信息保存在擴展名為.dsp的文件中1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 在VC中編輯并調試C程序主要有如下3種方式:1)創(chuàng)建一個空的工作區(qū)創(chuàng)建一個空的工程新建一個或多個c/cpp文件加入到工程編輯、編譯并調試2)創(chuàng)建一個空的工程,同時也創(chuàng)建一個工作區(qū)新建一個或多個c/cpp文件加入到工程編輯、編譯并調試3)新建一個c/cpp文件編輯編譯接受創(chuàng)建默認工程與工作區(qū)的提示編輯、編譯并調試下面的介紹采用第2種方式。1.4Vi

12、sual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 下面以例1.1為示例(例1.1源文件命名為LT1_1.c)介紹在Visual C+ 6.0 IDE中建立工程并進行C程序調試的主要操作步驟。 注意,由于Visual C+ 6.0的漢化版本很多,菜單項的漢化名稱不盡相同(如主菜單項“Build”,有的版本翻譯成“組建”,有的版本則翻譯成“編譯”,而其下拉菜單項中第二個子菜單項名也叫”Build”,有的版本翻譯成“生成”,有的翻譯成“構件”),所以下面在介紹相應菜單項名稱時,用圓括號附上其英文菜單項名。1.4Visual C+ 6.0上機操作1.4.2 Visual C

13、+ 6.0軟件簡介 1啟動Visual C+ 6.0 IDE1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 2工程(Project)的創(chuàng)建含工作區(qū)的創(chuàng)建1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 2工程(Project)的創(chuàng)建1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 3在工程(Project)中添加并編輯源程序 1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 3在工程(Project)中添加并編輯源程序 1.4Visual C

14、+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 4編譯過程1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 5連接過程1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 6執(zhí)行程序1.4Visual C+ 6.0上機操作1.4.2 Visual C+ 6.0軟件簡介 6執(zhí)行程序 Visual C+ 6.0 IDE的重建提示信息 1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 C語言程序的錯誤主要包括兩大類:一類是語法錯誤;一類是邏輯設計錯誤。語法錯誤是指違背了C語

15、言語法規(guī)則而導致的錯誤。語法錯誤分為error和warning兩種。如果程序有語法錯誤,則在編譯時,Visual C+ 6.0 IDE的編譯器將在輸出窗口中給出語法錯誤提示信息,錯誤提示信息一般還可以指出錯誤發(fā)生所在位置的行號。用戶可以在輸出窗口中雙擊錯誤提示信息或按F4鍵返回到源程序編輯窗口,并通過一個箭頭符號定位到引起錯誤的語句,如下頁圖所示。 1程序調試時的常見錯誤分類1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 1程序調試時的常見錯誤分類1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 需要說明的是,編譯器

16、給出的錯誤提示信息可能不十分準確,并且一處錯誤往往會引出若干條錯誤提示信息,因此,修改一個錯誤后最好馬上進行程序的編譯或運行。例如,在上頁圖中,錯誤提示信息中括號內的數(shù)字6指示錯誤發(fā)生在第6行,指示錯誤的箭頭也指向第6行,但實際錯誤發(fā)生在第5行的末尾,因為第5行的末尾少了一個分號。1程序調試時的常見錯誤分類1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 如果程序并沒有違背C語言的語法規(guī)則,編譯器也沒有提示出錯,而且程序能夠成功運行,但程序執(zhí)行結果卻與原意不符,這類程序設計上的錯誤被稱為邏輯設計錯誤。這類錯誤由于編譯器不能給我們出錯提示,所以必須利用“調試

17、器(Debug)”對程序進行跟蹤調試才能發(fā)現(xiàn)錯誤。1程序調試時的常見錯誤分類1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 2程序調試時調試器(Debug)的使用1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 2程序調試時調試器(Debug)的使用1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 3 Debug版本和Release版本默認情況下,Visual C+ MFC AppWizard有兩種類型的程序設置:一種是Debug版本,其中編譯和鏈接了對象文件中的調試代碼;另一種

18、是Release版本,將刪除所有的調試代碼。Debug版本通常稱為調試版本,它包含調試信息,并且不作任何優(yōu)化,便于程序員調試程序。Release版本稱為發(fā)布版本,它往往是進行了各種優(yōu)化,使得程序在代碼大小和運行速度上都是最優(yōu)的,以便用戶很好地使用。1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 3 Debug版本和Release版本兩種版本各有自己的編譯/鏈接選項和資源狀況,可以使用Project Settings對話框(工程Project設置Settings)來修改。當前工程是編譯成Debug版本還是Release版本,通過使用Set Active P

19、roject Configuration對話框(編譯Build放置可運行配置Set Active Configuration )來設置。默認為Debug版本。調試生成的exe文件在工程目錄下的debug或release子目錄下。當然也可使用Project Settings對話框設置不同的目錄。1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 3 Debug版本和Release版本1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 4 常見錯誤示例(1)出錯原因:變量a事先沒有定義。1.4Visual C+ 6.0上機操作

20、1.4.3 Visual C+ 6.0程序調試 4 常見錯誤示例(2)出錯原因:實型變量不允許進行“求余”運算。 1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 4 常見錯誤示例(3)出錯原因:a和A是兩個不同的變量名,而A沒有定義。 1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 4 常見錯誤示例(4)出錯原因:忘記加分號。 1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 4 常見錯誤示例(5)本程序實現(xiàn):若a與b相等,則顯示ok。編譯無錯。本程序中a與b并不相等,但結果顯

21、示ok。錯。a=b應該改成a=b。此為典型的邏輯設計錯誤。 1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 4 常見錯誤示例(6)程序的原意是先后輸入5個數(shù),每輸入一個數(shù)后再將它輸出。編譯無錯。由于for()后多加了一個分號,使循環(huán)體變?yōu)榭照Z句,此時只能輸入一個數(shù)并輸出它。此為典型的邏輯設計錯誤。 1.4Visual C+ 6.0上機操作1.4.3 Visual C+ 6.0程序調試 這里我們介紹了在Visual C+ 6.0中調試C程序的一些基本知識,但Visual C+ 6.0的基本操作和相關知識很多,這里就不一一介紹了,更深入的了解可以閱讀Visual C+ 6.0的相關專業(yè)書籍和網(wǎng)絡資源。更為重要的是,本工具及本課程的學習需要大量的上機實踐才能熟練掌握。1.4Visual C+ 6.0上機操作1.5習題一 單項選擇題 一個完整的可運行的C源程序中 .A)可以有一個或多個主函數(shù)B)必須有且僅有一個主函數(shù)C)可以沒有主函數(shù)D)必須有主函數(shù)和其他函數(shù)構成C語言源程序的基本單位是 . A)子程序 B)過程 C)文本 D)函數(shù)BD 返回目錄1.5習題一 單項選擇題 某C程序由一個主函數(shù)ma

溫馨提示

  • 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

提交評論