單元2-程序設(shè)計(jì)基礎(chǔ)知識(shí)_第1頁
單元2-程序設(shè)計(jì)基礎(chǔ)知識(shí)_第2頁
單元2-程序設(shè)計(jì)基礎(chǔ)知識(shí)_第3頁
單元2-程序設(shè)計(jì)基礎(chǔ)知識(shí)_第4頁
單元2-程序設(shè)計(jì)基礎(chǔ)知識(shí)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Page 1 C 課程課程單元二單元二 程序設(shè)計(jì)基礎(chǔ)知識(shí)程序設(shè)計(jì)基礎(chǔ)知識(shí)Page 2 主要主要內(nèi)容內(nèi)容2.1 數(shù)據(jù)表示數(shù)據(jù)表示2.1.1數(shù)據(jù)類型數(shù)據(jù)類型(難點(diǎn))(難點(diǎn))2.1.2常量常量(重點(diǎn))(重點(diǎn))2.1.3變量變量(重點(diǎn))(重點(diǎn))2.2 數(shù)據(jù)操作數(shù)據(jù)操作2.2.1運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式(重點(diǎn)難點(diǎn))(重點(diǎn)難點(diǎn))2.2.2類型轉(zhuǎn)換類型轉(zhuǎn)換(難點(diǎn))(難點(diǎn))2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)2.3.1算法及其描述算法及其描述2.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)(重點(diǎn)難點(diǎn))(重點(diǎn)難點(diǎn))Page 3 程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ)問題引入問題引入 通過編程解決問題,其本質(zhì)是對

2、數(shù)據(jù)的操作,這些數(shù)據(jù)通過編程解決問題,其本質(zhì)是對數(shù)據(jù)的操作,這些數(shù)據(jù)可能是數(shù)學(xué)問題中的可能是數(shù)學(xué)問題中的數(shù)值(整數(shù)或小數(shù)),數(shù)值(整數(shù)或小數(shù)),可能是信息處理可能是信息處理中的中的文字(字符或字符串),文字(字符或字符串),也可能是更也可能是更復(fù)雜的數(shù)據(jù)或文件復(fù)雜的數(shù)據(jù)或文件 那么在那么在C語言中如何表示這些數(shù)據(jù)?如何對數(shù)據(jù)間的運(yùn)語言中如何表示這些數(shù)據(jù)?如何對數(shù)據(jù)間的運(yùn)算進(jìn)行描述?算進(jìn)行描述?【引例引例】根據(jù)三角形的三個(gè)邊長,計(jì)算三角形的面積,其計(jì)根據(jù)三角形的三個(gè)邊長,計(jì)算三角形的面積,其計(jì)算公式為:算公式為:area= (其中(其中a、b、c為三角形的三個(gè)邊長,為三角形的三個(gè)邊長,s=(a+

3、b+c)/2)試分析:試分析:在這個(gè)問題中涉及哪些數(shù)據(jù):在這個(gè)問題中涉及哪些數(shù)據(jù): ;其中已知量有:其中已知量有: ;未知量有:未知量有: 。)()(csbsassabcPage 4 2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示 2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型 2.1.2 常量常量 2.1.3 變量變量 Page 5 2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示 計(jì)算機(jī)處理數(shù)據(jù)信息時(shí),需要明確數(shù)據(jù)到底計(jì)算機(jī)處理數(shù)據(jù)信息時(shí),需要明確數(shù)據(jù)到底是是什么類型,以便分配合適的存儲(chǔ)空間什么類型,以便分配合適的存儲(chǔ)空間,并按,并按照相應(yīng)的規(guī)則進(jìn)行操作。所以在程序編寫時(shí)要照相應(yīng)的規(guī)則進(jìn)行操作。所以在程序編寫

4、時(shí)要對數(shù)據(jù)進(jìn)行明確的類型說明。對數(shù)據(jù)進(jìn)行明確的類型說明。 Page 6 2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示程序程序演示演示 運(yùn)行結(jié)果:運(yùn)行結(jié)果: 【例例2-1】計(jì)算并輸出半徑為r的圓的面積。#include /包含標(biāo)準(zhǔn)輸入輸出頭文件包含標(biāo)準(zhǔn)輸入輸出頭文件void main( ) /主函數(shù)主函數(shù) float r,area; /數(shù)據(jù)準(zhǔn)備,定義半徑數(shù)據(jù)準(zhǔn)備,定義半徑r和面積和面積area printf(請輸入半徑:請輸入半徑:); /提示語提示語 scanf(%f,&r); /輸入半徑值輸入半徑值r area=3.14*r*r; /數(shù)據(jù)計(jì)算,將結(jié)果賦值給數(shù)據(jù)計(jì)算,將

5、結(jié)果賦值給area printf(該圓的面積為:該圓的面積為:%f.n,area); /輸出面積值輸出面積值數(shù)據(jù)類型:數(shù)據(jù)類型: r,arear,area為為floatfloat(實(shí)型)變量:(實(shí)型)變量: r,area r,area 常量常量3.143.14()Page 7 2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示Page 8 1.整型整型2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示名稱名稱符號(hào)符號(hào)存儲(chǔ)空間存儲(chǔ)空間數(shù)的范圍數(shù)的范圍短整型短整型short2字節(jié)(字節(jié)(16位)位)-32768+32767(-215+215-1)基本整型基本整型int2字節(jié)(字

6、節(jié)(16位)位)-32768+32767(-215+215-1)4字節(jié)(字節(jié)(32位)位)-2147483648+2147483647(-231+231-1)長整型長整型long4字節(jié)(字節(jié)(32位)位)-2147483648+2147483647(-231+231-1)無符號(hào)短整型無符號(hào)短整型unsigned short2字節(jié)(字節(jié)(16位)位)065535(0216-1)無符號(hào)基本整無符號(hào)基本整型型unsigned int2字節(jié)(字節(jié)(16位)位)065535(0216-1)4字節(jié)(字節(jié)(32位)位)04294967295(0232-1)無符號(hào)長整型無符號(hào)長整型unsigned long4

7、字節(jié)(字節(jié)(32位)位)04294967295(0232-1)Page 9 2浮點(diǎn)型浮點(diǎn)型 浮點(diǎn)型又分為浮點(diǎn)型又分為單精度單精度和和雙精度雙精度。其符號(hào)表示、。其符號(hào)表示、所占存儲(chǔ)空間大小、有效數(shù)字及數(shù)的范圍如表。所占存儲(chǔ)空間大小、有效數(shù)字及數(shù)的范圍如表。 2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示名稱名稱符號(hào)符號(hào)存儲(chǔ)空間存儲(chǔ)空間有效數(shù)字有效數(shù)字?jǐn)?shù)的絕對值范圍數(shù)的絕對值范圍單精度浮點(diǎn)型單精度浮點(diǎn)型float4字節(jié)(字節(jié)(32位)位)673.410-383.41038雙精度浮點(diǎn)型雙精度浮點(diǎn)型double8字節(jié)(字節(jié)(64位)位)15161.710-3081.710308Page

