《基礎知識復習》PPT課件.ppt_第1頁
《基礎知識復習》PPT課件.ppt_第2頁
《基礎知識復習》PPT課件.ppt_第3頁
《基礎知識復習》PPT課件.ppt_第4頁
《基礎知識復習》PPT課件.ppt_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C程序設計,C程序設計,主講:鄭孝遙,C程序設計,教材,許勇著, C語言程序設計教程,清華大學出版社。,C程序設計,參考教材,全國計算機等級考試二級教程C語言程序設計,高等教育出版社。 譚浩強,C程序設計,清華大學出版社。,C程序設計,第一章 語言概述,1.1 語言程序的總體結構 一個完整的語言程序,是由一個main()函數(shù)(又稱主函數(shù))和若干個其它函數(shù)結合而成的,或僅由一個main()函數(shù)構成。 案例1.1 僅由main()函數(shù)構成的語言程序。 /*案例代碼文件名:AL1_1.C*/ /*功能:僅由main()函數(shù)構成的語言程序示例*/ main() printf(“This is a C

2、program.n”); 程序運行結果: This is a C program.,C程序設計,案例1.2 由main()函數(shù)和1個其它函數(shù)max()構成的語言程序。 /*案例代碼文件名:AL1_2.C*/ /*功能:由main()函數(shù)和1個其它函數(shù)max()構成的語言程序示例*/ int max(int x, int y) return( xy ? x : y ); main() int num1,num2; printf(“Input the first integer number: ”); scanf(“%d”, 程序運行情況: Input the first integer numb

3、er:6 Input the second integer number:9 max=9,C程序設計,1.函數(shù)是語言程序的基本單位。 main()函數(shù)的作用,相當于其它高級語言中的主程序;其它函數(shù)的作用,相當于子程序。 2.C語言程序總是從main()函數(shù)開始執(zhí)行。 一個語言程序,總是從main()函數(shù)開始執(zhí)行,而不論其在程序中的位置。當主函數(shù)執(zhí)行完畢時,亦即程序執(zhí)行完畢。 習慣上,將主函數(shù)main()放在最前頭。,C程序設計,1.2 函數(shù)的一般結構,任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結構如下: 函數(shù)類型 函數(shù)名(函數(shù)參數(shù)表) 函數(shù)說明部分 說明語句部分

4、; 執(zhí)行語句部分; 函數(shù)體部分 1. 使用的語法符號約定 .方括號表示可選(即可以指定,也可以缺?。?省略號表示前面的項可以重復 | 多(含2)中選1 2.函數(shù)說明 由函數(shù)類型(可缺?。?、函數(shù)名和函數(shù)參數(shù)表三部分組成,其中函數(shù)參數(shù)表的格式為: 數(shù)據(jù)類型 形參, 數(shù)據(jù)類型 形參2,C程序設計,可執(zhí)行語句 一般由若干條可執(zhí)行語句構成。圖1-2是案例1.2的main()函數(shù)體的示意圖。 /*主函數(shù)main()*/ main() int num1,num2; 變量定義部分 printf(“Input the first integer number: ”); scanf(“%d”, 圖1-2 函數(shù)體結

5、構示意圖,C程序設計,允許使用注釋。 C語言的注釋格式為: /* */ (1) “/*”和“*/” 必須成對使用,且“/”和“*”、以及“*”和“/”之間不能有空格,否則都出錯。 技巧:為避免遺漏必須配對使用的符號,例如注釋符號、函數(shù)體的起止標識符(花括號)、圓括號等等,在輸入時,可連續(xù)輸入這些起止標識符,然后再在其中進行插入來完成內容的編輯。在起止標識符嵌套時,以及相距較遠時,這樣做更有必要。,C程序設計,1.2 Turbo C V2.1的基本操作,1.運行一個語言程序的一般過程 urbo 是一個集源程序編輯、編譯、連接、運行與調試于一體、 用菜單驅動的集成軟件環(huán)境。 運行一個語言程序的一般

6、過程: (1)啟動TC,進入TC集成環(huán)境。 (2)編輯(或修改)源程序。 (3)編譯。如果編譯成功,則可進行下一步操作;否則,返回(2)修改源程序,再重新編譯,直至編譯成功。 (4)連接。如果連接成功,則可進行下一步操作;否則,根據(jù)系統(tǒng)的錯誤提示,進行相應修改,再重新連接,直至連接成功。 (5)運行。通過觀察程序運行結果,驗證程序的正確性。如果出現(xiàn)邏輯錯誤,則必須返回(2)修改源程序,再重新編譯、連接和運行,直至程序正確。 (6)退出TC集成環(huán)境,結束本次程序運行。,C程序設計,1.2 VC 6.0的基本操作(續(xù)),2.運行一個語言程序的一般過程 vc是一個可視化的集成軟件環(huán)境。 運行一個語言

7、程序的一般過程: (1)啟動VC,進入VC環(huán)境。 (2)在“File”-“New”,選擇Project選項卡,再選擇“Win32 Console Application”,輸入工程的名,一直確定即可。 (3)在“File”-“New”,選擇Files選項卡,再選擇“C+ Source File”,輸入源文件名,確定即可。 (4)編寫源程序。在源程序文件的編輯區(qū)輸入程序代碼,并保存 (5)編譯。(F7) (5)運行。(CtrlF5) (6)退出VC集成環(huán)境,結束本次程序運行。,C程序設計,第2章 初步知識,本章學習內容: 2.1 程序設計概述 2.2 C語言的數(shù)據(jù)類型 2.3 常量和變量 2.4

8、 整型數(shù)據(jù) 2.5 實型數(shù)據(jù) 2.6 字符型數(shù)據(jù) 2.7 算術運算與算術表達式 2.8 賦值運算與賦值表達式 2.9 C語言特有的運算和運算符,C程序設計,2.1 程序設計概述,一個程序應包括對數(shù)據(jù)的描述和對數(shù)據(jù)處理的描述。 1對數(shù)據(jù)的描述,即數(shù)據(jù)結構。數(shù)據(jù)結構是計算機學科的核心課程之一,有許多專門著作論述,本課程就不再贅述。 在C語言中,系統(tǒng)提供的數(shù)據(jù)結構,是以數(shù)據(jù)類型的形式出現(xiàn)的。 2對數(shù)據(jù)處理的描述,即計算機算法。算法是為解決一個問題而采取的方法和步驟,是程序的靈魂。為此,著名計算機科學家沃思(Nikiklaus Wirth)提出一個公式: 數(shù)據(jù)結構 + 算法 = 程序 實際上,一個程序

9、除了數(shù)據(jù)結構和算法外,還必須使用一種計算機語言,并采用結構化方法來表示。,C程序設計,2.2 C語言的數(shù)據(jù)類型,C語言提供的數(shù)據(jù)結構,是以數(shù)據(jù)類型形式出現(xiàn)的。具體分類如下: 1.基本類型 分為整型、實型(又稱浮點型)、字符型和枚舉型四種。 2.構造類型 分為數(shù)組類型、結構類型和共用類型三種。 3.指針類型。在第9章中介紹。 4.空類型 C語言中的數(shù)據(jù),有常量和變量之分,它們分別屬于上述這些類型。,C程序設計,2.3 常量、變量和標識符,1.標識符命名規(guī)則 (1)有效字符:只能由字母、數(shù)字和下劃線組成,且以字母或下劃線開頭。 (2)有效長度:隨系統(tǒng)而異,但至少前個字符有效。如果超長,則超長部分被

10、舍棄。 例如,由于student_name和student_number的前個字符相同,有的系統(tǒng)認為這兩個變量,是一回事而不加區(qū)別。 在TC V2.1中,變量名(標識符)的有效長度為個字符,缺省值為。,C程序設計,(3)C語言的關鍵字不能用作變量名。 注意:C語言對英文字母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字符。 習慣上,變量名和函數(shù)名中的英文字母用小寫,以增加可讀性。 思考題:在C語言中,變量名total與變量名TOTAL、ToTaL、tOtAl等是同一個變量嗎? 標識符命名的良好習慣見名知意: 所謂“見名知意”是指,通過變量名就知道變量值的含義。通常應選擇能表示數(shù)據(jù)含義的英

11、文單詞(或縮寫)作變量名,或漢語拼音字頭作變量名。 例如,name/xm(姓名)、sex/xb(性別)、age/nl(年齡)、salary/gz(工資)。,C程序設計,2.3.1 常量 1.常量的概念 在程序運行過程中,其值不能被改變的量稱為常量。 2.常量的分類 (1)整型常量 (2)實型常量 (3)字符常量。 (4)字符串常量 常量的類型,可通過書寫形式來判別。,C程序設計,2.3.2 變量 1.變量的概念 在程序運行過程中,其值可以被改變的量稱為變量。 2.變量的兩個要素 (1)變量名。每個變量都必須有一個名字變量名,變量命名遵循標識符命名規(guī)則。 (2)變量值。在程序運行過程中,變量值存

12、儲在內存中。在程序中,通過變量名來引用變量的值。,C程序設計,2.4 整型數(shù)據(jù),2.4.1 整型變量 整型數(shù)據(jù)在內存中的存放形式 1.分類 根據(jù)占用內存字節(jié)數(shù)的不同,整型變量又分為類: (1)基本整型(類型關鍵字為int)。 (2)短整型(類型關鍵字為short int)。 (3)長整型(類型關鍵字為long int)。 (4)無符號整型。無符號型又分為無符號基本整型(unsigned int)、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來存儲無符號整數(shù)。,C程序設計,2.占用內存字節(jié)數(shù)與值域 上述各類型整型變量占用的內存字節(jié)數(shù),隨系統(tǒng)

13、而異。在16位操作系統(tǒng)中,一般用字節(jié)表示一個int型變量,且long型(字節(jié))int型(字節(jié))short型(字節(jié))。 顯然,不同類型的整型變量,其值域不同。占用內 存字節(jié)數(shù)為n的(有符號)整型變量,其值域為: -2n*8-1(2n*8-1-1); 無符號整型變量的值域為:0(2n*8-1)。 例如,PC機中的一個int型變量,其值域為-22*8-1(22*8-1-1),即-3276832767;一個unsigned型變量的值域為:0(22*8-1),即065535。,C程序設計,2.4.2 整型常量 .三種表示形式 整型常量即整常數(shù),在語言中可用三種形式表示: (1)十進制。例如10、36。

14、(2)八進制(以數(shù)字開頭)。例如012。 (3)十六進制(以數(shù)字+小寫字母x開頭)。例如0 x36。,C程序設計,.分類 (1)基本整型。在16位機中,用2字節(jié)存儲,其數(shù)據(jù)范圍與int型變量一樣。 (2)長整型(在數(shù)值后面加“L或l”)。對超出基本整型值域的整型常量,可使用長整型常量表示,其取值范圍可達-(-)。例如,123l、315等。 .類型匹配規(guī)則 類型匹配規(guī)則為:一個整型常量,可以賦給能容納下其值的整型變量。 例如,其值在-(-)的整型常量,可以賦給int型變量和long int型變量;其值在-(-)的整型常量,就只能賦給long int型變量。,C程序設計,2.5 實型數(shù)據(jù),2.5.

15、1 實型變量 語言的實型變量,分為兩種: (1)單精度型。類型關鍵字為float,一般占字節(jié)(位)、提供位有效數(shù)字。 (2)雙精度型。類型關鍵字為double,一般占個字節(jié)、提供1516位有效數(shù)字。,C程序設計,2.5.2 實型常量 .表示形式實型常量即實數(shù),在語言中又稱浮點數(shù),其值有兩種表達形式 (1)十進制形式。例如3.14、9.8。 (2)指數(shù)形式:E(e)。例如3.05等。 .關于類型 C編譯系統(tǒng)將實型常量作為雙精度(double)來處理。一個實型常量,可以賦給一個實型變量(float型或double型)。,C程序設計,2.6 字符型數(shù)據(jù),2.6.1 字符常量 1.字符常量的定義 用一

16、對單引號括起來的單個字符,稱為字符常量。 例如,A、等。 2.轉義字符 語言還允許使用一種特殊形式的字符常量,就是以反斜杠開頭的轉義字符。 注意:如果反斜杠或單引號本身作為字符常量,必須使用轉義字符:、 。 案例2.1 用轉義字符輸出可打印字符和不可打印字符。 /*案例代碼文件名:AL2_1.C*/ /*程序功能:用轉義字符輸出可打印字符和不可打印字符*/ main() printf(x4Fx4Bx21n);/* 等價于printf(OK!n); */ printf(x15 xABn); ,C程序設計,程序運行結果如下: ! 2.6.2 字符變量 字符變量的類型關鍵字為char,一般占用1字節(jié)

17、內存單元。 1.變量值的存儲字符變量用來存儲字符常量。將一個字符常量存儲到一個字符變量中,實際上是將該字符的ASCII碼值(無符號整數(shù))存儲到內存單元中。 例如, char ch1, ch2; /*定義兩個字符變量:ch1,ch2*/ ch1=a; ch2=b; /*給字符變量賦值*/,C程序設計,(2)允許對字符數(shù)據(jù)進行算術運算,此時就是對它們的ASCII碼值進行算術運算。 案例2.3 字符數(shù)據(jù)的算術運算。 /*程序功能:字符數(shù)據(jù)的算術運算*/ main() char ch1,ch2; ch1=a; ch2=B; /*字母的大小寫轉換*/ printf(ch1=%c,ch2=%cn,ch1-

18、32,ch2+32); /*用字符形式輸出一個大于256的數(shù)值*/ printf(ch1+200=%dn, ch1+200); printf(ch1+200=%cn, ch1+200); printf(ch1+256=%dn, ch1+256); printf(ch1+256=%cn, ch1+256); ,C程序設計,2.7 算術運算與算術表達式,語言中,除控制語句和輸入輸出函數(shù)外,其它所有基本操作都作為運算符處理。 1.五種基本算術運算符 +、(減法/取負)、*、/、%(求余數(shù)) (1)關于除法運算/ C語言規(guī)定:兩個整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄。例如,5 / 2 = 2。 (2)

19、關于求余數(shù)運算 要求兩側的操作數(shù)均為整型數(shù)據(jù),否則出錯。 2.表達式和算術表達式 (1)表達式的概念 用運算符和括號將運算對象(常量、變量和函數(shù)等)連接起來的、符合語言語法規(guī)則的式子,稱為表達式。,C程序設計,(2)算術表達式的概念 表達式中的運算符都是算術運算符。例如,3 + 6 * 9、(x + y) / 2 - 1等,都是算術表達式。 良好的源程序書寫習慣:在表達式中,在運算符的左右兩側各加一個空格,可增強程序的可讀性。 請比較表達式“ (x + y) / 2 1”與“(x+y)/21”, 3.運算符的優(yōu)先級與結合性 (1)語言規(guī)定了運算符的優(yōu)先級和結合性。 所謂結合性是指,當一個操作數(shù)

20、兩側的運算符具有相同的優(yōu)先級時,該操作數(shù)是先與左邊的運算符結合,還是先與右邊的運算符結合。,C程序設計,自左至右的結合方向,稱為左結合性。反之,稱為右結合性。例如:賦值運算符。 (2)表達式求值 1)按運算符的優(yōu)先級高低次序執(zhí)行。例如,先乘除后加減。 2)如果在一個運算對象(或稱操作數(shù))兩側的運算符的優(yōu)先級相同,則按語言規(guī)定的結合方向(結合性)進行。 例如,算術運算符的結合方向是“自左至右”,即:在執(zhí)行“a b + c”時,變量b先與減號結合,執(zhí)行“a - b”;然后再執(zhí)行加c的運算。,C程序設計,4.數(shù)據(jù)類型轉換 (1)在語言中,整型、實型和字符型數(shù)據(jù)間可以混合運算(因為字符數(shù)據(jù)與整型數(shù)據(jù)可

21、以通用)。 如果一個運算符兩側的操作數(shù)的數(shù)據(jù)類型不同,則系統(tǒng)按“先轉換、后運算”的原則,首先將數(shù)據(jù)自動轉換成同一類型,然后在同一類型數(shù)據(jù)間進行運算。轉換規(guī)則如圖2.1所示。 1)橫向向左的箭頭,表示必須的轉換。char和short 型必須轉換成 int 型,float型必須轉換成double型。 2)縱向向上的箭頭,表示不同類型的轉換方向。 例如,int型與double型數(shù)據(jù)進行混合運算,則先將int型數(shù)據(jù)轉換成double型,然后在兩個同類型的數(shù)據(jù)間進行運算,結果為double型。 注意:箭頭方向只表示數(shù)據(jù)類型由低向高轉換,不要理解為int型先轉換成unsigned型,再轉換成long型,最

