版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第二章數(shù)據(jù)信息2.1基本符號
保留字 運算符 分隔符 標識符 常量注釋2.1.1字符集<字母>→A——Z,a——z<數(shù)字>→0——9<特殊字符>→!▌#▌%▌^▌&▌*▌(▌_▌)▌-▌+▌=▌~▌[▌]▌’▌|▌\▌;▌:▌“▌{▌}▌,▌.▌<▌>▌/▌?
除以上符號外,其它符號不許在C程序中出現(xiàn)。
2.1.2標識符標識符(identifier)表示對象名字的符號。構成規(guī)則:以字母或下劃線開頭的字母和數(shù)字的序列<標識符>→<非數(shù)字字符>▌<標識符><非數(shù)字字符>▌<標識符><數(shù)字><非數(shù)字字符>→<字母>▌_
思考:判斷下列標識符是否合法SumsumM.D.JohndayDate3days$123student_namechar#33lotus_1_2_3a>b_above
標準標識符(預定義標識符)用戶自定義標識符:盡量起代表其本來含義的名字。
※C不允許使用無定義的標識符。標識符分類——不能與保留字重名。不能與標準標識符重名。先聲明后使用。不允許重復聲明。拼寫完全一致的兩個標識符是相同的。字母大小寫的敏感。盡量與含義相符。用途:常量、變量、函數(shù)名、語句標號、類型定義符等標識符定義注意要點
<保留字>→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不能把保留字作為普通標識符使用。2.1.3保留字
分隔符是由一個或兩個字符組成的特殊符號。<分隔符>→#▌(▌)▌[▌]▌’▌|▌;▌:▌”▌{▌}▌,▌\
2.1.4分隔符2.1.5運算符<運算符>→!▌%▌^▌&▌*▌-▌+▌=▌~▌|▌.▌<▌>▌/▌?▌+=▌-=▌*=▌/=▌%=▌<<=▌>>=▌&=▌^=▌|=▌->▌++▌--▌<<▌>>▌<=▌>=▌==|!=▌&&▌||
常量(Constant)直接常量:包括整型、浮點型、字符型、字符串型等常量3,3.14,-5,-9.8,‘A’,“anexample”符號常量:代表常量的標識符符號。符號常量通常用大寫字母表示。定義格式:#definePI3.1415926含義清楚“一改全改”2.1.6常量
優(yōu)點注意!無分號[例]#define
PRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}#define語句定義一個符號常量PRICE,其值等于30。該值在程序運行過程中不能被改變。編譯程序在翻譯本源程序文件時,符號常量PRICE用其值30替換。運行結果是:total=300符號常量=>total=10*30;2.1.7注釋兩種形式:“/*”和“*/”;“//”和“//”。作用:增加程序的可讀性。Attention:程序的書寫格式自由應該:結構清晰層次分明
eg.#include<stdio.h>inti;//聲明整型變量ivoidmain()//主函數(shù)
{i=25+38;/*求和運算*/printf(“25+38=%d”,i);/*打印*/}完全可以寫成:
#include<stdio.h>inti;main()
{i=25+38;printf(“25+38=%d”,i);}2.2數(shù)據(jù)類型數(shù)據(jù)類型基本類型構造類型指針類型空類型整型(short、int、long)實型(float、double)字符(char)
枚舉(enum)數(shù)組類型
結構體類型(struct)共用體類型(union)文件類型(file)數(shù)據(jù)類型C語言中整型數(shù)值常量的表達方式:3種十進制整數(shù)123十進制:表示十進制數(shù)12345八進制整數(shù)(0開頭)0123:八進制數(shù),表示十進制數(shù)83十六進制整數(shù)(0x開頭)0x123:十六進制數(shù),表示十進制數(shù)2911.整型常量2.2.1整數(shù)類型2、整型變量的分類(IBM16位PC)基本型(整型)int2字節(jié)短整型short或shortint2字節(jié)長整型long或longint4字節(jié)無符號整型:unsigned2字節(jié)無符號短整型:unsignedshort2字節(jié)無符號長整型:unsignedlong4字節(jié)
C語言標準沒有規(guī)定整型變量在計算機內(nèi)存中所占的字節(jié)數(shù),與具體的機器和操作系統(tǒng)有關。整數(shù)運算運算分量和結果都是整數(shù)類型的運算包括:+、-、*:就是通常數(shù)學意義下的加、 減、乘。
/:除法,只求其商而舍去余數(shù)(不進行四舍五入)%:取余數(shù)。i%j的結果是i/j后得到的余數(shù)
i%j等價于i-(i/j)*j
i等價于(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);}程序運行顯示:a+u=22,b+u=-14不同數(shù)據(jù)類型之間也可以進行運算main(){inta,b;a=32767;b=a+1;printf("%d,%d\n",a,b);}程序運行顯示:32767,-32768
計算機中的數(shù)據(jù)和現(xiàn)實數(shù)據(jù)的區(qū)別:數(shù)據(jù)類型有表示范圍例子22.2.2浮點類型各種長度的浮點類型(float、double、longdouble)常量(兩種表達方式):
十進制數(shù)形式0.123、.123、123.0、123.、0.0(必須有小數(shù)點)
指數(shù)形式
123e3或123E3代表:123103;123E2.5、E3,E不合法。運算分量和結果都是浮點類型的運算包括:+(加法)-(減法)*(乘法)/(除法)兩個幾乎相等的值相減,會引起很大的誤差若除數(shù)的絕對值很小,結果很可能引起溢出在比較X、Y兩個浮點值是否相等時使用|X-Y|<ε(ε通常取值1e-6)變量單精度:float
4字節(jié)(32位)雙精度:double
8字節(jié)(64位)例1:floatx,y;/*指定x、y為單精度實型變量*/doublez;/*指定z為雙精度實型變量*/實型常量不分float和double。例2:floata;a=123456.711float型變量只能接受7(8)位有效數(shù)字,最后兩位數(shù)字不起作用double型變量能接受16位有效數(shù)字。longdouble型變量能接受19位有效數(shù)字。實型數(shù)據(jù)在內(nèi)存中的存放形式 實型數(shù)據(jù)在內(nèi)存中以二進制存放。 在C編譯系統(tǒng)下,每一個實型變量在內(nèi)存中占4個字節(jié)(32位),數(shù)據(jù)按照指數(shù)形式存儲,數(shù)據(jù)按照小數(shù)部分與指數(shù)部分分別存放。實數(shù)3.14159在內(nèi)存中的存放形式。+.3141591數(shù)符小數(shù)部分指數(shù)部分
+.314159×1012.2.3
字符類型(char型)字符常量:用單引號(撇號)括起來的一個字符。字符在內(nèi)存中以ASCII碼存放如:‘a(chǎn)’、‘x’、‘?’、‘$’。注意,‘a(chǎn)’和‘A’是不同的字符常量?!產(chǎn)’——十進制ASCII碼:97‘A’——十進制ASCII碼:65
‘a(chǎn)’——八進制ASCII碼:’\141’‘A’——八進制ASCII碼:’\101’
‘a(chǎn)’——十六進制ASCII碼:0x61‘A’——十六進制ASCII碼:0x41
字符轉(zhuǎn)義符(或控制字符,可在字符型、字符串型常量中使用,表示源程序中無法或很難直接輸入的字符,以’\’字符開頭)有兩種形式:
‘\’反斜杠后跟一個八進制或十六進制整數(shù),表示的字符是:ASCII碼值為相應整數(shù)的字符‘\’后跟一個特殊字符,代表特殊意義。例如——\n\r\t\ddd\xhh
反斜杠后跟一個特殊字符,代表的符號含義
字符變量字符變量用來存放一個字符常量.字符變量在內(nèi)存中占一字節(jié)。例1:
char
c1,c2='b';c1=‘a(chǎn)’;main(){charc1,c2;c1=97;c2=98;printf("%c%c",c1,c2);}相當于:c1=‘a(chǎn)’;c2=‘b’;因為:字符以ASCII碼存放,‘a(chǎn)’的ASCII碼為97,'b'的ASCII碼為98。該例的輸出是:ab
字符以ASCII碼存儲,其存儲方式與整數(shù)類似。從而,C語言允許字符和整數(shù)之間進行運算。C語言中的整數(shù)運算對于字符類型是適用的。例子:#include<stdio.h>main(){printf(“_ab_c\t_de\rf\tg\n”);printf(“h\ti\b\bj_k”);}運行結果3.字符串常量字符常量:單引號括起來的一個字符。字符串常量:雙引號括起來的字符序列.字符串常量在內(nèi)存中的存放:每一個字符均以其ASCII碼存放,且最后添加一個“空字符”\0。例:"Howdoyoudo.","CHINA""CHINA"存放在內(nèi)存中的情況是:(6字節(jié)存儲器,不是5字節(jié))CHINA\0最后一個字符.。比較字符串常量在內(nèi)存中的存儲狀態(tài)————字母對應的十進制ASCII碼2.2.4布爾類型(bool型)
bool類型僅有兩個值: false(假)true(真)在C中把bool類型也看成整數(shù)類型,分別用0和1表示false和true??墒┯诓紶栴愋蜕系倪\算有:
!(非)&&(與)||(或)
!取反#include<stdio.h> &&“并且” main(){ ||“或者”boola=0;printf(“%d”,a);}
2.2.5枚舉類型最基本的枚舉類型說明符形式是:enum{id,id,id,...,id};enumid_tag{id,id,id,...,id};其中每個id是一個標識符,也是相應枚舉類型中的一個值,稱枚舉常量。全部標識符集合構成相應枚舉類型的值域。例: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};/*紅、黃、綠、藍*/enum{club,diamond,heart,spade};/*梅花、方塊、紅桃、黑桃*/利用類型說明符可以聲明枚舉類型變量,也可以定義枚舉類型。把枚舉類型看成整數(shù)類型,每個枚舉常量對應一個整數(shù)值。一般情況下,第一個標識符對應整數(shù)值0,其它標識符對應前一個標識符整數(shù)值+1。上述例子中red對應0 yellow對應1green對應2 blue對應3聲明枚舉類型時,可標識該常量對應的整數(shù)值,例如:enumcolor{red=10,yellow=red+2,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院工作經(jīng)驗與發(fā)展建議計劃
- 機械制造行業(yè)安全規(guī)范
- 文化行業(yè)助理職責概述
- 文化藝術行業(yè)營銷工作總結
- 機場前臺服務總結
- 2024年稅務師題庫【滿分必刷】
- 2024年認位置的教案
- 2024年窮人教案6篇
- 農(nóng)村建筑構建合同(2篇)
- 出租車包班合同(2篇)
- 江蘇某高速公路基本表格及用表說明
- 醫(yī)生與患者關系中的信任與治療
- 心衰患者的容量管理中國專家共識-共識解讀
- 山東省濟南市2023-2024學年高一上學期1月期末考試數(shù)學試題(解析版)
- 文字學概要完整版本
- 手術室搶救工作制度
- ce自我聲明模板
- 鋼閘門監(jiān)理評估報告
- 高檔養(yǎng)老社區(qū)項目計劃書
- 蛇年銷售年會發(fā)言稿范文
- 國管局住房制度改革相關政策解答
評論
0/150
提交評論