8、 10 程序的結(jié)構(gòu)特點(diǎn)程序的結(jié)構(gòu)特點(diǎn)3.字符型字符型 字符型數(shù)據(jù)涵蓋了字符型數(shù)據(jù)涵蓋了ASCII碼字符集中每一個(gè)字碼字符集中每一個(gè)字符,包括可直接顯示的字符和符,包括可直接顯示的字符和32個(gè)控制字符,見個(gè)控制字符,見附錄附錄A。 字符型用字符型用char表示,占存儲(chǔ)空間表示,占存儲(chǔ)空間1個(gè)字節(jié)(個(gè)字節(jié)(8位),實(shí)際上存放的是該字符所對應(yīng)的位),實(shí)際上存放的是該字符所對應(yīng)的ASCII碼碼值(一個(gè)整數(shù)),所以字符型和整型的關(guān)系非常值(一個(gè)整數(shù)),所以字符型和整型的關(guān)系非常特殊,二者經(jīng)常特殊,二者經(jīng)?!盎齑罨齑睢?,如,如A+1代表字母代表字母B。 2.1.1 數(shù)據(jù)類型數(shù)據(jù)類型2.1 2.1 數(shù)據(jù)表示

9、數(shù)據(jù)表示Page 11 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示Page 12 1.直接常量直接常量(1)整型常量整型常量 整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種表示方式,如整型常量有十進(jìn)制、八進(jìn)制和十六進(jìn)制三種表示方式,如表表2-3所示。所示。 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示表示方式表示方式前置符號(hào)標(biāo)志前置符號(hào)標(biāo)志構(gòu)成構(gòu)成示例示例十進(jìn)制十進(jìn)制無無09、正負(fù)號(hào)、正負(fù)號(hào)65,-57八進(jìn)制八進(jìn)制007、正負(fù)號(hào)、正負(fù)號(hào)032,027,-033十六進(jìn)制十六進(jìn)制0 x或或0X09,af(或(或AF)、)、正負(fù)號(hào)正負(fù)號(hào)0 x101,0Xff整型常量默認(rèn)為基本整型,可以在整

