C語(yǔ)言教學(xué)課件之第3章數(shù)據(jù)類(lèi)型表達(dá)式.ppt
《C語(yǔ)言教學(xué)課件之第3章數(shù)據(jù)類(lèi)型表達(dá)式.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語(yǔ)言教學(xué)課件之第3章數(shù)據(jù)類(lèi)型表達(dá)式.ppt(61頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第1張,沒(méi)有規(guī)矩,不成方圓。,第2張,3.1C的數(shù)據(jù)類(lèi)型3.2常量與變量3.3整型數(shù)據(jù)3.4實(shí)型數(shù)據(jù),第3章數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式,第3張,3.5字符型數(shù)據(jù)3.6變量賦初值3.7各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算3.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式3.9賦值運(yùn)算符和賦值表達(dá)式3.10逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式,第4張,本章大綱,數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式(7學(xué)時(shí))教學(xué)內(nèi)容:C的數(shù)據(jù)類(lèi)型:基本數(shù)據(jù)類(lèi)型;自定義的數(shù)據(jù)類(lèi)型常量和變量:符號(hào)常量與一般常量;變量的定義和賦值各類(lèi)型數(shù)據(jù)的混合運(yùn)算運(yùn)算符與表達(dá)式:算術(shù)運(yùn)算符;關(guān)系運(yùn)算符與邏輯運(yùn)算符;表達(dá)式的執(zhí)行順序,第5張,基本要求:了解C語(yǔ)言的數(shù)據(jù)類(lèi)型;了解常量的概念、常量的分類(lèi);了解整型、實(shí)型和字符型數(shù)據(jù)的存儲(chǔ)形式;掌握變量的概念、變量的分類(lèi)及變量的初始化方法;掌握各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算規(guī)則;掌握常見(jiàn)的各種運(yùn)算符及表達(dá)式;理解運(yùn)算符的優(yōu)先級(jí)與結(jié)合性。重點(diǎn):基本數(shù)據(jù)類(lèi)型;變量定義和賦值;運(yùn)算符與表達(dá)式難點(diǎn):自定義的數(shù)據(jù)類(lèi)型;運(yùn)算符優(yōu)先級(jí)。,第6張,數(shù)據(jù)類(lèi)型在數(shù)據(jù)結(jié)構(gòu)中的定義是一個(gè)值的集合以及定義在這個(gè)值集上的一組操作。,基本類(lèi)型:整型,字符型,浮點(diǎn)型(單精度型,雙精度型),枚舉類(lèi)型;構(gòu)造類(lèi)型:數(shù)組類(lèi)型,結(jié)構(gòu)體類(lèi)型,共用體類(lèi)型,指針類(lèi)型,空類(lèi)型。,數(shù)據(jù)類(lèi)型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.可對(duì)數(shù)據(jù)進(jìn)行的操作,3.1C的數(shù)據(jù)類(lèi)型,第7張,數(shù)據(jù)結(jié)構(gòu)是指同一數(shù)據(jù)元素類(lèi)中各數(shù)據(jù)元素之間存在的關(guān)系。數(shù)據(jù)結(jié)構(gòu)分別為邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)(物理結(jié)構(gòu))和數(shù)據(jù)的運(yùn)算。數(shù)據(jù)的邏輯結(jié)構(gòu)是對(duì)數(shù)據(jù)之間關(guān)系的描述,有時(shí)就把邏輯結(jié)構(gòu)簡(jiǎn)稱(chēng)為數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)在計(jì)算機(jī)中的表示(映像)稱(chēng)為數(shù)據(jù)的物理(存儲(chǔ))結(jié)構(gòu)。,數(shù)據(jù)結(jié)構(gòu)是介于數(shù)學(xué)、計(jì)算機(jī)硬件和計(jì)算機(jī)軟件三者之間的一門(mén)核心課程。數(shù)據(jù)結(jié)構(gòu)不僅是一般程序設(shè)計(jì)的基礎(chǔ),而且是設(shè)計(jì)和實(shí)現(xiàn)編譯程序、操作系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)及其他系統(tǒng)程序的重要基礎(chǔ)。,常用數(shù)據(jù)結(jié)構(gòu):數(shù)組、線性表、鏈表、隊(duì)列、棧、樹(shù)、圖等的定義、存儲(chǔ)和操作,數(shù)據(jù)結(jié)構(gòu),補(bǔ)充了解,第8張,(1)不同的計(jì)算機(jī)語(yǔ)言所允許定義和使用的數(shù)據(jù)結(jié)構(gòu)是不同的。(2)處理同一類(lèi)問(wèn)題,如果數(shù)據(jù)結(jié)構(gòu)不同,算法也會(huì)不同。,第9張,3.2常量與變量,常量:在程序運(yùn)行過(guò)程中,其值不能被改變的量稱(chēng)為常量。,3.2.1常量和符號(hào)常量,字面常量或直接常量,符號(hào)常量:以用一個(gè)標(biāo)識(shí)符代表一個(gè)常量,例如:12,0,-3為整型常量;4.6、-1.23為實(shí)型常量;‘a(chǎn)’,‘d’為字符常量。,#definePRICE30,第10張,例3.1符號(hào)常量的使用。,#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);},total=300,1.習(xí)慣上,符號(hào)常量名用大寫(xiě)2.程序中不能再次對(duì)符號(hào)常量賦值。,#definePRICE30main(){……PRICE=40;……},,第11張,這么麻煩給常量起了名字,有什么好處嗎?,(1)含義清楚。定義符號(hào)常量名時(shí)應(yīng)考慮“見(jiàn)名知意”。(2)在需要改變一個(gè)常量時(shí)能做到“一改全改”。,#definePRICE30一看就知道PRICE表示價(jià)格,但千萬(wàn)不要在定義圓周率的時(shí)候也這樣寫(xiě),雖然不錯(cuò),但達(dá)不到“見(jiàn)名知意”的目的了。#definePRICE3.1415926,第12張,3.2.2變量,變量是指在程序運(yùn)行期間,其值可以改變的量。1.用來(lái)存放數(shù)據(jù)2.對(duì)應(yīng)內(nèi)存中的一個(gè)特定的存儲(chǔ)單元3.有名字,以便被引用,1.怎么對(duì)應(yīng)到特定的存儲(chǔ)單元呢?由編譯系統(tǒng)完成。(參閱《編譯原理》),2.變量的名字要怎么起呢?,第13張,?,變量怎么對(duì)應(yīng)到特定的存儲(chǔ)單元呢?,,存儲(chǔ)單元地址,,,3,,變量值,變量名,,,存儲(chǔ)單元地址一般用十六進(jìn)制數(shù)表示,與變量名一一對(duì)應(yīng),類(lèi)似于身份證號(hào),唯一但難記,類(lèi)似于身份證號(hào)。,,,存儲(chǔ)單元,每個(gè)存儲(chǔ)單元都由一個(gè)唯一的存儲(chǔ)單元地址和存儲(chǔ)在單元里面的內(nèi)容組成,為了便于引用存儲(chǔ)單元而起的名字。類(lèi)似于人名,2004H,,存儲(chǔ)單元的內(nèi)容,a,第14張,標(biāo)識(shí)符(identifier):用來(lái)標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、數(shù)組名、類(lèi)型名、文件名的有效字符序列稱(chēng)為標(biāo)識(shí)符。,標(biāo)識(shí)符的命名規(guī)則:(1)只能由字母、數(shù)字和下劃線三種字符組成,(2)且第一個(gè)字符必須為字母或下劃線。必須同時(shí)滿足以上兩個(gè)條件。,不合法的標(biāo)識(shí)符名:M.d.John,¥123,3d64,a>b,合法的標(biāo)識(shí)符名:while,_total,student_name,lotus_1_2_3,Class,class,BASIC,C語(yǔ)言區(qū)分大小寫(xiě)!Class和CLASS,Class,cLass都不同!,,第15張,(1)符合標(biāo)識(shí)符的2個(gè)命名規(guī)則;(2)不能和關(guān)鍵字(32個(gè))重名。必須同時(shí)滿足以上兩個(gè)條件。,變量的名字要怎么起呢?,合法的變量名:num,day,x1,不合法的變量名:3num,day‘,while,“先定義,后使用”,我是君子,先說(shuō)了才會(huì)用啊!,強(qiáng)制類(lèi)型定義,,第16張,3.3整型數(shù)據(jù),3.3.1整型常量的表示方法,整型常量即整常數(shù)。(1)十進(jìn)制整數(shù)。(2)八進(jìn)制整數(shù)。(3)十六進(jìn)制整數(shù)。,如123表示十進(jìn)制數(shù)123,以0開(kāi)頭的數(shù)是八進(jìn)制數(shù)。如0123表示八進(jìn)制數(shù)123,-011表示八進(jìn)制數(shù)-11,以0 x開(kāi)頭的數(shù)是十六進(jìn)制數(shù)。如0 x123,代表十六進(jìn)制數(shù)123-0 x12等于十進(jìn)制數(shù)-18,還記得進(jìn)制間如何轉(zhuǎn)換嗎?忘了的趕快找找?。?單片機(jī)程序設(shè)計(jì)中經(jīng)常用到,第17張,1.整型數(shù)據(jù)在內(nèi)存中的存放形式,數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的。,每一個(gè)整型數(shù)據(jù)(包含變量和常量)在內(nèi)存中占2個(gè)或4個(gè)字節(jié)。,(a)存放的示意圖(b)實(shí)際存放圖,10=(1010)2,,例子:,3.3.2整型變量,第18張,在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)表示(存儲(chǔ))。主要原因:使用補(bǔ)碼,可以將符號(hào)位和其它位統(tǒng)一處理;同時(shí),減法也可按加法來(lái)處理。另外,兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位,則進(jìn)位被舍棄。,補(bǔ)碼(complement),一個(gè)正數(shù)的補(bǔ)碼和其原碼的形式相同。,負(fù)數(shù)補(bǔ)碼的求法:(1)寫(xiě)出該數(shù)的絕對(duì)值的二進(jìn)制形式;(2)按位取反;(3)再加1。,原碼又是什么呢?,掌握,第19張,原碼是一種計(jì)算機(jī)中對(duì)數(shù)字的二進(jìn)制定點(diǎn)表示方法。原碼表示法在數(shù)值前面增加了一位符號(hào)位(即最高位為符號(hào)位),該位為0表示正數(shù),該位為1表示負(fù)數(shù),其余位表示數(shù)值的大小。,補(bǔ)充內(nèi)容:原碼(trueform),①小數(shù)原碼的定義[X]=X(0≤X<1)=1-X(-1<X≤0)例如:X=+0.1011,[X]原=0.1011X=-0.1011,[X]原=1.1011,②整數(shù)原碼的定義[X]原=X(0≤X<2n)=2n-X(-2n<X≤0)例如:[+1011]原=00001011[-1011]原=10001011,了解,第20張,2.整型變量的分類(lèi),(1)基本整型(int)(2)短整型(shortint)(3)長(zhǎng)整型(longint),修飾符:(1)有符號(hào)(signed)(2)無(wú)符號(hào)(unsigned),,,,,,,,,,,,,,有符號(hào)基本整型[signed]int無(wú)符號(hào)基本整型unsignedint,有符號(hào)短整型[signed]short[int]無(wú)符號(hào)短整型unsignedshort[int],有符號(hào)長(zhǎng)整型[signed]long[int]無(wú)符號(hào)長(zhǎng)整型unsignedlong[int],[]里的關(guān)鍵字可以省略!,第21張,如果內(nèi)存中有個(gè)數(shù)據(jù)是這樣存儲(chǔ)的,那么它是多少?,如果是無(wú)符號(hào)數(shù),它是65535,如果是有符號(hào)數(shù),它是-1,例子,第22張,3.整型變量的定義,inta,b;unsignedshortc,d;longe,f;,C規(guī)定在程序中所有用到的變量都必須在程序中定義,即“強(qiáng)制類(lèi)型定義”,對(duì)變量的定義,一般是放在一個(gè)函數(shù)的開(kāi)頭部分的聲明部分(也可以放在函數(shù)中某一分程序內(nèi),但作用域只限它所在的分程序)。,第23張,例3.2整型變量的定義與使用。,main(){inta,b,c,d;/*指定a、b、c、d為整型變量*/unsignedu;/*指定u為無(wú)符號(hào)整型變量*/a=12;b=-24;u=10;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n",c,d);},第24張,0000000000001100(a=12)+0000000000001010(u=10)-----------------0000000000010110(c=22),第25張,00000000000110001111111111100111+1-----------------1111111111101000(b=-24的補(bǔ)碼)+0000000000001010(u=10)-----------------1111111111110010(d的補(bǔ)碼)-1-----------------11111111111100010000000000001110(d的絕對(duì)值=14),求b=-24的補(bǔ)碼,,a+u=22,b+u=-14,第26張,4.整型數(shù)據(jù)的溢出,在Turboc中一個(gè)int型變量的最大允許值為32767,如果再加1,會(huì)出現(xiàn)什么情況?,main(){inta,b;a=32767;b=a+1;printf("%d,%d",a,b);},32767,-32768,32767+1不等于32768嗎?,第27張,0111111111111111(a=32767)+1-----------------1000000000000000(負(fù)數(shù))?-1-----------------01111111111111111000000000000000(b的絕對(duì)值,即32768)真值為-32768,既然是這樣,那要怎么改才能得到預(yù)期的結(jié)果32768呢?想一想啦!,第28張,3.3.3整型常量的類(lèi)型,(1)一個(gè)整數(shù),如果其值在-32768~+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和longint型變量。(2)一個(gè)整數(shù),如果其值超過(guò)了上述范圍,而在-2147483648~+2147483647范圍內(nèi),則認(rèn)為它是長(zhǎng)整型,可以將它賦值給一個(gè)longint型變量。(3)一個(gè)整常量后面加一個(gè)字母u,認(rèn)為是unsignedint型,如12345u,在內(nèi)存中按unsignedint規(guī)定的方式存放。如果寫(xiě)成-12345u,則先將-12345轉(zhuǎn)換成其補(bǔ)碼53191,然后按無(wú)符號(hào)數(shù)存儲(chǔ)。(5)在一個(gè)整常量后面加一個(gè)字母l或l,則認(rèn)為是longint型常量。例如123l、432l、0l等。,第29張,3.4浮點(diǎn)型數(shù)據(jù),3.4.1浮點(diǎn)型常量的表示方法,浮點(diǎn)數(shù)(floating-pointnumber)即實(shí)數(shù)(realnumber)。,十進(jìn)制小數(shù)形式。它由數(shù)字和小數(shù)點(diǎn)組成,指數(shù)形式,123e3,123E3,.123,123.,123.0,0.0,e32.1e3.5.,e,,,注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù),第30張,“規(guī)范化的指數(shù)形式”:即在字母e(或E)之前的小數(shù)部分中,小數(shù)點(diǎn)左邊應(yīng)有一位(且只能有一位)非零的數(shù)字。一個(gè)實(shí)數(shù)在用指數(shù)形式輸出時(shí),是按規(guī)范化的指數(shù)形式輸出的。,知道了!123.456可以表示為123.456e0,12.3456e1、1.23456e2、0.123456e3、0.0123456e4、0.00123456e5……,無(wú)數(shù)種?……,原來(lái)1.23456e2是規(guī)范化的指數(shù)形式。,第31張,3.4.2浮點(diǎn)型變量,圖3.7實(shí)數(shù)3.14159在內(nèi)存中的存放形式示意,1.浮點(diǎn)型數(shù)據(jù)在內(nèi)存中的存放形式,一個(gè)浮點(diǎn)型數(shù)據(jù)在內(nèi)存中占4個(gè)或8個(gè)字節(jié)(32位或64位),按照指數(shù)形式存儲(chǔ)的,純小數(shù)部分,采用規(guī)范化的指數(shù)形式,了解,小數(shù)位數(shù)越多,精度越高,指數(shù)位數(shù)越多,表示的數(shù)的范圍越大。,第32張,2.浮點(diǎn)型變量的分類(lèi),C浮點(diǎn)型變量分為三類(lèi):?jiǎn)尉?float)雙精度(double)長(zhǎng)雙精度型(longdouble),占4個(gè)字節(jié)(32位),占8個(gè)字節(jié)(64位),占16個(gè)字節(jié)(128位),floatx,y;,doublez;,longdoublet;,第33張,3.浮點(diǎn)型數(shù)據(jù)的舍入誤差,main(){floata,b;a=123456,789e5;b=a+20;printf("%f",b);},應(yīng)當(dāng)避免將一個(gè)很大的數(shù)和一個(gè)很小的數(shù)直接相加或相減,否則就會(huì)“丟失”小的數(shù)。,浮點(diǎn)型用有限的存儲(chǔ)單元存儲(chǔ),所以提供的有效數(shù)字也就有限,故會(huì)產(chǎn)生舍入誤差。,,12345678848.000000,第34張,3.4.3浮點(diǎn)型常量的類(lèi)型,f=2.45678*4523.65,雙精度,雙精度,單精度,*,,取前7位,提高精度運(yùn)算速度降低,難道不能就按單精度計(jì)算嗎?,f=2.45678f*4523.65F,第35張,3.5字符型數(shù)據(jù),3.5.1字符常量,1.用單引號(hào)(即撇號(hào))括起來(lái)的一個(gè)字符。,如‘a(chǎn)’,‘x’,‘D’,‘?’,‘$’。,2.以一個(gè)“\”開(kāi)頭的字符序列。是“控制字符”,在屏幕上是不能顯示的,如‘\n’,‘\t’,‘\b’,‘\r’,‘\\’,‘\’’,‘\’’’,‘\ddd’,‘\xhh’,‘a’和‘A’相同嗎?,不同!,第36張,例3.5轉(zhuǎn)義字符的使用。,main(){printf("abc\tde\rf\tg\n");printf("h\ti\b\bjk");},fabcgdehjik,fgdehjk,打印機(jī),屏幕,白紙黑字,空說(shuō)無(wú)憑,第37張,3.5.2字符變量,1.字符型變量用來(lái)存放字符常量2.只能放一個(gè)字符3.一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié),字符變量的定義:charc1,c2;,字符變量的賦值:c1=a;c2=b;,,,字符變量的定義和賦值:charc1=‘a(chǎn)’,c2=b;,第38張,3.5.3字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法,存儲(chǔ),輸出,將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中,1.以字符形式輸出2.以以整數(shù)形式輸出,,,示意圖,實(shí)際存儲(chǔ)情況,,,第39張,main(){charc1,c2;c1=97;c2=98;printf("%c%c\n",c1,c2);/*以字符形式輸出*/printf("%d%d\n",c1,c2);/*轉(zhuǎn)換為整數(shù)形式輸出*/},例3.6向字符變量賦以整數(shù)。,%c表示以字符形式輸出。,%d表示以帶符號(hào)的十進(jìn)制整數(shù)形式輸出。,※,※,ab9798,通用,第40張,例3.7大小寫(xiě)字母的轉(zhuǎn)換。,main(){charc1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf("%c%c",c1,c2);},AB,掌握,第41張,3.5.4字符串常量,字符串常量是一對(duì)雙引號(hào)括起來(lái)的字符序列。,如:“CHINA”,”a”,“howdoyoudo.”,”123.45”,“a”,=,?,,,“a”是字符串常量,‘a(chǎn)’,‘a(chǎn)’是字符常量,第42張,charc;,c=a;,c="a";,c=“CHINA",考考你,下面3個(gè)賦值語(yǔ)句中哪些是對(duì)的?為什么?,,,√,1.在C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的字符串變量2.必須使用字符數(shù)組,數(shù)組中每一個(gè)元素存放一個(gè)字符。,第43張,3.6變量賦初值,1.允許在定義變量的同時(shí)使變量初始化,2.部分賦初值,3.同種類(lèi)型的可以合并定義,inta=3;floatf=3.56;charc=a;,inta,b,c=5;,inta=3,b=3,c=3;,,inta=b=c=3;,?,第44張,3.7各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算,圖3.10,,轉(zhuǎn)換規(guī)則,縱向的箭頭表示數(shù)據(jù)轉(zhuǎn)換的方向,橫向向左的箭頭表示必定的轉(zhuǎn)換,第45張,10+‘a(chǎn)’+i*f-d/e,假設(shè)i是int變量,值為3,f是float變量,值為2.0,d是double變量,值為4.0,e為long型,值為8,,,,*優(yōu)先級(jí)高于+,①算10+‘a(chǎn)’:把‘a(chǎn)’轉(zhuǎn)換成int為97,再加10,等于107,,107+i*f-d/e,,②算i*f:把i和f都轉(zhuǎn)換成double,然后相乘得6.0,,,優(yōu)先級(jí)相同,107+6.0-d/e,,,+和-優(yōu)先級(jí)相同,,,③算107+6.0:把107轉(zhuǎn)換成double,和為113.0,,,/優(yōu)先級(jí)高于-,,,④算d/e:把e轉(zhuǎn)換成double,商為0.5,113.0-d/e,113.0-0.5,,⑤把113.0轉(zhuǎn)換成double,差為112.5,,第46張,3.8算術(shù)運(yùn)算符和算術(shù)表達(dá)式,1.算術(shù)運(yùn)算符(+-*/%)2.關(guān)系運(yùn)算符(><>=<===!=)3.邏輯運(yùn)算符(!},x=3.600000,i=3,在強(qiáng)制類(lèi)型轉(zhuǎn)換時(shí),得到一個(gè)所需類(lèi)型的中間變量,原來(lái)變量的類(lèi)型未發(fā)生變化,第52張,4.自增、自減運(yùn)算符,++i先使i的值加1,然后再使用i,i++先使用i,然后再使i的值加1,自增(減)運(yùn)算符常用于:1.循環(huán)語(yǔ)句中,使循環(huán)變量自動(dòng)加1或減1。2.指針變量,使指針指向下一個(gè)地址。,自增運(yùn)算符++,--i先使i的值減1,然后再使用i,i--先使用i,然后再使i的值減1,自減運(yùn)算符--,第53張,i=3;printf("%d",++i);,i=3;printf("%d",i++);,i=3;j=++i;printf("%d",j);,i=3;j=i++;printf(“%d”,j);,4,3,3,4,自增運(yùn)算符(++)和自減運(yùn)算符(--),只能用于變量,而不能用于常量或表達(dá)式,++和--的優(yōu)先級(jí):第2級(jí)。++和--的結(jié)合方向是“自右至左”。,5++,(a+b)++,不合法,第54張,3.9賦值運(yùn)算符和賦值表達(dá)式,1.賦值運(yùn)算符,賦值運(yùn)算符就是“=”,作用是執(zhí)行一次賦值操作,如a=3a=3+c,優(yōu)先級(jí):第14級(jí),結(jié)合性:右結(jié)合性,第55張,整型,字符型,無(wú)符號(hào),有符號(hào),字符的8位放到整型變量的低8位,,,符號(hào)擴(kuò)展,高8位補(bǔ)零,,將低8位放到字符變量中,(截?cái)啵?,舍棄實(shí)數(shù)的小數(shù)部分,數(shù)值不變,以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中,,單精度,雙精度,,,數(shù)值不變有效值位數(shù)擴(kuò)展到16位,截取前7位有效數(shù)字,,2.類(lèi)型轉(zhuǎn)換的賦值規(guī)則,實(shí)質(zhì):按存儲(chǔ)單元中的存儲(chǔ)形式直接傳送。,第56張,inti;i=3.56;printf("i=%d",i);,i=3,main(){unsigneda;intb=-1;a=b;printf("%u",a);},65535,例3.9有符號(hào)數(shù)據(jù)傳送給無(wú)符號(hào)變量。,例把浮點(diǎn)型傳送給整型變量。,第57張,3.復(fù)合的賦值運(yùn)算符,C語(yǔ)言規(guī)定可以使用10種復(fù)合賦值運(yùn)算符。即:+=,-=,*=,/=,%=,>=,,a=b=c=5a=5+(c=6)a=(b=4)+(c=6),如果a的初值是12,a+=a-=a*a運(yùn)算后a的值是多少?,第59張,1.逗號(hào)運(yùn)算符,又稱(chēng)為“順序求值運(yùn)算符”2.逗號(hào)運(yùn)算符是所有運(yùn)算符中級(jí)別最低的3.用來(lái)將兩個(gè)表達(dá)式連接起來(lái),逗號(hào)表達(dá)式的一般形式:表達(dá)式1,表達(dá)式2逗號(hào)表達(dá)式的擴(kuò)展形式:表達(dá)式1,表達(dá)式2,表達(dá)式3……表達(dá)式n,求解的過(guò)程是:先求解表達(dá)式1,再求解表達(dá)式2。整個(gè)逗號(hào)表達(dá)式的值是表達(dá)式2的值。,①x=(a=3,6*3)②x=a=3,6*ax值是多少?表達(dá)式值是多少?,如:3+5,6+8,(a=3*5,a*4),a+5運(yùn)算后a的值是多少?表達(dá)式的值是多少?,3.10逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式,第60張,注意:并不是任何地方出現(xiàn)的逗號(hào)都是作為逗號(hào)運(yùn)算符。例如:printf("%d,%d,%d",a,b,c);printf("%d,%d,%d",(a,b,c),b,c);,,,逗號(hào)運(yùn)算符,第61張,一分耕耘,一分收獲!,- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
14.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語(yǔ)言 教學(xué) 課件 數(shù)據(jù)類(lèi)型 表達(dá)式
鏈接地址:http://www.3dchina-expo.com/p-11494797.html