PPT02第二章數(shù)據(jù)信息_第1頁
PPT02第二章數(shù)據(jù)信息_第2頁
PPT02第二章數(shù)據(jù)信息_第3頁
PPT02第二章數(shù)據(jù)信息_第4頁
PPT02第二章數(shù)據(jù)信息_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第二章數(shù)據(jù)信息2.1基本符號(hào)

保留字 運(yùn)算符 分隔符 標(biāo)識(shí)符 常量注釋2.1.1字符集<字母>→A——Z,a——z<數(shù)字>→0——9<特殊字符>→!▌#▌%▌^▌&▌*▌(▌_▌)▌-▌+▌=▌~▌[▌]▌’▌|▌\▌;▌:▌“▌{▌}▌,▌.▌<▌>▌/▌?

除以上符號(hào)外,其它符號(hào)不許在C程序中出現(xiàn)。

2.1.2標(biāo)識(shí)符標(biāo)識(shí)符(identifier)表示對象名字的符號(hào)。構(gòu)成規(guī)則:以字母或下劃線開頭的字母和數(shù)字的序列<標(biāo)識(shí)符>→<非數(shù)字字符>▌<標(biāo)識(shí)符><非數(shù)字字符>▌<標(biāo)識(shí)符><數(shù)字><非數(shù)字字符>→<字母>▌_

思考:判斷下列標(biāo)識(shí)符是否合法SumsumM.D.JohndayDate3days$123student_namechar#33lotus_1_2_3a>b_above

標(biāo)準(zhǔn)標(biāo)識(shí)符(預(yù)定義標(biāo)識(shí)符)用戶自定義標(biāo)識(shí)符:盡量起代表其本來含義的名字。

※C不允許使用無定義的標(biāo)識(shí)符。標(biāo)識(shí)符分類——不能與保留字重名。不能與標(biāo)準(zhǔn)標(biāo)識(shí)符重名。先聲明后使用。不允許重復(fù)聲明。拼寫完全一致的兩個(gè)標(biāo)識(shí)符是相同的。字母大小寫的敏感。盡量與含義相符。用途:常量、變量、函數(shù)名、語句標(biāo)號(hào)、類型定義符等標(biāo)識(shí)符定義注意要點(diǎn)

<保留字>→auto▌bool▌break▌case▌char▌_complex▌const▌continue▌default▌restrict▌do▌double▌else▌enum▌extern▌float▌for▌goto▌if▌_imaginary▌inline▌int▌long▌register▌return▌short▌signed▌sizeof▌static▌struct▌switch▌typedef▌union▌unsigned▌void▌volatile▌while不能把保留字作為普通標(biāo)識(shí)符使用。2.1.3保留字

分隔符是由一個(gè)或兩個(gè)字符組成的特殊符號(hào)。<分隔符>→#▌(▌)▌[▌]▌’▌|▌;▌:▌”▌{▌}▌,▌\

2.1.4分隔符2.1.5運(yùn)算符<運(yùn)算符>→!▌%▌^▌&▌*▌-▌+▌=▌~▌|▌.▌<▌>▌/▌?▌+=▌-=▌*=▌/=▌%=▌<<=▌>>=▌&=▌^=▌|=▌->▌++▌--▌<<▌>>▌<=▌>=▌==|!=▌&&▌||

常量(Constant)直接常量:包括整型、浮點(diǎn)型、字符型、字符串型等常量3,3.14,-5,-9.8,‘A’,“anexample”符號(hào)常量:代表常量的標(biāo)識(shí)符符號(hào)。符號(hào)常量通常用大寫字母表示。定義格式:#definePI3.1415926含義清楚“一改全改”2.1.6常量

優(yōu)點(diǎn)注意!無分號(hào)[例]#define

PRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}#define語句定義一個(gè)符號(hào)常量PRICE,其值等于30。該值在程序運(yùn)行過程中不能被改變。編譯程序在翻譯本源程序文件時(shí),符號(hào)常量PRICE用其值30替換。運(yùn)行結(jié)果是:total=300符號(hào)常量=>total=10*30;2.1.7注釋兩種形式:“/*”和“*/”;“//”和“//”。作用:增加程序的可讀性。Attention:程序的書寫格式自由應(yīng)該:結(jié)構(gòu)清晰層次分明

eg.#include<stdio.h>inti;//聲明整型變量ivoidmain()//主函數(shù)

{i=25+38;/*求和運(yùn)算*/printf(“25+38=%d”,i);/*打印*/}完全可以寫成:

#include<stdio.h>inti;main()