10、型常量后加整型常量默認(rèn)為基本整型,可以在整型常量后加小寫字母小寫字母l或或大大寫字母寫字母L得到相應(yīng)的長整型常量。得到相應(yīng)的長整型常量。 例 30000 為int型 65536 為long int 型例例 (1) 200 23L (2) 067 083 02 (3) 0 x20 0 xfff 0 xh3 Page 13 1.直接常量直接常量(2)浮點(diǎn)型常量浮點(diǎn)型常量浮點(diǎn)型常量有十進(jìn)制小數(shù)和指數(shù)形式兩種表示方式浮點(diǎn)型常量有十進(jìn)制小數(shù)和指數(shù)形式兩種表示方式 。 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示表示方式表示方式符號(hào)標(biāo)符號(hào)標(biāo)志志構(gòu)成構(gòu)成示例示例規(guī)則規(guī)則十進(jìn)制小數(shù)小數(shù)點(diǎn) .09、正負(fù)

11、號(hào)和小數(shù)點(diǎn)1.23,.23,-1.必須有唯一的小數(shù)點(diǎn)指數(shù)字母e或E09、正負(fù)號(hào)、e或E1.23e3,1.23E3字母e或E前必有數(shù),e或E后必為整數(shù)34.1335e-1 3413.35E-3 0.341335e2e3、2.1e3.5、e是不合法的指數(shù)形式是不合法的指數(shù)形式Page 14 1.直接常量直接常量(3) 字符型常量字符型常量 用用單撇引號(hào)括起來單撇引號(hào)括起來的單一字符稱之為字符型常量。的單一字符稱之為字符型常量。 轉(zhuǎn)義字符轉(zhuǎn)義字符表示時(shí)以反斜杠表示時(shí)以反斜杠“”作為標(biāo)志符號(hào)。作為標(biāo)志符號(hào)。 字符型常量在內(nèi)存中字符型常量在內(nèi)存中占占1個(gè)字節(jié)個(gè)字節(jié)。 2.1.2 常量常量2.1 2.1

