C語言程序設(shè)計的概念課件_第1頁
C語言程序設(shè)計的概念課件_第2頁
C語言程序設(shè)計的概念課件_第3頁
C語言程序設(shè)計的概念課件_第4頁
C語言程序設(shè)計的概念課件_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計1C C語言程序設(shè)計語言程序設(shè)計計算機系 陳舵C語言程序設(shè)計2聯(lián)系方式聯(lián)系方式:聯(lián)系方式:郵箱:郵箱:chenduot預(yù)祝大家學(xué)習(xí)愉快、成績優(yōu)良!預(yù)祝大家學(xué)習(xí)愉快、成績優(yōu)良!C語言程序設(shè)計3學(xué)時分配上課上課 上機上機習(xí)題課習(xí)題課 總復(fù)習(xí)總復(fù)習(xí) 機動機動總計總計38學(xué)時學(xué)時 18學(xué)時學(xué)時 4學(xué)時學(xué)時2學(xué)時學(xué)時2學(xué)時學(xué)時64學(xué)時學(xué)時C語言程序設(shè)計4分?jǐn)?shù)比例項目項目作業(yè)作業(yè)實驗實驗考試考試次數(shù)次數(shù)691分?jǐn)?shù)分?jǐn)?shù)12880C語言程序設(shè)計5課程簡介計算機和電子信息類專業(yè)的專業(yè)基礎(chǔ)課。計算機和電子信息類專業(yè)的專業(yè)基礎(chǔ)課。 是在計算機編程和工業(yè)控制領(lǐng)域中,最有影是在計算機編程和工業(yè)控制領(lǐng)域中,

2、最有影響力并且得到廣泛支持的一種程序設(shè)計語言響力并且得到廣泛支持的一種程序設(shè)計語言得到得到ISO和和ANSI標(biāo)準(zhǔn)化標(biāo)準(zhǔn)化掌握了掌握了 C 語言語言,可以較為輕松地學(xué)習(xí)其他程序可以較為輕松地學(xué)習(xí)其他程序設(shè)計語言設(shè)計語言為后續(xù)的面向?qū)ο蟪绦蛟O(shè)計為后續(xù)的面向?qū)ο蟪绦蛟O(shè)計,Java程序設(shè)計等程序設(shè)計等課程的學(xué)習(xí)打下基礎(chǔ)。課程的學(xué)習(xí)打下基礎(chǔ)。 C語言程序設(shè)計6各章學(xué)時各章學(xué)時第第1章章 C語言程序設(shè)計的概念(語言程序設(shè)計的概念(2學(xué)時)學(xué)時)第第2章章 基本數(shù)據(jù)類型(基本數(shù)據(jù)類型(6學(xué)時)學(xué)時)第第3章章 C語言程序設(shè)計的流程控制(語言程序設(shè)計的流程控制(6學(xué)時)學(xué)時)第第4章章 模塊化程序設(shè)計(模塊化

3、程序設(shè)計(6學(xué)時)學(xué)時)第第5章章 數(shù)組(數(shù)組(4學(xué)時)學(xué)時)第第6章章 指針(指針(8學(xué)時學(xué)時)第第7章章 用戶定制數(shù)據(jù)類型用戶定制數(shù)據(jù)類型(6學(xué)時學(xué)時)C語言程序設(shè)計7教材1.教材:教材: 譚浩強,張基溫編著譚浩強,張基溫編著 , C語言程序設(shè)語言程序設(shè)計教程計教程(第(第3版),高等教育出版社,版),高等教育出版社,20062. 參考教材:參考教材: (1)王明福、烏云高娃編)王明福、烏云高娃編 ,C語言程語言程序設(shè)計教程序設(shè)計教程(21世紀(jì)高等學(xué)校應(yīng)用型世紀(jì)高等學(xué)校應(yīng)用型教材),教材), 高等教育出版社,高等教育出版社,2004 (2)張強華主編)張強華主編C語言程序設(shè)計語言程序設(shè)計,

