九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

程序設(shè)計(jì)初步(2)

上傳人:dfg****19 文檔編號(hào):247453430 上傳時(shí)間:2024-10-18 格式:PPT 頁(yè)數(shù):92 大?。?.27MB
收藏 版權(quán)申訴 舉報(bào) 下載
程序設(shè)計(jì)初步(2)_第1頁(yè)
第1頁(yè) / 共92頁(yè)
程序設(shè)計(jì)初步(2)_第2頁(yè)
第2頁(yè) / 共92頁(yè)
程序設(shè)計(jì)初步(2)_第3頁(yè)
第3頁(yè) / 共92頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《程序設(shè)計(jì)初步(2)》由會(huì)員分享,可在線閱讀,更多相關(guān)《程序設(shè)計(jì)初步(2)(92頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,單擊此處編輯母版標(biāo)題樣式,單擊此處編輯母版文本樣式,第二級(jí),第三級(jí),第四級(jí),第五級(jí),*,*,1,第,2,章 程序設(shè)計(jì)初步,鄒琪,qzou,計(jì)算機(jī)與信息技術(shù)學(xué)院工程系,九教北,517,2,3,教學(xué)目標(biāo),了解結(jié)構(gòu)化程序的基本結(jié)構(gòu),掌握基本的數(shù)據(jù)類型,會(huì)定義變量并了解變量在內(nèi)存的存放,會(huì)使用算術(shù)和賦值運(yùn)算符進(jìn)行計(jì)算,使用輸入輸出函數(shù)輸入輸出數(shù)據(jù),編寫出簡(jiǎn)單的程序,4,主要內(nèi)容,2.1,程序的基本結(jié)構(gòu),2.2,數(shù)據(jù)類型

2、,2.3,運(yùn)算符與表達(dá)式,2.4,數(shù)據(jù)類型的轉(zhuǎn)換,2.5,數(shù)據(jù)的輸出和輸入,2.6,數(shù)學(xué)函數(shù),5,2.1,程序的基本結(jié)構(gòu),6,例,2.1.1,:簡(jiǎn)單,C,程序,helloworld.c,/*,程序名:,helloworld.c,*/,/*,功能:在屏幕上輸出一行文本*,/,#include ,/*,文件包含 *,/,void,main( ),/*,主函數(shù) *,/,/*,函數(shù)體開始*,/,printf,(,“,Helloworld!n,”,); /*,輸出語(yǔ)句 *,/,/*,函數(shù)體結(jié)束*,/,2.1,程序的基本結(jié)構(gòu),每一個(gè),C,程序都必,須包含一個(gè),main,函數(shù),7,程序說(shuō)明部分,/*,程序名

3、:,add.c,*/,/*,功能:計(jì)算兩個(gè)整數(shù)和并輸出結(jié)果*,/,預(yù)編譯命令,#include,主程序區(qū),void main(), ,函數(shù),定義區(qū),int,add(int,x,int,y), ,2.1,程序的基本結(jié)構(gòu),8,簡(jiǎn)單,C,程序的基本結(jié)構(gòu),注釋,全局變量定義,包含文件,void main( ),局部變量定義,int,sub(int,x,int,y),局部變量定義,sub(),代表用,戶定義的子函數(shù),主程序,幾點(diǎn)說(shuō)明:,(1),函數(shù)的一般結(jié)構(gòu):,函數(shù)類型,函數(shù)名(函數(shù)參數(shù)表),/,函數(shù)說(shuō)明,說(shuō)明語(yǔ)句;,執(zhí)行語(yǔ)句;,/,函數(shù)體,(2),函數(shù)說(shuō)明,:,函數(shù)類型 函數(shù)名 函數(shù)參數(shù)表, ,int

4、,max (,int,x ,int,y ),9,10,說(shuō)明語(yǔ)句:部分包括變量定義、自定義類型定義、自定義函數(shù)說(shuō)明、外部變量說(shuō)明等;,可執(zhí)行語(yǔ)句:一般由若干條可執(zhí)行語(yǔ)句構(gòu)成;,函數(shù)體,說(shuō)明語(yǔ)句,可執(zhí)行語(yǔ)句,(3),函數(shù)體,函數(shù)體是指在函數(shù)說(shuō)明部分的下面、花括號(hào), ,內(nèi)的部分,函數(shù)是,C,語(yǔ)言程序的基本單位。, ,是函數(shù)開始和結(jié)束的標(biāo)志,不可省。,每個(gè),C,程序必須有一個(gè)主函數(shù),main,,是,C,程序執(zhí)行的開始點(diǎn),與,main,函數(shù)的位置無(wú)關(guān)。,函數(shù)由語(yǔ)句構(gòu)成,每個(gè),C,語(yǔ)句以,“,;,”,結(jié)束。,每條語(yǔ)句都要符合規(guī)定的語(yǔ)法格式,并具有特定的功能。,使用標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)應(yīng)在程序開頭包含庫(kù)函數(shù)定義。如

5、:,#include ,11,怎樣寫一個(gè)函數(shù)?,程序注釋增加程序可讀,注釋對(duì)編譯和運(yùn)行不起作用。,一般在行的最右側(cè)或在被注釋行之上單獨(dú)成行。,/*,注釋內(nèi)容可以多行*,/,可以在任何位置,/,在行末,有的編譯器不支持,12,程序注釋,例,2.1.2,計(jì)算兩個(gè)整數(shù)的和,/*,程序名:,2_1_2.cpp*/,/*,功能:計(jì)算兩個(gè)整數(shù)和并輸出結(jié)果*,/,#include ,void main(),int,i1, i2, sum;,printf,(,請(qǐng)輸入兩個(gè)整數(shù):,);,scanf(%d,%d, ,sum=i1+i2;,printf(sum,=%,dn, sum);,13,14,2.2,數(shù)據(jù)類型,

6、2.2,數(shù)據(jù)類型,前提:用計(jì)算機(jī)解決具體問(wèn)題;,計(jì)算機(jī)解決問(wèn)題只需要處理兩方面問(wèn)題:,描述程序的操作對(duì)象 數(shù)據(jù);,描述操作方式 程序設(shè)計(jì)語(yǔ)言中的語(yǔ)句;,實(shí)際生活中的數(shù)據(jù)具有不同的類型。這些不同類型的數(shù)據(jù)在計(jì)算機(jī)中,有不同的描述方法和不同的處理方式。,程序設(shè)計(jì)者在編程時(shí)需要指明每一個(gè)用到的數(shù)據(jù)的名稱、類型。,15,16,數(shù)據(jù)類型,int,char,基本類型,構(gòu)造類型,指針類型,空類型,數(shù)組類型,結(jié)構(gòu)體類型,共用體類型,整型,實(shí)型,(,浮點(diǎn)型,),字符型,枚舉類型,雙精度,(double),單精度,(float),17,數(shù)據(jù)的類型決定了這個(gè)數(shù)據(jù)在內(nèi)存中的,存儲(chǔ)形式,、,取值范圍,和能夠?qū)λM(jìn)行的,

7、操作,;,在學(xué)習(xí)中,我們從兩個(gè)方面來(lái)了解:,在編程序時(shí):根據(jù)具體問(wèn)題,決定應(yīng)將原始數(shù)據(jù)定義成何種類型;,讀程序時(shí):程序中以某種形式定義的變量和用到的常量具有的意義。,2.2,數(shù)據(jù)類型,18,基本數(shù)據(jù)類型,19,整型,(int,),用于描述一般意義上的整數(shù),,-123,、,345,、,0,等。,int,型數(shù)據(jù)是有符號(hào)整數(shù):,16,位機(jī),在內(nèi)存中占用,2,個(gè)字節(jié),,取值范圍在,- 32768 32767,(,-2,15,2,15,-1,);,32,位機(jī),在內(nèi)存中占用,4,個(gè)字節(jié),,取值范圍在,- 2,31,2,31,-1,;,數(shù)學(xué)意義上能對(duì)整數(shù)進(jìn)行的操作(、,、,)都可以對(duì),int,類型的數(shù)據(jù)進(jìn)行

8、。除此之外,,C,語(yǔ)言中又增加了求余運(yùn)算(,%,)和自增(,+,)自減運(yùn)算(,- -,);,用,int,來(lái)說(shuō)明一個(gè)數(shù)據(jù)是整型數(shù)據(jù)。,20,字符型,(char,),:,用于描述單個(gè)字符信息,,a,、,7,;,字符型數(shù)據(jù)存儲(chǔ)時(shí)占用,1,個(gè)字節(jié),(8,位,),,它實(shí)際存儲(chǔ)的是字符對(duì)應(yīng)的,ASCII,碼。如一個(gè),char,型數(shù)據(jù),A,,其,ASCII,碼為,65,,故實(shí)際存儲(chǔ)的內(nèi)容是,65,。,char,型數(shù)據(jù)為有符號(hào)字符,取值范圍為,-128,127,,,unsigned char,型數(shù)據(jù)為無(wú)符號(hào)字符,取值范圍為,0,255,??纱蛴〉淖址偸钦?。,字符型數(shù)據(jù)與整型數(shù)據(jù)可以通用,,字符型數(shù)據(jù)所有的

9、性質(zhì)與一字節(jié)整型量相同。,American Standard Code for Information,Interchange(ASCII,),美國(guó)標(biāo)準(zhǔn)信息交換碼,例,字符型常量與整形常量混合使用實(shí)例。,#include ,void main(,),printf,(%c, %,dn,a,a,);,printf,(%c, %,dn, ?,?);,printf,(%c, %,dn, 65,65);,printf,(%c, %,cn, 117,u);,21,a,97,?,63,A,65,u,u,22,單精度浮點(diǎn)型,(float),:,用于描述一般意義上的實(shí)數(shù)概念,,- 34.5,、,3.14,、,0

10、.98,等。,對(duì)于,16,位機(jī),,float,型數(shù)據(jù)在內(nèi)存中占用,4,個(gè)字節(jié),(32,位,),,提供,7,位有效數(shù)字,可能的取值范圍在,1e10,-44,2e10,38,;,浮點(diǎn)型數(shù)據(jù)的存儲(chǔ)符合,IEEE,浮點(diǎn)數(shù)格式,如,float,型數(shù)據(jù),,1,位用于符號(hào),,8,位用于指數(shù),,23,位用于基數(shù)。,23,雙精度浮點(diǎn)型,(double),:,用于描述一般意義上的精度加倍的實(shí)數(shù)概念,,3.14159,、,0.98,、,- 34.5,等。,double,型數(shù)據(jù)占,8,個(gè)字節(jié),提供,15,16,位有效數(shù)據(jù),可能的取值約,10,-308,10,308,。,例,實(shí)型數(shù)據(jù)的舍入誤差示例。,源程序如下:,#i

11、nclude ,int,main(void,),float,a,b,c,;,a=55555.55555;,b=123456.789e5;,printf,(a=%,f,b,=%f,b+40=%fn,a,b,b+40);,return 0,;,24,a,b,應(yīng)是原值輸出,但結(jié)果已發(fā)生誤差;,從,b+40,的結(jié)果看雖然增加了,40,,但仍比,b,的初值小,結(jié)果沒有意義。,這是因?yàn)閱尉雀↑c(diǎn)型的有效位數(shù)只有七位。,若將程序中的,float,改為,double,類型,:,例,實(shí)型數(shù)據(jù)的舍入誤差示例。,源程序如下:,25,#include ,int,main(void,),double,a,b,c,;,a

12、=55555.55555;,b=123456.789e5;,Printf,(a=%,lf,b,=%lf,b+40=%lfn,a,b,b+40);,return 0,;,思考:,數(shù)據(jù)在計(jì)算機(jī)中存放時(shí),由于受到計(jì)算機(jī)存儲(chǔ)器字長(zhǎng)的限制,所能表示出來(lái)的數(shù)據(jù)的大小總是有限的。例如,16,位機(jī),所能表示出的最大,int,型數(shù)據(jù)為,32767,。如果,實(shí)際問(wèn)題需要處理更大的數(shù),例如,400000,,怎樣解決?,26,27,基本數(shù)據(jù)類型擴(kuò)充,28,short int(,或,short),短整型:,short,型的數(shù)據(jù)是有符號(hào)整型數(shù)據(jù),與,int,型數(shù)據(jù)的區(qū)別在于:,short,型的數(shù)據(jù)的長(zhǎng)度要小于等于,int

13、,型數(shù)據(jù)??梢詾?8,位或,16,位。,29,long int(,或,long),長(zhǎng)整型,long,型的數(shù)據(jù)是有符號(hào)整型數(shù)據(jù),與,int,型數(shù)據(jù)的區(qū)別在于:,long,型的數(shù)據(jù)的長(zhǎng)度要大于等于,int,型數(shù)據(jù)。通常為,int,型數(shù)據(jù)長(zhǎng)度的兩倍。即,如果,int,型數(shù)據(jù)的長(zhǎng)度為,16,位,那么,,long,型數(shù)據(jù)的長(zhǎng)度為,32,位。,主要用于處理一些比較長(zhǎng)的整數(shù)問(wèn)題。,30,unsigned,Unsigned,可以加在,int,型、,short,型、,long,型、,char,型的前面,把這些有符號(hào)的類型定義為,無(wú)符號(hào)類型,。,有符號(hào)類型和無(wú)符號(hào)類型的區(qū)別:,有符號(hào)類型的數(shù)據(jù)的二進(jìn)制形式的最高位

14、都表示符號(hào):最高位為,0,正數(shù);最高位為,1,負(fù)數(shù);所以對(duì)于一個(gè)字長(zhǎng)為,16,位的機(jī)器,它只有,15,位表示,int,類型數(shù)據(jù);,無(wú)符號(hào)類型的數(shù)據(jù)的二進(jìn)制形式的最高位不表示符號(hào),對(duì)于一個(gè)字長(zhǎng)為,16,位的機(jī)器,,16,位都表示數(shù)據(jù);但是只表示正數(shù)。,31,unsigned,unsigned,int,:,無(wú)符號(hào)整型,占,2,個(gè)字節(jié),取值范圍在,0 65535(2,16,-1),unsigned short,:,無(wú)符號(hào)短整型,unsigned long,:,無(wú)符號(hào)長(zhǎng)整型,占,4,個(gè)字節(jié),( 32,位,),取值范圍在,0 42,億,(2,32,-1),unsigned char,:,無(wú)符號(hào)字符型,占

15、用,1,個(gè)字節(jié),(8,位,),,取值范圍為,0,255,32,常 量,整型常量,實(shí)型常量,字符型常量,字符串常量,符號(hào)常量,在程序運(yùn)行過(guò)程中其值不能被改變的量稱為,常量。,C,語(yǔ)言中,將常量分為:,33,整型常量,描述整數(shù),三種表示形式:,如,123,、,- 60,、,0,以,0,開始,如,0123,以,0x,開始,如,0x123,十進(jìn)制整數(shù):,八進(jìn)制整數(shù):,十六進(jìn)制整數(shù):,34,實(shí)型常量,描述,實(shí)數(shù),小數(shù)形式:整數(shù)部分,.,小數(shù)部分,指數(shù)形式:尾數(shù),+,E(e,) +,指數(shù),例:,123.,、,- .123,、,0.0,、,12.5,。,例:,12.3e2,、,2.3E - 21,當(dāng)整數(shù)或小

16、數(shù)部分為,0,時(shí)可以省略,但小數(shù)點(diǎn)不能省略,1.,指數(shù)形式適用于表示較大或較小的數(shù)。,2. e,之前必須有數(shù)字,且,e,后面的指數(shù)必須為整數(shù)。,如:,128e2,或,128E2,都代表,128,。,3.,如果實(shí)型常量后綴是,“,f,”,或,“,F,”,,則被當(dāng)成,float,型,,否則,,C,語(yǔ)言編譯系統(tǒng)總是將實(shí)型常量處理成雙精度的。,35,字符常量,單引號(hào),括起來(lái)的,單個(gè)字符,。如:,a,在計(jì)算機(jī)的存儲(chǔ)器中,字符型常量的值為該字符所對(duì)應(yīng)的,ASCII,碼值,;,例:,A,65,;,a,97,;,0,48,整數(shù)在計(jì)算機(jī)存儲(chǔ)器中存放的是其,值,;,例:,00,、,5 5,、,125 125,區(qū)別

17、,字符,0,和數(shù)字,0,:,字符,0,在存儲(chǔ)器中的值為:,數(shù)字,0,在存儲(chǔ)器中的值為:,48,0,36,例:,void main () ,char c1,,,c2,;,c1 = a,;,c2 = b,;,c1 =,c1,- 32,;,c2 =,c2,- 32,;,printf(“%c,,,%c”,,,c1,,,c2),;,程序執(zhí)行開始點(diǎn),定義變量,c1,,,c2,c1,c2,對(duì),c1,,,c2,賦值,97,98,對(duì),c1,,,c2,計(jì)算,65,66,輸出,c1,,,c2,A,,,B,字符常量可以象整數(shù)一樣參與運(yùn)算:,37,轉(zhuǎn)義字符,C,語(yǔ)言中,一些特殊的字符沒有字符常量,例單引號(hào)、換行符等。,

18、因此,通常使用,轉(zhuǎn)義字符,表示,ASCII,碼字符集中不可打印的控制字符和特定功能的字符。,轉(zhuǎn)義字符是一組以,“,”,開頭的特殊字符序列,用來(lái)表示任何可以輸出的字母字符、專用字符、控制字符、圖形字符。,常用轉(zhuǎn)義字符表,轉(zhuǎn)義字符,功 能,a,響鈴,發(fā)出系統(tǒng)警告聲音,n,換行符,使屏幕光標(biāo)移到屏幕下一行開頭,r,回車,使屏幕光標(biāo)移到屏幕當(dāng)前行開頭,不換行,t,制表符(橫向跳格),使屏幕光標(biāo)移到下一制表位,反斜杠字符,單引號(hào)字符,雙引號(hào)字符,39,/*,功能:使用轉(zhuǎn)義字符控制數(shù)據(jù)的輸出*,/,#include,void main(),char c1 = A,,,c2 = N,;,printf(atb

19、ctABCn,),;,printf(xyzt%c,%c,,,c1,,,c2),;,想一想,本程序的執(zhí)行結(jié)果是什么 ?,a,xyz,A,N,I,bc,I,ABC,40,雙引號(hào),括起來(lái)的,字符序列,。如,“,goodbye,”,,,“,0,”,等,字符串以字符,數(shù)組,形式存儲(chǔ)在計(jì)算機(jī)中。存儲(chǔ)時(shí)串尾被自動(dòng)加上字符,0,,以標(biāo)志字符串的結(jié)束。,例:,字符串常量,G,O,O,D,B,Y,E,0,字符常量與字符串常量的,區(qū)別,:,字符常量是單個(gè)字符,而字符串常量則可以包含零個(gè)或多個(gè)字符。,A,與,“,A,”,的區(qū)別:,65,A,“A”,65,0,41,符號(hào)常量,用一個(gè),標(biāo)識(shí)符,代表一個(gè)常量,叫符號(hào)常量,;

20、,符號(hào)常量的定義語(yǔ)句格式為:,#define,符號(hào)常量名 常量,宏定義,#include ,#define PI 3.14159,/*,定義,PI,代表串,3.14159*/,void main(), float r,,,s,;,scanf,( “ %f ,,,&r),;,s = PI,*,r,*,r,;,printf(s,= %7.2fn,,,s),;,功能:計(jì)算圓的面積,用來(lái)標(biāo)識(shí)符號(hào)常量名、變量名、,數(shù)組名、函數(shù)名、文件名的有效,字符序列稱為標(biāo)識(shí)符。,42,符號(hào)常量,用一個(gè),標(biāo)識(shí)符,代表一個(gè)常量,叫符號(hào)常量,;,符號(hào)常量的定義語(yǔ)句格式為:,#define,符號(hào)常量名 常量,宏定義,#inc

21、lude ,#define PI 3.14159,/*,定義,PI,代表串,3.14159*/,void main(), float r,,,s,;,scanf,( “ %f ,,,&r),;,s = PI,*,r,*,r,;,printf(s,= %7.2fn,,,s),;,功能:計(jì)算圓的面積,引入符號(hào)常量的意義:,從外表看,它是標(biāo)識(shí)符,像變量;但實(shí)質(zhì)上,它是常數(shù),它的值不能通過(guò)賦值或輸入加以改變。,在程序編譯時(shí),符號(hào)被替換成定義的常數(shù),使用符號(hào)常數(shù),程序含義清楚,易于程序的修改,用來(lái)標(biāo)識(shí)符號(hào)常量名、變量名、,數(shù)組名、函數(shù)名、文件名的有效,字符序列稱為標(biāo)識(shí)符。,43,變量與內(nèi)存,輸入數(shù)據(jù)為,

22、4,,,5,,程序運(yùn)行過(guò)程?,1,2.5,sum,x,對(duì)于每個(gè)變量,編譯系統(tǒng)會(huì)在編譯時(shí)為其分配相應(yīng)的,內(nèi)存 空間,,變量名實(shí)際上是對(duì)應(yīng)計(jì)算機(jī)內(nèi)存中的,地址,。,不同類型的變量具有,不同大小,的存儲(chǔ)空間。如:,void main() ,int,a,,,b,,,sum,;,float x,;,sum=1,;,x=2.5,;,scanf,(,“,%d,,,%d,”,,&a,,,&b),;,sum=,a+b,;,程序運(yùn)行過(guò)程中其值可以改變的量,稱為,變量,。,4,a,sum,b,5,9,44,變量名,標(biāo)識(shí)符,先定義,后使用,!,變量的組成:,字母和下劃線開頭,后跟字母、數(shù)字和下劃線組成,C,語(yǔ)言,區(qū)分

23、大小寫,,,C,標(biāo)識(shí)符長(zhǎng)度只有前,8,個(gè)字符有效。,變量可以定義為不同的數(shù)據(jù)類型,數(shù)據(jù)類型決定了該變量存儲(chǔ)的數(shù)據(jù)的含義,即該變量可以存放哪種類型的數(shù)據(jù)。,定義格式:,變量名,=,初始值,45,名字(標(biāo)識(shí)符)的構(gòu)成,三大原則,由字母和數(shù)字字符、或者下劃線,_,構(gòu)成的一個(gè)連續(xù)序列,其中不能有空白字符;,第一個(gè)字符必須是字母或下劃線,_,自定義的標(biāo)識(shí)符不能和,c,語(yǔ)言的關(guān)鍵字重名;,46,關(guān)鍵字,C,語(yǔ)言的合法標(biāo)識(shí)符有一個(gè)特殊的小集合,關(guān)鍵字,預(yù)先定義好具有特殊的意義,因此不能用于其它目的,ANSI,標(biāo)準(zhǔn),C,語(yǔ)言中的關(guān)鍵字總共有,32,個(gè):,數(shù)據(jù)類型關(guān)鍵字,(,12,個(gè)):,char, doubl

24、e,enum, float,int, long, short, signed,struct, union, unsigned, void,控制語(yǔ)句關(guān)鍵字,(,12,個(gè)):,break, case, continue, default, do, else, for,goto, if, return, switch, while,存儲(chǔ)類型關(guān)鍵字,(,4,個(gè)):,auto, extern, register, static,其它關(guān)鍵字,(,4,個(gè)):,const,sizeof,typedef, volatile,47,練習(xí):,下列字符串中可以做,C,語(yǔ)言程序中的標(biāo)識(shí)符,的是( )。,A. _A69b

25、 B.,ab.c,C. case D. 6abc,正確答案:,A,48,變量的初始化和賦值,例,:變量初始化,int,i = 0 ;,int,a = 5 , b = 5 , c = 5;,char c = a ;,變量賦值,int,i,;,i=10,;,注意:,int,a=b=c=10;,錯(cuò)誤!,int,a,b,c,;,a=b=c=10;,正確!,用賦值語(yǔ)句和初始化的方法都能使變量獲得一個(gè)值,區(qū)別:,賦值語(yǔ)句在程序運(yùn)行階段將值賦給變量,初始化在編譯時(shí)將變量的值存放到系統(tǒng)為變量分配的內(nèi),存單元中,49,2.3,運(yùn)算符與表達(dá)式,50,計(jì)算機(jī)實(shí)現(xiàn)操作有兩種方式:,運(yùn)算:數(shù)學(xué)中所規(guī)定的各種基本運(yùn)算,由

26、,運(yùn)算符,來(lái)實(shí)現(xiàn)。,函數(shù):對(duì)于復(fù)雜的運(yùn)算,需要編制,子函數(shù),來(lái)實(shí)現(xiàn)。,標(biāo)準(zhǔn)函數(shù),(,庫(kù)函數(shù),),;,用戶自定義函數(shù);,51,運(yùn)算符與表達(dá)式,1.,算術(shù)運(yùn)算符和算術(shù)表達(dá)式,2.,賦值運(yùn)算符和賦值表達(dá)式,52,+,-,*,%,加法運(yùn)算或正號(hào)運(yùn)算符,減法運(yùn)算或負(fù)號(hào)運(yùn)算符,乘法運(yùn)算符,除法運(yùn)算符,求余運(yùn)算符,或稱模運(yùn)算符,完成現(xiàn)實(shí)世界的算術(shù)運(yùn)算,( +,、,、,),算術(shù)運(yùn)算符,53,關(guān)于求余運(yùn)算,:,求余運(yùn)算,A,%,B,表示:求,A,除以,B,的,余數(shù),求余運(yùn)算要求,%,兩側(cè)都是,整型,數(shù)據(jù)。,例,:,8,%,5,的運(yùn)算結(jié)果:,8,/,5,的運(yùn)算結(jié)果:,在,C,程序中,兩個(gè)整數(shù)相除,(,整除,),,

27、會(huì)自動(dòng)舍去小數(shù)部分,例,:,5.6,/,2,:,8.43,/,5,:,如果參加運(yùn)算的兩個(gè)數(shù)中有一個(gè)數(shù)為實(shí)數(shù),則結(jié)果是實(shí)數(shù),(,實(shí)數(shù)除法,),3,1,2.800000,1.686000,54,算術(shù)表達(dá)式:,算術(shù)表達(dá)式,:用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象連接起來(lái)的式子稱為算術(shù)表達(dá)式。,運(yùn)算符有優(yōu)先級(jí)和結(jié)合性:,計(jì)算表達(dá)式的值時(shí),按照優(yōu)先級(jí)的高低依次計(jì)算;,如果運(yùn)算符優(yōu)先級(jí)相同,則按規(guī)定的結(jié)合方向進(jìn)行。,算術(shù)運(yùn)算符的結(jié)合性,從左到右,55,(1),求三個(gè)數(shù)的算術(shù)平均值,代數(shù)表達(dá)式:,ave,=,算術(shù)表達(dá)式:,ave,=(a + b + c)/3,(2),根據(jù)三角形三邊計(jì)算三角形面積,代數(shù)表達(dá)式:,算術(shù)表

28、達(dá)式:,sqrt(s,*(s-a)*(,s-b,)*(,s-c,),(3),根據(jù)半徑計(jì)算圓的周長(zhǎng),代數(shù)表達(dá)式:,s=2r,算術(shù)表達(dá)式:,s=2*3.14159*r,算術(shù)表達(dá)式,56,練習(xí):,1.,下列運(yùn)算符的操作數(shù)不能是,float,型的運(yùn)算符是( )。,A. * B. %,C. D. /,2.,執(zhí)行以下程序段,,c,的值是( )。,int,a=1,b=2,c;,c=a/b;,A. 0,B. 1/2,C. 0.5 D. 1,正確答案:,B,正確答案:,A,57,算術(shù)運(yùn)算符的,優(yōu)先級(jí),+,、,-(,加減運(yùn)算符,),最低!,*,、,/,、,%,第二級(jí)!,- (,負(fù)號(hào)運(yùn)算符,),無(wú)括號(hào)時(shí)我最高,!,

29、(,、,)(,括號(hào),),最優(yōu)先!,58,自增,( + ),和自減運(yùn)算,( - - ),+,運(yùn)算符的作用:是使變量的值增,1,。,-,運(yùn)算符的作用:是使變量的值減,1,。,原始值,原始值,+ 1,+,變量,變量,原始值,原始值,- 1,-,變量,變量,59,自增,( + ),和自減運(yùn)算,( - ),自增和自減運(yùn)算只能應(yīng)用于整型變量和指針型變量。,+,和,-,可以寫在變量的左側(cè)或右側(cè);而且其意義不同。,“,+,變量名,”,和,“,-,變量名,”,:,先做運(yùn)算,后取值,“,變量名,+,”,和,“,變量名,-,”,:,先取值,后做運(yùn)算,60,自增,( + ),和自減運(yùn)算,( - - ),舉例,N =

30、I +,變量,N,0,10,變量,I,變量,N,?,?,變量,I,N = + I,變量,N,0,10,變量,I,變量,N,?,?,變量,I,11,10,11,11,61,練習(xí),已知,i =,7,j = i +,;,j = ? i = ?,j = + i,;,j = ? i = ?,7,8,8,8,62,若,k,和,j,為,int,型變量,運(yùn)算表達(dá)式,j=3;,k=+j;,j+;,執(zhí)行后,變量,k,的值為,_,,變量,j,的值為,_,。,4,5,練習(xí),63,關(guān)于自增和自減運(yùn)算符的說(shuō)明:,自增和自減運(yùn)算符的運(yùn)算對(duì)象不能是常量或表達(dá)式,只能是單個(gè)變量。變量類型可以為,整型、字符型和實(shí)型,。,自增和自

31、減運(yùn)算符的,結(jié)合方向,是,“,自右向左,”,。,例,:,- i +,等價(jià)于,- (i + ),;,*,i +,等價(jià)于 *,(i + ),;,64,賦值運(yùn)算符和賦值表達(dá)式,賦值:在計(jì)算機(jī)程序中,要完成這樣一種操作,將一個(gè)表達(dá)式的計(jì)算結(jié)果,送到,一個(gè)變量當(dāng)中,。,簡(jiǎn)單的賦值運(yùn)算符:,=,賦值表達(dá)式:變量名,=,表達(dá)式,賦值運(yùn)算符的結(jié)合性:,自右向左,即:,a = b = c,相當(dāng)于,a = (b = c),65,算術(shù)運(yùn)算符與,“,=,”,結(jié)合在一起,形成復(fù)合的賦值運(yùn)算符。,例:,i += 2,等價(jià)于,i = i + 2,a %= 3,等價(jià)于,a = a % 3,a * = b + 5,等價(jià)于,a

32、= a * (b + 5),復(fù)合的賦值運(yùn)算符,66,2.4,數(shù)據(jù)類型的轉(zhuǎn)換,67,自動(dòng)轉(zhuǎn)換,運(yùn)算轉(zhuǎn)換,賦值轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換,數(shù)據(jù)類型的轉(zhuǎn)換,68,自動(dòng)轉(zhuǎn)換,運(yùn)算轉(zhuǎn)換,C,語(yǔ)言允許數(shù)據(jù)值從一種類型轉(zhuǎn)換成另一種類型,在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)要先,自動(dòng)轉(zhuǎn)換,成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換的規(guī)則按圖所示。,int, char,,,short,高,低,long,unsigned,double float,轉(zhuǎn)換由編譯系統(tǒng)自動(dòng)完成。,轉(zhuǎn)換按數(shù)據(jù)長(zhǎng)度增加的方向,進(jìn)行,即按,“,向高看齊,”,的,原則提升,“,較低,”,類型,以,保證不降低精度。,69,(,1,)實(shí)型賦予整型,舍去小數(shù)部分。,(,2,)整

33、型賦予實(shí)型,數(shù)值不變,但將以浮點(diǎn)形式存放,即增,加小數(shù)部分(小數(shù)部分的值為,0,)。,(,3,)字符型賦予整型,由于字符型為一個(gè)字節(jié),而整型為兩,個(gè)字節(jié),因此將字符的,ASCII,碼值放到整型變量的低八,位中,高八位為,0,。,(,4,)整型賦予字符型,只把低八位賦予字符型變量。,(,5,),double,型賦予,float,型,丟失的部分按四舍五入向前,進(jìn)位。,注意:,一個(gè),long,型或,double,型數(shù)據(jù)給一個(gè),int,型或,float,型變量賦值時(shí),可能會(huì)引起數(shù)值溢出。,自動(dòng)轉(zhuǎn)換,賦值轉(zhuǎn)換,如果賦值運(yùn)算符兩邊的數(shù)據(jù)類型不相同,系統(tǒng)將進(jìn)行類型,轉(zhuǎn)換,即把賦值號(hào)右邊的類型換成左邊的類型,

34、如果右邊,表達(dá)式的數(shù)據(jù)類型長(zhǎng)度比左邊長(zhǎng)時(shí),將丟失一部分?jǐn)?shù)據(jù),,這樣會(huì)降低精度。,70,練習(xí):,已知:,double a; float b;,int,c; char d;,執(zhí)行,語(yǔ)句,c=(,d+b,)*c-a;,后,變量,c,的數(shù)據(jù)類型是,( ),。,A. double B. float,C.,int,D. char,正確答案:,A,71,強(qiáng)制類型轉(zhuǎn)換,強(qiáng)制類型轉(zhuǎn)換運(yùn)算符,將一個(gè)類型的變量值強(qiáng)制轉(zhuǎn)換為另一種類型。,一般格式為:,(,類型標(biāo)識(shí)符,),表達(dá)式,例:,k =(,int)(int)x,+(,float)i,),(,float)(x,= 85),72,對(duì)一個(gè)變量進(jìn)行強(qiáng)制轉(zhuǎn)換后,得到一個(gè)新

