c語(yǔ)言課件第一章1_第1頁(yè)
c語(yǔ)言課件第一章1_第2頁(yè)
c語(yǔ)言課件第一章1_第3頁(yè)
c語(yǔ)言課件第一章1_第4頁(yè)
c語(yǔ)言課件第一章1_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C語(yǔ)言程序設(shè)計(jì)主講:洪炎教材、參考書(shū)與課時(shí)安排教材C語(yǔ)言程序設(shè)計(jì)教程第三版 譚浩強(qiáng) 清華大 學(xué)出版社 參考書(shū)C語(yǔ)言設(shè)計(jì)教程 田淑清 高等教育出版社C高級(jí)實(shí)用程序設(shè)計(jì) 王士元 清華大學(xué)出版社亦可參考教材末尾參考文獻(xiàn)課時(shí)安排授課 :36學(xué)時(shí)上機(jī) :20學(xué)時(shí)(其它自由上機(jī)自定)進(jìn)程安排:課程性質(zhì)及學(xué)習(xí)目標(biāo)課程性質(zhì): 本課程系電氣類專業(yè)公共平臺(tái)課、專業(yè)基礎(chǔ)課 課程開(kāi)設(shè)的目的:為今后的“系統(tǒng)開(kāi)發(fā)”打下良好的軟件編程基礎(chǔ)學(xué)習(xí)目標(biāo) 掌握C語(yǔ)言的數(shù)據(jù)結(jié)構(gòu)、基本語(yǔ)法、編程的基本步驟 熟練運(yùn)用C語(yǔ)言設(shè)計(jì)算法求解問(wèn)題 C程序和程序設(shè)計(jì)C程序 “程序” :人們把可以連續(xù)執(zhí)行的一條條指令的集合稱為, 是人與機(jī)器進(jìn)行“對(duì)

2、話”的語(yǔ)言。 “C程序”:用C語(yǔ)言開(kāi)發(fā)的程序。C語(yǔ)言源程序二進(jìn)制機(jī)器指令C語(yǔ)言編譯程序生成.obj文件由機(jī)器處理用戶編寫程序連接程序生成可執(zhí)行文件Link生成.exe文件程序設(shè)計(jì)簡(jiǎn)單的程序設(shè)計(jì)一般包含以下幾個(gè)部分:1.確定數(shù)據(jù)結(jié)構(gòu)2.確定算法3.編碼4.在計(jì)算機(jī)上調(diào)試程序5.整理并寫出文檔資料軟件工程對(duì)于大型工程及項(xiàng)目軟件的編寫軟件生命周期方法學(xué) 1。軟件定義階段 2??尚行匝芯侩A段 3。需求分析階段 4??傮w設(shè)計(jì)階段 5。詳細(xì)設(shè)計(jì)階段 6。編碼及單元測(cè)試階段 7。綜合測(cè)試階段 8。維護(hù)階段第一章 C語(yǔ)言概述C語(yǔ)言發(fā)展歷史C語(yǔ)言特點(diǎn)C程序格式和結(jié)構(gòu)特點(diǎn)C程序上機(jī)步驟習(xí)題C程序的適用范圍1.1

3、C語(yǔ)言發(fā)展歷史程序設(shè)計(jì)語(yǔ)言的發(fā)展機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減用助記符號(hào)描述的指令系統(tǒng)如 ADD A, B面向機(jī)器的語(yǔ)言程序設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程客觀世界可以分類,對(duì)象是類的實(shí)例對(duì)象是數(shù)據(jù)和方法的封裝對(duì)象間通過(guò)發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象馮.諾依曼結(jié)構(gòu):計(jì)算機(jī)運(yùn)算器控制器存儲(chǔ)器主機(jī):I/O設(shè)備:鍵盤、顯示器等中央處理器CPU C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述5254565860626466687072747678808284868890929496AdaALGOL

