版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、第一章基本數(shù)據(jù)類型和表達式C+數(shù)據(jù)類型整形基本類型實型(浮點型)空類型(void)數(shù)據(jù)類型數(shù)組類型()指針類型(*)結(jié)構(gòu)體類型(struct)類(clas字符型(char)布爾型(bool)共用體類型(union) 枚舉型(enum)基本整形(int)短整型(short)長整形(long)無符號型(unsigned),單精度型(float)雙精度型(double)擴展雙精度型(long double)工為什么要分數(shù)據(jù)類型不同的數(shù)據(jù)類型存儲格式不同。不同的數(shù)據(jù)類型所實施的操作不同C+哪據(jù)類型1、整形數(shù)據(jù)各種整形數(shù)據(jù)的基本情況數(shù)據(jù)類型占用字節(jié)(跟編譯器有關)數(shù)據(jù)范圍short2 bytes-327
2、6832767unsigned short2 bytes0-65535int2bytes(16 位機)4 bytes(32 位機)-3276832767- (231) 231-1unsigned int2bytes(16 位機) 4bytes(32 位機)0-655350232-1long4bytes-(231) 231-1unsigned long4 bytes0232-1整形常量在整形常量后可加修飾符l或L表示長整型* 十進制整數(shù):以非零的數(shù)字開始123/signed int65000/unsigned int123u/unsigned int123L/singed long int工 八
3、進制整數(shù):以零開始0123=83/unsigned int011L=9/unsigned long int$十六進制整數(shù):以0X或0 x開始0 x123=291/signed int0X123u=291/unsigned int整型變量類型修飾符變量名=表達式,變量名=表達式int x,y;int i=1,j=0;2字符型數(shù)據(jù)字符型數(shù)據(jù)的基本情況字符類型:在內(nèi)部實現(xiàn)是個單字節(jié)長度的整型,因此常用字符型定義值較小的整數(shù)。 單引號括起來的一個字符如a:D,?;S字符數(shù)據(jù)在內(nèi)存中的存儲形式以ASCII碼存儲,占1字節(jié),用7位用于表示竽符時存放的是竽符的ASCII碼值。數(shù)據(jù)類型占用字節(jié)數(shù)據(jù)范圍char
4、1Byte-128127unsigned char1Byte0255轉(zhuǎn)義字符轉(zhuǎn)義序列對應ASCII碼值對應功能或字符轉(zhuǎn)義序列對應ASCI碼值對應功能或字符a7響鈴92反斜線b8退格39單引號f12換頁34雙引號n10換行?63問好r13回車cccccc為八進制值該值對應的字符t9水平制表xhhhh為十六進制值該值對應的字符v11垂直制表0空字符(NULL)000字符變量用來存放字符常量例: char c1,c2;c1=a;c2=A;字符型和整形的關系字符數(shù)據(jù)和整形數(shù)據(jù)之間可以通用,可以按字符形式輸出,也可以按整形輸出。#include運行結(jié)果:a b97 98main()(char c1,c2
5、;c1=a;c2=b;printf( %c%cn”,c1,c2);printf( %d%dn”,c1,c2); #include void main()運行結(jié)果:65 66 65 66A B A Bint a,b;char c,d;a=a;b=b;c=97;d=98;c=a-32;d=b-32;a=a-32;b=b-32;couta b int(c) “int(d)endl;coutchar(a) “char(b)c dendl;枚舉型將需要的變量值一一列舉出來,構(gòu)成一個枚舉類型。enmu枚舉名變量值類表;例如:enum weekdaysun,mom,tue,wed,thu,fri,sat;#
6、includevoid main()enum colorred,green,blue; red=0,greed=1,blue=2color paintbrush=red; /ok/color paintbrush=0;/error/color paintbrush; paintbrush=red;/ok/ paintbrush=0;/errorif(paintbrush=0)/ paintbrush=red/okcoutred paintbrushendl;)實型數(shù)據(jù)實行數(shù)據(jù)數(shù)據(jù)類型占用字節(jié)精度有效數(shù)字位數(shù)float4383.4 X 107double8士 3081.7X 1015long d
7、ouble10士 49234.3X 1019float實行變量列表double實型變量列表long double實型變量列表#define PRICE 30 #include void main() int num,total; float v,r,h; num=10;total=num*PRICE; couttotalendl;r=2.1;h=3.3;v=3.14159*r*r*h;coutvendl;)十進制形式: 425000指數(shù)形式:425E3 3、(425X 10 )不區(qū)分單雙精 度,賦值時截取 有效長度。如v=45.71955927 ;七位有效數(shù)字45.7196符號常數(shù)與常值變量符
8、號常數(shù):用制定名字代表的常數(shù)。#define MAXLINE 100可讀性好,修改方便在預編譯時將程序中凡出現(xiàn)MAXLINE的地方全部用100代替。盡管他具有常量的所有屬性,但是在編譯預處理完成后, MAXLINE就不屬于程 序中的名字了,所以提不是一個具有一定類型的常量名(在 C+中只為了兼容 菜保留#define)。常值變量const float PI=3.141592653;/PI=3.141593const double PI=3.141592653;/ok定義成const后的變量,程序中對其只能讀不能修改。因此常量定義是必須初始化const flout PI;PI=3.1415926
9、53;/error數(shù)值表達式算術運算符基本算術運算符:+-*/% (取余)強制類型轉(zhuǎn)換:例:(double) a, double (a), (int) (x+y), (float) (5%3) 變量本身未變化.位運算符按位與:&將某一位置0,其他位不變。例:將char型變量啊的最低位置0.a=a&0376;/a&11 111 110B取指定位。例:有char c; int a;取出a的低字節(jié),置于c中。 c=a&0377;/a&11 111 111B按位或:|將某些位置1,其他位不變。例:將int型變量a的低字節(jié)置1。a=a|0 xff;按位異或:人使特定位翻轉(zhuǎn)(與。異或保持原值,與1異或取反
10、)。例:要使01111010B第四位翻轉(zhuǎn);01111010B(人)00001111B01110101B左移運算:右移后,低位舍去,高位無符號數(shù)補0;有符號數(shù)補0 ;(邏輯右移)有符號數(shù)補“符號位”(算術右移)取反:例:將int型數(shù)據(jù)a最低位置0;a=a&1;1=11 , 10B自增、自減運算表達式+表達式 表達式+-表達式 表達式- 具有副作用 int a=3;int b=+a;int c=a+;int b=-a;int c=a-; int b=+a+; int d=+a;int d=+3;int c=(+a)+; int c=(-a)-;/ a=a+1;b=a;/c=a;a=a+1;/a=a
11、-1;b=a;/c=a;a=a-1 ;/error , a+非左值/ok,d=5/error/ok,+a 為左值,c=4/ok,-a 為左值,c=2賦值類運算表達式賦值類運算符:=+= -= *= /= %= &= |= = = & new deletesizeof(類型名)或sizeof (表達式):求變量、類型所占的字節(jié)數(shù)。#includevoid main()coutsizeof(char)=sizeof(char)endlsizeof(int)= sizeof(int)endlsizeof(unsigned)=sizeof(unsigned int)endlsizeof(long)=s
12、izeof(long int)按位左移,按位右移,無符號右移6 小于,小于等于,大于.大于等于7= = ,!=等于.不等于H&按位與9A按位異或101按位或11&邏輯與121 1沏稅或口條件運算符三目從右向左14=就值雙目從右向左+ = ,=加Kt值,減賦值=, /=乘賦值,除賦值外, &-取余賦值,技位與賦值A.按位異或賦值1 =按位或賦值 =按位右移賦值159逗號運算符雙目 |從左向右CM操作符的優(yōu)先ts優(yōu)先級運算符敘述示例里做性結(jié)合性1 全局作用域類作用域名?空間作用城:naneclass:camenameapace: :nane由左至右21婿迷巾i1后1遞減i-if.U0的數(shù)盟用或受Q
13、的始化c.tor(int x. int y): _x(x). _y(y * 10) (口依阻訪問array1 = 2;以對家方式防何成員obj. or JI;否-U指計方式訪問成員pti-age = 34;dynamic.cast運行時檢杳類型然怏(C-專旬Y4 y =dynaraiecast (x);ft$tatic-cost未經(jīng)冷任的類型“帙(C-。4)Y& y static.c4st(x).含rexnterpret_C4ist改定義類串轉(zhuǎn)換(CH。行)int const p = reinterpret_cast (0 x1231);含const.cast更改4常用R性(C”(/)int
14、q const_ct int (p);含typeid共取類型信息(Ci專9)std: zxype-info consrft x = typcid(x);3一前綴遞綱Hi由右至左前綴的減i一元正號int i - *1;一兀負弓int i = -1;!not邏猊非!的備用拼寫if (I done)一conpl按位取反、的備用掰號flagl s flag2.( We)也換為給定的類中im i = (int)floatNun;取指H指向的他int data tintPtr;1祟某的地始(參考)int intPtr = Adata;sizeof祟某的大小sizji s - sizeof (int;I4!
15、new動態(tài)內(nèi)存分配9”。有)lone* pVax = new long;ne(動態(tài)數(shù)in內(nèi)分陽屋什14)lon* array = new long20;delete動態(tài)內(nèi)存糅放(ci16)delete pVar ;delete口動態(tài)故汛內(nèi)存邛放鼠什。有)delete array;4或M對較選擇(ci、)obj. *ar = 24;ft由左至右-*成員指針選擇(c*專有,ptr-*var = 24;5乘法int i = 2 4;除法float f - 10. 0 / 3.0;、幔數(shù)(收余int rctn a 4 % 3;6加法int i = 2 3;減法int i = 5 - 1;7也左移int
16、 flags = 33 1;位右移int flags = 33 1;8小于關累if (i 42)小丁等于關系if (i 42)X大于等于關系if (i = 42).9sseq等于關系 口的招用拼。if (i = 42).!nojeq軍0匕的備用拼寫k (i - i)10ftbitand付AND女的番用拼瑪flagl 二 flag2 t 12;11xor位MJR (強占or)的缶用拼flagl a flag2 - 12;121 bi tor位0R(包含or) 的善用擠寫flag = flag2 I 12;13i&and電懾ANDH的法用捕與if (conditionA M conditionB)
17、 14IIorORII的招用拼號if conditionA 1 conditionB).17throw地出異常thrwElass( Message* 兀a18*逗號for G = ft j = G; i 壇單目,9個:! 長度(自右向左)+ -轉(zhuǎn)(共44個運算符)指向結(jié)構(gòu)體成員.結(jié)構(gòu)體成員 負號(類型)*指針&取地址sizeof酸-算術, 味一位移, 灌一關系, 味一位邏, 落-邏輯, 跳-條件, 福-賦值,5個:2個:6個:3個:2個:1個,11個:* / % + - =&按位與A按位異或|按位或&邏輯與|邏輯或三目:?:(結(jié)合方向:自右向左)=+= -= *= /= %= = = &= A
18、= | =(結(jié)合方向:自右向左)豆逗號,1個:,結(jié)合方向自右向左的只有三類:賦值、單目和三目,其它的都是從 左至右結(jié)合。注意:自己今天寫程序時候把關系運算符號和位邏輯的優(yōu)先級弄反。盡量用括號,就不出問題。如:if (P1OUT&BIT0= 0P1OUT a=BIT0; / 判斷P1OUT否輸出為0,是就翻轉(zhuǎn),即點亮LED.這行程序是錯誤的。可兩邊加上括號,即if ( (P1OUT&BIT0=0),或是直接用:P1OUT|=BIT0C語言中,只有4個運算符規(guī)定了運算方向,它們是 &、| |、條件運算 符及賦值運算符。&、| |都是先計算左邊表達式的值,當左邊表達式的值能確定整個表達式的值時,就不計算右邊表達式的值。如 a = 0 & b; &運算符 的左邊位0,則右邊表達式b就不再判斷。在條件運算符中。如a?b:c;先判斷a的值,再根據(jù)a的值對b或c之中的一個進行求值。 賦值表達式則規(guī)定先 對右邊的表達式求值,因此使a = b = c = 6成為可能。邏輯型數(shù)據(jù)與邏輯表達式關系、邏輯運算符關系運算符:=!=邏輯運算符:&|!關系成立,該關系式描述的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版建筑材料知識產(chǎn)權(quán)保護銷售合同樣本3篇
- 二零二五年度車場租賃與停車場環(huán)境美化合同4篇
- 教育領域的時間管理研究進展與展望
- 家庭教育環(huán)境的智能化改造方案
- 二零二五年度草原生態(tài)修復與種植合作合同3篇
- 2025版施工安全責任免除協(xié)議書(全新升級)3篇
- 甘肅2025年甘肅民族師范學院招聘博士研究生59人筆試歷年參考題庫附帶答案詳解
- 二零二五年度新能源高速公路車輛通行費結(jié)算合同2篇
- 網(wǎng)絡世界安全為先家庭教育的必修課
- 2025年度農(nóng)業(yè)綜合開發(fā)項目土地承包種植合同4篇
- 信息化運維服務信息化運維方案
- 汽車修理廠員工守則
- 骨科手術的術后飲食和營養(yǎng)指導
- 2024年中國南方航空股份有限公司招聘筆試參考題庫含答案解析
- 六年級上冊數(shù)學應用題100題
- 個人代賣協(xié)議
- 公安交通管理行政處罰決定書式樣
- 10.《運動技能學習與控制》李強
- 冀教版數(shù)學七年級下冊綜合訓練100題含答案
- 1神經(jīng)外科分級護理制度
- 場館惡劣天氣處置應急預案
評論
0/150
提交評論