




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第一講程序設計及
C語言概述1.1
程序設計的概念1.2
算法的概念及常用算法的描述1.3
結構化程序設計方法1.4
C語言的產(chǎn)生及發(fā)展1.5
C語言的特點1.6
簡單C程序介紹1.7
本講要點小結1.1程序設計的概念1.1.1程序設計語言1.1.2程序設計的概念1.1.1程序設計語言機器語言匯編語言高級語言機器語言概念:可由機器直接識別并執(zhí)行的二進制數(shù)指令稱為機器語言指令,機器語言指令的集合成為這臺計算機的機器語言。特點:不易寫、讀,難理解、記憶,編程困難;面向機器,不通用。匯編語言概念:由符號和數(shù)字組成的指令稱為匯編語言指令,匯編語言指令的集合成為這臺計算機的匯編語言。特點:須由匯編程序翻譯成機器語言;面向機器,不通用。高級語言概念:以更接近于人們的自然語言和數(shù)學公式編寫程序的語言,如BASIC、FORTRAN、C語言等。特點:不再面向機器,而是面向問題;須翻譯成機器語言的目標程序;編譯方式、解釋方式。1.2算法的概念及常用算法描述1.2.1算法的概念
1.2.2算法特性1.2.3算法的表示1.2.4常用算法描述算法是計算機所能執(zhí)行的解題方法步驟的精確描述,有兩大要素:計算機所能執(zhí)行的操作:算術運算、邏輯運算、關系運算、函數(shù)運算、位運算、I/O操作等。控制結構:即各種操作的執(zhí)行順序。1.2.1算法的概念1.2.2算法特性算法的五個特性:有窮性:一個算法必須在執(zhí)行有窮步之后結束。確定性:算法的每一步必須是確切定義的。對于相同輸入必須得到相同結果。有效性:算法的每一步都是能夠實現(xiàn)的,即可操作的。輸入:算法有零個或多個輸入。有輸出:算法執(zhí)行完畢,必須有一個或若干個輸出結果。順序結構選擇結構循環(huán)結構結構化程序設計的三種基本結構1.2.2算法的表示自然語言傳統(tǒng)的程序流程圖N-S流程圖偽代碼計算機語言自然語言表示法例如:(1)輸入a,b兩數(shù)(2)求和s=a+b
(3)輸出兩數(shù)之和注意:用自然語言表示的每一步驟必須使計算機能實現(xiàn)的,否則便是錯誤的算法。特點:簡單易寫,內(nèi)容較長,理解有異,較少使用。傳統(tǒng)的程序流程圖用一些圖形符號形象直觀的表述算法,表1.1給出了ANSI規(guī)定的程序流程圖符號。傳統(tǒng)的程序流程圖例圖結束輸入a,b,ca>b?b>c?a>c?輸出c輸出b輸出c輸出a開始傳統(tǒng)的程序流程圖特點:繪制簡單,描述直觀,之前廣泛使用。缺點:1、程序流程圖不易表示算法或程序的層次結構。
2、用箭頭表示的控制流可能引起隨意的轉移控制。
3、可能誘使人們過早地考慮局部程序的控制結構而忽視全局的程序結構。
4、不易表示數(shù)據(jù)結構和程序模塊之間的關系。N-S圖即結構化程序設計流程圖,提供了描述三種基本邏輯結構的圖形工具,與傳統(tǒng)的程序流程圖對照描述如下:順序結構A模塊B模塊A模塊B模塊(a)(b)圖1.3順序結構1.3結構化程序設計方法荷蘭學者E.W.dijkctra提出了結構化程序設計(structuredprogramming)的理論,成為70年代中期至90年代初的程序設計主流。結構化程序設計方法提出了一些大家都要遵循的原則,這些原則歸納為32個字:“自頂向下,逐步細化?;窘Y構,組合而成。清晰第一,效率第二。書寫規(guī)范,縮進格式。”三種基本結構:順序,選擇,循環(huán)1.4面向對象的程序設計方法70年代后,軟件開發(fā)的手段和方法越來越不能適應開發(fā)大型系統(tǒng)軟件的要求,因而出現(xiàn)了“軟件危機”,由此產(chǎn)生了面向對象的程序設計語言。1983年美國Bell實驗室的B.Stroustrup在C語言基礎上,擴充引進了面向對象的概念推出了C++語言。它與C語言完全兼容,是目前使用最為廣泛的一種面向對象的程序設計語言。1.5C語言的產(chǎn)生和發(fā)展1.5.1C語言的產(chǎn)生
1.5.2C語言的發(fā)展C語言的產(chǎn)生C語言的產(chǎn)生和發(fā)展與UNIX操作系統(tǒng)分不開。操作系統(tǒng)的編寫需要即具有高級語言的優(yōu)點,又具有低級語言的特點的語言。C語言是由B語言發(fā)展而來,而B語言是由A語言發(fā)展而來。A語言指高級語言Algol60,離硬件比較遠,不宜用來編寫系統(tǒng)軟件。在此基礎上產(chǎn)生了更接近硬件的B語言,并用B語言編寫了第一個UNIX操作系統(tǒng)。1973年在B語言基礎上設計出了C語言,既保留了B語言的精煉、接近硬件的優(yōu)點,又克服了B語言過于簡單、無數(shù)據(jù)類型等缺點。由C語言改寫的UNIX操作系統(tǒng)獲得了巨大的成功,日益普及,同時C語言也迅速得到推廣普及。C語言的發(fā)展1978年C語言普及以后,先后被移植到大、中、消極微機上,風靡世界。1978年BrianW.Kernighan和DnnisM.Ritchie合著了《TheCProgrammingLanguage》一書,成為后來廣泛使用的C語言基礎,成為標準C。后來美國國家標準化協(xié)會ANSI重新制定了新的標準,成為ANSIC。1.6C語言的特點C語言本身既有一般高級語言的特點,又由低級語言(匯編語言)的特點。C語言是一種結構化的程序設計語言,它具有實現(xiàn)順序、分支、循環(huán)三種基本結構化控制的語句。C語言簡潔,緊湊,使用方便靈活。只有32個保留字,9種控制語句,書寫形式自由。數(shù)據(jù)類型豐富。有整型、實型、字符型、數(shù)組型、指針型、結構體型、共用體型和枚舉型等。C語言的特點C語言的特點5、運算功能強。有32種運算符,包括了算術運算、關系運算、邏輯運算、位運算、指針運算等。6、目標代碼質量高,運行速度快。7、可移植性強。8、語法限制不太嚴格,程序設計自由度大。1.7簡單C程序介紹例1.6求兩數(shù)之和。main()/*主程序*/{inta,b,sum;/*定義變量*/a=2;b=3;
sum=a+b;
printf(”sumis%d、n”,sum);}這里,main()表示主函數(shù),函數(shù)體由一對大括號{}擴起來;/*……*/表示注釋部分,不運行;第2行是變量定義部分,定義了3個整型變量;3,4行是算法實現(xiàn)部分;第5行printf是C語言的標準輸出函數(shù),%d表示在此位置以“十進制整數(shù)類型”輸出變量sum的值,\n為回車換行,引號中其它內(nèi)容作為字符串原樣輸出。因此該程序運行結果為:
sumis5例1.7從鍵盤上輸入三個數(shù),求該三個數(shù)的平均值。floataverage(floata1,floatb1,floatc1){floataver1;
aver1=(a1+b1+c1)/3;
return(aver1);}main()/*主程序*/{floata,b,c,aver;
printf(”Pleaseinputa,b,c:”);
scanf(”%f%f%f”,&a,&b,&c);
aver=average(a,b,c);
printf(”theaverageis%4.1f”,aver);}說明:本程序包含兩個函數(shù):主函數(shù)main和被調(diào)函數(shù)average;主函數(shù)第四行scanf是C語言的標準輸入函數(shù);第五行中調(diào)用average函數(shù),a,b,c的值分別傳遞給函數(shù)中的形參a1,b1,c1,返回函數(shù)值,再賦給變量aver;最后輸出變量aver的值,該程序運行情況如下:Pleaseinputa,b,c:Theaverageis7.610.58.73.6總結C程序的基本結構:(1)C程序是由一個或多個函數(shù)組成。函數(shù)是C程序的基本單位,一個程序至少要包含一個main函數(shù)。(2)函數(shù)由兩部分組成:函數(shù)說明部分、函數(shù)體。函數(shù)說明部分:包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)的參數(shù)名、參數(shù)類型。函數(shù)名后必須跟一對圓括號作為函數(shù)的標志。例如:
floataverage(floata1,floatb1,floatc1)函數(shù)體:由一對打括號{}擴起來,函數(shù)體又分為兩部分:變量定義部分、執(zhí)行部分。(3)不論main函數(shù)放到何處,C程序總是從main函數(shù)開始執(zhí)行,隨main函數(shù)結束而整個程序結束。(4)一個復雜的語句可以寫成幾行,用反斜杠\表示續(xù)行;幾個簡單語句也可寫在一起,都必須用“;”作為每句結束標志。(5)可以用/*……*/對程序任何部分做注釋。
說明:在以下三種情況下不允許有分號:
a.所定義的函數(shù)的名稱后面不使用分號;
b.在右花括號“}”后;
c.預處理語句后面不使用分號。sum();{……}while(total<=2000){limit++;t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年執(zhí)業(yè)醫(yī)師考試試題
- 2025年建筑構造與識圖試題
- 橫欄教師招聘題目及答案
- 航海題目講解大全及答案
- 有機碳垂直通量-洞察及研究
- 太赫茲安全認證-洞察及研究
- 板框考試題及答案
- 安全生產(chǎn)消防試題及答案
- 安全常識培訓試題及答案
- 統(tǒng)編版語文三年級上冊 第七單元 口語交際 身邊的“小事”課件
- 女性美學課堂企業(yè)制定與實施新質生產(chǎn)力項目商業(yè)計劃書
- 中小學學校德育工作管理制度匯編
- 路由與交換基礎知識試題及答案
- 混凝土澆筑清包合同范本
- 生子前簽協(xié)議書
- 加裝電梯補償協(xié)議書
- 人教版小學語文五年級下冊復習材料
- 2025年中國龜甲膠市場調(diào)查研究報告
- 煤礦機電運輸培訓課件
- 2025至2031年中國牙科椅行業(yè)投資前景及策略咨詢研究報告
- 2025至2030中國天文館行業(yè)投資前景研究及銷售戰(zhàn)略研究報告
評論
0/150
提交評論