專(zhuān)升本C語(yǔ)言課件C02數(shù)據(jù)類(lèi)型.ppt
《專(zhuān)升本C語(yǔ)言課件C02數(shù)據(jù)類(lèi)型.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《專(zhuān)升本C語(yǔ)言課件C02數(shù)據(jù)類(lèi)型.ppt(26頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
C程序設(shè)計(jì)二、數(shù)據(jù)類(lèi)型,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型基本類(lèi)型整型短整型short整型int長(zhǎng)整型long實(shí)型單精度型float雙精度型double字符型char枚舉類(lèi)型enum構(gòu)造類(lèi)型數(shù)組結(jié)構(gòu)體struct共用體union指針類(lèi)型空類(lèi)型void,,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間,下面這個(gè)C程序可以測(cè)試各種數(shù)據(jù)類(lèi)型的存儲(chǔ)空間main(){printf("short:%d\n",sizeof(short));printf("int:%d\n",sizeof(int));printf("long:%d\n",sizeof(long));printf("float:%d\n",sizeof(float));printf("double:%d\n",sizeof(double));printf("char:%d\n",sizeof(char));},short:1int:2long:4float:4double:8char:1,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間short:2int:2long:4float:4double:8char:1數(shù)的范圍:按10位二進(jìn)制1000近似估算。int的范圍:0~65535-32768~32767,說(shuō)明下面的語(yǔ)句是否正確:inta=80000;intb=-32700;,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間short:2int:2long:4float:4double:8char:1數(shù)的范圍:按10位二進(jìn)制1000近似估算。int的范圍:0~65535-32768~32767,長(zhǎng)整型的范圍比整型的范圍大16倍嗎?double與float相比區(qū)別是什么?,大2的16次方,精度高很多,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示整型常量:十進(jìn)制,如2545,-98八進(jìn)制,以數(shù)字0開(kāi)頭,如025十六進(jìn)制,以0 x或0X開(kāi)頭,如0 xf9A,以下哪個(gè)數(shù)最大?890730 x5a,0 x5a,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示整型常量:十進(jìn)制,如2545,-98八進(jìn)制,以數(shù)字0開(kāi)頭,如025十六進(jìn)制,以0 x或0X開(kāi)頭,如0 xf9A長(zhǎng)整型常量:后加l或L,如-12l,-0 xaeL,065645545L,注意12和12L的區(qū)別:12:000000000000110012L:00000000000000000000000000001100,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示整型常量:十進(jìn)制,如2545,-98八進(jìn)制,以數(shù)字0開(kāi)頭,如025十六進(jìn)制,以0 x或0X開(kāi)頭,如0 xf9A長(zhǎng)整型常量:整型常量后加l或L,如-12l,-0 xaeL,065645545L實(shí)型常量:不分單雙精度,全部是雙精度,不能用八進(jìn)制和十六進(jìn)制表示。如34.5,.345,345.,1e2,1.5e-6,以下常量錯(cuò)在什么地方?0950a92b3.56L3.4e1.25.e,八進(jìn)制不會(huì)有9八進(jìn)制不會(huì)有a十進(jìn)制不會(huì)有b實(shí)型常量不帶LE后面必須是整數(shù)E后面必須有數(shù),二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)有符號(hào)數(shù)signedinta;等同于inta;,有符號(hào)整數(shù)最高位(最左邊一位)表示數(shù)的符號(hào),0為正,1為負(fù)。有符號(hào)整型的范圍是-215~215-1一個(gè)有符號(hào)長(zhǎng)整型的范圍是-231~231-1,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)有符號(hào)整數(shù)signedinta;無(wú)符號(hào)整數(shù)unsignedinta;,無(wú)符號(hào)整數(shù)則不留符號(hào)位,所有的位都表示大小,因此一個(gè)無(wú)符號(hào)整型的范圍是0~216-1一個(gè)無(wú)符號(hào)長(zhǎng)整型的范圍是0~232-1,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量字符常量:字符用單引號(hào),如e,9字符在計(jì)算機(jī)中以ASCII碼表示,如A存儲(chǔ)為01000001,即65,r存儲(chǔ)為01110010,即114因此字符就相當(dāng)于整數(shù)。,已知字符u的ASCII碼值為117,以下程序輸出什么?main(){charx=u;inty;y=x-5;printf("%d,%c",y,y);},輸出112,p,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量字符常量:字符用單引號(hào),如e,9字符在計(jì)算機(jī)中以ASCII碼表示,如A存儲(chǔ)為01000001,即65,r存儲(chǔ)為01110010,即114因此字符就相當(dāng)于整數(shù)。,是不是整數(shù)65與字符A就沒(méi)有區(qū)別呢?,有:A存儲(chǔ)為01000001,65存儲(chǔ)為0000000001000001,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量轉(zhuǎn)義字符\:遇到\時(shí)不是直接作為字符\,而是要跟\后面的字符連起來(lái)一起作為一個(gè)字符。對(duì)于大多數(shù)字符,如a與\a一樣。但有些字符不一樣,如n與\n,幾個(gè)需要記住的特殊字符:換行:\n橫行跳格:\t回車(chē):\r\:\\:\,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量任意一個(gè)字符還可以表示如下:\dddddd是一個(gè)1~3位的8進(jìn)制數(shù)\xhhhh是一個(gè)1~2位的十六進(jìn)制數(shù)空字符:ASCII碼值為0的字符,記為\0,如U,\U,\125,\x55完全等效。,下面哪些是合法的字符常量,哪些是不合法的字符常量?/upx\g\\35\693\xa,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量4)字符串常數(shù)用雙引號(hào)括起來(lái)的0至多個(gè)字符序列字符串存儲(chǔ)時(shí)系統(tǒng)自動(dòng)在末尾加空字符\0字符串的長(zhǎng)度:字符串中的字符個(gè)數(shù),不包括空字符。,字符串的存儲(chǔ)"":\0"w":w\0"iam":iam\0字符串"iam"的長(zhǎng)度為4,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量4)字符串常數(shù)用雙引號(hào)括起來(lái)的0至多個(gè)字符序列字符串存儲(chǔ)時(shí)系統(tǒng)自動(dòng)在末尾加空字符\0字符串的長(zhǎng)度:字符串中的字符個(gè)數(shù),不包括空字符。,求字符串"\nyu\76r\""的長(zhǎng)度,長(zhǎng)度為6,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量4)字符串常數(shù)用雙引號(hào)括起來(lái)的0至多個(gè)字符序列字符串存儲(chǔ)時(shí)系統(tǒng)自動(dòng)在末尾加空字符\0字符串的長(zhǎng)度:字符串中的字符個(gè)數(shù),不包括空字符。,以下語(yǔ)句輸出什么?printf("%d",sizeof("\nk"));,輸出3,二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量4)字符串常數(shù)用雙引號(hào)括起來(lái)的0至多個(gè)字符序列字符串存儲(chǔ)時(shí)系統(tǒng)自動(dòng)在末尾加空字符\0字符串的長(zhǎng)度:字符串中的字符個(gè)數(shù),不包括空字符。,例:找出下列常量哪些是錯(cuò)誤的kp\0\\\"kp""p""""ko\n\",kp\"ko\n\",二、數(shù)據(jù)類(lèi)型2.1數(shù)據(jù)類(lèi)型2.2各種類(lèi)型數(shù)據(jù)的存儲(chǔ)空間2.3常量1)各種類(lèi)型的常量表示2)有符號(hào)整數(shù)與無(wú)符號(hào)整數(shù)3)字符常量4)字符串常數(shù)5)符號(hào)常量以下是用一個(gè)符號(hào)來(lái)代表常量的兩種形式:constintabc=-62;#defineyu12.632這里abc,yu都是常量,不是變量,以下程序段有什么問(wèn)題?constintx=7;x++;printf("%d",x);,x是常量,不能自加,二、數(shù)據(jù)類(lèi)型2.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換1)數(shù)據(jù)類(lèi)型按以下順序級(jí)別提升:char,short,int,long,float,double2)int轉(zhuǎn)為long時(shí),高位加0,值保持不變。long轉(zhuǎn)為int時(shí),截去高位。3)實(shí)數(shù)轉(zhuǎn)為整數(shù)時(shí),舍去小數(shù)部分。整數(shù)轉(zhuǎn)為實(shí)型數(shù)時(shí),小數(shù)為0。double轉(zhuǎn)為float時(shí),四舍五入。,例:以下運(yùn)算數(shù)據(jù)如何進(jìn)行轉(zhuǎn)換?char型+int型double型+long型long型+float型double型+short型char型+short型,intdoublefloatdoubleshort,二、數(shù)據(jù)類(lèi)型2.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換1)數(shù)據(jù)類(lèi)型按以下順序級(jí)別提升:char,short,long,float,double2)int轉(zhuǎn)為long時(shí),高位加0,值保持不變。long轉(zhuǎn)為int時(shí),截去高位。3)實(shí)數(shù)轉(zhuǎn)為整數(shù)時(shí),舍去小數(shù)部分。整數(shù)轉(zhuǎn)為實(shí)型數(shù)時(shí),小數(shù)為0。double轉(zhuǎn)為float時(shí),四舍五入。,例:進(jìn)行如下語(yǔ)句后,各變量的值是多少?inta,b;longx,y;floatu,v;doubles,t;a=0 x12345678L;x=0 x78;u=6.123456789;s=6.123;b=-6.698;v=8;,0 x56780 x786.1234576.123-68.0,二、數(shù)據(jù)類(lèi)型2.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換4)運(yùn)算符兩端數(shù)據(jù)類(lèi)型不一時(shí),低級(jí)別轉(zhuǎn)為高級(jí)別,然后運(yùn)算。5)實(shí)型數(shù)運(yùn)算時(shí)全部轉(zhuǎn)為double型6)如果賦值時(shí)類(lèi)型不符,右邊表達(dá)式的值算出以后,要轉(zhuǎn)化為左邊變量的類(lèi)型,再賦值給左邊的變量。7)輸出時(shí)如果類(lèi)型不符,要將表達(dá)式的值按輸出格式轉(zhuǎn)換。(不可靠),例:以下各表達(dá)式的值是多少?2.3-3/22.3-3./22-3/22-3./2,1.30.810.5,二、數(shù)據(jù)類(lèi)型2.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換4)運(yùn)算符兩端數(shù)據(jù)類(lèi)型不一時(shí),低級(jí)別轉(zhuǎn)為高級(jí)別,然后運(yùn)算。5)實(shí)型數(shù)運(yùn)算時(shí)全部轉(zhuǎn)為double型6)如果賦值時(shí)類(lèi)型不符,右邊表達(dá)式的值算出以后,要轉(zhuǎn)化為左邊變量的類(lèi)型,再賦值給左邊的變量。7)輸出時(shí)如果類(lèi)型不符,要將表達(dá)式的值按輸出格式轉(zhuǎn)換。(不可靠),例:程序輸出什么?main(){inta;floatb;a=5.6;b=a/2;a=a/b+b/3;b=(a+b)/2;printf("a=%d,b=%f",a,b);},52.032.5,二、數(shù)據(jù)類(lèi)型2.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換4)運(yùn)算符兩端數(shù)據(jù)類(lèi)型不一時(shí),低級(jí)別轉(zhuǎn)為高級(jí)別,然后運(yùn)算。5)實(shí)型數(shù)運(yùn)算時(shí)全部轉(zhuǎn)為double型6)如果賦值時(shí)類(lèi)型不符,右邊表達(dá)式的值算出以后,要轉(zhuǎn)化為左邊變量的類(lèi)型,再賦值給左邊的變量。7)輸出時(shí)如果類(lèi)型不符,要將表達(dá)式的值按輸出格式轉(zhuǎn)換。(不可靠),例:程序輸出什么?printf("a=%d",123456L);輸出a=-7616注意printf("%d",5.28);輸出-31457(turboc)原因是直接將內(nèi)存中的浮點(diǎn)格式的數(shù)以整數(shù)讀出printf("%d",(int)5.28);輸出5這里進(jìn)行了數(shù)據(jù)類(lèi)型轉(zhuǎn)換。,二、數(shù)據(jù)類(lèi)型2.4數(shù)據(jù)類(lèi)型轉(zhuǎn)換強(qiáng)制類(lèi)型轉(zhuǎn)換(類(lèi)型)值,例:y,z各是多少?inty,z;y=8-6.87;z=8-(int)6.87;,12,- 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您。
下載文檔到電腦,查找使用更方便
9.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ǔ)言 課件 C02 數(shù)據(jù)類(lèi)型
鏈接地址:http://kudomayuko.com/p-11501464.html