




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一章 C 語(yǔ) 言 概 述 第一章第一章 C C 語(yǔ)語(yǔ) 言言 概概 述述 1.1 C語(yǔ)言的發(fā)展簡(jiǎn)史與特色語(yǔ)言的發(fā)展簡(jiǎn)史與特色 1.2 簡(jiǎn)單的簡(jiǎn)單的C程序介紹程序介紹 1.3 用用C語(yǔ)言解決實(shí)際問(wèn)題的步驟語(yǔ)言解決實(shí)際問(wèn)題的步驟 第一章 C 語(yǔ) 言 概 述 1.1 C語(yǔ)言的發(fā)展簡(jiǎn)史與特色語(yǔ)言的發(fā)展簡(jiǎn)史與特色 1.1.1 C語(yǔ)言發(fā)展簡(jiǎn)史語(yǔ)言發(fā)展簡(jiǎn)史 C語(yǔ)言是目前世界上最廣泛使用的通用計(jì)算機(jī)語(yǔ)言。用它既可編寫(xiě)計(jì)算機(jī)系統(tǒng)軟件,也可編寫(xiě)各種應(yīng)用軟件,所以在數(shù)百種計(jì)算機(jī)語(yǔ)言中,C語(yǔ)言仍然是目前最流行、最受歡迎的計(jì)算機(jī)語(yǔ)言。 如今, Windows已成為計(jì)算機(jī)的主要操作系統(tǒng), 相應(yīng)的基于Windows的程序開(kāi)
2、發(fā)多采用C+,它雖是一種面向?qū)ο蟮恼Z(yǔ)言, 但其核心內(nèi)容仍是標(biāo)準(zhǔn)C。 第一章 C 語(yǔ) 言 概 述 1.1.2 C語(yǔ)言的特色語(yǔ)言的特色 1. C與其它語(yǔ)言的比較與其它語(yǔ)言的比較 1) C與匯編語(yǔ)言比較 C語(yǔ)言允許對(duì)位、 字節(jié)和地址進(jìn)行操作(指針), 這三者是計(jì)算機(jī)最基本的工作單元,在編制系統(tǒng)程序時(shí)要經(jīng)常用到, 所以它適用于寫(xiě)系統(tǒng)程序。由于匯編語(yǔ)言是非結(jié)構(gòu)化語(yǔ)言, 含有大量的跳轉(zhuǎn)、子程序調(diào)用以及變址, 這種結(jié)構(gòu)的缺陷使得匯編語(yǔ)言程序難以讀懂,難以維護(hù),也不能移植。而C語(yǔ)言的結(jié)構(gòu)化、 模塊化克服了匯編程序難讀、難維護(hù)的缺點(diǎn)。 C語(yǔ)言又具有匯編語(yǔ)言的功能,目標(biāo)代碼長(zhǎng)度也差不多, 效率幾乎與匯編相近, 且
3、具有很好的可移植性。 第一章 C 語(yǔ) 言 概 述 2) C與其它高級(jí)語(yǔ)言比較 C有豐富的運(yùn)算符,達(dá)34種,其中有很多運(yùn)算符對(duì)應(yīng)于常用的機(jī)器指令,比如+等可直接編譯成機(jī)器代碼,使用起來(lái)簡(jiǎn)單精練。 C有多樣化的表達(dá)式類(lèi)型; C的數(shù)據(jù)類(lèi)型豐富,具有現(xiàn)代語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu)。 C的數(shù)據(jù)類(lèi)型有:整型,實(shí)型,字符型,數(shù)組,指針,結(jié)構(gòu)體,共用體等。 C的輸入輸出使用的是數(shù)據(jù)流 C程序生成的機(jī)器代碼質(zhì)量高, 內(nèi)存占用少, 運(yùn)行速度快, 程序執(zhí)行效率高。 第一章 C 語(yǔ) 言 概 述 2. C是結(jié)構(gòu)化語(yǔ)言 C語(yǔ)言是以函數(shù)為模塊來(lái)編寫(xiě)源程序的, 所以C程序是模塊化的。 C語(yǔ)言具有結(jié)構(gòu)化的控制語(yǔ)句,如ifelse語(yǔ)句,
4、switch語(yǔ)句, while語(yǔ)句, dowhile語(yǔ)句,for語(yǔ)句等。 因此是結(jié)構(gòu)化的理想語(yǔ)言, 符合現(xiàn)代編程風(fēng)格的要求。 結(jié)構(gòu)化語(yǔ)言的一個(gè)顯著特點(diǎn)是代碼和數(shù)據(jù)的分隔化, 即代碼和數(shù)據(jù)分開(kāi)存貯, 互相隔離; 程序的各個(gè)部分除了必要的信息交流外, 彼此互不影響, 相互隔離。 第一章 C 語(yǔ) 言 概 述 3. C是編程者的語(yǔ)言是編程者的語(yǔ)言 C語(yǔ)言的其它主要優(yōu)點(diǎn)如下:語(yǔ)言的其它主要優(yōu)點(diǎn)如下: C語(yǔ)言簡(jiǎn)潔、語(yǔ)言簡(jiǎn)潔、 緊湊,緊湊, 使用方便靈活;使用方便靈活; 一共只有一共只有32個(gè)關(guān)鍵個(gè)關(guān)鍵字字(27個(gè)來(lái)自個(gè)來(lái)自kerninghan和和Ritchie的標(biāo)準(zhǔn),的標(biāo)準(zhǔn),5個(gè)由個(gè)由ANSI標(biāo)準(zhǔn)委標(biāo)準(zhǔn)委
5、員會(huì)增補(bǔ)員會(huì)增補(bǔ)), 9種控制語(yǔ)句,種控制語(yǔ)句, 它們構(gòu)成了它們構(gòu)成了C語(yǔ)言的全部指令;語(yǔ)言的全部指令;程序書(shū)寫(xiě)形式自由,程序書(shū)寫(xiě)形式自由, 壓縮了一切不必要的成分。壓縮了一切不必要的成分。 C語(yǔ)言很少限制、很少缺陷、模塊結(jié)構(gòu)、彼此獨(dú)立的函語(yǔ)言很少限制、很少缺陷、模塊結(jié)構(gòu)、彼此獨(dú)立的函數(shù)和一些十分緊湊的關(guān)鍵字,使得數(shù)和一些十分緊湊的關(guān)鍵字,使得C語(yǔ)言能達(dá)到接近匯編語(yǔ)語(yǔ)言能達(dá)到接近匯編語(yǔ)言的高效率和廣泛的應(yīng)用范圍,所以在許多情況下它是編程言的高效率和廣泛的應(yīng)用范圍,所以在許多情況下它是編程者首選的計(jì)算機(jī)語(yǔ)言。者首選的計(jì)算機(jī)語(yǔ)言。 第一章 C 語(yǔ) 言 概 述 4. C的的“缺點(diǎn)缺點(diǎn)” 語(yǔ)法限制不嚴(yán)
6、格 2) 程序設(shè)計(jì)自由度大 第一章 C 語(yǔ) 言 概 述 1.2 簡(jiǎn)單的簡(jiǎn)單的C程序介紹程序介紹 例例 1.1 打印一個(gè)語(yǔ)句。打印一個(gè)語(yǔ)句。 程序:程序: main( ) printf(A simple c program.n); 經(jīng)編譯后運(yùn)行結(jié)果如下:經(jīng)編譯后運(yùn)行結(jié)果如下: A simple c program. 第一章 C 語(yǔ) 言 概 述 例例 1.2 求兩數(shù)中的小者。求兩數(shù)中的小者。 程序:程序: main( ) /* 主函數(shù)主函數(shù) */ int a , b, c; /* 定義變量定義變量 */ scanf(%d, %d, &a, &b); /* 輸入輸入 */ c=min
7、(a, b); /* 調(diào)用函數(shù)調(diào)用函數(shù) */ printf(min=%dn, c); /* 輸出輸出 */ int min(int x, int y) /* 定義函數(shù)定義函數(shù) */ int z; /* 定義局部變量定義局部變量 */ if (xy) z=y; else z=x; return(z); /* 返回返回z值值*/ 第一章 C 語(yǔ) 言 概 述 經(jīng)編譯后運(yùn)行如下: 14, 4 min=4再次運(yùn)行: 6, 29 min=6本程序包括兩個(gè)函數(shù): 主函數(shù)main和子函數(shù)min。 第一章 C 語(yǔ) 言 概 述 通過(guò)上述兩個(gè)例子, 我們可以看到: (1) C程序是由函數(shù)構(gòu)成的。 (2) 一個(gè)函數(shù)由
8、兩部分組成: 函數(shù)的首部和函數(shù)體。 (3) main函數(shù)通常位于程序之首, 實(shí)際上它位于程序的開(kāi)頭、 最后及函數(shù)與函數(shù)之間均是合法的, 但不管在什么位置,一個(gè)C程序總是從main函數(shù)開(kāi)始執(zhí)行的。 (4) C程序書(shū)寫(xiě)格式自由, 一行內(nèi)可以寫(xiě)幾個(gè)語(yǔ)句, 一個(gè)語(yǔ)句可以分寫(xiě)在多行上。 (5) C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句。 (6) 可以用/* */對(duì)C程序中的任何部分作注釋?zhuān)?它可增加程序的可讀性。 第一章 C 語(yǔ) 言 概 述 1.3 用用C語(yǔ)言解決實(shí)際問(wèn)題的步驟語(yǔ)言解決實(shí)際問(wèn)題的步驟 1.3.1 一個(gè)實(shí)例的求解過(guò)程一個(gè)實(shí)例的求解過(guò)程 1. 問(wèn)題提出問(wèn)題提出 計(jì)算計(jì)算y=f(x)曲線,曲線, x軸軸(y
9、=0), x=a, x=b四條曲線所圍成的四條曲線所圍成的面積。面積。 參看圖參看圖1.1。 yxab0y=f(x)圖 1.1 計(jì)算面積 第一章 C 語(yǔ) 言 概 述 2. 分析問(wèn)題分析問(wèn)題 用戶(hù)需求:用戶(hù)需求: 計(jì)算四條曲線所圍的面積。計(jì)算四條曲線所圍的面積。 已知條件:已知條件: 四條曲線四條曲線(即即x=a, x=b, y=0, y=f(x)。 需要進(jìn)行的處理:需要進(jìn)行的處理: 計(jì)算面積,計(jì)算面積, 注意誤差和精度。注意誤差和精度。 需要用到的軟、硬件環(huán)境:用需要用到的軟、硬件環(huán)境:用C語(yǔ)言編程,在個(gè)人微機(jī)語(yǔ)言編程,在個(gè)人微機(jī)上運(yùn)行,使用上運(yùn)行,使用Turbo C編譯系統(tǒng)。編譯系統(tǒng)。 進(jìn)行
10、可行性分析:進(jìn)行可行性分析: 用數(shù)值計(jì)算方法完全能夠?qū)崿F(xiàn)。用數(shù)值計(jì)算方法完全能夠?qū)崿F(xiàn)。 經(jīng)過(guò)分析,經(jīng)過(guò)分析, 我們已做到心中有數(shù)。我們已做到心中有數(shù)。 第一章 C 語(yǔ) 言 概 述 3. 確定處理方案確定處理方案 根據(jù)實(shí)際問(wèn)題選用適當(dāng)?shù)臄?shù)學(xué)模型根據(jù)實(shí)際問(wèn)題選用適當(dāng)?shù)臄?shù)學(xué)模型(本例屬科學(xué)計(jì)本例屬科學(xué)計(jì)算算)。根據(jù)高等數(shù)學(xué)中學(xué)到的知識(shí),我們提出的數(shù)學(xué)模。根據(jù)高等數(shù)學(xué)中學(xué)到的知識(shí),我們提出的數(shù)學(xué)模型是型是 ,也就是在,也就是在a, b區(qū)間內(nèi)求區(qū)間內(nèi)求f(x)函數(shù)函數(shù)的定積分。的定積分。 bndxxfS)(第一章 C 語(yǔ) 言 概 述 4. 根據(jù)處理方案確定操作步驟根據(jù)處理方案確定操作步驟 圖 1.2 矩
11、形法求積分 yxab0y=f(x)cdf(c) f(d)第一章 C 語(yǔ) 言 概 述 在圖1.2中畫(huà)陰影線的小面積有 4 條邊, 第一條長(zhǎng)度f(wàn)(c), 第二條長(zhǎng)度f(wàn)(d), 第三條長(zhǎng)度d-c,而第四條線我們采用近似的辦法: 以第一條線高度作x軸的平行線得y=f(c),則小矩形面積為(d-c)f(c);或以第二條線高度作x軸平行線得y=f(d),則小矩形面積為(d-c)f(d)。 然后將各小塊面積累加起來(lái)。以上過(guò)程歸納起來(lái)就得出了近似公式,最后得到一個(gè)操作步驟, 也就是算法,如下所示: 第一章 C 語(yǔ) 言 概 述 (1) 讀a, b和n(分成n塊)。 (2) 求高h(yuǎn)=(b-a)/n。 (3) s=
12、0,面積的初始值為0。 (4) i=1,先計(jì)算第一個(gè)小面積。 (5) s=s+h*f(a+i*h),用后點(diǎn)計(jì)算;或s=s+h*f(a+(i-1)*h), 用前點(diǎn)計(jì)算, 小面積累加起來(lái)。 (6) i=i+1, 取下一個(gè)小面積。 (7) 如i=n轉(zhuǎn)(5), 否則打印s。 第一章 C 語(yǔ) 言 概 述 5. 根據(jù)操作步驟編寫(xiě)源程序 程序: main( ) float a, b, h, s; float f(float); int i, n; scanf(%f, %f, %d, &a, &b, &n); h=(b-a)/n; s=0; i=1; while(i=n) s=s+h*
13、f(a+(i-1)*h); /* 用前點(diǎn)計(jì)算 */i+; printf(a=%f, b=%f, n=%d, s=%fn, a, b, n, s); 第一章 C 語(yǔ) 言 概 述 6. 輸入程序并上機(jī)調(diào)試 上機(jī)輸入源程序并調(diào)試,直到改正了所有的編譯錯(cuò)誤和運(yùn)行錯(cuò)誤。 在調(diào)試過(guò)程中應(yīng)該精心選擇典型數(shù)據(jù)進(jìn)行測(cè)試。 本例當(dāng)計(jì)算有誤差或精度不足時(shí)可加大分塊數(shù)量,或采用其它計(jì)算方法:如改為梯形法或拋物線法(即辛普生法)等。要避免因調(diào)試數(shù)據(jù)不能反映實(shí)際數(shù)據(jù)的特征而引起的計(jì)算偏差和運(yùn)行錯(cuò)誤。 第一章 C 語(yǔ) 言 概 述 7. 整理分析計(jì)算結(jié)果整理分析計(jì)算結(jié)果 圖 1.3 用計(jì)算機(jī)處理一個(gè)實(shí)際問(wèn)題 分析問(wèn)題確定處理
14、方案(數(shù)學(xué)模型)確定算法編寫(xiě)程序上機(jī)調(diào)試運(yùn)行整理結(jié)果修改數(shù)學(xué)模型修改算法修改程序第一章 C 語(yǔ) 言 概 述 1.3.2 算法算法 1. 什么是算法什么是算法 為解決一個(gè)問(wèn)題而采取的方法和步驟,就稱(chēng)為為解決一個(gè)問(wèn)題而采取的方法和步驟,就稱(chēng)為“算算法法”。對(duì)同一個(gè)問(wèn)題,可以有不同的解題方法和步驟,也。對(duì)同一個(gè)問(wèn)題,可以有不同的解題方法和步驟,也就有不同的算法。例如求就有不同的算法。例如求 可采用矩形法,梯形可采用矩形法,梯形法,辛普生法法,辛普生法(即拋物線法即拋物線法)等。為了有效地解題,不僅需等。為了有效地解題,不僅需要保證算法正確,還要考慮算法的質(zhì)量,選擇較好的算法,要保證算法正確,還要考慮
15、算法的質(zhì)量,選擇較好的算法,或進(jìn)行算法的優(yōu)化?;蜻M(jìn)行算法的優(yōu)化。 badxxf)(第一章 C 語(yǔ) 言 概 述 2. 算法的特點(diǎn)算法的特點(diǎn)一個(gè)算法,一個(gè)算法, 必須具有以下特點(diǎn):必須具有以下特點(diǎn): (1) 僅有有限的操作步驟,僅有有限的操作步驟, 即即“有窮性有窮性”(無(wú)死循環(huán)無(wú)死循環(huán))。 (2) 算法的每一個(gè)步驟應(yīng)當(dāng)是確定的,算法的每一個(gè)步驟應(yīng)當(dāng)是確定的, 即無(wú)即無(wú)“二義性二義性”。 (3) 有適當(dāng)?shù)妮斎?,有適當(dāng)?shù)妮斎耄?即有確定的條件。即有確定的條件。 (4) 有輸出結(jié)果。有輸出結(jié)果。 沒(méi)有輸出的算法是無(wú)意義的。沒(méi)有輸出的算法是無(wú)意義的。 (5) 算法中的每一個(gè)步驟都應(yīng)當(dāng)有效執(zhí)行算法中的每一
16、個(gè)步驟都應(yīng)當(dāng)有效執(zhí)行(無(wú)死語(yǔ)句無(wú)死語(yǔ)句)。 第一章 C 語(yǔ) 言 概 述 3. 算法的重要性算法的重要性 掌握最基本的、常用的算法是很重要的,算法設(shè)計(jì)是掌握最基本的、常用的算法是很重要的,算法設(shè)計(jì)是整個(gè)程序設(shè)計(jì)的核心。著名計(jì)算機(jī)科學(xué)家沃思整個(gè)程序設(shè)計(jì)的核心。著名計(jì)算機(jī)科學(xué)家沃思(Wirth)曾提曾提出一個(gè)公式:出一個(gè)公式: 程序程序=算法算法+數(shù)據(jù)結(jié)構(gòu)。對(duì)初學(xué)者而言,數(shù)數(shù)據(jù)結(jié)構(gòu)。對(duì)初學(xué)者而言,數(shù)據(jù)結(jié)構(gòu)即是語(yǔ)言提供的各種數(shù)據(jù)類(lèi)型,無(wú)大難點(diǎn)。這樣編據(jù)結(jié)構(gòu)即是語(yǔ)言提供的各種數(shù)據(jù)類(lèi)型,無(wú)大難點(diǎn)。這樣編程的任務(wù)主要是考慮算法問(wèn)題,當(dāng)然還要學(xué)會(huì)基本的語(yǔ)句程的任務(wù)主要是考慮算法問(wèn)題,當(dāng)然還要學(xué)會(huì)基本的語(yǔ)句和語(yǔ)法。和語(yǔ)法。 第一章 C 語(yǔ) 言 概 述 4. 算法的表示方法算法的表示方法 用自然語(yǔ)言表示 2) 用傳統(tǒng)流程圖表示 端點(diǎn)符數(shù)據(jù)輸入/出處理判斷流向線虛線連接符注釋符圖 1.4 傳統(tǒng)流程圖常用符號(hào) 第一章 C 語(yǔ) 言 概 述 例 1.3 求 , 用傳統(tǒng)流程圖表示,見(jiàn)圖1.5。 badxxf)(圖 1.5 矩形法求積分 開(kāi) 始輸入a,b,nh=(b-a)/ns=0; i=1i=ns=s+h*f(a+(i-1)*h)i=i+1結(jié) 束輸出a,b,n,s第一章 C 語(yǔ) 言 概 述 3) 用N-S流程圖表示 例 1.4 求 ,用N-S結(jié)構(gòu)化流程圖表
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度黑龍江省高校教師資格證之高等教育法規(guī)通關(guān)題庫(kù)(附帶答案)
- 6.2《五石之瓠》課件 統(tǒng)編版高中語(yǔ)文選擇性必修上冊(cè)
- 思政理論重點(diǎn)難點(diǎn)試題及答案
- 2025年專(zhuān)賣(mài)店店面出租合同
- 2025年度輔導(dǎo)班教學(xué)質(zhì)量保證與家長(zhǎng)承諾書(shū)
- 2025年度藥店?duì)I業(yè)員藥品質(zhì)量監(jiān)管與合規(guī)聘用合同
- 2025年度金融服務(wù)合伙人入股協(xié)議
- 二零二五年度海洋工程勞務(wù)合同
- 2025年度集體合同協(xié)商中的勞動(dòng)爭(zhēng)議處理
- 2025年度服裝企業(yè)時(shí)尚跨界合作項(xiàng)目用工合同
- 人教版小學(xué)四年級(jí)語(yǔ)文下冊(cè)2024-2025學(xué)年度第二學(xué)期期中質(zhì)量檢測(cè)試卷
- 2025山西地質(zhì)集團(tuán)招聘37人筆試參考題庫(kù)附帶答案詳解
- 2025年安慶醫(yī)藥高等專(zhuān)科學(xué)校單招職業(yè)適應(yīng)性考試題庫(kù)標(biāo)準(zhǔn)卷
- 2025年襄陽(yáng)科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)必考題
- GB/T 11856.1-2025烈性酒質(zhì)量要求第1部分:威士忌
- 戰(zhàn)爭(zhēng)藝術(shù)與戰(zhàn)術(shù)創(chuàng)新-深度研究
- 4.2 明確概念的方法 課件高中政治統(tǒng)編版選擇性必修三邏輯與思維
- 直播帶貨銷(xiāo)售合作協(xié)議書(shū)范本
- 2025年江蘇農(nóng)林職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 2024年新疆中考數(shù)學(xué)試卷(含答案解析)
- 07FK02防空地下室通風(fēng)設(shè)備安裝圖集
評(píng)論
0/150
提交評(píng)論