不同數(shù)據(jù)類(lèi)型運(yùn)算規(guī)則 C語(yǔ)言中各種數(shù)據(jù)類(lèi)型有什么區(qū)別?
C語(yǔ)言中各種數(shù)據(jù)類(lèi)型有什么區(qū)別?1. 數(shù)據(jù)計(jì)算類(lèi)型不同。基本數(shù)據(jù)類(lèi)型分為三種:整數(shù)類(lèi)型(定點(diǎn)類(lèi)型)、實(shí)數(shù)類(lèi)型(浮點(diǎn)類(lèi)型)和字符類(lèi)型。除了基本數(shù)據(jù)類(lèi)型外,還有構(gòu)造類(lèi)型(數(shù)組、結(jié)構(gòu)、公共體、枚舉類(lèi)型)、指
C語(yǔ)言中各種數(shù)據(jù)類(lèi)型有什么區(qū)別?
1. 數(shù)據(jù)計(jì)算類(lèi)型不同。
基本數(shù)據(jù)類(lèi)型分為三種:整數(shù)類(lèi)型(定點(diǎn)類(lèi)型)、實(shí)數(shù)類(lèi)型(浮點(diǎn)類(lèi)型)和字符類(lèi)型。除了基本數(shù)據(jù)類(lèi)型外,還有構(gòu)造類(lèi)型(數(shù)組、結(jié)構(gòu)、公共體、枚舉類(lèi)型)、指針類(lèi)型、空類(lèi)型void。
2. 不同數(shù)據(jù)類(lèi)型的關(guān)鍵字是不同的。
Short、long、int、float、double和char是C語(yǔ)言中的六種基本數(shù)據(jù)類(lèi)型。
3. 不同的數(shù)據(jù)類(lèi)型占用不同大小的內(nèi)存。
Short accounts for 2byte,int accounts for 4byte,long accounts for 4byte,float accounts for 2byte,double accounts for 8byte,char accounts for 1byte(不同平臺(tái)可能占用不同的內(nèi)存大小,具體可以使用sizeof test)。
在C語(yǔ)言中不同的數(shù)據(jù)類(lèi)型之間是如何轉(zhuǎn)換的,不同的數(shù)據(jù)類(lèi)型是怎樣計(jì)算的?
在C語(yǔ)言中,不同的數(shù)據(jù)類(lèi)型在操作時(shí)必須轉(zhuǎn)換為同一類(lèi)型。一種是自動(dòng)轉(zhuǎn)換,另一種是強(qiáng)制轉(zhuǎn)換,如(int)a轉(zhuǎn)換為int轉(zhuǎn)換原理:箭頭是轉(zhuǎn)換方向char,short->int->unsigned->long,float->double在我們討論這個(gè)問(wèn)題之前,我們必須接受這樣一個(gè)事實(shí):在不同的計(jì)算機(jī)上運(yùn)行這個(gè)程序的結(jié)果是不同的。原因是你是一臺(tái)多位計(jì)算機(jī)。在許多書(shū)中,int占兩個(gè)字節(jié),而在一些計(jì)算機(jī)中它占四個(gè)字節(jié)。具體來(lái)說(shuō),您可以使用sizeof(int)來(lái)測(cè)試它。然后我的電腦占用四個(gè)字節(jié)?,F(xiàn)在讓我們來(lái)看看這個(gè)問(wèn)題:C=xax是一個(gè)長(zhǎng)整數(shù),a是一個(gè)整數(shù)。在操作之前,a會(huì)自動(dòng)轉(zhuǎn)換為長(zhǎng)整數(shù),x=-5。計(jì)算機(jī)將其存儲(chǔ)為0fffffbh,a=3,x a=0fffffeh。輸出格式是%u,即以十進(jìn)制無(wú)符號(hào)形式輸出,結(jié)果是4294967294而不是65534。
D=y,B,a=3無(wú)需解釋。最后,使用%F輸出單精度或雙精度浮點(diǎn)數(shù)。默認(rèn)值為6位小數(shù)。如果要控制顯示的位數(shù),請(qǐng)使用%m.nf。詳見(jiàn)本書(shū)。
執(zhí)行操作時(shí),執(zhí)行隱式類(lèi)型轉(zhuǎn)換,int類(lèi)型轉(zhuǎn)換為double,然后執(zhí)行操作。這個(gè)過(guò)程是由編譯器本身完成的,因此稱(chēng)為隱式類(lèi)型轉(zhuǎn)換。