第1周-數(shù)據(jù)類(lèi)型課件_第1頁(yè)
第1周-數(shù)據(jù)類(lèi)型課件_第2頁(yè)
第1周-數(shù)據(jù)類(lèi)型課件_第3頁(yè)
第1周-數(shù)據(jù)類(lèi)型課件_第4頁(yè)
第1周-數(shù)據(jù)類(lèi)型課件_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1編譯過(guò)程:1)啟動(dòng)VisualC++,選擇“文件”菜單中的“新建”命令,選擇“文件”標(biāo)簽中的“C++SourceFile”選項(xiàng)。2)選擇源程序存放的目錄和輸入源程序名,單擊“確定”。3)在編輯器中編寫(xiě)源程序。4)單擊F7或“編譯”中的“重建全部”編譯源程序,若編譯通過(guò),單擊“執(zhí)行”,在DOS屏上看結(jié)果,任按一鍵返回編輯器。第1頁(yè)/共46頁(yè)2啟動(dòng)VC++編譯系統(tǒng)第2頁(yè)/共46頁(yè)3VC++編譯系統(tǒng)界面單擊“File”菜單中“New”命令第3頁(yè)/共46頁(yè)4選擇“Files”選項(xiàng)卡選擇C++源文件命令輸入文件名輸入文件存放位置單擊選擇驅(qū)動(dòng)器選擇驅(qū)動(dòng)器或目錄第4頁(yè)/共46頁(yè)5C++源文件編輯界面輸入C++源代碼第5頁(yè)/共46頁(yè)6可以將此源代碼另起文件名存盤(pán)第6頁(yè)/共46頁(yè)7選擇編譯命令,將源文件.cpp生成.obj文件第7頁(yè)/共46頁(yè)8如果編譯出錯(cuò),會(huì)出現(xiàn)提示信息,指出錯(cuò)誤的位置及種類(lèi)錯(cuò)誤所在行錯(cuò)誤的原因第8頁(yè)/共46頁(yè)9雙擊錯(cuò)誤所在行光標(biāo)移到該行第9頁(yè)/共46頁(yè)10生成可執(zhí)行文件通過(guò)后單擊該命令運(yùn)行程序第10頁(yè)/共46頁(yè)11運(yùn)行結(jié)果顯示在DOS屏上注意:不可以在軟盤(pán)上運(yùn)行程序!應(yīng)該把保存在軟盤(pán)中的源文件拷貝到硬盤(pán)的目錄中再運(yùn)行!第11頁(yè)/共46頁(yè)12源程序所在目錄未編譯前,只有一個(gè)源程序第12頁(yè)/共46頁(yè)13編譯運(yùn)行后,出現(xiàn)眾多附加文件同時(shí),產(chǎn)生一個(gè)子目錄Debug第13頁(yè)/共46頁(yè)14Debug目錄中,有obj和EXE文件第14頁(yè)/共46頁(yè)15常量與變量常量:在程序運(yùn)行過(guò)程中,其值一直保持不變的量為常量。常量也區(qū)分不同的類(lèi)型:30,40為整型,30.0,40.0為實(shí)型,編輯器只是根據(jù)其表面形式來(lái)判斷其類(lèi)型。變量:在程序運(yùn)行過(guò)程中,其值可以改變的量。變量在程序的執(zhí)行中能夠賦值,發(fā)生變化。變量有一個(gè)名字,并在使用之前要說(shuō)明其類(lèi)型,一經(jīng)說(shuō)明,就在內(nèi)存中占據(jù)與其類(lèi)型相應(yīng)的存儲(chǔ)單元。第15頁(yè)/共46頁(yè)16#include<iostream.h>#definePRICE30//常量,在程序中保持不變voidmain(void){intnum,total;//定義變量,在內(nèi)存中開(kāi)辟區(qū)間

num=10;//變量賦值,10為常量

total=num*PRICE;cout<<“total=“<<total;//輸出結(jié)果}其中:num=10total=num*PRICE

是賦值號(hào),不同于數(shù)學(xué)意義上的等號(hào)。numtotal10300PRICE30第16頁(yè)/共46頁(yè)17數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型:一定的數(shù)據(jù)在計(jì)算機(jī)的內(nèi)部表示;該數(shù)據(jù)所表示的值的集合;在該數(shù)據(jù)上的一系列操作。內(nèi)部數(shù)據(jù)類(lèi)型:

1.整型長(zhǎng)整型,短整型,字符型,布爾型