{i=25+38;printf(“25+38=%d”,i);}2.2數(shù)據(jù)類型數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型整型(short、int、long)實(shí)型(float、double)字符(char)

枚舉(enum)數(shù)組類型

結(jié)構(gòu)體類型(struct)共用體類型(union)文件類型(file)數(shù)據(jù)類型C語言中整型數(shù)值常量的表達(dá)方式:3種十進(jìn)制整數(shù)123十進(jìn)制:表示十進(jìn)制數(shù)12345八進(jìn)制整數(shù)(0開頭)0123:八進(jìn)制數(shù),表示十進(jìn)制數(shù)83十六進(jìn)制整數(shù)(0x開頭)0x123:十六進(jìn)制數(shù),表示十進(jìn)制數(shù)2911.整型常量2.2.1整數(shù)類型2、整型變量的分類(IBM16位PC)基本型(整型)int2字節(jié)短整型short或shortint2字節(jié)長整型long或longint4字節(jié)無符號(hào)整型:unsigned2字節(jié)無符號(hào)短整型:unsignedshort2字節(jié)無符號(hào)長整型:unsignedlong4字節(jié)

C語言標(biāo)準(zhǔn)沒有規(guī)定整型變量在計(jì)算機(jī)內(nèi)存中所占的字節(jié)數(shù),與具體的機(jī)器和操作系統(tǒng)有關(guān)。整數(shù)運(yùn)算運(yùn)算分量和結(jié)果都是整數(shù)類型的運(yùn)算包括:+、-、*:就是通常數(shù)學(xué)意義下的加、 減、乘。

/:除法,只求其商而舍去余數(shù)(不進(jìn)行四舍五入)%:取余數(shù)。i%j的結(jié)果是i/j后得到的余數(shù)

i%j等價(jià)于i-(i/j)*j

i等價(jià)于(i/j)*j+i%j例子1main(){inta,b,c,d;unsignedintu;a=12;b=-24;u=10;c=a+u;d=b+u;printf("a+u=%d,b+u=%d\n",c,d);}程序運(yùn)行顯示:a+u=22,b+u=-14不同數(shù)據(jù)類型之間也可以進(jìn)行運(yùn)算main(){inta,b;a=32767;b=a+1;printf("%d,%d\n",a,b);}程序運(yùn)行顯示:32767,-32768

計(jì)算機(jī)中的數(shù)據(jù)和現(xiàn)實(shí)數(shù)據(jù)的區(qū)別:數(shù)據(jù)類型有表示范圍例子22.2.2浮點(diǎn)類型各種長度的浮點(diǎn)類型(float、double、longdouble)常量(兩種表達(dá)方式):

十進(jìn)制數(shù)形式0.123、.123、123.0、123.、0.0(必須有小數(shù)點(diǎn))

指數(shù)形式

123e3或123E3代表:123103;123E2.5、E3,E不合法。運(yùn)算分量和結(jié)果都是浮點(diǎn)類型的運(yùn)算包括:+(加法)-(減法)*(乘法)/(除法)兩個(gè)幾乎相等的值相減,會(huì)引起很大的誤差若除數(shù)的絕對值很小,結(jié)果很可能引起溢出在比較X、Y兩個(gè)浮點(diǎn)值是否相等時(shí)使用|X-Y|<ε(ε通常取值1e-6)變量單精度:float

4字節(jié)(32位)雙精度:double

8字節(jié)(64位)例1:floatx,y;/*指定x、y為單精度實(shí)型變量*/doublez;/*指定z為雙精度實(shí)型變量*/實(shí)型常量不分float和double。例2:floata;a=123456.711float型變量只能接受7(8)位有效數(shù)字,最后兩位數(shù)字不起作用double型變量能接受16位有效數(shù)字。longdouble型變量能接受19位有效數(shù)字。實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式 實(shí)型數(shù)據(jù)在內(nèi)存中以二進(jìn)制存放。 在C編譯系統(tǒng)下,每一個(gè)實(shí)型變量在內(nèi)存中占4個(gè)字節(jié)(32位),數(shù)據(jù)按照指數(shù)形式存儲(chǔ),數(shù)據(jù)按照小數(shù)部分與指數(shù)部分分別存放。實(shí)數(shù)3.14159在內(nèi)存中的存放形式。+.3141591數(shù)符小數(shù)部分指數(shù)部分

+.314159×1012.2.3

字符類型(char型)字符常量:用單引號(hào)(撇號(hào))括起來的一個(gè)字符。字符在內(nèi)存中以ASCII碼存放如:‘a(chǎn)’、‘x’、‘?’、‘$’。注意,‘a(chǎn)’和‘A’是不同的字符常量?!產(chǎn)’——十進(jìn)制ASCII碼:97‘A’——十進(jìn)制ASCII碼:65