4、人,人民郵電出版社,民郵電出版社,2001 (3)徐建民主編)徐建民主編C語言程序設(shè)計語言程序設(shè)計,電,電子工業(yè)出版社,子工業(yè)出版社,2002 C語言程序設(shè)計8第1章 C語言程序設(shè)計的概念C語言程序設(shè)計9本章目標(biāo)一般了解:一般了解: 計算機程序設(shè)計語言基本概念、計算機程序設(shè)計語言基本概念、C語言發(fā)展過程、語言發(fā)展過程、C語言標(biāo)準(zhǔn)、特點語言標(biāo)準(zhǔn)、特點主要內(nèi)容:主要內(nèi)容:C程序的一般格式、名字與標(biāo)識符、程序的一般格式、名字與標(biāo)識符、語句、賦值運算、算術(shù)運算語句、賦值運算、算術(shù)運算難點內(nèi)容:自反算術(shù)賦值、自加自減運算難點內(nèi)容:自反算術(shù)賦值、自加自減運算C語言程序設(shè)計101.1 程序與程序設(shè)計語言C語

5、言程序設(shè)計11計算機與程序馮.諾依曼結(jié)構(gòu):計算機運算器控制器存儲器主機:I/O設(shè)備:鍵盤、顯示器等中央處理器CPUC語言程序設(shè)計12機器語言機器語言匯編語言匯編語言高級語言高級語言面向過程面向過程面向?qū)ο竺嫦驅(qū)ο驝PU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減用助記符號描述的指令系統(tǒng)如 ADD A, B面向機器的語言程序設(shè)計是數(shù)據(jù)被加工的過程客觀世界可以分類,對象是類的實例對象是數(shù)據(jù)和方法的封裝對象間通過發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計關(guān)鍵是定義類,并由類派生對象程序設(shè)計語言程序設(shè)計語言C語言程序設(shè)計13高級語言的開發(fā)過程高級語言的開發(fā)過程提出問題提出問

6、題分析問題并建立模型分析問題并建立模型表現(xiàn)模型:用一種語言系統(tǒng)來描述模型。表現(xiàn)模型:用一種語言系統(tǒng)來描述模型。源程序的編輯:用程序設(shè)計語言書寫并對其源程序的編輯:用程序設(shè)計語言書寫并對其進行修改進行修改程序的編譯與鏈接程序的編譯與鏈接程序的測試與調(diào)試程序的測試與調(diào)試編寫程序文檔編寫程序文檔程序的維護程序的維護C語言程序設(shè)計14編輯鏈接編譯執(zhí)行程序代碼的錄入程序代碼的錄入,生成源程序生成源程序*.c語法分析查錯,翻譯語法分析查錯,翻譯生成目標(biāo)程序生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫與其它目標(biāo)程序或庫鏈接裝配鏈接裝配,生成可執(zhí)行生成可執(zhí)行程序程序*.exe重點理解源程序目標(biāo)程序可執(zhí)行程序內(nèi)容程

7、序設(shè)計語言機器語言機器語言可執(zhí)行不可以不可以可以文件名后綴.c.obj.exeC語言程序設(shè)計151.2 C語言及其標(biāo)準(zhǔn)C語言程序設(shè)計16幾種廣泛流行高級語言的發(fā)展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語言程序設(shè)計17C語言的出現(xiàn)

8、1960諾爾博士(諾爾博士(2006年圖靈獎的獲得者年圖靈獎的獲得者 )提)提出的出的ALGOL60語言,定義了比較完整的語法,語言,定義了比較完整的語法, 是后來許多程序設(shè)計語言的原型。是后來許多程序設(shè)計語言的原型。 CPL ( Combined Programing Language )語言是語言是1963年在英國的劍橋大學(xué)首次使用的,年在英國的劍橋大學(xué)首次使用的,這種語言比較接近硬件,但規(guī)模較大,難以這種語言比較接近硬件,但規(guī)模較大,難以推廣推廣 。1967年英國劍橋大學(xué)的年英國劍橋大學(xué)的Matin Richards對對CPL語言做了簡化,推出了語言做了簡化,推出了BCPL(Basic

9、CPL)語言,它能夠處理與機器本身數(shù)據(jù)類型相近語言,它能夠處理與機器本身數(shù)據(jù)類型相近的數(shù)據(jù),具有與內(nèi)存地址對應(yīng)的指針處理方的數(shù)據(jù),具有與內(nèi)存地址對應(yīng)的指針處理方式。式。 C語言程序設(shè)計18C語言的出現(xiàn)(續(xù))1970年美國貝爾實驗室的年美國貝爾實驗室的Ken. Thomposon以以BCPL語言為基礎(chǔ),設(shè)計出了很接近硬件的語言為基礎(chǔ),設(shè)計出了很接近硬件的B(取第一個字母取第一個字母)語言,并用語言,并用B語言寫出了第語言寫出了第一個一個UNIX操作系統(tǒng),在操作系統(tǒng),在PDP-7上實現(xiàn)。上實現(xiàn)。 1972年,貝爾實驗室的年,貝爾實驗室的D. M. Richie在在B語言語言的基礎(chǔ)上進一步充實和完善