22、后轉換成double型。,C程序設計,(2)除自動轉換外,語言也允許強制轉換。 數(shù)據(jù)類型強制轉換的一般格式為: (要轉換成的數(shù)據(jù)類型)(被轉換的表達式) 當被轉換的表達式是一個簡單表達式時,外面的一對圓括號可以缺省。 例如, (double)a (等價于(double)(a)/*將變量a的值轉換成double型*/ (int)(x + y) /*將x+y的結果轉換成int型*/ (float)5 / 2(等價于(float)(5)/2) /*將5轉換成實型,再除以2(=2.5)*/ (float)(5 / 2) /*將5整除2的結果(2)轉換成實型(2.0)*/ 注意:強制轉換類型得到的是一個

23、所需類型的中間量,原表達式類型并不發(fā)生變化。例如,(double)a 只是將變量a的值轉換成一個double型的中間量,它的值等于a的整數(shù)部分,而a的數(shù)據(jù)類型并未轉換成double型。,C程序設計,2.8 賦值運算與賦值表達式,1.賦值運算 賦值符號“=”就是賦值運算符,它的作用是將一個表達式的值賦給一個變量。 賦值運算符的一般形式為: 變量 = 賦值表達式 例如,x = 5 y = (float)5 / 2 如果表達式值的類型,與被賦值變量的類型不一致,但都是數(shù)值型或字符型時,系統(tǒng)自動地將表達式的值轉換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。 思考題:假設變量num的數(shù)據(jù)類型為float,其值為2.5,則執(zhí)行“num = (int)num”后,num的值等于多少?,C程序設計,2.復合賦值運算 復合賦值運算符是由賦值運算符之前再加一個其他運算符構成的。 復合賦值運算的一般格式為: 變量 其他運算符 = 表達式 復合賦值運算符 它等價于:變量 = 變量 其他運算符 (表達式)。 當表達式為簡單表達式時,表達式外的一對圓括號才可缺省,否則可能

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論