35、的類型的數(shù)據(jù),但原來(lái)變量的類型不變。,例:,若,x,原為實(shí)型變量且值為,2.6,,在執(zhí)行,i = (,int)x,后得到一個(gè)整數(shù),2,,并把它賦給整型變量,i,,但,x,仍為實(shí)型,值為,2.6,。,強(qiáng)制類型轉(zhuǎn)換,73,練習(xí):,若有定義:,float a=3.9, b=6.9;,int,c;,執(zhí)行語(yǔ),句,c=a+(int)(a+b)%3/2;,后,,c,的值為( )。,A. 3,B. 3.9,C. 4 D.,4.4,正確答案:,A,74,小結(jié),在計(jì)算機(jī)中對(duì)數(shù)據(jù)進(jìn)行描述:,數(shù)據(jù)的基本類型:整型、字符型、浮點(diǎn)類型;,數(shù)據(jù)在在內(nèi)存中的存儲(chǔ)形式、取值范圍和能夠?qū)λM(jìn)行的操作;,擴(kuò)展基本類型:,short

36、,、,long,、,unsigned,常量:各種整型常量的形式、字符常量、轉(zhuǎn)義字符、符號(hào)常量;,變量:定義格式;,運(yùn)算符:,算術(shù)運(yùn)算符:,/,、,%,、,+,、,-,;優(yōu)先級(jí);,賦值運(yùn)算符:,=,,與數(shù)學(xué)中的等號(hào)相區(qū)別;,75,要求:,深刻理解在計(jì)算機(jī)中各類型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式、取值范圍和能夠?qū)λM(jìn)行的操作;,深刻理解各基本類型作了,short,、,long,、,unsigned,擴(kuò)展之后與原類型之間的區(qū)別;,深刻理解各種整型常量的形式,字符常量、轉(zhuǎn)義字符和符號(hào)常量的意義和作用。,熟練掌握每一種變量的定義格式;,深刻理解每一個(gè)算術(shù)運(yùn)算符的功能、使用格式、計(jì)算結(jié)果,尤其是,/,、,%,、,+

