第一章程序基礎(chǔ)第二節(jié)基本數(shù)據(jù)類型與輸入輸出_第1頁
第一章程序基礎(chǔ)第二節(jié)基本數(shù)據(jù)類型與輸入輸出_第2頁
第一章程序基礎(chǔ)第二節(jié)基本數(shù)據(jù)類型與輸入輸出_第3頁
第一章程序基礎(chǔ)第二節(jié)基本數(shù)據(jù)類型與輸入輸出_第4頁
第一章程序基礎(chǔ)第二節(jié)基本數(shù)據(jù)類型與輸入輸出_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

基本數(shù)據(jù)類型與輸入輸出

基本數(shù)據(jù)類型12GAMFE

Gamecollege-v8.0學(xué)習(xí)重點(diǎn):變量和常量運(yùn)算符運(yùn)算符的優(yōu)先級基本數(shù)據(jù)類型學(xué)習(xí)目的:掌握變量和常量的用法掌握運(yùn)算符的使用方法掌握基本數(shù)據(jù)類型的使用方法了解基本數(shù)據(jù)類型在內(nèi)存中的儲存方式1一個程序是由基本的數(shù)據(jù)和操作這些數(shù)據(jù)的算法組成。數(shù)據(jù)則是由基本數(shù)據(jù)類型組成,算法是由邏輯和運(yùn)算符組成。本節(jié)將要學(xué)習(xí)C++程序中的基本數(shù)據(jù)類型和運(yùn)算符,為未來的程序設(shè)計(jì)打下良好的基礎(chǔ)。1.2.1常用運(yùn)算符上圖為一個簡單的循環(huán)計(jì)算程序設(shè)計(jì)圖,其中涉及到計(jì)算的都要使用到運(yùn)算符,而這些參與運(yùn)算的值都是基本數(shù)據(jù)類型。21.2.1常用運(yùn)算符數(shù)據(jù)在程序語言中以值的方式存在,就是常量。類型舉例數(shù)字常量123,3.14,-319,0x23,,3.0e+8字符常量‘a(chǎn)’,‘c’,‘F’字符串常量“game”,“hello”宏定義常量PI,LINE_NUMBER轉(zhuǎn)義字符\n,\r31.2.1常用運(yùn)算符4符號名稱表示方法Newline(換行符)\nhorizontaltab(水平制表鍵)\tverticaltab(垂直制表鍵)\vBackspace(退格鍵)\bcarriagereturn(回車鍵)\rFormfeed(進(jìn)紙鍵)\falert(beel)(響鈴符)\aBackslash(反斜杠鍵)\\questionmark(問號)\?singlequote(單引號)\'doublequote(雙引號)\"布爾型:布爾型常量的值有true和false兩種。分別表示真和假。

字符常量:字符常量可以用單引號和字符表示。如:‘a(chǎn)’,'b'1.2.1常用運(yùn)算符字符串常量簡稱字符串,是由一對雙引號括起來的零個或多個字符序列。"ThisisaC++Program.\n" //字符串常量"\td" //字符串常量"2002\12\22" //字符串常量51.2.1常用運(yùn)算符字符串常量不同于字符常量。主要表現(xiàn)在以下3個方面:

1)字符常量的標(biāo)識符是單引號,字符串常量使用的是雙引號。2)存儲方式不同。在每個字符串的尾部系統(tǒng)會自動加上字符串結(jié)束標(biāo)志"\0",而字符型常量卻不加"\0"。3)字符串常量和字符常量所能進(jìn)行的運(yùn)算是不同的。61.2.1常用運(yùn)算符整數(shù)常量可以用十進(jìn)制、八進(jìn)制或十六進(jìn)制表示。在整型常量后面加“L”或“l(fā)”,將指定該數(shù)字為long型。加“U”或“u”指定其為無符號型。24 030 0x18130L 35u 59UL 743Lu前面加0的數(shù)字將被編譯器解析為八進(jìn)制數(shù),十六進(jìn)制數(shù)的前綴為0x或0X,缺省情況下,整型常量是int型的數(shù)。71.2.1常用運(yùn)算符常量可以寫成普通的小數(shù)形式,也可以寫成科學(xué)計(jì)數(shù)法,浮點(diǎn)常數(shù)默認(rèn)類型為double。使用指數(shù)形式時,可以在小數(shù)后面加“E”或“e”,以及指數(shù)。如果要指定為float型,可以在數(shù)字后面加“F”或“f”。如果要指定為長雙精度longdouble型,可以在數(shù)字后面加“L”或“l(fā)”。3.14159 3.14159f 3.0e+8 12.566370614DL81.2.1常用運(yùn)算符除了直接用文字表示常量外,也可以為常量命名,這就是符號常量。符號常量在聲明時一定要賦初值,在程序中間不能改變其值。const數(shù)據(jù)類型說明符常量名