10、,設(shè)出了的基礎(chǔ)上進一步充實和完善,設(shè)出了C語言語言(取取BCPL的第二字母的第二字母), 為此為此K. Thomposon和和D. M. Richie于于1999年獲美國國家技術(shù)勛章年獲美國國家技術(shù)勛章1978年,年, B. W. Kernighan和和 D. M. Richie出版著名的出版著名的The C Programming Language, 從而使從而使C語言成為應(yīng)用最廣泛的程序設(shè)計語言語言成為應(yīng)用最廣泛的程序設(shè)計語言C語言程序設(shè)計19C語言的標(biāo)準(zhǔn)語言的標(biāo)準(zhǔn) 1983年,年,ANSI公布了第一個公布了第一個C語言標(biāo)準(zhǔn)草案語言標(biāo)準(zhǔn)草案1989年,年,ANSI發(fā)布了一個完整的發(fā)布了一個

11、完整的C語言標(biāo)語言標(biāo)準(zhǔn)準(zhǔn)ANSI X3.1591989,通常稱為,通常稱為“ANSI C”,簡稱,簡稱“C89”。1990年,年,ISO采納了采納了C89,做了少量編輯性修,做了少量編輯性修改后,以國際標(biāo)準(zhǔn)改后,以國際標(biāo)準(zhǔn)ISOIEC 98991990發(fā)布,發(fā)布,通常稱其為通常稱其為“C90”。1999年,年,WG14對對C89做了技術(shù)修訂和擴充,做了技術(shù)修訂和擴充,形成正式的形成正式的C語言標(biāo)準(zhǔn)語言標(biāo)準(zhǔn)C99 WG14WG14:即:即JTC1 / SC22 /WG14JTC1 / SC22 /WG14,是是ISOISO中中C C語言工作小組語言工作小組C語言程序設(shè)計20C語言特點語言簡潔、緊

12、湊、靈活語言簡潔、緊湊、靈活運算功能強大運算功能強大數(shù)據(jù)類型豐富數(shù)據(jù)類型豐富程序設(shè)計結(jié)構(gòu)化、模塊化程序設(shè)計結(jié)構(gòu)化、模塊化生成目標(biāo)代碼質(zhì)量高生成目標(biāo)代碼質(zhì)量高可移植性好可移植性好兼有高級語言和兼有高級語言和低級語言的特點低級語言的特點中級語言C語言程序設(shè)計2137個關(guān)鍵字auto_Boolbreakcasechar_complex constcontinue defaultdodoubleelseenumexternfloatforgotoif_imaginary inlineintlongregisterrestrictreturnshortsignedsizeofstaticstructsw

13、itchtypedef unionunsignedvoidvolatilewhileC語言程序設(shè)計229種控制語句if( )elsefor( )while( )dowhile( )continuebreakswitchgotoreturnC語言程序設(shè)計2313類運算符算術(shù)運算符:算術(shù)運算符:+ - * / % + -關(guān)系運算符:關(guān)系運算符: = !=邏輯運算符:!邏輯運算符:! & |位運算符位運算符 : | &賦值運算符:賦值運算符:= 及其擴展及其擴展條件運算符:條件運算符:?:逗號運算符:逗號運算符:,指針運算符:指針運算符:* &求字節(jié)數(shù)求字節(jié)數(shù) :sizeof

14、強制類型轉(zhuǎn)換:強制類型轉(zhuǎn)換:(類型)類型)分量運算符:分量運算符:. -下標(biāo)運算符:下標(biāo)運算符: 其它其它 :( ) -C語言程序設(shè)計2417個優(yōu)先級C語言程序設(shè)計25豐富的數(shù)據(jù)類型字符型字符型整型(短、長)整型(短、長)浮點型(單、雙、長雙)浮點型(單、雙、長雙)指針指針枚舉枚舉結(jié)構(gòu)體結(jié)構(gòu)體公用體公用體數(shù)組數(shù)組文件文件C語言程序設(shè)計261.3 C語言程序概要C語言程序設(shè)計271.3.1 函數(shù)/* example1.1 The first C Program*/#include int main(void) printf(“Hello,World!n”); return(0);注釋編譯預(yù)處理函