37、,、,-,;,深刻理解賦值運(yùn)算符(,=,)的意義、注意與數(shù)學(xué)中的等號(hào)相區(qū)別;復(fù)合賦值運(yùn)算符的執(zhí)行過(guò)程和執(zhí)行結(jié)果。,76,2.5,數(shù)據(jù)的輸出和輸入,77,輸出和輸入,輸出,計(jì)算機(jī)向外部輸出設(shè)備,(,顯示器,打印機(jī)等,),輸出數(shù)據(jù),輸入,從輸入設(shè)備,(,鍵盤,鼠標(biāo),掃描儀等,),向計(jì)算機(jī)輸入數(shù)據(jù),C,語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入和輸出操作是由,C,函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的,在使用系統(tǒng)庫(kù)函數(shù)時(shí),要用預(yù)編譯命令,“,#include,”,包含有關(guān)的頭文件,#include /,標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù),78,格式輸出函數(shù),printf,printf,函數(shù)一般格式:,printf,(,格式控制,輸出表列,)

38、,格式控制,是由雙引號(hào)括起來(lái)的字符串,它包含三種信息:,格式說(shuō)明,:由,“,%,”,和格式字符組成,如,%d,,,%f,等。它的作用是將輸出的數(shù)據(jù)按照指定的格式輸出。,普通字符,:需要原樣輸出的字符。,轉(zhuǎn)義字符,:用于控制輸出。,輸出表列,是一些要輸出的數(shù)據(jù)。,普通字符 輸出表列,printf(,“,sum,=%,dn,”,sum);,格式說(shuō)明,轉(zhuǎn)義字符,printf(%d,%dn , a, b);,79,格式說(shuō)明項(xiàng),:由,“,%,”,與格式字符組成,其作用是將數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出,按不同類型的數(shù)據(jù)有以下不同的格式字符:,%d,、,%ld,,按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出。,%,md,、,%,m