2.浮點(diǎn)型單精度,雙精度第17頁(yè)/共46頁(yè)18C++中有多種數(shù)據(jù)類(lèi)型,均有常量與變量之分,各占不同的內(nèi)存空間,正確定義與使用數(shù)據(jù)是編寫(xiě)程序的基本前提。數(shù)據(jù)類(lèi)型第18頁(yè)/共46頁(yè)19變量名的命名方法:變量名、數(shù)組名、函數(shù)名…稱(chēng)為標(biāo)識(shí)符。標(biāo)識(shí)符只能由字母、數(shù)字、下劃線這三種字符組成,且第一個(gè)字符必須為字母或下劃線,長(zhǎng)度不大于247個(gè)字符,大小寫(xiě)不通用。(關(guān)鍵字不能作為標(biāo)識(shí)符)。關(guān)鍵字即是VC++的語(yǔ)法要求中使用的字。如intifwhile等。正確的標(biāo)識(shí)符:INT,sum,de12,SUM等。變量必須使用前定義,以分配空間。舉例說(shuō)明第19頁(yè)/共46頁(yè)20abcEnglish2xyx-yifElseb(3)‘def’Chine_bbb3yAbsFloatfloat一般變量都是用匈牙利命名法命名的。intnCount;charchChoice;數(shù)據(jù)類(lèi)型第20頁(yè)/共46頁(yè)21數(shù)據(jù)類(lèi)型3.1整型——int3.2整型子類(lèi)3.2.1字符型——char3.3.3布爾型——bool3.3浮點(diǎn)型——float第21頁(yè)/共46頁(yè)22整型常量:常量是根據(jù)其表面形式來(lái)判定,整型量即是沒(méi)有小數(shù)點(diǎn)的整數(shù),范圍:-231~(231-1),有三種形式:1)十進(jìn)制(默認(rèn)方式)

431345876542)八進(jìn)制以0開(kāi)頭

043,056,0113)十六進(jìn)制以0x開(kāi)頭0x120xa30x340xdf(舉例說(shuō)明)

3.1整型數(shù)據(jù)第22頁(yè)/共46頁(yè)23#include<iostream.h>voidmain(void){ intint10,int8,int16;//定義3個(gè)整型變量

int10=10; //默認(rèn)為十進(jìn)制

int8=010; //八進(jìn)制

int16=0x10; //十六進(jìn)制

cout<<"int10="<<int10<<endl; cout<<"int8="<<int8<<endl; cout<<"int16="<<int16<<endl;}輸出int10=10int8=8int16=16第23頁(yè)/共46頁(yè)24整型變量:

(表示范圍參見(jiàn)表3-1,3-2)分為有符號(hào)型與無(wú)符號(hào)型。有符號(hào)型:

short在內(nèi)存中占兩個(gè)字節(jié),范圍為-215~(215-1)

int在內(nèi)存中占四個(gè)字節(jié),范圍為-231~(231-1)

long在內(nèi)存中占四個(gè)字節(jié),范圍為-2-31~231-1無(wú)符號(hào)型:最高位不表示符號(hào)位unsignedshort在內(nèi)存中占兩個(gè)字節(jié),范圍為0~216-1unsignedint在內(nèi)存中占四個(gè)字節(jié),范圍為0~232-1unsignedlong在內(nèi)存中占四個(gè)字節(jié),范圍為0~232-1第24頁(yè)/共46頁(yè)253.2字符型數(shù)據(jù)(char)字符型數(shù)據(jù)實(shí)際上是作為整型數(shù)據(jù)在內(nèi)存中存儲(chǔ)的。計(jì)算機(jī)是以字符編碼的形式處理字符的,因此,我們?cè)谟?jì)算機(jī)內(nèi)部是以ASCII碼的形式表示所有字符的。所以7位二進(jìn)制數(shù)即可表示出一個(gè)字符,我們用一個(gè)字節(jié)的容量(8位)存儲(chǔ)一個(gè)字符。例如:字符A的ASCII碼為0x41或65,在內(nèi)存中表示為:01000001在程序中表示為:chargrade;//定義一個(gè)字符型的變量空間(1個(gè)字節(jié))grade=‘A’;//必須用‘’表示,否則易與標(biāo)識(shí)符混同‘’內(nèi)括起來(lái)的字符表示該字符的ASCII碼。第25頁(yè)/共46頁(yè)26進(jìn)一步,由于在內(nèi)存中的形式與整型數(shù)據(jù)相同,所以,可以直接用其整型值給變量賦值。chargrade;grade=65;以下的賦值形式均是等同的。grade='A';grade=65;grade=0x41;grade=0101;#include<iostream.h>voidmain(void){chara,b;a=‘A’;//輸入ASCII碼