15、數(shù)輸出:輸出:Hello,World!C語言程序設(shè)計28/* example1.2 calculate the sum of a and b*/#include int add (int, int);/* This is the main program */void main(void) 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)

16、;運行結(jié)果:運行結(jié)果:sum=34函數(shù)函數(shù)語句語句預(yù)處理命令預(yù)處理命令注注釋釋函數(shù)聲明函數(shù)聲明C語言程序設(shè)計29C語言的結(jié)構(gòu)特點函數(shù)是組成函數(shù)是組成C程序的基本部件,遵循程序的基本部件,遵循“先聲明、先聲明、后使用后使用”的原則的原則函數(shù)由兩部分組成函數(shù)由兩部分組成函數(shù)類型函數(shù)類型 函數(shù)名稱(形參)函數(shù)名稱(形參)數(shù)據(jù)定義部分?jǐn)?shù)據(jù)定義部分函數(shù)執(zhí)行部分函數(shù)執(zhí)行部分必須有且只能有一個主函數(shù)必須有且只能有一個主函數(shù)main,程序執(zhí)行,程序執(zhí)行從從main開始,在開始,在main中結(jié)束。中結(jié)束。函數(shù)體由語句組成,函數(shù)體由語句組成,“;”為語句終止符為語句終止符/* */為注釋為注釋, 不產(chǎn)生編譯代碼不

17、產(chǎn)生編譯代碼注意注釋不能嵌套注意注釋不能嵌套例例 /*This is the main /* of example 1.1*/ */ 非法C語言程序設(shè)計30習(xí)慣用小寫字母表示變量習(xí)慣用小寫字母表示變量不使用行號,無程序行概念不使用行號,無程序行概念常用鋸齒形書寫格式常用鋸齒形書寫格式main( ) . . . . . . .void main(void ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j0) printf(正數(shù)正數(shù)n); else printf(負(fù)數(shù)負(fù)數(shù)n); int k; k=3; sum=k+5; printf(%dn,

18、sum);C語言程序設(shè)計321.3.3 名字與聲明標(biāo)識符也稱為名字,如變量名、函數(shù)名、標(biāo)識符也稱為名字,如變量名、函數(shù)名、文件名等文件名等標(biāo)識符是大小寫字母、數(shù)字和下劃線所標(biāo)識符是大小寫字母、數(shù)字和下劃線所組成的序列,但不能以數(shù)字開頭。組成的序列,但不能以數(shù)字開頭。C語言區(qū)分同一字母的大小。語言區(qū)分同一字母的大小。C99標(biāo)準(zhǔn)規(guī)定,標(biāo)識符長度不大于標(biāo)準(zhǔn)規(guī)定,標(biāo)識符長度不大于63個個字符。字符。用戶標(biāo)識符不能和系統(tǒng)標(biāo)識符沖突。用戶標(biāo)識符不能和系統(tǒng)標(biāo)識符沖突。C語言程序設(shè)計3337個關(guān)鍵字auto_Boolbreakcasechar_complex constcontinue defaultdodo

19、ubleelseenumexternfloatforgotoif_imaginary inlineintlongregisterrestrictreturnshortsignedsizeofstaticstructswitchtypedef unionunsignedvoidvolatilewhileC語言程序設(shè)計34建議的命名原則“見名知意見名知意”。如。如: sum, score, average, day 等。等。盡量避免使用容易混淆的字符。例盡量避免使用容易混淆的字符。例如:如:0O;1i;2Z名字不要過短,函數(shù)名盡量使用動名字不要過短,函數(shù)名盡量使用動賓結(jié)構(gòu),如賓結(jié)構(gòu),如PrintC

20、alendar、IsPrime等。等。參考匈牙利命名法,參見參考匈牙利命名法,參見17頁表頁表1.2C語言程序設(shè)計35sum, average, No1, x1, x2, abcPI, Number_of_moves, J5_7No.l, x+y, 5_7_9 , static, extern, $123標(biāo)識符舉例C語言程序設(shè)計36聲明 變量函數(shù)等程序?qū)嶓w必須遵循變量函數(shù)等程序?qū)嶓w必須遵循“先聲明,后先聲明,后使用使用”的原則。的原則。經(jīng)過經(jīng)過“聲明聲明”,編譯系統(tǒng)在進行編譯時會根,編譯系統(tǒng)在進行編譯時會根據(jù)指定的類型為程序?qū)嶓w分配存儲空間,并據(jù)指定的類型為程序?qū)嶓w分配存儲空間,并決定其存儲方