12、數(shù)據(jù)表示數(shù)據(jù)表示例如:例如:1a,B,9,*是合法的直接字符常量。是合法的直接字符常量。2單引號(hào)、雙引號(hào)和反斜杠等具有特殊用途的字符只能單引號(hào)、雙引號(hào)和反斜杠等具有特殊用途的字符只能用轉(zhuǎn)義字符表示,即用轉(zhuǎn)義字符表示,即、。3n, 030, x19是合法的轉(zhuǎn)義字符常量,分別代表回是合法的轉(zhuǎn)義字符常量,分別代表回車換行、車換行、和、和等控制字符。等控制字符。Page 15 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示表示形式表示形式含義含義n回車換行(將光標(biāo)移到下一行開頭)回車換行(將光標(biāo)移到下一行開頭)t橫向跳格(橫向跳格(Tab)b退格(將光標(biāo)前移一列)退格(將光標(biāo)前移一列)a警告(產(chǎn)

13、生聲音提示信號(hào))警告(產(chǎn)生聲音提示信號(hào))輸出反斜杠輸出反斜杠輸出單引號(hào)輸出單引號(hào) 輸出雙引號(hào)輸出雙引號(hào)”dddddd為為1至至3為八進(jìn)制數(shù),如為八進(jìn)制數(shù),如101代表代表A,37代表符號(hào)代表符號(hào)xhhHh為為1至至2位十六進(jìn)制數(shù),如位十六進(jìn)制數(shù),如x1E代表符號(hào)代表符號(hào)1.直接常量直接常量(3) 字符型常量字符型常量-常見的轉(zhuǎn)義字符及其含義如表常見的轉(zhuǎn)義字符及其含義如表2-5所示所示 Page 16 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示1.直接常量直接常量(4)字符串常量字符串常量 字符串常量就是用雙撇引號(hào)括起來的一串字符字符串常量就是用雙撇引號(hào)括起來的一串字符序列,字符串中含

14、有的字符個(gè)數(shù)是該字符串的長度序列,字符串中含有的字符個(gè)數(shù)是該字符串的長度。字符串存儲(chǔ)時(shí),每個(gè)字符占。字符串存儲(chǔ)時(shí),每個(gè)字符占1個(gè)字符,并在字符串個(gè)字符,并在字符串的結(jié)尾自動(dòng)加上一個(gè)字符串結(jié)束標(biāo)志的結(jié)尾自動(dòng)加上一個(gè)字符串結(jié)束標(biāo)志0,因此字,因此字符串的存儲(chǔ)長度比字符串的字符個(gè)數(shù)多符串的存儲(chǔ)長度比字符串的字符個(gè)數(shù)多1。 a a a 0a 0例例 a a“a a”例例 空串空串 “”“”0Page 17 2符號(hào)常量符號(hào)常量 符號(hào)常量標(biāo)識(shí)符通常大寫,以便和其他符號(hào)常量標(biāo)識(shí)符通常大寫,以便和其他標(biāo)識(shí)符相區(qū)別。另外,宏定義命令和頭文標(biāo)識(shí)符相區(qū)別。另外,宏定義命令和頭文件包含命令一樣都屬于編譯預(yù)處理,需要件

15、包含命令一樣都屬于編譯預(yù)處理,需要寫在程序開頭位置。寫在程序開頭位置。 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示#define 符號(hào)常量標(biāo)識(shí)符符號(hào)常量標(biāo)識(shí)符 常量值常量值Page 18 #include #define PI 3.14 /定義符號(hào)常量定義符號(hào)常量PI代表代表3.14void main( ) float r,area; printf(請輸入半徑:請輸入半徑:); scanf(%f,&r); area=PI*r*r; printf(該圓的面積為:該圓的面積為:%f.n,area); 2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示【例2-4】使用符號(hào)常量實(shí)現(xiàn)

16、【例2-1】計(jì)算并輸出半徑為r的圓的面積。 #define 符號(hào)常量標(biāo)識(shí)符符號(hào)常量標(biāo)識(shí)符 常量值常量值Page 19 【隨堂練習(xí)隨堂練習(xí)2-1】1判斷下列常量表示正確與否?判斷下列常量表示正確與否?整型常量:整型常量:32768、037、081、0 x4f、0 xAH浮點(diǎn)型常量:浮點(diǎn)型常量:.124、3.0、1e3、2.3E1.5字符型常量:字符型常量:a、101、65、x212字符串常量字符串常量“How are you?n”的字符串長度為的字符串長度為( )個(gè)個(gè)字節(jié),它占用的存儲(chǔ)空間為字節(jié),它占用的存儲(chǔ)空間為( )個(gè)字節(jié)。個(gè)字節(jié)。3“d:windowsinfo.txt”在在C語言程序設(shè)計(jì)時(shí)

17、應(yīng)描述為語言程序設(shè)計(jì)時(shí)應(yīng)描述為( )。4在編程處理物理力學(xué)相關(guān)運(yùn)算時(shí),常將重力加速度在編程處理物理力學(xué)相關(guān)運(yùn)算時(shí),常將重力加速度G定義定義為符號(hào)常量,其定義語句可描述為為符號(hào)常量,其定義語句可描述為( )。2.1.2 常量常量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示Page 20 1變量變量(1)概念:在程序運(yùn)行過程中其值可以改變的量稱為變量)概念:在程序運(yùn)行過程中其值可以改變的量稱為變量 (2)變量定義的一般格式為:變量定義的一般格式為: 類型標(biāo)識(shí)符類型標(biāo)識(shí)符 變量名變量名1,1,變量名變量名2,2,變量名變量名n;n; 2.1.3變量變量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示注意:變量必須先定義,后使用

18、。 數(shù)據(jù)類型,即決定數(shù)據(jù)類型,即決定分配字節(jié)數(shù)分配字節(jié)數(shù)和數(shù)的表示范圍和數(shù)的表示范圍合法標(biāo)識(shí)符例例: int a,b,c; float data;例1 int student; stadent=19; /*Undefined symbol statent in function main*/ Page 21 1變量變量(3)【例例2-5】1)float r,area; 2)double a,b,c; 3)int i=1,s; 4)long m,k; 5)char ch;2.1.3變量變量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示變量定義后,系統(tǒng)會(huì)根據(jù)變量變量定義后,系統(tǒng)會(huì)根據(jù)變量的類型分配相應(yīng)的的類型分