b=65;//輸入十進(jìn)制數(shù)

cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;}輸出:a=Ab=A即在內(nèi)存中的表示均是相同的01000001第26頁(yè)/共46頁(yè)27非打印字符有些ASCII的字符代表某些操作,不能打印出來(lái),如回車(chē)、退格等,可用兩種方式表示這些字符。1)用ASCII碼的形式

charre=13;2)用轉(zhuǎn)義字符

charre=‘\n’;(p15)第27頁(yè)/共46頁(yè)28轉(zhuǎn)義字符含義ASCII代碼\a響鈴7\n換行,將當(dāng)前位置移到下一行開(kāi)頭10\t水平制表(跳到下一個(gè)tab位置)9\b退格,將當(dāng)前位置移到前一列8\r回車(chē),將當(dāng)前位置移到本行開(kāi)頭13\f換頁(yè),將當(dāng)前位置移到下頁(yè)開(kāi)頭12\v豎向跳格8\\反斜杠字符“\”92\′單引號(hào)(撇號(hào))字符39\"雙引號(hào)字符34\0空字符0\ddd1到3位8進(jìn)制數(shù)所代表的字符

\xhh1到2位16進(jìn)制數(shù)所代表的字符

第28頁(yè)/共46頁(yè)29典型轉(zhuǎn)義字符:‘\n’換行‘\b’退格'\t'下一個(gè)輸出區(qū)若輸出中包含這些特定格式,則再加一個(gè)\輸出c:\tc\tc表示為cout<<"c:\\tc\\tc";可以用轉(zhuǎn)義字符表示任一一個(gè)ASCII字符‘\ddd’(八進(jìn)制)‘\xhh‘(十六進(jìn)制)'\101''\x41''\x61''\141'第29頁(yè)/共46頁(yè)30#include<iostream.h>voidmain(void){charc1,c2,c3,c4;charn1,n2;c1='a'; //字符常量

c2=97; //十進(jìn)制

c3='\x61'; //轉(zhuǎn)義字符

c4=0141; //八進(jìn)制

cout<<"c1="<<c1<<'\t'<<"c2="<<c2<<endl;cout<<"c3="<<c3<<'\t'<<"c4="<<c4<<endl;n1=‘\n’;//轉(zhuǎn)義字符:回車(chē)

n2=‘\t’;//轉(zhuǎn)義字符:下一個(gè)輸出區(qū)(Tab)cout<<"使用轉(zhuǎn)義字符\n";cout<<"c1="<<c1<<n2<<"c2="<<c2<<n1;cout<<"c3="<<c3<<n2<<"c4="<<c4<<n1;}輸出:c1=ac2=ac3=ac4=a使用轉(zhuǎn)義字符c1=ac2=ac3=ac4=a第30頁(yè)/共46頁(yè)31表示范圍僅含整數(shù)0和1,也可以表示成true和false,因?yàn)闂l件表達(dá)式、邏輯運(yùn)算的結(jié)果都是0或1,所以,相當(dāng)大數(shù)量的表達(dá)式的值與布爾型對(duì)應(yīng),例如,a>b的值?3.2.3布爾型——bool第31頁(yè)/共46頁(yè)323.2.3布爾型——bool任何非0的整數(shù)都可以為bool型變量賦值,其值均為1.boola=3;//變量a的值為ture或1boolb=1;//變量b的值為true或1boolc=a+b;//變量c的值為ture或1boold=a-b;//變量d的值為false或0第32頁(yè)/共46頁(yè)333.3浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)又稱(chēng)實(shí)型數(shù),它的常量有兩種表示方式:1)十進(jìn)制形式:23.024.53.56789指數(shù)形式:23E1145e-1356789e1e前有數(shù)字,后面必須是整數(shù)。實(shí)型變量分單精度f(wàn)loat和雙精度double兩種形式:float:占四個(gè)字節(jié),提供7~8位有效數(shù)字。double:占八個(gè)字節(jié),提供15~16位有效數(shù)字。舉例說(shuō)明第33頁(yè)/共46頁(yè)34#include<iostream.h>voidmain(void){ floata,b; doublec,d; a=0.01; b=3.45678e-2; c=3.45678e-2; d=9.7654e-5; cout<<"a="<<a<<'\t'<<"b="<<b<<endl; cout<<"c="<<c<<'\t'<<"d="<<d<<endl;}a=0.01b=0.0345678c=0.0345678d=9.7654e-005Pressanykeytocontinue第34頁(yè)/共46頁(yè)35如果為實(shí)數(shù),則用浮點(diǎn)數(shù)的形式在內(nèi)存存儲(chǔ),表示如下:JtJSfS階符階碼數(shù)符尾數(shù)浮點(diǎn)數(shù)是既有整數(shù)又有小數(shù)的數(shù)。浮點(diǎn)數(shù)可以表示成:N=S×RJS稱(chēng)為尾數(shù),尾數(shù)決定有效數(shù)字,即數(shù)字的精度。J表示指數(shù)(階碼)。R是基數(shù),可取2,4,8,16等,對(duì)具體機(jī)器而言,基數(shù)取好后,就不能再變了。數(shù)有正有負(fù),所以設(shè)置數(shù)符;階碼亦有正負(fù),所以設(shè)置階符第35頁(yè)/共46頁(yè)36一般用4個(gè)字節(jié)表示一個(gè)浮點(diǎn)數(shù),也有用8個(gè)字節(jié)表示的。字長(zhǎng)一定,尾數(shù)越多,精度越高;階碼越多,范圍越大。當(dāng)計(jì)算機(jī)中出現(xiàn)小于機(jī)器所能表示的最小數(shù)時(shí),機(jī)器只能當(dāng)零來(lái)處理,當(dāng)出現(xiàn)超過(guò)機(jī)器所能表示的最大數(shù)時(shí),出現(xiàn)溢出現(xiàn)象,一旦出現(xiàn)溢出,就會(huì)停止運(yùn)算。定點(diǎn)數(shù),浮點(diǎn)數(shù)均會(huì)出現(xiàn)溢出現(xiàn)象。參見(jiàn)教材報(bào)表3-4理解浮點(diǎn)數(shù)的表示范圍。第36頁(yè)/共46頁(yè)373.4字符串類(lèi)型:字符串常量用""表示,在內(nèi)存中順序存放,以'\0'結(jié)束。如:"CHINA"0x430x480x490x550x41\0'a'在內(nèi)存中占一個(gè)字節(jié)"a"占兩個(gè)字節(jié)aa\0實(shí)際上內(nèi)存是對(duì)應(yīng)字符的ASCII碼形式010000110100100001001001010101010100000100000000CHINA\0011000010110000100000000第37頁(yè)/共46頁(yè)383.4字符串類(lèi)型:3.4.3字符串變量——string類(lèi)型