21、式和允許的操作方式。決定其存儲方式和允許的操作方式。聲明屬于非執(zhí)行語句,表達式語句和流程控聲明屬于非執(zhí)行語句,表達式語句和流程控制語句屬于執(zhí)行語句。制語句屬于執(zhí)行語句。 C語言程序設(shè)計371.3.4 變量及其賦值變量及其賦值 變量變量變量變量( variable)是一種程序?qū)嶓w。它具是一種程序?qū)嶓w。它具有一個值,并且這個值是可以通過程有一個值,并且這個值是可以通過程序操作而改變的。序操作而改變的。變量的賦值運算變量的賦值運算(右結(jié)合性右結(jié)合性) 符號符號“=”稱為賦值運算符:右操作數(shù)稱為賦值運算符:右操作數(shù)也稱右值也稱右值(righ value),可以是一個表,可以是一個表達式達式;左操作數(shù)也

22、稱左值左操作數(shù)也稱左值(left value),只能是變量。只能是變量。C語言程序設(shè)計38賦值舉例n=n+5a=b=c=5a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)C語言程序設(shè)計391.3.5 算術(shù)運算1.基本算術(shù)運算符基本算術(shù)運算符(雙元,左結(jié)合性雙元,左結(jié)合性)*/% +- 構(gòu)成算術(shù)表達式,注意與數(shù)學(xué)表達式的區(qū)別構(gòu)成算術(shù)表達式,注意與數(shù)學(xué)表達式的區(qū)別 a(-b) a*-b(1+3(1+3* *a)/(b+c/(d+e) a)/(b+c/(d+e) (a/b)/(c/d) (a/b)/(c/d) C語言程序設(shè)計40基本算術(shù)運算舉例設(shè):設(shè):int a=1,b=2,

23、c=5,ri;float x=1.2,y=3.7,rf;ri=a+b+c;ri=a+b*c; rf=x+y; ri=c%b; ri=5%-2; ri=-5%2; ri=-5%-2; 114.911-1-18C語言程序設(shè)計41基本算術(shù)運算舉例(續(xù))設(shè):設(shè):int a=1,b=2,c=5,ri;float x=1.2,y=3.7,rf;rf=6.0/2.0; ri=6/2; ri=6/4; ri=4/6; ri=300*2/3;ri=2/3*300;3.03102000C語言程序設(shè)計422自反算術(shù)運算符(雙元,右結(jié)合性) a+=ba-=ba-=b*5x*=y+1a%=b-1c=b*=a+2c*=b

24、*=2 注意運算符左側(cè)必須為變量。注意運算符左側(cè)必須為變量。 3*a+=b,5+=a等均為非法。等均為非法。a=a+ba=a-ba=a-b*5x=x*(y+1)a=a%(b-1)c=(b=(b*(a+2)c=c*(b=b*2)C語言程序設(shè)計433 自加和自減運算(單目)i+;+i; i+=1, i=i+1;j-; -j; j-=1, j=j-1;x=i+; x=i, i+=1;x=+i; i+=1, x=i;注意注意:5+,(x+y)-等都是非法的。等都是非法的。C語言程序設(shè)計44自加和自減運算舉例int main(void) int i=5,j; j=i+; i=5; j=+i; i=5; j=(+i)*5; i=5; j=(i+)*5; j=5,i=6j=6,i=6j=30,i=6j=25,i=6C語言程序設(shè)計454 正負(fù)號運算符(單目)+ - 是一元運算符,具有右結(jié)合性,優(yōu)先是一元運算符,具有右結(jié)合性,優(yōu)先級高于算術(shù)運算。例如:級高于算術(shù)運算。例如: -aa=0-a -a*b (0-a)*bC語言程序設(shè)計461.3.6 賦值類運算符副作用及限制賦值類運算符副作用及限制 1. 費解、易于誤解費解、易于誤解對人

溫馨提示

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

最新文檔

評論

0/150

提交評論