第1部分C語言概述及組成紀鋼ppt課件_第1頁
第1部分C語言概述及組成紀鋼ppt課件_第2頁
第1部分C語言概述及組成紀鋼ppt課件_第3頁
第1部分C語言概述及組成紀鋼ppt課件_第4頁
第1部分C語言概述及組成紀鋼ppt課件_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、主講:紀主講:紀 鋼鋼 教授教授重慶理工大學計算機學院重慶理工大學計算機學院課程要求課程目的:課程目的: 正確了解和運用正確了解和運用 C言語的根本數據構造和語法言語的根本數據構造和語法 運用構造化程序的思想去閱讀和設計程序運用構造化程序的思想去閱讀和設計程序 完成構造化程序的編寫、調試的根本訓練完成構造化程序的編寫、調試的根本訓練課程根本要求課程根本要求: 學會運用學會運用C言語編譯系統,學會上機調試言語編譯系統,學會上機調試C程序程序 C言語概念和方法要清楚,書上的例子要明白言語概念和方法要清楚,書上的例子要明白 掌握程序設計的普通方法和思想、常用算法掌握程序設計的普通方法和思想、常用算法

2、 仔細完成作業仔細完成作業考試方法及要求考試方法及要求 一致考試一致考試:占占80% 作業及上機實驗作業及上機實驗:占占20% 上課、組織紀律,遲到上課、組織紀律,遲到1次扣次扣1分分,曠課曠課1次扣次扣3分分 課程特點課程特點 C是根底:接觸各種數據類型及表達式、根本語句語是根底:接觸各種數據類型及表達式、根本語句語法、常用函數法、常用函數 C程序設計:程序設計: 根本算法和案例程序的交融根本算法和案例程序的交融后續課程后續課程 C+程序設計、面向對象程序設計、數據構造與算法程序設計、面向對象程序設計、數據構造與算法分析、操作系統分析、操作系統(UNIX)學什么學什么 言語及程序設計概述言語

