




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一章C語言概述1.1C語言的發(fā)展簡史與特色1.2簡單的C程序介紹1.3用C語言解決實際問題的步驟1.1C語言的發(fā)展簡史與特色1.1.1C語言發(fā)展簡史C語言是目前世界上最廣泛使用的通用計算機語言。用它既可編寫計算機系統(tǒng)軟件,也可編寫各種應用軟件,所以在數(shù)百種計算機語言中,C語言仍然是目前最流行、最受歡迎的計算機語言?,F(xiàn)在,Windows已成為計算機的主要操作系統(tǒng),相應的基于Windows的程序開發(fā)多采用C++,它雖是一種面向對象的語言,但其核心內容仍是標準C。1.1.2C語言的特色1.C與其它語言的比較1)C與匯編語言比較C語言允許對位、字節(jié)和地址進行操作(指針),這三者是計算機最基本的工作單元,在編制系統(tǒng)程序時要經(jīng)常用到,所以它適用于寫系統(tǒng)程序。由于匯編語言是非結構化語言,含有大量的跳轉、子程序調用以及變址,這種結構的缺陷使得匯編語言程序難以讀懂,難以維護,也不能移植。而C語言的結構化、模塊化克服了匯編程序難讀、難維護的缺點。C語言又具有匯編語言的功能,目標代碼長度也差不多,效率幾乎與匯編相近,且具有很好的可移植性。2)C與其它高級語言比較C有豐富的運算符,達34種,其中有很多運算符對應于常用的機器指令,比如++等可直接編譯成機器代碼,使用起來簡單精練。C有多樣化的表達式類型;C的數(shù)據(jù)類型豐富,具有現(xiàn)代語言的各種數(shù)據(jù)結構。C的數(shù)據(jù)類型有:整型,實型,字符型,數(shù)組,指針,結構體,共用體等。C的輸入輸出使用的是數(shù)據(jù)流C程序生成的機器代碼質量高,內存占用少,運行速度快,程序執(zhí)行效率高。
2.C是結構化語言C語言是以函數(shù)為模塊來編寫源程序的,所以C程序是模塊化的。C語言具有結構化的控制語句,如if~else語句,switch語句,while語句,do~while語句,for語句等。因此是結構化的理想語言,符合現(xiàn)代編程風格的要求。結構化語言的一個顯著特點是代碼和數(shù)據(jù)的分隔化,即代碼和數(shù)據(jù)分開存貯,互相隔離;程序的各個部分除了必要的信息交流外,彼此互不影響,相互隔離。3.C是編程者的語言C語言的其它主要優(yōu)點如下:C語言簡潔、緊湊,使用方便靈活;一共只有32個關鍵字(27個來自kerninghan和Ritchie的標準,5個由ANSI標準委員會增補),9種控制語句,它們構成了C語言的全部指令;程序書寫形式自由,壓縮了一切不必要的成分。C語言很少限制、很少缺陷、模塊結構、彼此獨立的函數(shù)和一些十分緊湊的關鍵字,使得C語言能達到接近匯編語言的高效率和廣泛的應用范圍,所以在許多情況下它是編程者首選的計算機語言。4.C的“缺點”語法限制不嚴格
2)程序設計自由度大1.2簡單的C程序介紹例1.1打印一個語句。程序:main(){printf(″Asimplecprogram.\n″);}經(jīng)編譯后運行結果如下:Asimplecprogram.例1.2求兩數(shù)中的小者。程序:main()/*主函數(shù)*/{inta,b,c;/*定義變量*/scanf(″%d,%d″,&a,&b);/*輸入*/c=min(a,b);/*調用函數(shù)*/printf(″min=%d\n″,c);/*輸出*/}intmin(intx,inty)/*定義函數(shù)*/{intz;/*定義局部變量*/if(x>y)z=y;elsez=x;return(z);/*返回z值*/}經(jīng)編譯后運行如下:14,4min=4再次運行:6,29min=6本程序包括兩個函數(shù):主函數(shù)main和子函數(shù)min。通過上述兩個例子,我們可以看到:(1)C程序是由函數(shù)構成的。(2)一個函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。(3)main函數(shù)通常位于程序之首,實際上它位于程序的開頭、最后及函數(shù)與函數(shù)之間均是合法的,但不管在什么位置,一個C程序總是從main函數(shù)開始執(zhí)行的。(4)C程序書寫格式自由,一行內可以寫幾個語句,一個語句可以分寫在多行上。(5)C語言本身沒有輸入輸出語句。(6)可以用/*…*/對C程序中的任何部分作注釋,它可增加程序的可讀性。1.3用C語言解決實際問題的步驟1.3.1一個實例的求解過程1.問題提出計算y=f(x)曲線,x軸(y=0),x=a,x=b四條曲線所圍成的面積。參看圖1.1。圖1.1計算面積2.分析問題用戶需求:計算四條曲線所圍的面積。已知條件:四條曲線(即x=a,x=b,y=0,y=f(x))。需要進行的處理:計算面積,注意誤差和精度。需要用到的軟、硬件環(huán)境:用C語言編程,在個人微機上運行,使用TurboC編譯系統(tǒng)。進行可行性分析:用數(shù)值計算方法完全能夠實現(xiàn)。經(jīng)過分析,我們已做到心中有數(shù)。3.確定處理方案根據(jù)實際問題選用適當?shù)臄?shù)學模型(本例屬科學計算)。根據(jù)高等數(shù)學中學到的知識,我們提出的數(shù)學模型是,也就是在[a,b]區(qū)間內求f(x)函數(shù)的定積分。4.根據(jù)處理方案確定操作步驟圖1.2矩形法求積分在圖1.2中畫陰影線的小面積有4條邊,第一條長度f(c),第二條長度f(d),第三條長度d-c,而第四條線我們采用近似的辦法:以第一條線高度作x軸的平行線得y=f(c),則小矩形面積為(d-c)·f(c);或以第二條線高度作x軸平行線得y=f(d),則小矩形面積為(d-c)·f(d)。然后將各小塊面積累加起來。以上過程歸納起來就得出了近似公式,最后得到一個操作步驟,也就是算法,如下所示:(1)讀a,b和n(分成n塊)。(2)求高h=(b-a)/n。(3)s=0,面積的初始值為0。(4)i=1,先計算第一個小面積。(5)s=s+h*f(a+i*h),用后點計算;或s=s+h*f(a+(i-1)*h),用前點計算,小面積累加起來。(6)i=i+1,取下一個小面積。(7)如i<=n轉(5),否則打印s。
5.根據(jù)操作步驟編寫源程序程序:main(){floata,b,h,s;floatf(float);inti,n;scanf(″%f,%f,%d″,&a,&b,&n);h=(b-a)/n;s=0;i=1;while(i<=n){s=s+h*f(a+(i-1)*h);/*用前點計算*/i++;}printf(″a=%f,b=%f,n=%d,s=%f\n″,a,b,n,s);}
6.輸入程序并上機調試上機輸入源程序并調試,直到改正了所有的編譯錯誤和運行錯誤。在調試過程中應該精心選擇典型數(shù)據(jù)進行測試。本例當計算有誤差或精度不足時可加大分塊數(shù)量,或采用其它計算方法:如改為梯形法或拋物線法(即辛普生法)等。要避免因調試數(shù)據(jù)不能反映實際數(shù)據(jù)的特征而引起的計算偏差和運行錯誤。7.整理分析計算結果圖1.3用計算機處理一個實際問題1.3.2算法1.什么是算法為解決一個問題而采取的方法和步驟,就稱為“算法”。對同一個問題,可以有不同的解題方法和步驟,也就有不同的算法。例如求可采用矩形法,梯形法,辛普生法(即拋物線法)等。為了有效地解題,不僅需要保證算法正確,還要考慮算法的質量,選擇較好的算法,或進行算法的優(yōu)化。2.算法的特點一個算法,必須具有以下特點:(1)僅有有限的操作步驟,即“有窮性”(無死循環(huán))。(2)算法的每一個步驟應當是確定的,即無“二義性”。(3)有適當?shù)妮斎?,即有確定的條件。(4)有輸出結果。沒有輸出的算法是無意義的。(5)算法中的每一個步驟都應當有效執(zhí)行(無死語句)。3.算法的重要性掌握最基本的、常用的算法是很重要的,算法設計是整個程序設計的核心。著名計算機科學家沃思(Wirth)曾提出一個公式:程序=算法+數(shù)據(jù)結構。對初學者而言,數(shù)據(jù)結構即是語言提供的各種數(shù)據(jù)類型,無大難點。這樣編程的任務主要是考慮算法問題,當然還要學會基本的語句和語法。4.算法的表示方法用自然語言表示2)用傳統(tǒng)流程圖表示圖1.4傳統(tǒng)流程圖常用符號
例1.3求,用傳統(tǒng)流程圖表示,見圖1.5。圖1.5矩形法求積分3)用N-S流程圖表示例1.4求,用
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 期貨交易合同
- 貼牌銷售合同
- 智能酒店設備管理系統(tǒng)開發(fā)合同
- 運輸管理系統(tǒng)開發(fā)服務合同
- 招生團隊安全協(xié)議書
- 開發(fā)房產合同協(xié)議書
- 房產分配公證協(xié)議書
- 平臺會員代理協(xié)議書
- 政企套餐轉讓協(xié)議書
- 拍賣代理郵寄協(xié)議書
- 2025貴州省專業(yè)技術人員繼續(xù)教育公需科目考試題庫(2025公需課課程)
- 《危險化學品企業(yè)安全生產標準化規(guī)范》專業(yè)深度解讀與應用培訓指導材料之4:5管理要求-5.3 安全生產信息與合規(guī)審核(雷澤佳編制-2025A0)
- 大學生積極心理健康教育知到智慧樹章節(jié)測試課后答案2024年秋運城職業(yè)技術大學
- 閩教版2023版3-6年級全8冊英語單詞表
- 以天然氣制合成氣的工藝
- 設備計算與選型——孫景海
- 恩格勒系統(tǒng)整理17頁
- JGJ_T487-2020建筑結構風振控制技術標準(高清-最新版)
- 道路路面恢復施工方案
- 二年級下冊三位數(shù)列豎式計算(一千道)
- 《交通工程學》PPT
評論
0/150
提交評論