版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、張超2010.11.14數(shù)據(jù)類型及其運算數(shù)據(jù)類型及其運算E-mail:jishzhan數(shù)據(jù)類型及其運算數(shù)據(jù)類型及其運算 vC的數(shù)據(jù)類型的數(shù)據(jù)類型(基本類型基本類型,構(gòu)造類型構(gòu)造類型,指指針類型針類型,無值類型無值類型)及其定義方法。及其定義方法。vC運算符的種類、運算優(yōu)先級和結(jié)合性。運算符的種類、運算優(yōu)先級和結(jié)合性。v不同類型數(shù)據(jù)間的轉(zhuǎn)換與運算。不同類型數(shù)據(jù)間的轉(zhuǎn)換與運算。vC表達(dá)式類型表達(dá)式類型(賦值表達(dá)式,算術(shù)表達(dá)式,賦值表達(dá)式,算術(shù)表達(dá)式,關(guān)系表達(dá)式,邏輯表達(dá)式,條件表達(dá)式,關(guān)系表達(dá)式,邏輯表達(dá)式,條件表達(dá)式,逗號表達(dá)式逗號表達(dá)式)和求值規(guī)則。和求值規(guī)則。C數(shù)據(jù)類型基本類型構(gòu)造類型指針類
2、型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整 型浮點型單精度型float雙精度型double短整型short長整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union基本類型詳細(xì)基本類型詳細(xì)1. C語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型數(shù)據(jù)類型決定:數(shù)據(jù)類型決定:v數(shù)據(jù)占據(jù)內(nèi)存的字節(jié)數(shù),即不同數(shù)據(jù)數(shù)據(jù)占據(jù)內(nèi)存的字節(jié)數(shù),即不同數(shù)據(jù)類型在內(nèi)存中占據(jù)的數(shù)據(jù)不同類型在內(nèi)存中占據(jù)的數(shù)據(jù)不同v數(shù)據(jù)的取值范圍數(shù)據(jù)的取值范圍v相應(yīng)數(shù)據(jù)類型可進(jìn)行的操作相應(yīng)數(shù)據(jù)類型可進(jìn)行的操作【考點考點】常量與變量常量與變量v常量是指在程序運行過程中,其值不能改變的常量是指在程序運行過程中,其值不能
3、改變的量。量。v常量分為整型常量、實型常量、字符常量、字常量分為整型常量、實型常量、字符常量、字符串常量、符號常量符串常量、符號常量5種。種。v C語言中沒有字符串變量。存放字符串使用字符數(shù)組。語言中沒有字符串變量。存放字符串使用字符數(shù)組。v字面常量字面常量(直接常量):可以從字面即可判斷(直接常量):可以從字面即可判斷例如:例如:123、45.7、3e-2、a 符號常量符號常量:用標(biāo)識符代表常量:用標(biāo)識符代表常量 定義格式:#define 符號常量符號常量 常量常量 符號常量的定義一般用大寫字母 不是C語言,而是宏定義預(yù)處理命令 返回圖返回圖【考點考點】常量與變量常量與變量-變量變量變量的基
4、本概念變量的基本概念1.在程序運行過程中,其值可以改變的量在程序運行過程中,其值可以改變的量稱為變量稱為變量2.一個變量應(yīng)該有一個名字,在內(nèi)存中占一個變量應(yīng)該有一個名字,在內(nèi)存中占據(jù)一定的存儲單元據(jù)一定的存儲單元3. 要區(qū)分要區(qū)分變量名變量名和和變量值變量值是兩個不同的概是兩個不同的概念。念。【考點考點】常量與變量常量與變量-變量變量v例如:例如:a=3v變量名實際上是一個以一個名字對應(yīng)代表一個變量名實際上是一個以一個名字對應(yīng)代表一個地址,在對程序編譯連接時由編譯系統(tǒng)給每一地址,在對程序編譯連接時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址。從變量中取值,個變量名分配對應(yīng)的內(nèi)存地址。從變量中取值
5、,實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)。該存儲單元中讀取數(shù)據(jù)。3a變量名變量值存儲單元【考點考點】常量與變量常量與變量-變量變量 變量的操作變量的操作1.變量的定義變量的定義變量定義的一般格式:變量定義的一般格式: 數(shù)據(jù)類型 變量1,變量2,變量n;決定分配內(nèi)存的字節(jié)數(shù)合法的標(biāo)識符例如:int a=2; float b,c;【考點考點】常量與變量常量與變量-變量變量2.變量的賦值變量的賦值 在定義時賦值在定義時賦值例如: 在使用時賦值在使用時賦值例如:int a=5;float x=y=z=5;right!Error!int a;
6、 定義變量aa=12; 給變量a賦值【考點考點】常量與變量常量與變量-變量變量變量使用的一般規(guī)則:變量使用的一般規(guī)則: 變量一定要變量一定要先定義先定義,后使用,切忌隨意定,后使用,切忌隨意定義變量,影響程序結(jié)構(gòu)義變量,影響程序結(jié)構(gòu) 一般先在函數(shù)開頭定義在函數(shù)中將要使用一般先在函數(shù)開頭定義在函數(shù)中將要使用的變量,也可以在程序書寫的時候定義變的變量,也可以在程序書寫的時候定義變量,但盡量在寫程序主體之前定義好自己量,但盡量在寫程序主體之前定義好自己需要的變量,使程序結(jié)構(gòu)清晰需要的變量,使程序結(jié)構(gòu)清晰返回分類圖返回分類圖返回總大綱返回總大綱基本類型的分類及特點基本類型的分類及特點類型 符號關(guān)鍵字?jǐn)?shù)
7、的表示范圍所占位數(shù)整型實型字符型有有有無無signed intsigned shortsigned longunsigned intunsigned shortunsigned longfloatdoubleunsigned charchar有161632161632326488-21474936482147493648-3276832767-32768327671.7e-3081.7e308065535065535042949672953.4e-383.4e38-1281270255基本類型的分類及特點基本類型的分類及特點1.整型常量整型常量有三種表示形式:有三種表示形式:1.1 十進(jìn)制整數(shù)
8、:十進(jìn)制整常數(shù)十進(jìn)制整數(shù):十進(jìn)制整常數(shù)沒有沒有前綴,前綴,由由數(shù)數(shù)字字0 09 9和和正負(fù)號正負(fù)號表示表示 以下各數(shù)是以下各數(shù)是合法合法的十進(jìn)制整常數(shù):的十進(jìn)制整常數(shù):237、-568、65535、1627; 以下各數(shù)是以下各數(shù)是不合法不合法的十進(jìn)制整常數(shù):的十進(jìn)制整常數(shù):023 (不能有不能有前導(dǎo)前導(dǎo)0)、23D (含有含有非十進(jìn)制數(shù)非十進(jìn)制數(shù)碼碼)基本類型的分類及特點基本類型的分類及特點1.2 八進(jìn)制整數(shù):八進(jìn)制整常數(shù)必須以八進(jìn)制整數(shù):八進(jìn)制整常數(shù)必須以0開頭,開頭,數(shù)碼取值為數(shù)碼取值為07,通常是,通常是無符號數(shù)無符號數(shù) 以下各數(shù)是以下各數(shù)是合法合法的八進(jìn)制數(shù):的八進(jìn)制數(shù):015(十進(jìn)制
9、為十進(jìn)制為13)、0101(十進(jìn)制為十進(jìn)制為65) 以以下各數(shù)是下各數(shù)是不合法不合法的八進(jìn)制數(shù):的八進(jìn)制數(shù):256(無前綴無前綴0)、03A2(包含了非八進(jìn)制數(shù)碼包含了非八進(jìn)制數(shù)碼)、-0127(出現(xiàn)了負(fù)號出現(xiàn)了負(fù)號)1.3十六進(jìn)制整數(shù):十六進(jìn)制整常數(shù)的前綴為十六進(jìn)制整數(shù):十六進(jìn)制整常數(shù)的前綴為0X或或0 x。其數(shù)碼取值為。其數(shù)碼取值為09,AF或或af 以下各數(shù)是以下各數(shù)是合法合法的十六進(jìn)制整常數(shù):的十六進(jìn)制整常數(shù):0X2A(十進(jìn)制為十進(jìn)制為42)、0XA0 (十進(jìn)制為十進(jìn)制為160) 以下各數(shù)是以下各數(shù)是不合法不合法的十六進(jìn)制整常數(shù):的十六進(jìn)制整常數(shù): 5A (無前綴無前綴0X)、 0X3
10、H (含有含有非十六進(jìn)制數(shù)碼非十六進(jìn)制數(shù)碼) 基本類型的分類及特點基本類型的分類及特點基本類型的分類及特點基本類型的分類及特點整型常量的類型整型常量的類型 根據(jù)其值所在范圍確定其數(shù)據(jù)類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型 默認(rèn)數(shù)據(jù)類型為默認(rèn)數(shù)據(jù)類型為intint型型 在整常量后加字母在整常量后加字母l l或或L L,認(rèn)為它是認(rèn)為它是long intlong int型常型常量量2.整型變量整型變量整型變量的基本類型符為整型變量的基本類型符為int,我們根據(jù),我們根據(jù)數(shù)值在內(nèi)存中占據(jù)空間的不同,將整型變數(shù)值在內(nèi)存中占據(jù)空間的不同,將整型變量分為基本型、短整型、長整型量分為基本型、短整型、長整型 基本型
11、:以基本型:以int表示表示 短整型:以短整型:以short int或或short表示表示 長整型:以長整型:以long int或或long表示表示 無符號型:類型說明符為無符號型:類型說明符為unsigned 基本類型的分類及特點基本類型的分類及特點如果不指定為如果不指定為unsigned,則默認(rèn)為,則默認(rèn)為signed(此(此時時signed可以不寫)可以不寫)符號類型符和其他三個基本類型組合共可得出符號類型符和其他三個基本類型組合共可得出6種種整型變量:整型變量:有符號基本整數(shù)有符號基本整數(shù) signed int無符號基本整數(shù)無符號基本整數(shù) unsigned int有符號短整型有符號短整
12、型 signed short int無符號短整型無符號短整型 unsigned short int有符號長整型有符號長整型 signed long int無符號長整型無符號長整型 unsigned long int基本類型的分類及特點基本類型的分類及特點整型變量的賦值操作:整型變量的賦值操作:int a; 定義一個變量定義一個變量aunsigned int b; 定義一個無符號變定義一個無符號變ba=1200; 將將a賦值為賦值為1200b=100; 將將b賦值為賦值為100b=-100; error!b為無符號整型變量不能賦負(fù)值基本類型的分類及特點基本類型的分類及特點在變量定義時,應(yīng)注意以下
13、幾點:在變量定義時,應(yīng)注意以下幾點:允許在一個類型說明符后,定義多個相同類允許在一個類型說明符后,定義多個相同類型的變量,各變量名之間用型的變量,各變量名之間用逗號逗號間隔,類間隔,類型說明符與變量名之間至少用一個空格間型說明符與變量名之間至少用一個空格間隔隔最后一個變量名之后必須以最后一個變量名之后必須以“;”號結(jié)尾號結(jié)尾變量名應(yīng)有意義,切忌隨便定義變量名變量名應(yīng)有意義,切忌隨便定義變量名變量定義時注意數(shù)據(jù)范圍,不要造成數(shù)據(jù)溢變量定義時注意數(shù)據(jù)范圍,不要造成數(shù)據(jù)溢出出基本類型的分類及特點基本類型的分類及特點3.實型常量實型常量實型也稱為浮點型,實型常量也稱為實數(shù)實型也稱為浮點型,實型常量也稱
14、為實數(shù)或者浮點數(shù),有兩種表示形式:或者浮點數(shù),有兩種表示形式:3.1十進(jìn)制小數(shù)形式:由十進(jìn)制小數(shù)形式:由數(shù)字?jǐn)?shù)字和和小數(shù)點小數(shù)點組組成成 例如:例如:0.0、25.0、5.789、0.13、5.0、300.、-267.8230等均為等均為合法合法的實數(shù)的實數(shù) 基本類型的分類及特點基本類型的分類及特點3.2指數(shù)形式:由十進(jìn)制數(shù),加階碼標(biāo)志指數(shù)形式:由十進(jìn)制數(shù),加階碼標(biāo)志“e”或或“E”以及階碼(只能為以及階碼(只能為整數(shù)整數(shù),可以帶符號),可以帶符號)組成,組成,e或或E之前必須有之前必須有數(shù)字?jǐn)?shù)字以下是以下是合法合法的實數(shù):的實數(shù):2.1E5 (等于等于2.1*105)、3.7E-2 (等于等
15、于3.7*10-2)0.5E7 (等于等于0.5*107)、-2.8E-2 (等于等于-2.8*10-2)以下是以下是不合法不合法的實數(shù):的實數(shù):E7 (階碼標(biāo)志階碼標(biāo)志E之前無數(shù)字之前無數(shù)字)、53.-E3 (負(fù)號位負(fù)號位置不對置不對) 2.7E (無階碼無階碼)基本類型的分類及特點基本類型的分類及特點實型常量的類型實型常量的類型 默認(rèn)數(shù)據(jù)類型為默認(rèn)數(shù)據(jù)類型為doubledouble型型 在在實型常量后加字母實型常量后加字母f f或或F F,認(rèn)為它是認(rèn)為它是floatfloat型型基本類型的分類及特點基本類型的分類及特點4.實型變量實型變量我們根據(jù)數(shù)值在內(nèi)存中占據(jù)空間的不同,我們根據(jù)數(shù)值在內(nèi)
16、存中占據(jù)空間的不同,將整型變量分為單精度型、雙精度型、長將整型變量分為單精度型、雙精度型、長雙精度型雙精度型 單精度型:以單精度型:以float表示表示 雙精度型:以雙精度型:以double表示表示 長雙精度型:以長雙精度型:以long double表示表示基本類型的分類及特點基本類型的分類及特點實型數(shù)據(jù)的四舍五入實型數(shù)據(jù)的四舍五入由于實型變量是由由于實型變量是由有限有限的存儲單元組成的,的存儲單元組成的,因此能提供的因此能提供的有效數(shù)字有效數(shù)字總是有限的,在有總是有限的,在有效位以外的數(shù)字將被舍去,由此就會產(chǎn)生效位以外的數(shù)字將被舍去,由此就會產(chǎn)生一些誤差一些誤差float a=123456.
17、789e5;b=a+20;輸出結(jié)果輸出結(jié)果b和和a相同相同!基本類型的分類及特點基本類型的分類及特點實型變量的賦值操作:實型變量的賦值操作:float a=123.5;double b=23.9;注意:注意:C編譯系統(tǒng)將實型常量作為編譯系統(tǒng)將實型常量作為雙精度雙精度來來處理,所以為了提高運算速度,可以在數(shù)處理,所以為了提高運算速度,可以在數(shù)的后邊加字母的后邊加字母f或或F,讓系統(tǒng)按單精度處理,讓系統(tǒng)按單精度處理基本類型的分類及特點基本類型的分類及特點5.字符常量字符常量字符常量是用字符常量是用單引號單引號括起來的一個字符括起來的一個字符例如:例如:a、b、=、+、?字符常量的字符常量的特點特點
18、: 字符常量只能用單引號括起來,不能用雙字符常量只能用單引號括起來,不能用雙引號或其它括號引號或其它括號 字符常量只能是單個字符,不能是字符串字符常量只能是單個字符,不能是字符串 字符可以是字符集中任意字符字符可以是字符集中任意字符 基本類型的分類及特點基本類型的分類及特點基本類型的分類及特點基本類型的分類及特點一種特殊形式的字符常量,一種特殊形式的字符常量,“轉(zhuǎn)義字符轉(zhuǎn)義字符”轉(zhuǎn)義字符轉(zhuǎn)義字符: :反斜線反斜線后面跟一個字符或一個代碼值表示后面跟一個字符或一個代碼值表示字符形式字符形式含含 義義ASCII代代碼碼n換行,將當(dāng)前位置移到下一行開頭換行,將當(dāng)前位置移到下一行開頭10t回平制表(跳
19、到下一個回平制表(跳到下一個tab位置)位置)9b退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列8反斜杠字符反斜杠字符“”92單引號(撇號)字符單引號(撇號)字符39“雙引號字符雙引號字符34ddd1到到3位位8進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符xhh1到到2位位16進(jìn)制數(shù)所代表的字符進(jìn)制數(shù)所代表的字符6.字符變量字符變量字符變量用來存儲字符常量,但只能存儲單個字符變量用來存儲字符常量,但只能存儲單個字符,類型說明符是字符,類型說明符是char 定義形式:定義形式: char a;賦值操作:賦值操作: a=a;基本類型的分類及特點基本類型的分類及特點7.字符數(shù)據(jù)在內(nèi)存中的存儲形式及使用
20、方字符數(shù)據(jù)在內(nèi)存中的存儲形式及使用方法法每個字符變量被分配每個字符變量被分配一個字節(jié)一個字節(jié)的內(nèi)存空間,的內(nèi)存空間,因此只能存放一個字符因此只能存放一個字符,但這個字符并不,但這個字符并不是將該字符本身放到內(nèi)存中,而是將該字是將該字符本身放到內(nèi)存中,而是將該字符相對應(yīng)的符相對應(yīng)的ASCII碼放到內(nèi)存中碼放到內(nèi)存中例如:例如:a=a 在內(nèi)存中實際是將在內(nèi)存中實際是將a的的ASCII碼值碼值97存入內(nèi)存中,類似于整數(shù)的存儲存入內(nèi)存中,類似于整數(shù)的存儲基本類型的分類及特點基本類型的分類及特點char與與int數(shù)據(jù)間可進(jìn)行算術(shù)運算數(shù)據(jù)間可進(jìn)行算術(shù)運算語言允許對整型變量賦以字符值,也允語言允許對整型變量
21、賦以字符值,也允許對字符變量賦以整型值。在輸出時,允許對字符變量賦以整型值。在輸出時,允許把字符變量按整型量輸出,也允許把整許把字符變量按整型量輸出,也允許把整型量按字符量輸出型量按字符量輸出例如:例如:char test1,test2; test1=a; test2=98;test1=97test2=b基本類型的分類及特點基本類型的分類及特點實際應(yīng)用:實際應(yīng)用:大小寫字母的轉(zhuǎn)換(大寫字母和小寫字母大小寫字母的轉(zhuǎn)換(大寫字母和小寫字母的的ASCII碼值相差碼值相差32)A=A;a=A+32; 相當(dāng)于相當(dāng)于a=a;基本類型的分類及特點基本類型的分類及特點8.字符串常量字符串常量字符串常量是由字符
22、串常量是由一對雙引號一對雙引號括起的字符序列括起的字符序列例如:例如:“china”、“c語言語言”注意:注意:每個字符串尾每個字符串尾自動自動加一個加一個 00 作為字作為字符串結(jié)束標(biāo)志符串結(jié)束標(biāo)志 基本類型的分類及特點基本類型的分類及特點字符串常量和字符常量的主要區(qū)別:字符串常量和字符常量的主要區(qū)別:字符常量由字符常量由單引號單引號括起來,字符串常量由括起來,字符串常量由雙雙引號引號括起來括起來字符常量只能是字符常量只能是單個字符單個字符,字符串常量則可,字符串常量則可以含一個以含一個或多個字符或多個字符可以把一個字符常量賦予一個字符變量,但可以把一個字符常量賦予一個字符變量,但不能把一個
23、字符串常量賦予一個字符變量。不能把一個字符串常量賦予一個字符變量。在語言中可以用一個在語言中可以用一個字符數(shù)組字符數(shù)組來存放一來存放一個字符串常量個字符串常量基本類型的分類及特點基本類型的分類及特點 字符常量占一個字節(jié)的內(nèi)存空間。字符串常量占字符常量占一個字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的。增加的一個字節(jié)中存放字符一個字節(jié)中存放字符“0” (ASCII碼為碼為0),),是字符串結(jié)束的標(biāo)志是字符串結(jié)束的標(biāo)志 例如:例如:a在內(nèi)存中的存放情況為在內(nèi)存中的存放情況為 “a”在內(nèi)存中的存放情況為在內(nèi)存中的存放情況為aa0基本類型的分類
24、及特點基本類型的分類及特點返回目錄返回目錄不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同類型的變量之間可以相互轉(zhuǎn)換,不同類型的變量之間可以相互轉(zhuǎn)換,分為:分為:v隱式轉(zhuǎn)換隱式轉(zhuǎn)換v顯式轉(zhuǎn)換顯式轉(zhuǎn)換1.隱式轉(zhuǎn)換隱式轉(zhuǎn)換又稱為自動轉(zhuǎn)換,有編譯系統(tǒng)自動完成又稱為自動轉(zhuǎn)換,有編譯系統(tǒng)自動完成 運算轉(zhuǎn)換運算轉(zhuǎn)換-不同類型數(shù)據(jù)混合運算時不同類型數(shù)據(jù)混合運算時 賦值轉(zhuǎn)換賦值轉(zhuǎn)換-把一個值賦給與其類型不把一個值賦給與其類型不同的變量時同的變量時 輸出轉(zhuǎn)換輸出轉(zhuǎn)換-輸出時轉(zhuǎn)換成指定的輸出輸出時轉(zhuǎn)換成指定的輸出格式格式 函數(shù)調(diào)用轉(zhuǎn)換函數(shù)調(diào)用轉(zhuǎn)換-實參與形參類型不一實參與形參類型不一致時轉(zhuǎn)換致時轉(zhuǎn)換不同數(shù)據(jù)類型之
25、間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換轉(zhuǎn)換規(guī)則:轉(zhuǎn)換規(guī)則: 若參與運算量的類型不同,則先轉(zhuǎn)換成同若參與運算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運算一類型,然后進(jìn)行運算 轉(zhuǎn)換按數(shù)據(jù)長度轉(zhuǎn)換按數(shù)據(jù)長度增加增加的方向進(jìn)行,以保證的方向進(jìn)行,以保證精度不降低精度不降低 所有的浮點運算都是以雙精度進(jìn)行的,即所有的浮點運算都是以雙精度進(jìn)行的,即使僅含使僅含float單精度量運算的表達(dá)式,也要單精度量運算的表達(dá)式,也要先轉(zhuǎn)換成先轉(zhuǎn)換成double型,再作運算型,再作運算不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換 char型和型和short型參與運算時,必須先型參與運算時,必須先轉(zhuǎn)換成轉(zhuǎn)換成int型型 在賦值
26、運算中,賦值號兩邊量的數(shù)據(jù)類在賦值運算中,賦值號兩邊量的數(shù)據(jù)類型不同時,賦值號右邊量的類型將轉(zhuǎn)換為型不同時,賦值號右邊量的類型將轉(zhuǎn)換為左邊量的類型左邊量的類型不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換doublefloatlongunsignedintchar,short低高說明說明:必定的轉(zhuǎn)換運算對象類型不同時轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換例:例:int i;float f;double d;long l;10 + a + I * f - d / lintdoubledoubledoubleintdoubledoubledouble不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的
27、轉(zhuǎn)換練習(xí):練習(xí):char ch;int i;float f;double d;ch / i + f * d - ( f + i )intintdoubledoubledoubledoubledoubledouble不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換2.顯式轉(zhuǎn)換顯式轉(zhuǎn)換又稱為又稱為強制轉(zhuǎn)換強制轉(zhuǎn)換,是通過類型轉(zhuǎn)換運算來是通過類型轉(zhuǎn)換運算來實現(xiàn)的實現(xiàn)的 一般形式:一般形式: (類型名)(類型名)(表達(dá)式)(表達(dá)式)功能:把表達(dá)式的運算結(jié)果強制轉(zhuǎn)換成類型功能:把表達(dá)式的運算結(jié)果強制轉(zhuǎn)換成類型說明符所表示的類型說明符所表示的類型 例如:例如: (int) (x+y) (int) 3.6不同數(shù)
28、據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換在使用強制轉(zhuǎn)換時應(yīng)注意的問題:在使用強制轉(zhuǎn)換時應(yīng)注意的問題: 類型說明符和表達(dá)式都必須加類型說明符和表達(dá)式都必須加括號括號(單個單個變量可以不加括號變量可以不加括號) 無論是強制轉(zhuǎn)換或是自動轉(zhuǎn)換,都只是為無論是強制轉(zhuǎn)換或是自動轉(zhuǎn)換,都只是為了本次運算的需要而對變量的數(shù)據(jù)長度進(jìn)了本次運算的需要而對變量的數(shù)據(jù)長度進(jìn)行的行的臨時性轉(zhuǎn)換臨時性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時對,而不改變數(shù)據(jù)說明時對該變量定義的類型,即該變量定義的類型,即強制轉(zhuǎn)換得到所需強制轉(zhuǎn)換得到所需類型的中間變量,類型的中間變量,原變量類型不變原變量類型不變 從較高類型向較低類型轉(zhuǎn)換時可能發(fā)生從較高類型
29、向較低類型轉(zhuǎn)換時可能發(fā)生精精度損失度損失 不同數(shù)據(jù)類型之間的轉(zhuǎn)換不同數(shù)據(jù)類型之間的轉(zhuǎn)換返回目錄返回目錄算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式C語言的運算符范圍很廣,算術(shù)運算符只是其中的一部分語言的運算符范圍很廣,算術(shù)運算符只是其中的一部分 C運算符算術(shù)運算符:(+ - * / % + -)關(guān)系運算符:( = !=)邏輯運算符:(! & |)位運算符 :( | &)賦值運算符:(= 及其擴(kuò)展)條件運算符:(?:)逗號運算符:(,)指針運算符:(* &)求字節(jié)數(shù) :(sizeof)強制類型轉(zhuǎn)換:(類型)分量運算符:(. -)下標(biāo)運算符:()其它 :(( ) -)1.基本算術(shù)運
30、算符基本算術(shù)運算符+ 加法運算符,或正值運算符加法運算符,或正值運算符- 減法運算符,或負(fù)值運算符減法運算符,或負(fù)值運算符* 乘法運算符乘法運算符/ 除法運算符除法運算符% 求余運算符求余運算符注意注意:%兩側(cè)必須都為整型數(shù)據(jù)兩側(cè)必須都為整型數(shù)據(jù)算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式2.算術(shù)表達(dá)式和運算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式和運算符的優(yōu)先級與結(jié)合性 算術(shù)表達(dá)式:用算術(shù)表達(dá)式:用算術(shù)運算符算術(shù)運算符和和括號括號將運將運算對象(也稱操作數(shù))連接起來的、符合算對象(也稱操作數(shù))連接起來的、符合C語法規(guī)則的式子語法規(guī)則的式子 例如:例如: (a+b) 34/2算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式運
31、算符的優(yōu)先級運算符的優(yōu)先級:在表達(dá)式求值的時候,:在表達(dá)式求值的時候,按照運算符的優(yōu)先級別高低次序執(zhí)行,如按照運算符的優(yōu)先級別高低次序執(zhí)行,如果果運算量兩側(cè)的運算符優(yōu)先級相同時,則運算量兩側(cè)的運算符優(yōu)先級相同時,則按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理按運算符的結(jié)合性所規(guī)定的結(jié)合方向處理例如:例如:a+b*c a+b*c/d 算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式運算符的結(jié)合性:語言中各運算符的結(jié)合性分語言中各運算符的結(jié)合性分為兩種,即為兩種,即左結(jié)合性左結(jié)合性(自左至右自左至右)和和右結(jié)合性右結(jié)合性(自自右至左右至左) 例如:例如:左結(jié)合性:左結(jié)合性:a+b-c右結(jié)合性:右結(jié)合性:x=y=z=5
32、 注意和注意和int x=y=z=5 區(qū)別區(qū)別應(yīng)對右結(jié)合性的運算符加以注意應(yīng)對右結(jié)合性的運算符加以注意算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式3.自增、自減運算符自增、自減運算符作用作用:使變量值加:使變量值加1 1或減或減1 1分類分類:+i i自增自增1后再參與其它運算。后再參與其它運算。-i i自減自減1后再參與其它運算。后再參與其它運算。i+ i參與運算后,參與運算后,i的值再自增的值再自增1。i- i參與運算后,參與運算后,i的值再自減的值再自減1 算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式舉例:舉例:j=3; k=+j; j=3; k=j+; a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;注意注意: +、- 不能用于常量和表達(dá)式不能用于常量和表達(dá)式j(luò)=4,k=4j=4,k=3c=20c=15算術(shù)運算符和表達(dá)式算術(shù)運算符和表達(dá)式4.賦值運算符和賦值表達(dá)式賦值運算符和賦值表達(dá)式簡單的賦值運算符簡單的賦值運算符一般形式為:一般形式為:變量變量=表達(dá)式表達(dá)式作用:作用:將一個數(shù)據(jù)(常量或表達(dá)式)賦給將一個數(shù)據(jù)(常量或表達(dá)式)賦給一個變量一個變量例如:例如:a=4; c=a+b;算術(shù)運
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防設(shè)施檢測與評估服務(wù)合同5篇
- 2025年新能源項目承包借款合作協(xié)議書2篇
- 二零二五版門窗行業(yè)節(jié)能減排技術(shù)與產(chǎn)品研發(fā)合同4篇
- 長飛光纖光纜課程設(shè)計
- 銀行賬戶管理java課程設(shè)計
- 2025年度智慧安防個人工程承包合同范本4篇
- 二零二五年度智慧生活門面商鋪租賃合同2篇
- 2025年消防安全技術(shù)服務(wù)與消防設(shè)備采購安裝合同3篇
- 2024年煙花爆竹經(jīng)營單位主要負(fù)責(zé)人考試題庫附答案 (一)
- 2024年用電監(jiān)察員(中級)職業(yè)鑒定理論考試題庫(含答案)
- 獅子王影視鑒賞
- 一年級數(shù)學(xué)加減法口算題每日一練(25套打印版)
- 2024年甘肅省武威市、嘉峪關(guān)市、臨夏州中考英語真題
- DL-T573-2021電力變壓器檢修導(dǎo)則
- 繪本《圖書館獅子》原文
- 安全使用公共WiFi網(wǎng)絡(luò)的方法
- 2023年管理學(xué)原理考試題庫附答案
- 【可行性報告】2023年電動自行車相關(guān)項目可行性研究報告
- 歐洲食品與飲料行業(yè)數(shù)據(jù)與趨勢
- 放療科室規(guī)章制度(二篇)
- 中高職貫通培養(yǎng)三二分段(中職階段)新能源汽車檢測與維修專業(yè)課程體系
評論
0/150
提交評論