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