




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章數(shù)據(jù)信息2.1基本符號(hào)
保留字 運(yùn)算符 分隔符 標(biāo)識(shí)符 常量注釋?zhuān)?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)表示對(duì)象名字的符號(hào)。構(gòu)成規(guī)則:以字母或下劃線(xiàn)開(kāi)頭的字母和數(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í)符)用戶(hù)自定義標(biāo)識(shí)符:盡量起代表其本來(lái)含義的名字。
※C不允許使用無(wú)定義的標(biāo)識(shí)符。標(biāo)識(shí)符分類(lèi)——不能與保留字重名。不能與標(biāo)準(zhǔn)標(biāo)識(shí)符重名。先聲明后使用。不允許重復(fù)聲明。拼寫(xiě)完全一致的兩個(gè)標(biāo)識(shí)符是相同的。字母大小寫(xiě)的敏感。盡量與含義相符。用途:常量、變量、函數(shù)名、語(yǔ)句標(biāo)號(hào)、類(lèi)型定義符等標(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)常量通常用大寫(xiě)字母表示。定義格式:#definePI3.1415926含義清楚“一改全改”2.1.6常量
優(yōu)點(diǎn)注意!無(wú)分號(hào)[例]#define
PRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}#define語(yǔ)句定義一個(gè)符號(hào)常量PRICE,其值等于30。該值在程序運(yùn)行過(guò)程中不能被改變。編譯程序在翻譯本源程序文件時(shí),符號(hào)常量PRICE用其值30替換。運(yùn)行結(jié)果是:total=300符號(hào)常量=>total=10*30;2.1.7注釋兩種形式:“/*”和“*/”;“//”和“//”。作用:增加程序的可讀性。Attention:程序的書(shū)寫(xiě)格式自由應(yīng)該:結(jié)構(gòu)清晰層次分明
eg.#include<stdio.h>inti;//聲明整型變量ivoidmain()//主函數(shù)
{i=25+38;/*求和運(yùn)算*/printf(“25+38=%d”,i);/*打印*/}完全可以寫(xiě)成:
#include<stdio.h>inti;main()
{i=25+38;printf(“25+38=%d”,i);}2.2數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型基本類(lèi)型構(gòu)造類(lèi)型指針類(lèi)型空類(lèi)型整型(short、int、long)實(shí)型(float、double)字符(char)
枚舉(enum)數(shù)組類(lèi)型
結(jié)構(gòu)體類(lèi)型(struct)共用體類(lèi)型(union)文件類(lèi)型(file)數(shù)據(jù)類(lèi)型C語(yǔ)言中整型數(shù)值常量的表達(dá)方式:3種十進(jìn)制整數(shù)123十進(jìn)制:表示十進(jìn)制數(shù)12345八進(jìn)制整數(shù)(0開(kāi)頭)0123:八進(jìn)制數(shù),表示十進(jìn)制數(shù)83十六進(jìn)制整數(shù)(0x開(kāi)頭)0x123:十六進(jìn)制數(shù),表示十進(jìn)制數(shù)2911.整型常量2.2.1整數(shù)類(lèi)型2、整型變量的分類(lèi)(IBM16位PC)基本型(整型)int2字節(jié)短整型short或shortint2字節(jié)長(zhǎng)整型long或longint4字節(jié)無(wú)符號(hào)整型:unsigned2字節(jié)無(wú)符號(hào)短整型:unsignedshort2字節(jié)無(wú)符號(hào)長(zhǎng)整型:unsignedlong4字節(jié)
C語(yǔ)言標(biāo)準(zhǔn)沒(méi)有規(guī)定整型變量在計(jì)算機(jī)內(nèi)存中所占的字節(jié)數(shù),與具體的機(jī)器和操作系統(tǒng)有關(guān)。整數(shù)運(yùn)算運(yùn)算分量和結(jié)果都是整數(shù)類(lèi)型的運(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ù)類(lèi)型之間也可以進(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ù)類(lèi)型有表示范圍例子22.2.2浮點(diǎn)類(lèi)型各種長(zhǎng)度的浮點(diǎn)類(lèi)型(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)類(lèi)型的運(yùn)算包括:+(加法)-(減法)*(乘法)/(除法)兩個(gè)幾乎相等的值相減,會(huì)引起很大的誤差若除數(shù)的絕對(duì)值很小,結(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
字符類(lèi)型(char型)字符常量:用單引號(hào)(撇號(hào))括起來(lái)的一個(gè)字符。字符在內(nèi)存中以ASCII碼存放如:‘a(chǎn)’、‘x’、‘?’、‘$’。注意,‘a(chǎn)’和‘A’是不同的字符常量。‘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)義符(或控制字符,可在字符型、字符串型常量中使用,表示源程序中無(wú)法或很難直接輸入的字符,以’\’字符開(kāi)頭)有兩種形式:
‘\’反斜杠后跟一個(gè)八進(jìn)制或十六進(jìn)制整數(shù),表示的字符是:ASCII碼值為相應(yīng)整數(shù)的字符‘\’后跟一個(gè)特殊字符,代表特殊意義。例如——\n\r\t\ddd\xhh
反斜杠后跟一個(gè)特殊字符,代表的符號(hào)含義
字符變量字符變量用來(lái)存放一個(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ù)類(lèi)似。從而,C語(yǔ)言允許字符和整數(shù)之間進(jìn)行運(yùn)算。C語(yǔ)言中的整數(shù)運(yùn)算對(duì)于字符類(lèi)型是適用的。例子:#include<stdio.h>main(){printf(“_ab_c\t_de\rf\tg\n”);printf(“h\ti\b\bj_k”);}運(yùn)行結(jié)果3.字符串常量字符常量:?jiǎn)我?hào)括起來(lái)的一個(gè)字符。字符串常量:雙引號(hào)括起來(lái)的字符序列.字符串常量在內(nèi)存中的存放:每一個(gè)字符均以其ASCII碼存放,且最后添加一個(gè)“空字符”\0。例:"Howdoyoudo.","CHINA""CHINA"存放在內(nèi)存中的情況是:(6字節(jié)存儲(chǔ)器,不是5字節(jié))CHINA\0最后一個(gè)字符.。比較字符串常量在內(nèi)存中的存儲(chǔ)狀態(tài)————字母對(duì)應(yīng)的十進(jìn)制ASCII碼2.2.4布爾類(lèi)型(bool型)
bool類(lèi)型僅有兩個(gè)值: false(假)true(真)在C中把bool類(lèi)型也看成整數(shù)類(lèi)型,分別用0和1表示false和true??墒┯诓紶栴?lèi)型上的運(yùn)算有:
!(非)&&(與)||(或)
!取反#include<stdio.h> &&“并且” main(){ ||“或者”boola=0;printf(“%d”,a);}
2.2.5枚舉類(lèi)型最基本的枚舉類(lèi)型說(shuō)明符形式是:enum{id,id,id,...,id};enumid_tag{id,id,id,...,id};其中每個(gè)id是一個(gè)標(biāo)識(shí)符,也是相應(yīng)枚舉類(lèi)型中的一個(gè)值,稱(chēng)枚舉常量。全部標(biāo)識(shí)符集合構(gòu)成相應(yīng)枚舉類(lèi)型的值域。例: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};/*梅花、方塊、紅桃、黑桃*/利用類(lèi)型說(shuō)明符可以聲明枚舉類(lèi)型變量,也可以定義枚舉類(lèi)型。把枚舉類(lèi)型看成整數(shù)類(lèi)型,每個(gè)枚舉常量對(duì)應(yīng)一個(gè)整數(shù)值。一般情況下,第一個(gè)標(biāo)識(shí)符對(duì)應(yīng)整數(shù)值0,其它標(biāo)識(shí)符對(duì)應(yīng)前一個(gè)標(biāo)識(shí)符整數(shù)值+1。上述例子中red對(duì)應(yīng)0 yellow對(duì)應(yīng)1green對(duì)應(yīng)2 blue對(duì)應(yīng)3聲明枚舉類(lèi)型時(shí),可標(biāo)識(shí)該常量對(duì)應(yīng)的整數(shù)值,例如:enumcolor{red=10,yellow=red+2,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 愛(ài)在鄰里之間900字7篇
- 出生及全程職業(yè)生涯證明書(shū)(6篇)
- 這就是我作文900字(10篇)
- 高一(上)英語(yǔ)階段檢測(cè)卷二
- 小學(xué)《自然現(xiàn)象觀察》科學(xué)活動(dòng)教案
- 我周?chē)沫h(huán)境500字7篇
- 周末趣事周記形式分享故事8篇
- 《語(yǔ)數(shù)外三位一體英語(yǔ)語(yǔ)法突破教案》
- 神奇的對(duì)稱(chēng)世界數(shù)學(xué)原理介紹及例題解析教學(xué)教案
- 英語(yǔ)詞匯拓展與實(shí)戰(zhàn)應(yīng)用教案
- 配載平衡基礎(chǔ)培訓(xùn)
- 醫(yī)療廢物管理相關(guān)法律、法規(guī)介紹
- 漯河醫(yī)學(xué)高等專(zhuān)科學(xué)校輔導(dǎo)員招聘考試行政管理教師崗筆試面試歷年真題庫(kù)試卷
- 手把手教華為PTN設(shè)備業(yè)務(wù)配置
- 工程施工安全保證體系新版
- 政審在校證明
- 燕房線(xiàn)電纜技術(shù)規(guī)范
- 三年級(jí)道德與法治(下)知識(shí)點(diǎn)總結(jié)
- 變電站一次通流-通壓試驗(yàn)方法的探討與實(shí)踐
- 線(xiàn)槽燈安裝施工工法
- 自由公差對(duì)照表(共3頁(yè))
評(píng)論
0/150
提交評(píng)論