3、及程序設計概述 數據類型、運算符與表達式數據類型、運算符與表達式 簡單程序設計簡單程序設計(順序、選擇、循環構造程序設計順序、選擇、循環構造程序設計 數組數組 函數函數 指針指針 構造體與共用體構造體與共用體 文件文件教學方法教學方法如何教如何教實際課:重點講授主要算法和程序案例實際課:重點講授主要算法和程序案例實驗課:驗證式實驗教學,實現算法程序實驗課:驗證式實驗教學,實現算法程序習題課:分析復雜程序案例習題課:分析復雜程序案例學習方法學習方法如何學如何學課前預習:書中主要語句、函數、例題課前預習:書中主要語句、函數、例題 課后復習:教案中重點例題課后復習:教案中重點例題仔細獨立完成作業仔細

4、獨立完成作業上機前必需完成根本程序上機前必需完成根本程序多讀、多看、多寫程序多讀、多看、多寫程序第一章第一章 C言語概述言語概述C C言語開展歷史言語開展歷史C C言語特點言語特點C C程序格式和構造特點程序格式和構造特點C C程序上機步驟程序上機步驟算法及表示算法及表示1.1 C言語開展歷史程序設計言語的開展機器言語匯編言語高級言語面向過程面向對象CPU指令系統,由0、1序列構成的指令碼組成如:10000000 加 10010000 減用助記符號描畫的指令系統如 ADD A, B面向機器的言語程序設計是數據被加工的過程客觀世界可以分類,對象是類的實例對象是數據和方法的封裝對象間經過發送和接受

5、音訊發生聯絡程序設計關鍵是定義類,并由類派生對象馮.諾依曼構造:計算機運算器控制器存儲器主機:I/O設備:鍵盤、顯示器等中央處置器CPU C言語程序設計 第一章 C言語概述C言語是在研制言語是在研制UNIX操作系統過程中誕生,伴隨著操作系統過程中誕生,伴隨著UNIX操作系統的開展而流行操作系統的開展而流行ALGOL 60 B言語言語 C言語言語(UNIX) ANSI C(1983)目前最流行的言語有以下幾種:目前最流行的言語有以下幾種: Microsoft C 或稱或稱 MS C Borland Turbo C 或稱或稱 Turbo C 本教材選用本教材選用 AT&T C Turbo

6、C2.0 1989年年 Turbo C+(3.0) 1991年年 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96AdaALGOL60ALGOL68PascalModula-2CPLBCPL BCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASIC VBFORTRAN90C言語開展過程產生背景產生過程時間:19721973地點:美國貝爾實驗室目的:UNIX操作系統設計人: Ken.Thompso

7、n和Dennis.M.RitchieC規范規范C: K&R合著ANSI C: 1983年87 ANSI C: 1987年1990年國際規范的ANSI C C言語程序設計 第一章 C言語概述1.2 C言語特點言語簡約、緊湊、靈敏運算符和數據類型豐富程序設計構造化、模塊化生成目的代碼質量高可移植性好中級言語 C言語程序設計 第一章 C言語概述32個關鍵字:(由系統定義,不能重作其它定義)auto break case char constcontinue default do double elseenum extern float for gotoif int long register

8、 returnshort signed sizeof static structswitch typedef unsigned union voidvolatile while C言語程序設計 第一章 C言語概述9種控制語句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn C言語程序設計 第一章 C言語概述34種運算符:算術運算符:+ - * / % + -關系運算符: = !=邏輯運算符:! & |位運算符 : | &賦值運算符:= 及其擴展條件運算符:?:逗號運算符:,指針運算符:* &求

9、字節數 :sizeof強迫類型轉換:(類型分量運算符:. -下標運算符:其它 :( ) - C言語程序設計 第一章 C言語概述C數據類型根本類型構造類型指針類型空類型void定義類型typedef數值類型字符類型char枚舉類型enum整 型浮點型單精度型float雙精度型double短整型short長整型long整型int數組構造體struct共用體union C言語程序設計 第一章 C言語概述1.3 C程序格式和構造特點例1.1 第一個程序 Hello,World!/* example1.1 The first C Program*/#include main() printf(“Hell

10、o,World!); C言語程序設計 第一章 C言語概述注釋編譯預處置函數語句輸出:Hello,World!例1.2/* example1.1 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 calculates the sum of x and y */int add(int x,int y) int z; z=x+y; return(z

11、);運轉結果:sum=34函數語句預處置命令注釋 C言語程序設計 第一章 C言語概述格式特點習慣用小寫字母,大小寫敏感不運用行號,無程序行概念可運用空行和空格常用鋸齒形書寫格式 C言語程序設計 第一章 C言語概述main( ) . . . . . . .main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn,sum);優秀程序員的素質之一:運用TAB縮進對齊有足夠的注釋有適宜的空行構造特點函數與主函數程序由一個或多個函數組成必需有且只能有一個主函數main()程序執行從mai

12、n開場,在main中終了,其它函數經過嵌套調用得以執行。程序語句C程序由語句組成用“;作為語句終止符注釋/* */為注釋,不能嵌套不產生編譯代碼例: /*This is the main /* of example1.1*/ */ 非法v編譯預處置命令 C言語程序設計 第一章 C言語概述編輯鏈接編譯執行1.4 C程序的上機步驟C程序開發步驟 開 始 編 輯 編 譯 連 接 執 行 有錯?結果正確? 結 束有源程序 file.c目 標 程序file.obj庫函數和其它目標程序可執行目標程序無正確不正確file.exe C言語程序設計 第一章 C言語概述程序代碼的錄入,生成源程序*.c語法分析查錯

13、,翻譯生成目的程序*.obj與其它目的程序或庫鏈接裝配,生成可執行程序*.exe源程序目標程序可執行程序內容程序設計語言機器語言機器語言可執行不可以不可以可以文件名后綴.c.obj.exeTurbo C集成開發環境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系統硬盤容量約2M,448K RAM運轉空間安裝Turbo C創建子目錄Install假設不是可安裝盤,將文件拷貝到對應的目錄下TC*.*INCLUDELIB*.*SYS*.* C言語程序設計 第一章 C言語概述v進入Turbo CvD:TCTC.exev主控菜單v文件操作FILE :New Load Save Write

14、tov編輯操作EDIT:插入/修正 塊 查找/交換v編譯鏈接COMPILE LINK MAKEv執行RUNv退出Turbo CvAlt +xvAlt+F ,Qv協助HelpvF1vCtrl+F1 C言語程序設計 第一章 C言語概述Turbo C +3.0集成開發環境 封鎖按鈕封鎖按鈕窗口稱號窗口稱號最大化最大化/復原按鈕復原按鈕光標所在行號光標所在行號光標所在列號光標所在列號程度滾動條程度滾動條編輯窗口編輯窗口垂直滾動條垂直滾動條信息窗口信息窗口 Visual C+ 6.0開發環境及操作Visual C+ 6.0是Microsoft公司推出的Visual Studio軟件開發工具的成員之一。其