=常量值;數(shù)據(jù)類型說明符

const常量名=常量值;91.2.1常用運(yùn)算符在程序的執(zhí)行過程中其值可以變化的量稱為變量。在聲明變量時,可以一次聲明多個變量。類型說明符變量名標(biāo)識符,變量名標(biāo)識符,...;變量在使用之前需要首先聲明其類型和名稱。例如以下代碼為一次聲明多個變量: intdata1,data2,data3;101.2.1常用運(yùn)算符C++的變量都有這樣的特點(diǎn):占用內(nèi)存空間,有地址,可以取得變量的地址,也可以根據(jù)地址訪問這個符號代表的變量。1)允許在類型說明符后,說明多個相同類型的變量。各變量名之間用逗號間隔。而類型說明符與變量名之間至少用1個空格間隔。2)最后一個變量名之后必須以“;”號結(jié)尾。3)變量說明必須放在變量使用之前。在書寫變量說明時,應(yīng)注意以下3點(diǎn):111.2.1常用運(yùn)算符運(yùn)算符用于執(zhí)行程序代碼運(yùn)算,會針對一個以上操作數(shù)項(xiàng)目來進(jìn)行運(yùn)算。例如:2+3,其操作數(shù)是2和3,而運(yùn)算符則是“+”。在vs2005中運(yùn)算符大致可以分為5種類型:算術(shù)運(yùn)算符、連接運(yùn)算符、關(guān)系運(yùn)算符、賦值運(yùn)算符和邏輯運(yùn)算符。符號名稱符號算術(shù)運(yùn)算符+、-、*、/、%邏輯運(yùn)算符&&、||、!關(guān)系運(yùn)算符==、!=、<、<=、>=、>位運(yùn)算符&、|、~、^、<<、>>賦值運(yùn)算符=自增自減運(yùn)算符++、--條件運(yùn)算符?:其他*、&、::121.2.1常用運(yùn)算符C++算術(shù)運(yùn)算符有5種,分別是+、-、*、/、%。/運(yùn)算符對整數(shù)運(yùn)算時,結(jié)果只取整數(shù)部分。

%運(yùn)算符用于求余,第一個數(shù)被第二個數(shù)除之后得余數(shù)。求余數(shù)也叫取模,只能用在整數(shù)和字符型操作數(shù)上,不能用于浮點(diǎn)數(shù)。運(yùn)算符功能用法*乘

expr1*expr2/除

expr1/expr2%求余

expr1%expr2+加

expr1+expr2-減

expr1–expr21.2.1常用運(yùn)算符賦值符號=,用于賦值運(yùn)算,將一個操作數(shù)的值傳遞給一個變量。當(dāng)賦值符號右邊的操作數(shù)與左邊變量類型不同時,編譯器會把賦值符號右邊的操作數(shù)轉(zhuǎn)換成左邊操作數(shù)的類型。賦值符號左邊的操作數(shù)必須是變量,不能是常數(shù)。141.2.1常用運(yùn)算符1.2.1.1賦值運(yùn)算符賦值運(yùn)算符除了進(jìn)行賦值以外,也可以在一個變量中同時出現(xiàn)在賦值符兩邊,將賦值符與運(yùn)算符組成賦值運(yùn)算符(+=,-=,*=,/=,%=,&=,|=,^=,>>=,<<=)。例如: intnum=10; num+=20; //等同于num=num+20; num-=20; //等同于num=num-20; num*=20; //等同于num=num*20; num/=20; //等同于num=num/20;151.2.1常用運(yùn)算符1.2.1.2增量運(yùn)算符增量運(yùn)算符:遞增運(yùn)算符記為“++”,其功能是使變量的值自增1。遞減運(yùn)算符記為“--”,其功能是使變量值自減1。運(yùn)算符功能++ii自增1后再參與其他運(yùn)算,++i的值為遞增之后的值--ii自減1后再參與其他運(yùn)算,--i的值為遞減之后的值i++i參與運(yùn)算后,i的值再自增1,i++的值為遞增之后的值i--i參與運(yùn)算后,i的值再自減1,i--的值為遞減之后的值i=3i++i3=4=161.2.1常用運(yùn)算符1.2.1.2增量運(yùn)算符在代碼編譯欄中輸入以下代碼進(jìn)行編譯,查看結(jié)果。#include<iostream>usingnamespacestd;voidmain(){ intiValue=1;