4、60ALGOL68PascalModula-2CPLBCPLBCC+JavaLISPPROLOGCOBOLFORTRAN77FORTRANPL/1Simula 67Smalltalk 80BASICANSI-BASICQBASICVBFORTRAN90C語(yǔ)言發(fā)展過(guò)程產(chǎn)生背景產(chǎn)生過(guò)程時(shí)間:19721973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人: Ken.Thompson和Dennis.M.RitchieC標(biāo)準(zhǔn)標(biāo)準(zhǔn)C: K&R合著The C Programming LanguageANSI C: 1983年87 ANSI C: 1987年1990年國(guó)際標(biāo)準(zhǔn)化組織的ANSI CC語(yǔ)言教材版

5、本 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述1.2 C語(yǔ)言特點(diǎn)語(yǔ)言簡(jiǎn)潔、緊湊、靈活運(yùn)算符和數(shù)據(jù)類型豐富程序設(shè)計(jì)結(jié)構(gòu)化、模塊化語(yǔ)法限制不太嚴(yán)格,設(shè)計(jì)自由度大允許直接訪問(wèn)物理地址,進(jìn)行位操作生成目標(biāo)代碼質(zhì)量高可移植性好中級(jí)語(yǔ)言 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch t

6、ypedef unsigned union voidvolatile while C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述9種控制語(yǔ)句:if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturn C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述例 C語(yǔ)言與VB語(yǔ)言比較C語(yǔ)言 VB語(yǔ)言 含義 end sub/function 復(fù)合語(yǔ)句if(e) s; if(e) then s 條件語(yǔ)句int i ; dim i as integer 定義i為整型變量 int a10; dim a(1to10) as integer 定義整型數(shù)組aint f(); f

7、unction f() as integer 定義f為返值整型的函數(shù)int *p; 無(wú) 定義p為指向整型變量的指針i+= 2; i=i+2 賦值i+2ii+,+i; i=i+1 i自增值結(jié)論:C比VB簡(jiǎn)練,源程序短。 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述34種運(yùn)算符:算術(shù)運(yùn)算符:+ - * / % + -關(guān)系運(yùn)算符: = !=邏輯運(yùn)算符:! & |位運(yùn)算符 : | &賦值運(yùn)算符:= 及其擴(kuò)展條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:* &求字節(jié)數(shù) :sizeof強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:. -下標(biāo)運(yùn)算符:其它 :( ) - C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述C數(shù)據(jù)類型基本類型構(gòu)造類型指針

8、類型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整 型浮點(diǎn)型單精度型float雙精度型double短整型short長(zhǎng)整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述1.3 C程序格式和結(jié)構(gòu)特點(diǎn)例1.1 第一個(gè)程序 Hello,World!/* example1.1 The first C Program*/#include main() printf(“Hello,World!”); C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述注釋編譯預(yù)處理函數(shù)語(yǔ)句輸出:Hello,World!例1.2/* example1.1 calcu

9、late 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);運(yùn)行結(jié)果:sum=34語(yǔ)句預(yù)處理命令注釋 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述格式特點(diǎn)習(xí)慣用小寫字母,大小寫敏感不使用行號(hào),無(wú)程序行概念可使用空行和空

10、格常用鋸齒形書(shū)寫格式 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述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)秀程序員的素質(zhì)之一:使用TAB縮進(jìn)對(duì)齊有足夠的注釋有合適的空行結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開(kāi)始,在main中結(jié)束,其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行。程序語(yǔ)句C程序由語(yǔ)句組成用“;”作為語(yǔ)句終止符注釋/* */為注釋,不能嵌套不產(chǎn)生編譯代碼例: /

11、*This is the main /* of example1.1*/ */ 非法編譯預(yù)處理命令 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述編輯鏈接編譯執(zhí)行1.4 C程序的上機(jī)步驟C程序開(kāi)發(fā)步驟file.exe C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述程序代碼的錄入,生成源程序*.c語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exeTurbo C集成開(kāi)發(fā)環(huán)境配置要求UNIX,PC-DOS,MS-DOS,UCDOS操作系統(tǒng)硬盤容量約2M,448K RAM運(yùn)行空間安裝Turbo C創(chuàng)建子目錄Install若不是可安裝盤,將文件拷貝到對(duì)應(yīng)的目錄下TC*.*INCLUDE