15、功能強大、運用方便和界面友好的優勢。 C言語程序設計 第一章 C言語概述 C言語程序設計 第一章 C言語概述新建文件原程序輸入1.5 算法表示方法算法表示方法1.根本概念引見做任何事情都有一定的步驟。為處理一個問題而采取的方法和步驟,就稱為算法。 程序數據構造+算法。數據構造是程序中用到的數據的構造方式及其類型。對于面向對象程序設計,強調的是數據構造,而面向過程的程序設計言語如C言語,主要關注的是算法。算法是程序的中心,也是面向對象程序設計的根底。1. 算法是處理某一問題所采取的一系列步驟,它具有如下特點: (1)有輸入:算法可以有零個或多個輸入。輸入是用來在一個算法的執行過程中,向它提供處置

16、對象(數據)或控制算法執行過程的信息。 (2)有輸出:算法必需具有一個或多個輸出。它是算法執行結果的輸出。沒有輸出的算法是一個無效的算法。(3)(3)有窮性:任何算法都應該在執行有窮步驟之后有窮性:任何算法都應該在執行有窮步驟之后終了。終了。(4)(4)確定性:算法不能具有二義性。也就是說,算確定性:算法不能具有二義性。也就是說,算法中每一步的語義都應該是明晰明了的,明確指法中每一步的語義都應該是明晰明了的,明確指出應該執行什么操作,如何執行操作。出應該執行什么操作,如何執行操作。(5)(5)高效性:根據算法編寫出來的程序應具有較高高效性:根據算法編寫出來的程序應具有較高的執行效率。其主要含義

17、有:一是執行時間短,的執行效率。其主要含義有:一是執行時間短,二是不占用過多內存。二是不占用過多內存。常用的簡單算法描畫 : 例1.4累加,求:1+2+3+4+5+100。 第一步:1+2 S結果 第二步:S+3 S結果 第三步:S+4 S結果 第九十九步:S+100 S結果這樣的算法雖然正確,但太繁瑣。改良的算法:第一步:令x1;第二步:令i2;第三步:使x+i,和仍放在x中,可表示為x+ix;第四步:使i的值+1,即i+1i。第五步:假設i100,前往重新執行步驟第三步以及其后的第四步和第五步;否那么,算法終了。例1.5有10個工人,要求查找其中工資高于1500元的人員,并輸出。算法分析:

18、如用n表示工人序號,ni表示第i個工人的序號,g表示工人的工資,gi表示第i個工人的工資。算法表示:第一步:1i。第二步:假設gi1500,那么打印ni和gi,否那么不打印。第三步:i+1i。第四步:假設i10,前往第二步,否那么終了。常用算法的表示方法算法的表示方法有很多種,常用的有:自然言語描畫、偽代碼、流程圖、NS圖等。在這里重點引見流程圖和NS圖。用流程圖表示算法 一個流程圖包括:表示相應操作的框,帶箭頭的流程線,框內外必要的文字闡明。幾何圖形框的含義如以下圖所示。起止框起止框輸入輸出框輸入輸出框判別框判別框處置框處置框流程線流程線銜接點銜接點例1.6用流程圖表例如1.4和1.5 一個

19、流程圖,包括以下幾部分:表示相應操作的框;帶箭頭的流程線;框內外必要的文字闡明;留意,畫流程線時,不要忘記畫箭頭,由于它是反響流程的執行先后次序的,如不畫出箭頭就很難判別各框的執行次序了。根據構造化程序設計的思想,任何一個程序都由順序、循環、選擇三種根本構造組成,其流程圖構造如下所示。順序構造順序構造ABABP不成立成立AP不成立成立AP不成立成立AP成立不成立循環構造循環構造選擇構造選擇構造用N-S流程圖表示算法 順序構造順序構造AB選擇構造選擇構造循環構造循環構造用計算機言語表示算法 例1.6用C言語改寫例如1.4 例1.7用C言語改寫例如1.5 #includevoid main()int i; float arr10;

溫馨提示

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

評論

0/150

提交評論