19、配相應(yīng)的存儲(chǔ)空間存儲(chǔ)空間。 注意區(qū)分注意區(qū)分變量名變量名與與變量值變量值.地址地址int a=1, b=-3,c;int a=1, b=-3,c;a ab bc c2 2字節(jié)字節(jié)2 2字節(jié)字節(jié)2 2字節(jié)字節(jié)地址地址地址地址.內(nèi)存內(nèi)存1 1-3-3隨機(jī)數(shù)隨機(jī)數(shù)Page 22 1變量變量(4)【隨堂練習(xí)隨堂練習(xí)2-2】1下列變量定義中合法的是:下列變量定義中合法的是: (1)long do=0 xfd; (2)int max=min=0; (3)double f, int a; (4)char ch=A;2.1.3變量變量2.1 2.1 數(shù)據(jù)表示數(shù)據(jù)表示Page 23 2.22.2數(shù)據(jù)操作數(shù)據(jù)操作

20、2.2.1運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.2.2類型轉(zhuǎn)換類型轉(zhuǎn)換 Page 24 運(yùn)算符:運(yùn)算符:在運(yùn)算數(shù)據(jù)時(shí),用來表示各種運(yùn)算的符號(hào)在運(yùn)算數(shù)據(jù)時(shí),用來表示各種運(yùn)算的符號(hào) 1. 運(yùn)算符的種類運(yùn)算符的種類1) 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 * / % + -2) 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 = | &5) 賦值運(yùn)算符賦值運(yùn)算符 = 及其擴(kuò)展賦值及其擴(kuò)展賦值6) 條件運(yùn)算符條件運(yùn)算符 ? :7) 逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符 ,8) 指針運(yùn)算符指針運(yùn)算符 * &2.2.12.2.1運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.22.2數(shù)據(jù)操作數(shù)據(jù)操作Page 25 2.2.12.2.1運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.

21、22.2數(shù)據(jù)操作數(shù)據(jù)操作運(yùn)算符運(yùn)算符含義含義舉例舉例結(jié)果結(jié)果說明說明+加法運(yùn)算符加法運(yùn)算符a+ba與與b的和的和無無-減法運(yùn)算符減法運(yùn)算符a-ba與與b的差的差無無*乘法運(yùn)算符乘法運(yùn)算符a*ba與與b的乘積的乘積由于鍵盤無由于鍵盤無號(hào),乘法運(yùn)算以號(hào),乘法運(yùn)算以*代替。代替。/除法運(yùn)算符除法運(yùn)算符a/ba除以除以b的商的商由于鍵盤無由于鍵盤無號(hào),除法運(yùn)算以號(hào),除法運(yùn)算以/代替。注意:兩個(gè)整數(shù)代替。注意:兩個(gè)整數(shù)相除的結(jié)果為整數(shù),如相除的結(jié)果為整數(shù),如3/2的結(jié)果為的結(jié)果為1,舍去小數(shù)部,舍去小數(shù)部分。分。%求余運(yùn)算符求余運(yùn)算符a%ba除以除以b的余數(shù)的余數(shù)求余運(yùn)算求余運(yùn)算%僅用于整數(shù)間的運(yùn)算,若

22、存在負(fù)整數(shù),則僅用于整數(shù)間的運(yùn)算,若存在負(fù)整數(shù),則余數(shù)的正負(fù)號(hào)與被除數(shù)相同,如余數(shù)的正負(fù)號(hào)與被除數(shù)相同,如-3%2的結(jié)果為的結(jié)果為-1。+自增自增1運(yùn)算符運(yùn)算符a+或或+a使使a的值加的值加1+和和-為單目運(yùn)算,且只能用于單一變量為單目運(yùn)算,且只能用于單一變量運(yùn)算運(yùn)算+a和和-a,是在使用,是在使用a之前,先使之前,先使a的的值加值加1或減或減1a+和和a-,是在使用,是在使用a之后,再使之后,再使a的值加的值加1或減或減1-自減自減1運(yùn)算符運(yùn)算符a-或或-a使使a的值減的值減11算術(shù)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符和表達(dá)式 Page 26 1算術(shù)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符和表達(dá)式 【例【例2-6】分析