//先將iValue的值進(jìn)行輸出,再讓iValue本身的值自增 cout<<"后自增:"<<iValue++<<endl;

//將iValue的值重置為 iValue=1;

//先將iValue的值自增,再將iValue的值進(jìn)行輸出 cout<<"前自增:"<<++iValue<<endl; system("pause");}171.2.1常用運(yùn)算符1.2.1.3關(guān)系運(yùn)算符關(guān)系運(yùn)算的結(jié)果為bool型,關(guān)系運(yùn)算只用于比較兩個數(shù)的大小關(guān)系。運(yùn)算符功能用法<小于expr1<expr2<=小于等于expr1<=expr2>大于expr1>expr2>=大于等于expr1>=expr2==等于expr1==expr2!=不等于expr1!=expr2181.2.1常用運(yùn)算符1.2.1.4邏輯運(yùn)算符邏輯運(yùn)算符用于邏輯運(yùn)算。只有當(dāng)邏輯與的兩個操作數(shù)都為true時,結(jié)果值才會是true。對于邏輯或運(yùn)算符||,只要兩個操作數(shù)之一為true它的值就為true。運(yùn)算符功能用法!邏輯非!expr&&邏輯與expr1&&expr2||邏輯或expr1||expr2191.2.1常用運(yùn)算符1.2.1.4邏輯運(yùn)算符參與運(yùn)算的量,按二進(jìn)制位進(jìn)行運(yùn)算。操作符功能用法~按位非~expr<<左移expr1<<expr2>>右移expr1>>expr2&按位與expr1&expr2^按位異或expr1^expr2|按位或expr1|expr2&=按位與賦值expr1&=expr2^=按位異或賦值expr1^=expr2|=按位或賦值expr1|=expr2201.2.1常用運(yùn)算符1.2.1.4邏輯運(yùn)算符按位與賦值,按位或賦值,按位異或賦值的含義為:~01111111=100000000101&1101=01010101^1101=10000101|1101=1101211.2.1常用運(yùn)算符1.2.1.5條件運(yùn)算符三目運(yùn)算符?:(目:幾個參數(shù)到這個運(yùn)算符的元素)這是一個三目運(yùn)算符,用于條件求值。在代碼編輯區(qū)鍵入如下代碼并編譯、運(yùn)行、觀察效果:#include<iostream>usingnamespacestd;voidmain(){ intiValue=5; //如果iValue<3,將賦值給iResult,否則將iValue賦值給iResult intiResult=iValue<3?3:iValue; cout<<"iResult="<<iResult<<endl; system("pause");}221.2.1常用運(yùn)算符1.2.1.6其他的運(yùn)算符指針運(yùn)算符:指針運(yùn)算符包括取地址操作符(&)和解引用操作符(*)兩種。求字節(jié)數(shù)運(yùn)算符:用于計(jì)算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。特殊運(yùn)算符:有括號()、下標(biāo)[]、成員(->,.)等幾種,使表達(dá)式意義更明確。231.2.2運(yùn)算符優(yōu)先級C++語言中,運(yùn)算符的運(yùn)算優(yōu)先級共分為16級。1級最高,16級最低優(yōu)先級運(yùn)算符結(jié)合性1()[]->.::++(后置)--(后置)左→右2!~++(前置)--(前置)-+*&(強(qiáng)制類型轉(zhuǎn)換)sizeofnewdelete左→右3.*->*右→左4*/%左→右5+-左→右6<<>>左→右7<<=>=>左→右8==!=左→右9&左→右10^左→右11|左→右12&&左→右13||左→右14?:右→左15=*=/=+=-=|=<<=>>=右→左16,左→右241.2.2運(yùn)算符優(yōu)先級在表達(dá)式中,各操作數(shù)參與運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級別的規(guī)定,還要受運(yùn)算符結(jié)合性的制約,以便確定是自左向右進(jìn)行運(yùn)算,還是自右向左進(jìn)行運(yùn)算。算術(shù)運(yùn)算符的結(jié)合性是自左至右,先左后右。賦值運(yùn)算符是右結(jié)合性運(yùn)算符,先右后左。x-y+z(x-y)+zx=y=zy=z;x=y;25數(shù)據(jù)是程序處理的對象,它被區(qū)分為不同的類型,稱為數(shù)據(jù)類型。布爾型(bool):布爾型(bool),只能取值true或false,用一個字節(jié)存儲。字符型(char):字符型(char)用一個字節(jié)表示,常用于表示字符或小整數(shù)。1.2.3基本數(shù)據(jù)類型在代碼編輯區(qū)鍵入如下代碼并編譯、運(yùn)行、觀察效果:#include<iostream>usingnamespacestd;voidmain(){ cout<<"bool型所占用的字節(jié)數(shù)為:"<<sizeof(bool)<<endl; cout<<"char型所占用的字節(jié)數(shù)為:"<<sizeof(char)<<endl; system("pause");}26整型:short、int、long,可以用來表示不同范圍的整數(shù)值,它們占用的存儲空間也是不同的。短整型類型說明符為short:它在內(nèi)存中占2個字節(jié)。普通整數(shù)類型說明符為int:它在內(nèi)存中占4個字節(jié)。長整型類型說明符為long:

在32位操作系統(tǒng),32位編程環(huán)境下在內(nèi)存中占4個字節(jié)。

在64位操作系統(tǒng),64位編程環(huán)境下在內(nèi)存中占8個字節(jié)。在代碼編輯區(qū)鍵入如下代碼并編譯、運(yùn)行、觀察效果:#include<iostream>usingnamespacestd;voidmain(){cout<<"short型所占用的字節(jié)數(shù)為:"<<sizeof(short)<<endl;cout<<"int型所占用的字節(jié)數(shù)為:"<<sizeof(int)<<endl;cout<<"long型所占用的字節(jié)數(shù)為:"<<sizeof(long)<<endl;system("pause");}1.2.3基本數(shù)據(jù)類型27無符號類型說明符:unsigned對于字符型數(shù)據(jù)類型char,整型數(shù)據(jù)類型short、int、long,C++語言提供了另一個說明符:“unsigned”用來約束整型的取值范圍。被修飾為unsigned的變量當(dāng)賦值為負(fù)數(shù)時,數(shù)據(jù)結(jié)果是錯誤的。(特別注意:VS2005IDE不會提示錯誤,但輸出結(jié)果不正確)1.2.3基本數(shù)據(jù)類型在代碼編輯區(qū)鍵入如下代碼并編譯、運(yùn)行、觀察效果:#include<iostream>usingnamespacestd;voidmain(){unsignedintuiValue=10; //正確unsignedshortusValue=-10; //錯誤,但編譯不會提示錯誤cout<<“uiValue=”<<uiValue<<endl;//正確輸出cout<<“usValue=”<<usValue<<endl;//錯誤輸出system("pause");}28浮點(diǎn)型:C++語言提供了3個表示實(shí)數(shù)的類型:單精度浮點(diǎn)數(shù)類型,簡稱單精度類型,類型名為float;雙精度浮點(diǎn)數(shù)類型,簡稱雙精度類型,類型名為double;長雙精度浮點(diǎn)數(shù)類型,類型名為longdouble,簡稱長雙精度類型。在代碼編譯欄中輸入以下代碼進(jìn)行編譯,查看結(jié)果。#include<iostream>usingnamespacestd;voidmain(){cout<<"float類型占用字節(jié)數(shù)為:"<<sizeof(float)<<endl;cout<<"double類型占用字節(jié)數(shù)為:"<<sizeof(double)<<endl;cout<<"longdouble類型占用字節(jié)數(shù)為:"<<sizeof(longdouble)<<endl;system("pause");}1.2.3基本數(shù)據(jù)類型291.2.3基本數(shù)據(jù)類型30

溫馨提示

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

評論

0/150

提交評論