C教程 從入門到精通實(shí)用_第1頁(yè)
C教程 從入門到精通實(shí)用_第2頁(yè)
C教程 從入門到精通實(shí)用_第3頁(yè)
C教程 從入門到精通實(shí)用_第4頁(yè)
C教程 從入門到精通實(shí)用_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C教程從入門到精通實(shí)用C++提供的基本數(shù)據(jù)類型第2頁(yè)/共65頁(yè)第1頁(yè)/共65頁(yè)修飾符C++還允許在不同的數(shù)據(jù)類型前面增加修飾符來(lái)更改基本類型的含義。signed,unsigned,long和short。其中int前面可以單獨(dú)使用siged,unsigned,long和short,并且signed和unsigned還可以與long和short組合在一起放在int前面char前面可以單獨(dú)使用signed和unsigned;double前面可以單獨(dú)使用long。第3頁(yè)/共65頁(yè)第2頁(yè)/共65頁(yè)C++的數(shù)據(jù)類型第4頁(yè)/共65頁(yè)第3頁(yè)/共65頁(yè)整型C++中定義了9種類型的整型,其中包括普通的整型(int)、長(zhǎng)整型(longint)和短整型(shortint)。這3種數(shù)據(jù)類型的前面還可以加上signed和unsigned修飾符來(lái)表示有符號(hào)整型和無(wú)符號(hào)整型。第5頁(yè)/共65頁(yè)第4頁(yè)/共65頁(yè)符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)#include<iostream>usingnamespacestd;voidmain(){ shortinti; unsignedshortintj; i=-1; j=i; cout<<"i="<<i<<";j="<<j;}第6頁(yè)/共65頁(yè)第5頁(yè)/共65頁(yè)字符型在計(jì)算機(jī)中保存字符采用的是8位的ASCII碼。要把字符用單引號(hào)擴(kuò)起來(lái)'x'、'0‘如果所需的整數(shù)表示范圍很小(在–128到127之間,或者在0到255之間),可考慮使用字符型數(shù)據(jù)第7頁(yè)/共65頁(yè)第6頁(yè)/共65頁(yè)字符型數(shù)據(jù)和整型數(shù)據(jù)的互換使用#include<iostream>usingnamespacestd;voidmain(){ charc; shortinti; c='A'; i=c; cout<<"c="<<c<<";i="<<i;}第8頁(yè)/共65頁(yè)第7頁(yè)/共65頁(yè)浮點(diǎn)型浮點(diǎn)型數(shù)據(jù)有3種:float,double和longdouble。選用的數(shù)據(jù)類型應(yīng)該能夠表示所需要的數(shù)字,不能超出數(shù)據(jù)類型的表示范圍,還要考慮不同的數(shù)據(jù)類型可以表示數(shù)據(jù)的精度是否符合程序要求。一種數(shù)據(jù)類型占用的內(nèi)存空間越大,能夠表示的數(shù)據(jù)范圍就越大,但是使用這樣的數(shù)字進(jìn)行計(jì)算的速度也越慢,因此在選擇數(shù)據(jù)類型的時(shí)候也不要沒有任何依據(jù)地使用longdouble類型表示數(shù)據(jù)以求保險(xiǎn)(一般的數(shù)字用double類型就足夠了)或者貪圖不必要的精度而損失了程序的運(yùn)行速度。第9頁(yè)/共65頁(yè)第8頁(yè)/共65頁(yè)浮點(diǎn)數(shù)的舍入誤差#include<iostream>usingnamespacestd;voidmain(){ floata,b; a=555555.555e5; b=a+40; cout<<"a="<<a<<";b="<<b;}第10頁(yè)/共65頁(yè)第9頁(yè)/共65頁(yè)布爾型true和false如果在布爾表達(dá)式中使用了數(shù)字,那么C++會(huì)把0作為false,非0的數(shù)字作為true。如果在一個(gè)非布爾表達(dá)式中使用bool類型的數(shù)據(jù),那么會(huì)把true轉(zhuǎn)換為1,把false轉(zhuǎn)換為0。第11頁(yè)/共65頁(yè)第10頁(yè)/共65頁(yè)bool和int類型數(shù)據(jù)的轉(zhuǎn)換#include<iostream>usingnamespacestd;voidmain(){ boolb1,b2; inti,j; b1=true; i=20; j=b1; b2=i; cout<<"j="<<j<<";b2="<<b2;}第12頁(yè)/共65頁(yè)第11頁(yè)/共65頁(yè)空型空型是一種十分特別的數(shù)據(jù)類型,它表示沒有任何值,因此并沒有一個(gè)實(shí)際存在的數(shù)字可以定義成void類型??招屯ǔS迷诙x函數(shù)的時(shí)候表示一個(gè)函數(shù)沒有返回值。第13頁(yè)/共65頁(yè)第12頁(yè)/共65頁(yè)常量和變量常量變量第14頁(yè)/共65頁(yè)第13頁(yè)/共65頁(yè)常量常量是一個(gè)具有實(shí)際值的量,并且其值在程序中不可以改變。第15頁(yè)/共65頁(yè)第14頁(yè)/共65頁(yè)整型常量整型常量用于表示整數(shù)??梢允褂檬M(jìn)制、十六進(jìn)制、八進(jìn)制的整數(shù)。十進(jìn)制的數(shù)字:10、25。十六進(jìn)制整數(shù)需要在整數(shù)的前面加上一個(gè)0x:0x123八進(jìn)制數(shù)需要在整數(shù)的前面加上一個(gè)O:O123如果在程序中遇到了一個(gè)整數(shù)常量,通常認(rèn)為這個(gè)整數(shù)的數(shù)據(jù)類型是int。如果要表示的數(shù)字超出了int類型數(shù)據(jù)的表示范圍,但是在unsignedint數(shù)據(jù)類型的表示范圍之內(nèi),就在這個(gè)數(shù)據(jù)類型中在數(shù)據(jù)的后面增加一個(gè)u后綴:3213213213u。如果希望定義longint類型的常量,在這個(gè)數(shù)據(jù)后加l后綴。第16頁(yè)/共65頁(yè)第15頁(yè)/共65頁(yè)浮點(diǎn)型常量如果在程序中遇到的一個(gè)數(shù)字帶有小數(shù)部分,那么C++編譯器就認(rèn)為這個(gè)數(shù)字是一個(gè)浮點(diǎn)型常量–12.3,1.0,0.123E2浮點(diǎn)型數(shù)據(jù)具有舍入誤差第17頁(yè)/共65頁(yè)第16頁(yè)/共65頁(yè)字符型常量如果要定義字符型常量,只要用單引號(hào)將這個(gè)字符括起來(lái)就可以了。'x'、'2'、'#'第18頁(yè)/共65頁(yè)第17頁(yè)/共65頁(yè)字符串常量把字符串用雙引號(hào)括起來(lái)"Helloworld!“一個(gè)字符串中的各個(gè)字符會(huì)占用內(nèi)存中連續(xù)的字節(jié),使用‘\0’字符表示字符串的結(jié)束。'a'與"a"完全不同第19頁(yè)/共65頁(yè)第18頁(yè)/共65頁(yè)符號(hào)常量對(duì)于一些經(jīng)常使用并且有特定意義的常量允許采用符號(hào)的方式代替,在程序中所有使用這個(gè)常量的地方都可以使用這個(gè)符號(hào)常量進(jìn)行替代使用C++提供的預(yù)編譯指令#define#definePI3.14第20頁(yè)/共65頁(yè)第19頁(yè)/共65頁(yè)變量變量就是可以在程序中保存數(shù)據(jù)的量。由于這個(gè)量的值是可以改變的,因此被稱為變量第21頁(yè)/共65頁(yè)第20頁(yè)/共65頁(yè)變量的命名組成變量名的字符必須是大寫字母、小寫字母、數(shù)字或者下劃線,并且只能以字母或者下劃線開頭。變量名不能使用C++語(yǔ)言保留的關(guān)鍵字第22頁(yè)/共65頁(yè)第21頁(yè)/共65頁(yè)變量的聲明數(shù)據(jù)類型變量名列表;intCount;doublePrice,Total;所有的變量在聲明時(shí)都要求指明它的數(shù)據(jù)類型。第23頁(yè)/共65頁(yè)第22頁(yè)/共65頁(yè)變量的初始化變量的初始化是指在變量被正式使用之前給變量一個(gè)初值。(1)在定義變量時(shí)給變量賦一個(gè)初值。(2)在使用變量之前給變量賦一個(gè)初值。(3)動(dòng)態(tài)初始化。intCount=2;doublePrice,Total;Price=28.7;Total=Price*Count;第24頁(yè)/共65頁(yè)第23頁(yè)/共65頁(yè)常數(shù)型變量使用const關(guān)鍵字創(chuàng)建常數(shù)型變量,這樣就可以把一個(gè)變量作為常數(shù)來(lái)使用const數(shù)據(jù)類型變量名=表達(dá)式;constfloatPI=3.14;第25頁(yè)/共65頁(yè)第24頁(yè)/共65頁(yè)輸入輸出coutcin第26頁(yè)/共65頁(yè)第25頁(yè)/共65頁(yè)流C++中定義的輸入輸出都是采用流的方式進(jìn)行的。在輸入操作中,輸入數(shù)據(jù)以字節(jié)的形式從輸入設(shè)備(例如鍵盤、磁盤、網(wǎng)絡(luò)等)經(jīng)過輸入流流入計(jì)算機(jī)的內(nèi)存;在輸出操作中,輸出數(shù)據(jù)又以字節(jié)的形式從內(nèi)存經(jīng)過輸出流流出到輸出設(shè)備(例如顯示器、打印機(jī)、磁盤、網(wǎng)絡(luò)等)。在C++中,可以使用它提供的標(biāo)準(zhǔn)輸入對(duì)象cin和標(biāo)準(zhǔn)輸出對(duì)象cout實(shí)現(xiàn)輸入輸出操作。cin表示的是C++的輸入流cout表示的是C++的輸出流cerr流用于實(shí)現(xiàn)標(biāo)準(zhǔn)的出錯(cuò)輸出clog流實(shí)現(xiàn)cerr流的緩沖輸出。第27頁(yè)/共65頁(yè)第26頁(yè)/共65頁(yè)cout使用<<操作符來(lái)實(shí)現(xiàn)輸出,<<的作用是實(shí)現(xiàn)向流中插入。inti=10;cout<<"i="<<i;第28頁(yè)/共65頁(yè)第27頁(yè)/共65頁(yè)在輸出中使用轉(zhuǎn)義字符#include<iostream>usingnamespacestd;voidmain(){ cout<<"abcde\tfg\bhij\rk\n"; cout<<"Isay:\"hello!\"\n"; cout<<"\\n的意思是回車換行\(zhòng)n";}第29頁(yè)/共65頁(yè)第28頁(yè)/共65頁(yè)用\t和setw()實(shí)現(xiàn)輸出#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){ cout<<"abc\tdef"<<endl; cout<<"ghi\tjkl"<<endl; cout<<setw(6)<<"abc"<<setw(6)<<"def"<<endl; cout<<setw(6)<<"ghi"<<setw(6)<<"jkl"<<endl;}第30頁(yè)/共65頁(yè)第29頁(yè)/共65頁(yè)cin輸入是從輸入流中提取數(shù)據(jù)的過程。默認(rèn)的輸入設(shè)備是鍵盤。使用>>操作符。inta;doubleb;cin>>a>>b;第31頁(yè)/共65頁(yè)第30頁(yè)/共65頁(yè)輸入一個(gè)矩形的長(zhǎng)和寬,輸出矩形的面積#include<iostream>usingnamespacestd;voidmain(){ doubleLength; doubleWidth; cout<<"TheLength="; cin>>Length; cout<<"TheWidth="; cin>>Width; cout<<"Area="<<Length*Width<<endl;}第32頁(yè)/共65頁(yè)第31頁(yè)/共65頁(yè)運(yùn)算符和表達(dá)式算術(shù)運(yùn)算符和算術(shù)表達(dá)式關(guān)系運(yùn)算符與關(guān)系表達(dá)式 邏輯運(yùn)算符和邏輯表達(dá)式位運(yùn)算符和位運(yùn)算表達(dá)式賦值運(yùn)算符和賦值表達(dá)式逗號(hào)運(yùn)算符sizeof運(yùn)算符第33頁(yè)/共65頁(yè)第32頁(yè)/共65頁(yè)算術(shù)運(yùn)算符第34頁(yè)/共65頁(yè)第33頁(yè)/共65頁(yè)使用自增和自減運(yùn)算符第35頁(yè)/共65頁(yè)第34頁(yè)/共65頁(yè)算術(shù)表達(dá)式算術(shù)表達(dá)式是由算術(shù)運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的式子算術(shù)運(yùn)算符的優(yōu)先級(jí)第36頁(yè)/共65頁(yè)第35頁(yè)/共65頁(yè)關(guān)系運(yùn)算符與關(guān)系表達(dá)式關(guān)系運(yùn)算符是雙目運(yùn)算符,可以作用在除viod類型之外的任意類型的兩個(gè)操作數(shù)上。由關(guān)系運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的式子就是關(guān)系表達(dá)式。關(guān)系表達(dá)式的計(jì)算結(jié)果要么是true,要么是false。第37頁(yè)/共65頁(yè)第36頁(yè)/共65頁(yè)使用關(guān)系運(yùn)算符第38頁(yè)/共65頁(yè)第37頁(yè)/共65頁(yè)關(guān)系運(yùn)算符的優(yōu)先級(jí)第39頁(yè)/共65頁(yè)第38頁(yè)/共65頁(yè)邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符作用在除void類型之外的所有數(shù)據(jù)上,得到的結(jié)果是bool類型的true或者false。用邏輯運(yùn)算符連接運(yùn)算對(duì)象就可以得到邏輯表達(dá)式。第40頁(yè)/共65頁(yè)第39頁(yè)/共65頁(yè)實(shí)現(xiàn)異或運(yùn)算第41頁(yè)/共65頁(yè)第40頁(yè)/共65頁(yè)邏輯運(yùn)算符和關(guān)系運(yùn)算符的優(yōu)先級(jí)第42頁(yè)/共65頁(yè)第41頁(yè)/共65頁(yè)位運(yùn)算符和位運(yùn)算表達(dá)式位運(yùn)算就是指能夠直接對(duì)字節(jié)或者字的位進(jìn)行運(yùn)算的運(yùn)算符。按位運(yùn)算只能對(duì)整數(shù)類型和字符類型的數(shù)據(jù)進(jìn)行操作,不能用在其他類型的數(shù)據(jù)上。由位運(yùn)算符將運(yùn)算對(duì)象連接起來(lái)的式子就是位運(yùn)算表達(dá)式。第43頁(yè)/共65頁(yè)第42頁(yè)/共65頁(yè)按位與、或、異或和取反運(yùn)算符按位與運(yùn)算的特點(diǎn)是只有參與運(yùn)算的兩個(gè)位都是1結(jié)果位才是1,否則結(jié)果位是0;按位或運(yùn)算的特點(diǎn)是只有參與運(yùn)算的兩個(gè)位都是0結(jié)果位才是0,否則結(jié)果位是1;按位異或運(yùn)算的特點(diǎn)是只有參與運(yùn)算的兩個(gè)位不同結(jié)果位才是1,否則結(jié)果位是0;按位取反運(yùn)算符只有一個(gè)操作數(shù),對(duì)1取反結(jié)果是0,對(duì)0取反結(jié)果是1。第44頁(yè)/共65頁(yè)第43頁(yè)/共65頁(yè)使用按位與、或和取反運(yùn)算符第45頁(yè)/共65頁(yè)第44頁(yè)/共65頁(yè)使用異或運(yùn)算實(shí)現(xiàn)加密和解密第46頁(yè)/共65頁(yè)第45頁(yè)/共65頁(yè)移位運(yùn)算符右移位運(yùn)算符>>的作用是將一個(gè)數(shù)的所有位向右移動(dòng)指定的位數(shù)左移位運(yùn)算符<<的作用是將一個(gè)數(shù)的所有位向左移動(dòng)指定的位數(shù)運(yùn)算符的左邊是需要移位的數(shù)據(jù),而運(yùn)算符的右邊放置的是一個(gè)正整數(shù),表示要移位的位數(shù)。第47頁(yè)/共65頁(yè)第46頁(yè)/共65頁(yè)使用移位運(yùn)算第48頁(yè)/共65頁(yè)第47頁(yè)/共65頁(yè)賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符就是一個(gè)等號(hào)(=),表示把“=”右面的表達(dá)式的值賦值給左邊的變量變量=表達(dá)式一個(gè)用賦值運(yùn)算符連接運(yùn)算對(duì)象的式子就是賦值表達(dá)式。第49頁(yè)/共65頁(yè)第48頁(yè)/共65頁(yè)復(fù)合賦值運(yùn)算符只要在賦值運(yùn)算符前面加上一個(gè)其他的二目運(yùn)算符,就形成了復(fù)合賦值運(yùn)算符。+=、–=、*=、/=、%=、<<=、>>=、&=、^=、|=第50頁(yè)/共65頁(yè)第49頁(yè)/共65頁(yè)逗號(hào)運(yùn)算符使用逗號(hào)運(yùn)算符可以將幾個(gè)表達(dá)式連接起來(lái),這樣構(gòu)成的表達(dá)式就是逗號(hào)表達(dá)式,整個(gè)表達(dá)式的值就是最右邊一個(gè)表達(dá)式的值。a=(b=12,c=34,d=56);首先計(jì)算b=12,然后計(jì)算c=34,再計(jì)算d=56。逗號(hào)表達(dá)式b=12,c=34,d=56的結(jié)果就是最右邊的表達(dá)式的值56,因此a的值是56。第51頁(yè)/共65頁(yè)第50頁(yè)/共65頁(yè)sizeof運(yùn)算符sizeof運(yùn)算符可以計(jì)算出數(shù)據(jù)類型所占用空間sizeof運(yùn)算符有兩種使用方式:sizeof(數(shù)據(jù)類型)sizeof變量名第52頁(yè)/共65頁(yè)第51頁(yè)/共65頁(yè)使用sizeof運(yùn)算符第53頁(yè)/共65頁(yè)第52頁(yè)/共65頁(yè)數(shù)據(jù)類型的轉(zhuǎn)換賦值運(yùn)算中的數(shù)據(jù)類型轉(zhuǎn)換表達(dá)式中的數(shù)據(jù)類型轉(zhuǎn)換第54頁(yè)/共65頁(yè)第53頁(yè)/共65頁(yè)賦值運(yùn)算中的數(shù)據(jù)類型轉(zhuǎn)換如果把一種類型的數(shù)據(jù)賦值給另一種類型的變量,那么在賦值的過程中就會(huì)發(fā)生數(shù)據(jù)類型的轉(zhuǎn)換。由于各種數(shù)據(jù)類型所占用的內(nèi)存空間不同,因此當(dāng)占用內(nèi)存空間大的數(shù)據(jù)類型向占用內(nèi)存空間小的數(shù)據(jù)類型轉(zhuǎn)換的時(shí)候,會(huì)導(dǎo)致高位數(shù)據(jù)丟失的情況。第55頁(yè)/共65頁(yè)第54頁(yè)/共65頁(yè)數(shù)據(jù)類型轉(zhuǎn)換導(dǎo)致的錯(cuò)誤第56頁(yè)/共65頁(yè)第55頁(yè)/共65頁(yè)表達(dá)式中的數(shù)據(jù)類型轉(zhuǎn)換在表達(dá)式中,如果各個(gè)運(yùn)算對(duì)象的數(shù)據(jù)類型不同,那么C++會(huì)自動(dòng)把它們轉(zhuǎn)換成同樣的數(shù)據(jù)類型再進(jìn)行計(jì)算。在進(jìn)行類型轉(zhuǎn)換的時(shí)候,都是從占用內(nèi)存空間少的數(shù)據(jù)類型向占用內(nèi)存空間多的數(shù)據(jù)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論