string是C++的STL提供的一種自定義數(shù)據(jù)類(lèi)型,

需要包含文件

#include<string>usingnamespacestd;

定義字符串型變量:

strings=“Helloworld”;stringt;第38頁(yè)/共46頁(yè)39類(lèi)串string舉例:

stringa,s1="Hello";strings2="123";a=s1;//copycout<<(a==s1?"":"not")<<"equal\n";//comparecout<<a+s2<<endl;//concatenatereverse(a.begin(),a.end());cout<<a<<endl;//reversecout<<a.replace(0,9,9,'c')<<endl;//setcout<<(s1.find("ell")!=-1?"":"not")<<"found\n";//findstringcout<<(s1.find('c')!=-1?"":"not")<<"found\n";//findchar第39頁(yè)/共46頁(yè)403.5數(shù)組

數(shù)組是同一類(lèi)型的一組值(10個(gè)char或15個(gè)int),在內(nèi)存中順序存放。

整個(gè)數(shù)組共用一個(gè)名字,而其中的每一項(xiàng)又稱(chēng)為一個(gè)元素。一、定義方式:

類(lèi)型說(shuō)明符

數(shù)組名[常量表達(dá)式];

inta[4];

//表明a數(shù)組由4個(gè)int型元素組成

定義類(lèi)型數(shù)組名稱(chēng)元素個(gè)數(shù)第40頁(yè)/共46頁(yè)41inta[4];//表明a數(shù)組由4個(gè)int型元素組成其元素分別為:a[0],a[1],a[2],a[3]

其序號(hào)從0開(kāi)始。若存放首地址為2000H,則在內(nèi)存中為:a[3]a[2]a[1]a[0]2010H200CH2008H2004H2000HC++不允許對(duì)數(shù)組的大小作動(dòng)態(tài)的定義,即數(shù)組的大小不能是變量,必須是常量。必須是常數(shù)第41頁(yè)/共46頁(yè)42一維數(shù)組的初始化在定義數(shù)組的同時(shí)給數(shù)組元素賦值。注意:1、對(duì)數(shù)組中的一部分元素列舉初值,未賦值的部分是0。inta[10]={0,1,2,3,4,5};2、不能給數(shù)組整體賦值,只能一個(gè)一個(gè)地賦值。inta[10]={0,1,2,.....,9};非法inta[

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論