‘a(chǎn)’——八進(jìn)制ASCII碼:’\141’‘A’——八進(jìn)制ASCII碼:’\101’

‘a(chǎn)’——十六進(jìn)制ASCII碼:0x61‘A’——十六進(jìn)制ASCII碼:0x41

字符轉(zhuǎn)義符(或控制字符,可在字符型、字符串型常量中使用,表示源程序中無法或很難直接輸入的字符,以’\’字符開頭)有兩種形式:

‘\’反斜杠后跟一個(gè)八進(jìn)制或十六進(jìn)制整數(shù),表示的字符是:ASCII碼值為相應(yīng)整數(shù)的字符‘\’后跟一個(gè)特殊字符,代表特殊意義。例如——\n\r\t\ddd\xhh

反斜杠后跟一個(gè)特殊字符,代表的符號(hào)含義

字符變量字符變量用來存放一個(gè)字符常量.字符變量在內(nèi)存中占一字節(jié)。例1:

char

c1,c2='b';c1=‘a(chǎn)’;main(){charc1,c2;c1=97;c2=98;printf("%c%c",c1,c2);}相當(dāng)于:c1=‘a(chǎn)’;c2=‘b’;因?yàn)椋鹤址訟SCII碼存放,‘a(chǎn)’的ASCII碼為97,'b'的ASCII碼為98。該例的輸出是:ab

字符以ASCII碼存儲(chǔ),其存儲(chǔ)方式與整數(shù)類似。從而,C語言允許字符和整數(shù)之間進(jìn)行運(yùn)算。C語言中的整數(shù)運(yùn)算對于字符類型是適用的。例子:#include<stdio.h>main(){printf(“_ab_c\t_de\rf\tg\n”);printf(“h\ti\b\bj_k”);}運(yùn)行結(jié)果3.字符串常量字符常量:單引號(hào)括起來的一個(gè)字符。字符串常量:雙引號(hào)括起來的字符序列.字符串常量在內(nèi)存中的存放:每一個(gè)字符均以其ASCII碼存放,且最后添加一個(gè)“空字符”\0。例:"Howdoyoudo.","CHINA""CHINA"存放在內(nèi)存中的情況是:(6字節(jié)存儲(chǔ)器,不是5字節(jié))CHINA\0最后一個(gè)字符.。比較字符串常量在內(nèi)存中的存儲(chǔ)狀態(tài)————字母對應(yīng)的十進(jìn)制ASCII碼2.2.4布爾類型(bool型)

bool類型僅有兩個(gè)值: false(假)true(真)在C中把bool類型也看成整數(shù)類型,分別用0和1表示false和true??墒┯诓紶栴愋蜕系倪\(yùn)算有:

!(非)&&(與)||(或)

!取反#include<stdio.h> &&“并且” main(){ ||“或者”boola=0;printf(“%d”,a);}

2.2.5枚舉類型最基本的枚舉類型說明符形式是:enum{id,id,id,...,id};enumid_tag{id,id,id,...,id};其中每個(gè)id是一個(gè)標(biāo)識(shí)符,也是相應(yīng)枚舉類型中的一個(gè)值,稱枚舉常量。全部標(biāo)識(shí)符集合構(gòu)成相應(yīng)枚舉類型的值域。例:enumweek{sunday,monday,tuesday,wednesday, thursday,friday,saturday};enummonth{Jan,F(xiàn)eb,Mar,Apr,May,Jun,Jul, Aug,Sep,Oct,Nov,Dec};enumcolor{red,yellow,green,blue};/*紅、黃、綠、藍(lán)*/enum{club,diamond,heart,spade};/*梅花、方塊、紅桃、黑桃*/利用類型說明符可以聲明枚舉類型變量,也可以定義枚舉類型。把枚舉類型看成整數(shù)類型,每個(gè)枚舉常量對應(yīng)一個(gè)整數(shù)值。一般情況下,第一個(gè)標(biāo)識(shí)符對應(yīng)整數(shù)值0,其它標(biāo)識(shí)符對應(yīng)前一個(gè)標(biāo)識(shí)符整數(shù)值+1。上述例子中red對應(yīng)0 yellow對應(yīng)1green對應(yīng)2 blue對應(yīng)3聲明枚舉類型時(shí),可標(biāo)識(shí)該常量對應(yīng)的整數(shù)值,例如:enumcolor{red=10,yellow=red+2,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論