39、ld,,,m,為指定的輸出字段的寬度,如數(shù)據(jù)的位數(shù)小于,m,,則左端補(bǔ)空;若數(shù)據(jù)位數(shù)大于,m,,則按實(shí)際長(zhǎng)度輸出。,%c,:用于輸出一個(gè)字符。,%f,:用于以小數(shù)形式輸出實(shí)數(shù)(包括單、雙精度);,%,m.nf,、,%,m.nlf,,指定輸出的數(shù)據(jù)共占,m,位,其中包括,n,位小數(shù),如數(shù)據(jù)的位數(shù)小于,m,,則左端補(bǔ)空;若數(shù)據(jù)位數(shù)大于,m,,按實(shí)際長(zhǎng)度輸出。小數(shù)位數(shù)被截?cái)鄷r(shí)按四舍五入輸出。,格式輸出函數(shù),printf,80,int,a = -1 , b = 25 , c = 125 ;,long x=356142;,printf(%d,%5dn , a, b);,printf(%5d,%2dn ,

40、 c , c);,printf(%ld,%dn, , x , x);,輸出結(jié)果為:,例,2.5.1,:,81,格式輸入函數(shù),scanf,scanf,函數(shù)一般格式:,scanf,(,格式控制,地址表列,),scanf,函數(shù)的功能是按照指定的格式輸入數(shù)據(jù),可以輸入任意類型的多個(gè)數(shù)據(jù)。,格式控制,與,printf,函數(shù)含義相同,它由若干個(gè)格式說(shuō)明構(gòu)成,其作用是控制轉(zhuǎn)換輸入數(shù)據(jù)的類型。,地址表列,由若干個(gè),地址,構(gòu)成,它們可以是變量的地址,也可以是字符串的首地址。,如何分隔數(shù)據(jù),?,用隱含的分隔符,:,在輸入數(shù)據(jù)中用空格或換行符分隔數(shù)據(jù)。,scanf(%d%d%d,&a, ,輸入數(shù)據(jù),3 4 5,或輸

41、入,3,4 5,則,a=3,b=4,c=5,使用顯示分隔符,:,在格式說(shuō)明符中還可以有其它字符,在輸入字符時(shí)應(yīng)輸入與這些字符相同的字符。,scanf(%d,%d,%d,&a, ,輸入數(shù)據(jù),3,4,5,則,a=3,b=4,c=5,82,83,2.6,數(shù)學(xué)函數(shù),84,數(shù)學(xué)函數(shù),使用,數(shù)學(xué)庫(kù)中的函數(shù)時(shí),應(yīng)該首先用預(yù)處理命令,#include ,指明要用到的數(shù)學(xué)函數(shù)的描述所在的頭文件。,調(diào)用,數(shù)學(xué)函數(shù)時(shí),要給出函數(shù)名,后面是一對(duì)圓括號(hào),括號(hào)內(nèi)是使用函數(shù)所需的參數(shù),參數(shù)可以是常量、變量或表達(dá)式。,例,2.6.1,:計(jì)算并打印,2,的,3,次方的語(yǔ)句可以寫成:,:,printf(,“,%7.2f,”, p

42、ow(2.0 , 3.0);,調(diào)用的數(shù)學(xué)函數(shù),pow,需要兩個(gè)參數(shù),這兩個(gè)參數(shù)都是,double,型的,返回值也是,double,型的,語(yǔ)句執(zhí)行結(jié)果為:打印,8.00,。,85,常用數(shù)學(xué)函數(shù),函 數(shù) 名,功 能,舉 例,fabs(x,),計(jì)算,x,的絕對(duì)值,fabs(-3.5),等于,3.5,sqrt(x,),計(jì)算,x,的非負(fù)平方根,sqrt(16.0),等于,4.0,exp(x,),計(jì)算指數(shù)函數(shù),e,x,exp(1.0),等于,2.71828,log(x,),計(jì)算,x,的自然對(duì)數(shù),ln,x,log(2.718282),等于,1.0,log10(x),計(jì)算以,10,為底的對(duì)數(shù)函數(shù),log,10

43、,x,Log10(10.0),等于,1.0,pow,(,x,y,),計(jì)算,x,y,pow(2.0,3.0),等于,8.0,sin(x,),正弦函數(shù),sin(0.0),等于,0.0,cos(x,),余弦函數(shù),cos(0.0),等于,1.0,86,練 習(xí),87,變量的定義,int,a,,,b,,,c,;,指定,a,,,b,,,c,為整型變量,unsigned lower,指定,lower,為無(wú)符號(hào)整型變量,float x,,,y,;,指定,x,,,y,為實(shí)型變量,double z,;,指定,z,為雙精度實(shí)型變量,char c1,,,c2,;,指定,c1,,,c2,為字符型變量,88,轉(zhuǎn)義字符程序測(cè)

44、試,#include ,void main() ,printf( this is one program in c n);,printf(nthis is one program in c);,printf(athis is one program in c n);,printf(this is one program in c n);,printf(bbthis is one program in c n);,printf(this is one program in c );,printf(rsecond program n);,printf(this is one program in

45、c );,printf(tsecond program n);,printf(this is one program in c );,printf(101 second program n);,printf(this is one program in c );,printf(x1a second program n);,89,1.,定義一個(gè)無(wú)符號(hào)長(zhǎng)整變量,L1,;,unsigned short S1,unsigned long L1,定義一個(gè)無(wú)符號(hào)短整變量,S1,;,定義一個(gè)浮點(diǎn)類型變量,F1,;,定義一個(gè)雙精度變量,D1,;,float F1,double D1,按要求寫語(yǔ)句:,90,寫出

46、下面算術(shù)表達(dá)式的值:,x + a%3*(,int)(x,+ y)%2/4,設(shè),x = 2.5,,,a = 10,,,y = 4.7,x = 2.5,;,a = 10,;,y = 4.7,;,a%3, 10%3 1,(,int)(x,+ y), (int)7.2 7,a%3,*,(,int)(x,+ y), 1*7 7,a%3,*,(,int)(x,+ y),%2,7%2 1,a%3,*,(,int)(x,+ y),%2,/4,1/4 0,x + ,a%3,*,(,int)(x,+ y),%2,/4,2.5 + 0,最后結(jié)果:,2.5,91,分析,:,輸入三角形的三邊,用下述公式計(jì)算三角形的面積

47、:,其中,s=(a+b+c)/2,簡(jiǎn)單程序設(shè)計(jì),/*,功能:輸入三角形三邊,計(jì)算面積*,/,#include ,#include ,void main(),float a , b , c , s , area;,printf(Please,enter 3 sides of a triangle:n);,scanf(%f,%f,%f,&a, ,s = (a + b + c)/2;,area =,sqrt(s,* (s - a) * ( s - b) * (s - c);,printf(a,=%7.2f,b=%7.2f,c=%7.2fn,a,b,c);,printf(area,=%7.2fn,area);,例,:輸入三角形的三邊長(zhǎng),求三角形的面積。,作業(yè),92,2.1,,,2.2,,,2.3,,,2.4,,,2.5,

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

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!