C程第3章數(shù)據(jù)類型及表達(dá)式.ppt
《C程第3章數(shù)據(jù)類型及表達(dá)式.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《C程第3章數(shù)據(jù)類型及表達(dá)式.ppt(36頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第3章數(shù)據(jù)類型及表達(dá)式,,3.1標(biāo)識(shí)符,標(biāo)識(shí)符定義:程序中用于標(biāo)識(shí)常量、變量、函數(shù)的字符序列組成:只能由字母、數(shù)字、下劃線組成,第一個(gè)字母必須是字母或下劃線大小寫有區(qū)別不能使用C語(yǔ)言的關(guān)鍵字規(guī)則:見(jiàn)名知意不宜混淆,請(qǐng)指出下列標(biāo)識(shí)符的正誤:count、!count、new、5abc、if、do、L_5、who、a123、_A、_123、c#、r-3、printf,變量命名的注意事項(xiàng):編譯系統(tǒng)將大寫字母和小寫字母認(rèn)為是兩個(gè)不同的字符。建議變量名的長(zhǎng)度最好不要超過(guò)8個(gè)字符。在選擇變量名和其它標(biāo)識(shí)符時(shí),應(yīng)注意做到“見(jiàn)名知意”,即選有含意的英文單詞(或其縮寫)作標(biāo)識(shí)符。要求對(duì)所有用到的變量作強(qiáng)制定義,也就是“先定義,后使用”。,例:判斷下列標(biāo)識(shí)符號(hào)合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123,3.2數(shù)據(jù)類型,C語(yǔ)言的基本數(shù)據(jù)類型有4種:,還有4種構(gòu)造類型:,數(shù)組、結(jié)構(gòu)體(struct)、共同體(union)、枚舉(enum),3.3常量,常量定義:程序運(yùn)行時(shí)值不能改變的量,即常數(shù)。分類:符號(hào)常量:用標(biāo)識(shí)符表示具體值定義格式:一般用大寫字母直接常量:直接寫出具體值整型常量實(shí)型常量字符常量字符串常量,#define標(biāo)識(shí)符常量值,C語(yǔ)言規(guī)定:所有變量在使用前必須先定義,3.4變量,變量是指程序執(zhí)行過(guò)程中,其值可以改變的量。變量有一個(gè)名字,稱為變量名,用標(biāo)識(shí)符表示。,變量的定義格式:如:inta,b,c;floatx,y,z;charch;變量的定義一般寫在函數(shù)開(kāi)頭,同時(shí)定義多個(gè)變量用逗號(hào)隔開(kāi)。,類型名變量名,變量名,...,變量名;,,變量概念:其值可以改變的量變量名與變量值變量定義的一般格式:數(shù)據(jù)類型變量1[,變量2,…,變量n];,,變量初始化:定義時(shí)賦初值,例:inta,b,c;floatdata;,決定分配字節(jié)數(shù)和數(shù)的表示范圍,合法標(biāo)識(shí)符,例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;intx=y=z=1;,變量的使用:先定義,后使用,例1intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmain,例2floata,b,c;c=a%b;//Illegaluseoffloatingpointinfunctionmain,變量定義位置:一般放在函數(shù)開(kāi)頭,Ch2_005.c,3.5整型數(shù)據(jù),3.5.1整型常量三種表示形式:十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號(hào)表示。如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開(kāi)頭,后跟數(shù)字0~7表示。如0123,011十六進(jìn)制整數(shù):由0 x或0X開(kāi)頭,后跟0~9,a~f,A~F表示。如0 x123,0Xff長(zhǎng)整型常量:789L、017L、0 x12aL(用l或L引出),3.5整型數(shù)據(jù),3.5.2整型變量整型變量用于存放整型數(shù)據(jù)。根據(jù)數(shù)值的表示范圍整型可以為整型(int)、短整型(short)、長(zhǎng)整型(long)三種。這三種整型都默認(rèn)為有符號(hào)型(signed),有符號(hào)型即可以是正數(shù)、負(fù)數(shù)和0。也可以根據(jù)需要,將整型指定為無(wú)符號(hào)型(unsigned),此時(shí)整型變量只能存放非負(fù)數(shù)。上面提到的short、long、signed、unsigned都是一些類型修飾符,用于補(bǔ)充說(shuō)明變量的特性,例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/,3.6浮點(diǎn)型數(shù)據(jù),3.6.1浮點(diǎn)型常量?jī)煞N表示形式:十進(jìn)制小數(shù)形式:必須帶小數(shù)點(diǎn)如0.123,.123,123.0,0.0,123.指數(shù)形式:e或E之前必須有數(shù)字;指數(shù)必須為整數(shù)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5實(shí)型常量的類型細(xì)分:默認(rèn)為double型,例如3.14就是double類型后面加f或F認(rèn)為是float型,例如3.14f就是float類型,例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/,3.6浮點(diǎn)型數(shù)據(jù),3.6.2浮點(diǎn)型變量浮點(diǎn)型分為單精度型(float)和雙精度型(double)兩種。float型數(shù)據(jù)占用4個(gè)字節(jié)(32bits)存儲(chǔ)單元,提供的有效數(shù)字是6~7位;double型數(shù)據(jù)占用8個(gè)字節(jié)(64bits)存儲(chǔ)單元,提供的有效數(shù)字是15~16位。,3.7字符型數(shù)據(jù),3.7.1字符常量定義:用單引號(hào)括起來(lái)的單個(gè)字符或轉(zhuǎn)義字符如:‘a(chǎn)’、‘?’、‘A’、‘\n’、‘\”’轉(zhuǎn)義字符:反斜線\后跟一個(gè)字符或一個(gè)代碼值,用于表示特殊符號(hào)。詳情見(jiàn)表2-4,字符常量在存儲(chǔ)器中的值就是其ASCII碼值,aaa,13,字符常量定義:用單引號(hào)括起來(lái)的單個(gè)普通字符或轉(zhuǎn)義字符.,字符常量的值:該字符的ASCII碼值,如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’?’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------(?),例:‘A’-------’\101’-------’\x41’--------65,<,如‘A’——65,‘a(chǎn)’——97,‘0’——48,‘\n’——10,如‘a(chǎn)’‘A’‘?’‘\n’‘\101’,轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示,例轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c)main(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\C\");},運(yùn)行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’,例main(){printf(“Y\b=\n”);},運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:,,3.7字符型數(shù)據(jù),3.7.2字符串常量字符串常量定義:用雙引號(hào)括起來(lái)的字符序列如:“hello,world”“A”“”存儲(chǔ):每個(gè)字符串尾自動(dòng)加個(gè)‘\0’作為字符串結(jié)束標(biāo)志注意:字符常量和字符串常量是兩個(gè)不同的概念,*/%----->+-(2)(3)(4),i=j=3;x=i++;y=++j;,i:4,j:4,x:3,y:4,建議:++和--語(yǔ)句如非特殊需要,請(qǐng)單獨(dú)一行使用如:x++;--k;,自增、自減運(yùn)算符,,例-i++?-(i++)i=3;printf(“%d”,-i++);//-3,例-i++i=3;printf(“%d”,-i++);,3.9運(yùn)算符和表達(dá)式,3.9.2賦值表達(dá)式簡(jiǎn)單賦值運(yùn)算符符號(hào):=格式:變量標(biāo)識(shí)符=表達(dá)式功能:將一個(gè)數(shù)據(jù)(常量或表達(dá)式)賦給一個(gè)變量復(fù)合賦值運(yùn)算符種類:+=-=*=/=%=《=》=b=4;a=b;,3=x-2*y;a+b=3;,floatf;inti;i=10;f=i;則f=10.0,inti;i=2.56;則i=2,說(shuō)明:結(jié)合方向:自右向左優(yōu)先級(jí):14左側(cè)必須是變量,不能是常量或表達(dá)式,賦值表達(dá)式的值與變量值相等,且可嵌套,賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型,例3=x-2*y;a+b=3;,例floatf;inti;i=10;f=i;則f=10.0,例inti;i=2.56;//結(jié)果i=2;,例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2),,//表達(dá)式值為5,a,b,c值為5,//b=5;a=5,//表達(dá)式值11,c=6,a=11,//表達(dá)式值10,a=10,b=4,c=6,//表達(dá)式值5,a=5,b=10,c=2,說(shuō)明:結(jié)合方向:自右向左優(yōu)先級(jí):12左側(cè)必須是變量,不能是常量或表達(dá)式,賦值表達(dá)式的值與變量值相等,且可嵌套,賦值轉(zhuǎn)換規(guī)則:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型,例:a=12;a+=a-=a*a,例:inta=2;a%=4-1;a+=a*=a-=a*=3;,,//a=-264等價(jià)于a=a+(a=a-(a*a)),//a=0等價(jià)于a=a+(a=a*(a=a-(a=a*3))),賦值表達(dá)式的值與變量值相等,且可嵌套,例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2),//表達(dá)式值為5,a,b,c值為5,//b=5;a=5,//表達(dá)式值11,c=6,a=11,//表達(dá)式值10,a=10,b=4,c=6,賦值運(yùn)算符和表達(dá)式,例:a=12;a+=a-=a*a,例:inta=2;a%=4-1;a+=a*=a-=a*=3;,//a=-264等價(jià)于a=a+(a=a-(a*a)),//a=0等價(jià)于a=a+(a=a*(a=a-(a=a*3))),3.9運(yùn)算符和表達(dá)式,3.9.3逗號(hào)運(yùn)算符和表達(dá)式用逗號(hào)將多個(gè)表達(dá)式連接起來(lái),又稱為“順序求值運(yùn)算符”。整個(gè)表達(dá)式的值是最后那個(gè)逗號(hào)之后表達(dá)式的值,請(qǐng)求下列表達(dá)式的值:3+4,6a=(a=3,6*3)a=a=3,6*3a=3,a+=2,a+3a=3*5,a*4(a=3*5,a*4),a+5,6,a=1818,a=318,a=58,a=1560,a=1520,3.10數(shù)據(jù)類型轉(zhuǎn)換,3.10.1隱式轉(zhuǎn)換整型、實(shí)型和字符型數(shù)據(jù)之間可以混合運(yùn)算。例如:10+’a’+1.5-8765.1234*’b’不同數(shù)據(jù)類型之間運(yùn)算會(huì)進(jìn)行自動(dòng)類型轉(zhuǎn)換,規(guī)則如下:,必定的轉(zhuǎn)換,,運(yùn)算對(duì)象類型不同時(shí)轉(zhuǎn)換的方向,,charch;inti;floatf;doubled;,ch/i+f*d-(f+i),double,,,,,,int,double,double,double,,,,,,,,,,,,,,,,int,double,double,double,,,,,10+’a’+1.5-8765.1234*’b’,進(jìn)行10+’a’的運(yùn)算:將’a’轉(zhuǎn)換成整數(shù)97,得到和為107。,進(jìn)行107+1.5的運(yùn)算:將107轉(zhuǎn)換成double型,得到和為108.500000。,進(jìn)行8765.1234*’b’的運(yùn)算:將‘b’轉(zhuǎn)換成double型數(shù)98.000000,再與8765.1234相乘。,把之前得到的108.500000減去8765.1234*’b’的值,就完成了整個(gè)表達(dá)式的求值。,3.10數(shù)據(jù)類型轉(zhuǎn)換,3.10.2強(qiáng)制類型轉(zhuǎn)換一般形式:(類型名)(表達(dá)式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6說(shuō)明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型、變量值保持不變,#includemain(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}結(jié)果:x=3.600000,i=3,練習(xí),1、以下合法的實(shí)型常數(shù)是:A.5E2.0B.E-3C.2E0D.1.3E2.選出哪組為合法的用戶標(biāo)識(shí)符:A.voiddefineWORDB.A3_b3_123IFC.for-abccaseD.2aD0sizeof,C,B:case,sizeof,for是關(guān)鍵字,2a非法,IF大寫,練習(xí),3、選出合法的關(guān)鍵字:A、VARB、cherC、integerD、default4、合法的用戶標(biāo)識(shí)符組:A.for-subcaseabcdefghijB.4dsizeDOC.F2_G3FORabcdefineD.WORDvoidinclude,D,C,練習(xí),以下正確的常量是:a.0 xFFb.1.2e0.5c0Ld.4962710e.324562&f.216D,A,C,- 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) 鍵 詞:
- 數(shù)據(jù)類型 表達(dá)式
鏈接地址:http://kudomayuko.com/p-11495264.html