23、程序輸出結(jié)果。分析程序輸出結(jié)果。#include void main( ) int a=3,b=-5,i=2,j=2; printf(%d,%d,%d,%d,%dn,a+b,a-b,a*b,a/b,a%b); printf(%d,%d,%d,%dn,a+,b-,+i,-j); printf(%d,%d,%d,%dn,a,b,i,j);2.2.12.2.1運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.22.2數(shù)據(jù)操作數(shù)據(jù)操作程序程序演示演示 運(yùn)行結(jié)果:運(yùn)行結(jié)果: Page 27 2賦值運(yùn)算符和表達(dá)式賦值運(yùn)算符和表達(dá)式2.2.12.2.1運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.22.2數(shù)據(jù)操作數(shù)據(jù)操作x*=y+8x=x

24、*(y+8)x%=3x=x%3s+=is=s+3例例 int i; float j; i=2.56; /結(jié)果結(jié)果i=2; j=i; /結(jié)果結(jié)果i=2.0;例例: a=b=c=5: a=b=c=5 a=(b=5) a=(b=5) a=5+(c=6) a=5+(c=6) a=(b=4)+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a=(b=10)/(c=2)/表達(dá)式值為5,a,b,c值為5/ b=5;a=5/表達(dá)式值11,c=6,a=11/表達(dá)式值10,a=10,b=4,c=6/表達(dá)式值5,a=5,b=10,c=2Page 28 doublefloatLong unsig

25、nedintchar,short低低高高說明說明:必定的轉(zhuǎn)換必定的轉(zhuǎn)換運(yùn)算對象類型不同時(shí)轉(zhuǎn)換運(yùn)算對象類型不同時(shí)轉(zhuǎn)換2.2.22.2.2類型轉(zhuǎn)換類型轉(zhuǎn)換2.22.2數(shù)據(jù)操作數(shù)據(jù)操作Page 29 例例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 結(jié)果:結(jié)果:x=3.600000,i=3精度損失問題較高類型向較低類型轉(zhuǎn)換時(shí)可能發(fā)生較高類型向較低類型轉(zhuǎn)換時(shí)可能發(fā)生2.2.22.2.2類型轉(zhuǎn)換類型轉(zhuǎn)換2.22.2數(shù)據(jù)操作數(shù)據(jù)操作Page 30 【隨堂練習(xí)【隨堂練習(xí)2-3】1.double a=3.14;int b;

26、b=(int)a;,執(zhí)行該語,執(zhí)行該語句后,變量句后,變量b的值為的值為3,變量,變量a的值還是的值還是3.14,并且變量,并且變量a的類型也不改變,依舊是的類型也不改變,依舊是double類型。類型。2.有定義語句:有定義語句:char ch=M;,寫出將變量,寫出將變量ch變?yōu)樾懽帜傅谋磉_(dá)式:變?yōu)樾懽帜傅谋磉_(dá)式: 。2.2.12.2.1類型轉(zhuǎn)換類型轉(zhuǎn)換2.22.2數(shù)據(jù)操作數(shù)據(jù)操作Page 31 2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)2.3.1算法及其描述算法及其描述 2.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)Page 32 1算法的概念算法的概念 對于計(jì)算機(jī)程序可

27、處理的問題來說,程序中所用到對于計(jì)算機(jī)程序可處理的問題來說,程序中所用到的數(shù)據(jù)以及對這些數(shù)據(jù)的類型和數(shù)據(jù)組織形式的描述的數(shù)據(jù)以及對這些數(shù)據(jù)的類型和數(shù)據(jù)組織形式的描述稱之為稱之為“數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)”. 對數(shù)據(jù)處理所采用的方法和步驟等操作的描述稱為對數(shù)據(jù)處理所采用的方法和步驟等操作的描述稱為“計(jì)算機(jī)算法計(jì)算機(jī)算法”。 作為程序設(shè)計(jì)人員,必須認(rèn)真考慮和設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)作為程序設(shè)計(jì)人員,必須認(rèn)真考慮和設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)和操作步驟(即算法)。著名計(jì)算機(jī)科學(xué)家沃思(和操作步驟(即算法)。著名計(jì)算機(jī)科學(xué)家沃思(Nikiklaus Wirth)提出一個(gè)公式:)提出一個(gè)公式:2.3.12.3.1算法及其描述算法及其描述2