12、LIB*.*SYS*.* C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述進(jìn)入Turbo CD:TCTC.exe主控菜單文件操作FILE :New Load Save Write to編輯操作EDIT:插入/修改 塊 查找/替換編譯鏈接COMPILE LINK MAKE執(zhí)行RUN退出Turbo CAlt +xAlt+F ,Q幫助HelpF1Ctrl+F1 C語(yǔ)言程序設(shè)計(jì) 第一章 C語(yǔ)言概述C/C+語(yǔ)言是軟件工程師在開(kāi)發(fā)商業(yè)軟件時(shí)的標(biāo)準(zhǔn)語(yǔ)言,也是使用最為廣泛的高級(jí)語(yǔ)言 。用C語(yǔ)言可以編寫?yīng)毩④浖?,也可以和單片機(jī)、嵌入式系統(tǒng)(ARM)、DSP、FPGA等開(kāi)發(fā)環(huán)境相結(jié)合開(kāi)發(fā)一些自動(dòng)控制系統(tǒng)。 如圖1-1所示: 1

13、.5 C程序的適用范圍圖1-1 ARM 集成開(kāi)發(fā)環(huán)境第二章算 法程序構(gòu)成 簡(jiǎn)單講:程序=數(shù)據(jù)結(jié)構(gòu)+算法 全面講:程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語(yǔ)言工具和環(huán)境軟件構(gòu)成 軟件=程序+文檔2.1.1 算法 算法:是指為解決某個(gè)特定問(wèn)題而采取的確定且有限 的步驟。 算法是解決“做什么”和“怎么做”的問(wèn)題。 算法的分類:數(shù)值運(yùn)算算法和非數(shù)值運(yùn)算算法。 第一節(jié)算 法的概念第二節(jié) 算法的特性一個(gè)算法當(dāng)具有以下五個(gè)特性:1.有窮性。一個(gè)算法就包含有限個(gè)操作步驟。2.確定性。每一條指令必須有確切的含義,相同的輸入必能得出相同的執(zhí)行結(jié)果。3.可行性。算法中指定的操作,都可以通過(guò)已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后

14、實(shí)現(xiàn)4.有零個(gè)或多個(gè)輸入。5.有一個(gè)或多個(gè)輸出。第三節(jié) 算法的表示1、自然語(yǔ)言: 用自然語(yǔ)言描述算法,就是人們?nèi)粘J褂玫恼Z(yǔ)言。 優(yōu)點(diǎn):表達(dá)通俗易懂 缺點(diǎn):文字冗長(zhǎng),容易出現(xiàn) “歧義” 2、流程圖優(yōu)點(diǎn):形象直觀,簡(jiǎn)單方便。缺點(diǎn):對(duì)走向沒(méi)有限制,所占篇幅多,不易閱讀工具:如下列圖片構(gòu)成開(kāi)始或終止框處理框輸入輸出框判斷框流程線NS結(jié)構(gòu)圖:下一節(jié)介紹3、結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu)結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)組成1)順序結(jié)構(gòu):在程序中按先后順序逐條執(zhí)行,不轉(zhuǎn)向下圖左為一般流程圖,或?yàn)镹S流程圖。語(yǔ)句1語(yǔ)句2語(yǔ)句1語(yǔ)句22)選擇結(jié)構(gòu):根據(jù)不同的條件執(zhí)行不同分支中的語(yǔ)句。判斷表達(dá)式語(yǔ)句1T語(yǔ)句1F判斷表達(dá)式TF語(yǔ)句1語(yǔ)句23)循環(huán)結(jié)構(gòu):根據(jù)條件使同一組語(yǔ)句重復(fù)執(zhí)行多次或不執(zhí)行。判斷表達(dá)式循環(huán)體TF循環(huán)體T當(dāng)型循環(huán)直到型循環(huán)判斷表達(dá)式循環(huán)體TF循環(huán)體T例1.1先后輸入若干整數(shù),要求打印出其中

溫馨提示

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

評(píng)論

0/150

提交評(píng)論