28、.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)程序程序=數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算算法法Page 33 2.3.1算法及其描述算法及其描述2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)圖形符號(hào)圖形符號(hào)名稱名稱含義含義起止框起止框算法的起點(diǎn)和終點(diǎn),是任何流程圖比不算法的起點(diǎn)和終點(diǎn),是任何流程圖比不可少的可少的輸入、輸出框輸入、輸出框數(shù)據(jù)的輸入和輸出操作數(shù)據(jù)的輸入和輸出操作處理框處理框各種形式數(shù)據(jù)的處理各種形式數(shù)據(jù)的處理判斷框判斷框判斷條件是否成立,成立時(shí)在出口處標(biāo)判斷條件是否成立,成立時(shí)在出口處標(biāo)注注“是是”或或“Y”,不成立時(shí)標(biāo)注,不成立時(shí)標(biāo)注“否否”或或“N”特定過程特定

29、過程一個(gè)特定過程,如函數(shù)一個(gè)特定過程,如函數(shù)流程線流程線連接各個(gè)圖框,表示執(zhí)行的順序連接各個(gè)圖框,表示執(zhí)行的順序連接點(diǎn)連接點(diǎn)表示與流程圖其它部分相連表示與流程圖其它部分相連流程圖符號(hào)流程圖符號(hào) Page 34 下面對下面對【例例2-1】的算法描述改用流程圖的方法表示的算法描述改用流程圖的方法表示 2.3.1算法及其描述算法及其描述2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)開始開始結(jié)束結(jié)束計(jì)算圓的面積計(jì)算圓的面積areaareaarea=3.14*r*r輸入半徑輸入半徑r r值值輸出面積值輸出面積值areaareaPage 35 1順序結(jié)構(gòu)順序結(jié)構(gòu) 順序結(jié)構(gòu)指算法順序結(jié)構(gòu)指算法

30、的實(shí)現(xiàn)過程按照相應(yīng)的實(shí)現(xiàn)過程按照相應(yīng)的步驟依次順序執(zhí)行的步驟依次順序執(zhí)行,直至結(jié)束。順序結(jié),直至結(jié)束。順序結(jié)構(gòu)是構(gòu)是最簡單的一種基最簡單的一種基本結(jié)構(gòu)本結(jié)構(gòu)。2.3.22.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)Page 36 1順序結(jié)構(gòu)順序結(jié)構(gòu) 2.3.22.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)開始開始結(jié)束結(jié)束計(jì)算圓的面積計(jì)算圓的面積areaareaarea=3.14*r*r輸入半徑輸入半徑r r值值輸出面積值輸出面積值areaareaPage 37 2選擇結(jié)構(gòu)選擇結(jié)構(gòu) 又

31、稱為又稱為分支分支結(jié)構(gòu)結(jié)構(gòu),此結(jié)構(gòu)中,此結(jié)構(gòu)中必包含一個(gè)條件必包含一個(gè)條件判斷,根據(jù)判斷判斷,根據(jù)判斷結(jié)果從兩種或多結(jié)果從兩種或多種路徑中選擇其種路徑中選擇其中的一條執(zhí)行。中的一條執(zhí)行。 2.3.22.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)Page 38 2選擇結(jié)構(gòu)選擇結(jié)構(gòu) 2.3.22.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)結(jié)束結(jié)束計(jì)算圓的面積計(jì)算圓的面積areaareaarea=3.14*r*rr是否合法是否合法輸出輸出“輸入錯(cuò)誤輸入錯(cuò)誤”提示提示輸出面積值輸出面積值areaarea輸入半徑輸入半徑r r值值是是否否開始開始Page 39 3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 又稱重復(fù)又稱重復(fù)結(jié)構(gòu),其含義結(jié)構(gòu),其含義是當(dāng)條件允許是當(dāng)條件允許時(shí),反復(fù)執(zhí)行時(shí),反復(fù)執(zhí)行某些操作。某些操作。 2.3.22.3.2三種基本程序結(jié)構(gòu)三種基本程序結(jié)構(gòu)2.3 2.3 算法與三種基本程序結(jié)構(gòu)算法與三種基本程序結(jié)構(gòu)否否輸入半徑輸入半徑r r值值r是否合法是否合法否否是是開始開始結(jié)束結(jié)束是否繼續(xù)是否繼續(xù)是是計(jì)算圓的面積計(jì)算圓的面積areaareaarea=3.1

溫馨提示

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

最新文檔

評論

0/150

提交評論