c++入門基礎(chǔ)課件_第1頁(yè)
c++入門基礎(chǔ)課件_第2頁(yè)
c++入門基礎(chǔ)課件_第3頁(yè)
c++入門基礎(chǔ)課件_第4頁(yè)
c++入門基礎(chǔ)課件_第5頁(yè)
已閱讀5頁(yè),還剩137頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C++程序設(shè)計(jì)1PPT課件C++程序設(shè)計(jì)1PPT課件課程概述課程性質(zhì):通識(shí)基礎(chǔ)課課程目標(biāo):理解并熟練運(yùn)用C語(yǔ)言進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)理解并熟練運(yùn)用C++語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)課程安排:50%課堂講授;50%上機(jī)實(shí)驗(yàn)課程考核:平時(shí)成績(jī)40%;期末筆試60%2PPT課件課程概述課程性質(zhì):通識(shí)基礎(chǔ)課2PPT課件課程內(nèi)容第一部分C語(yǔ)言數(shù)據(jù)類型運(yùn)算符基本語(yǔ)句函數(shù)指針第二部分C++語(yǔ)言類和對(duì)象引用友元繼承多態(tài)和虛函數(shù)抽象類模板運(yùn)算符重載I/O流3PPT課件課程內(nèi)容第一部分C語(yǔ)言3PPT課件參考書目教材C++程序設(shè)計(jì)教程錢能清華大學(xué)出版社參考書目C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)清華大學(xué)出版社面向?qū)ο蟮睦碚撆cC++實(shí)踐王燕清華大學(xué)出版社4PPT課件參考書目教材4PPT課件第一章概述程序設(shè)計(jì)語(yǔ)言程序與算法結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)5PPT課件第一章概述程序設(shè)計(jì)語(yǔ)言5PPT課件1.1程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言CC++JavaBasicC#…6PPT課件1.1程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言6PPT課件1.1程序設(shè)計(jì)語(yǔ)言C++編程流程程序編輯編譯鏈接可執(zhí)行文件7PPT課件1.1程序設(shè)計(jì)語(yǔ)言C++編程流程7PPT課件1.2程序與算法程序代碼算法求解特定問(wèn)題的一組有限的操作序列

程序=算法+數(shù)據(jù)結(jié)構(gòu)8PPT課件1.2程序與算法程序8PPT課件1.3結(jié)構(gòu)化程序設(shè)計(jì)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)9PPT課件1.3結(jié)構(gòu)化程序設(shè)計(jì)順序結(jié)構(gòu)9PPT課件1.4面向?qū)ο蟪绦蛟O(shè)計(jì)出現(xiàn)的原因面向?qū)ο蟮幕靖拍罘庋b繼承多態(tài)10PPT課件1.4面向?qū)ο蟪绦蛟O(shè)計(jì)出現(xiàn)的原因10PPT課件第一個(gè)C++程序#include<iostream.h>intmain(){cout<<“Hello,World!”<<endl;return0;}頭文件主函數(shù)輸出返回11PPT課件第一個(gè)C++程序#include<iostream.h>頭文編程環(huán)境VisualC++6.0如何建立C++文件(演示)“文件”->“新建”選擇“C++SourceFile”,輸入文件名,點(diǎn)“確定”程序調(diào)試12PPT課件編程環(huán)境VisualC++6.012PPT課件第二個(gè)C++程序#include<iostream.h>intmain(){intx,y;/*定義變量x和y*/cout<<“請(qǐng)輸入x的值:”<<endl;cin>>x;cout<<“請(qǐng)輸入y的值:”<<endl;cin>>y;cout<<“x+y=”<<x+y<<endl;//輸出相加之和

return0;}13PPT課件第二個(gè)C++程序#include<iostream.h>13編程風(fēng)格縮進(jìn)對(duì)齊寫注釋14PPT課件編程風(fēng)格縮進(jìn)對(duì)齊14PPT課件總結(jié)15PPT課件總結(jié)15PPT課件第二章數(shù)據(jù)類型、運(yùn)算符、表達(dá)式16PPT課件第二章數(shù)據(jù)類型、運(yùn)算符、表達(dá)式16PPT課件什么是數(shù)據(jù)類型數(shù)據(jù)類型:一定的數(shù)據(jù)在計(jì)算機(jī)的內(nèi)部表示;該數(shù)據(jù)所表示的值的集合;在該數(shù)據(jù)上的一系列操作。17PPT課件什么是數(shù)據(jù)類型數(shù)據(jù)類型:17PPT課件2.1數(shù)據(jù)類型整型字符型枚舉型布爾型浮點(diǎn)型字符串型數(shù)組指針和引用(*)18PPT課件2.1數(shù)據(jù)類型整型18PPT課件常量和變量常量:程序運(yùn)行過(guò)程中不能被改變的量如:整型常量(如12、0、-3為整型常量)實(shí)型常量(4.6、-1.23為實(shí)型常量)字符常量(’a’、’d’字符常量)

19PPT課件常量和變量常量:程序運(yùn)行過(guò)程中不能被改變的量19PPT課件常量和變量變量:在程序運(yùn)行過(guò)程中,其值可以被改變的量稱為變量。每個(gè)變量都必須有一個(gè)名字──變量名,變量命名遵循標(biāo)識(shí)符命名規(guī)則:變量命名的規(guī)定:C++語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。變量必須先定義后使用20PPT課件常量和變量變量:在程序運(yùn)行過(guò)程中,其值可以被改變的量稱為變量2.1.1整型各整型的范圍:取決于不同的編譯器

類型類型說(shuō)明符長(zhǎng)度數(shù)的范圍基本型int4字節(jié)-231~231-1

短整型short2字節(jié)-215~215-1

長(zhǎng)整型long4字節(jié)-231~231-1

無(wú)符號(hào)整型unsigned4字節(jié)0~232-1

無(wú)符號(hào)短整型unsignedshort2字節(jié)0~216-1

無(wú)符號(hào)長(zhǎng)整型unsignedlong4字節(jié)0~(232-1)21PPT課件2.1.1整型各整型的范圍:取決于不同的編譯器類2.1.1整型整型字面值分八進(jìn)制,十進(jìn)制和十六進(jìn)制不同表示.如:

0123//8進(jìn)制

0x12af3//16進(jìn)制

12345//10進(jìn)制

超過(guò)表示范圍的整型數(shù)其值不可預(yù)料或者出錯(cuò).如:

inta=12345678912345678912345;//錯(cuò)22PPT課件2.1.1整型整型字面值分八進(jìn)制,十進(jìn)制和十六進(jìn)制不同表示2.1.1整型整型數(shù)的操作:+,-,*,/,%,<<,>>,<<=,>>=,!,^,<,<=,>,>=,==,^=,&,|,&=,|=,&&,||,&&=,||=,!=,=,+=,-=,*=,/=,%=,++,--,,,?:23PPT課件2.1.1整型整型數(shù)的操作:+,-,*,/,%,<<,>>2.1.1整型變量說(shuō)明的一般形式為:類型說(shuō)明符變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,...;inta,b,c;//a,b,c為整型變量

longx,y;//x,y為長(zhǎng)整型變量

unsignedintp,q;//p,q為無(wú)符號(hào)整型變量24PPT課件2.1.1整型變量說(shuō)明的一般形式為:24PPT課件2.1.2字符型用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,稱為字符常量字符變量的類型關(guān)鍵字為char,一般占用1字節(jié)內(nèi)存單元字符變量用來(lái)存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的ASCII碼值(無(wú)符號(hào)整數(shù))存儲(chǔ)到內(nèi)存單元中??勺鳛檎麛?shù)和字符兩種形式輸出,可對(duì)字符進(jìn)行整數(shù)運(yùn)算(ASCII碼值)C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以反斜杠“\”開(kāi)頭的轉(zhuǎn)義字符。

25PPT課件2.1.2字符型用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,稱為字符常量2.2字符型C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以反斜杠“\”開(kāi)頭的轉(zhuǎn)義字符。

其它如下表:字符形式\n\t\v\b\r\f\\\'\ddd\xxh功能換行橫向跳格(即跳到下一個(gè)輸出區(qū))豎向跳格退格回車走紙換頁(yè)反斜杠字符“\”單引號(hào)(撇號(hào))字符1到3位8進(jìn)制數(shù)所代表的字符1到2位16進(jìn)制數(shù)所代表的字符26PPT課件2.2字符型C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以2.1.2字符型

輸出形式與整型數(shù)不同:inta=65;charb=65;cout<<a<<“\n”;cout<<b<<“\n”;

結(jié)果為:

65A27PPT課件2.1.2字符型輸出形式與整型數(shù)不同:27PPT課件2.1.3枚舉型自定義整數(shù)區(qū)間,甚至列舉單個(gè)整數(shù)值

enumWeek{Mon,Tue,Wed,Thu,Fri,Sat,Sun};最大特點(diǎn)是可以給每個(gè)值指定一個(gè)在程序中直接使用的標(biāo)記(枚舉符).編程中將其當(dāng)作整數(shù)常量用.如:

inta=6;if(a==Sun)cout<<“Sunday\n”;

28PPT課件2.1.3枚舉型自定義整數(shù)區(qū)間,甚至列舉單個(gè)整數(shù)值28PP2.1.4布爾型表示范圍僅含整數(shù)0和1,也可以表示成true和false,相當(dāng)于:因?yàn)闂l件表達(dá)式、邏輯運(yùn)算的結(jié)果都是0或1,所以,相當(dāng)大數(shù)量的表達(dá)式的值與布爾型對(duì)應(yīng)例:boola=3//trueboolb=0//false29PPT課件2.1.4布爾型表示范圍僅含整數(shù)0和1,也可以表示成tru2.1.5浮點(diǎn)型浮點(diǎn)型常量的表示方法小數(shù)形式:0.123指數(shù)形式:3e-330PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型常量的表示方法30PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型分為:?jiǎn)尉龋╢loat型)雙精度(double型)長(zhǎng)雙精度型(longdouble)

類型位數(shù)數(shù)的范圍有效數(shù)字float32

10-37~10386~7位double型64

10-307~1030815~16位longdouble12810-4931~10493218~19位31PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型分為:類型2.1.5浮點(diǎn)型浮點(diǎn)型變量的賦值floatf1=19.2fdoublef2=19.232PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型變量的賦值32PPT課件(1)C語(yǔ)言允許在定義變量的同時(shí)使變量初始化。如:inta=3;//指定a為整型變量,初值為3

floatf=3.56;//指定f為浮點(diǎn)型變量,初值為3.56charc=‘a(chǎn)’;//指定c為字符變量,初值為‘a(chǎn)’小結(jié)33PPT課件(1)C語(yǔ)言允許在定義變量的同時(shí)使變量初始化。小結(jié)33PPT小結(jié)(2)可以使被定義的變量的一部分賦初值。如:

inta,b,c=5;表示指定a、b、c為整型變量,但只對(duì)c初始化,c的初值為5(3)如果對(duì)幾個(gè)變量賦以同一個(gè)初值,應(yīng)寫成:inta=3,b=3,c=3;表示a、b、c的初值都是3。不能寫成∶inta=b=c3;34PPT課件小結(jié)(2)可以使被定義的變量的一部分賦初值。34PPT課件練習(xí)1用戶輸入圓的半徑,求出圓的面積并輸出。#include<iostream.h>#include<math.h>intmain(){ doubler,mj; cout<<"請(qǐng)輸入圓的半徑:"<<endl; cin>>r; mj=3.14*r*r; cout<<"圓的面積是:"<<mj<<endl; return0;}35PPT課件練習(xí)1用戶輸入圓的半徑,求出圓的面積并輸出。35PPT課件練習(xí)2輸入矩形的長(zhǎng)和寬,求矩形的周長(zhǎng)并輸出。#include<iostream.h>intmain(){ doublex,y,zc; cout<<"請(qǐng)輸入矩形的長(zhǎng):"<<endl; cin>>x; cout<<"請(qǐng)輸入矩形的寬:"<<endl; cin>>y; zc=2*x+2*y; cout<<"矩形的周長(zhǎng)是:"<<zc<<endl; return0;}36PPT課件練習(xí)2輸入矩形的長(zhǎng)和寬,求矩形的周長(zhǎng)并輸出。36PPT課件2.1.6數(shù)組數(shù)組是同類元素的集合,它的元素排列在連續(xù)的空間中,按下標(biāo)來(lái)標(biāo)記描述數(shù)組必須給出元素類型,元素個(gè)數(shù)元素個(gè)數(shù)必須在編程時(shí)確定,任何變量都不允許數(shù)組的定義格式為:類型名數(shù)組名[常量表達(dá)式]數(shù)組下標(biāo)從0開(kāi)始37PPT課件2.1.6數(shù)組數(shù)組是同類元素的集合,它的元素排列在連續(xù)的空2.1.6數(shù)組例:

inta[’a’];//表示inta[97];intn=100;inta[n];//錯(cuò):元素個(gè)數(shù)必須預(yù)知

constintn=100;inta[n];//ok

inta[];//錯(cuò):無(wú)元素個(gè)數(shù)

inta[]={1,2,3,4,5};//ok:通過(guò)初始化確定元素個(gè)數(shù)38PPT課件2.1.6數(shù)組例:38PPT課件2.1.6數(shù)組

數(shù)組初始化可選,但須遵循語(yǔ)法.無(wú)初始化的數(shù)組按規(guī)定取默認(rèn)值

intarray1[5]={1,2,3,4,5,6};//錯(cuò):初始值個(gè)數(shù)超元素個(gè)數(shù)intarray2[5]={1,,2,3,4};//錯(cuò):不能以逗號(hào)方式省略intarray3[5]={1,2,3,};//錯(cuò):同上intarray4[5]={};//錯(cuò):初始值不能為空intarray5[5]={1,2,3};//ok:后面元素取0intarray6[5]={0};//ok:元素全為0intarray7[5];//ok:元素值不確定inta[3][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};39PPT課件2.1.6數(shù)組數(shù)組初始化可選,但須遵循語(yǔ)法.無(wú)初始化的2.1.6數(shù)組二維數(shù)組二維數(shù)組的定義格式為:類型名數(shù)組名[常量表達(dá)式][常量表達(dá)式]inta[3][4];//a為3×4(3行4列)的數(shù)組floatb[5][10];//b為5×10(5行10列)的數(shù)組40PPT課件2.1.6數(shù)組二維數(shù)組40PPT課件2.1.6數(shù)組二維數(shù)組的初始化分行賦值,如:

inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};全部數(shù)據(jù)寫在一個(gè)大括號(hào)內(nèi),如:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};部分元素賦值,如:inta[3][4]={{1},{5},{9}};僅對(duì)a[0][0]、a[1][0]、a[2][0]賦值,其余元素未賦值(編譯器自動(dòng)為未賦值元素指定初值041PPT課件2.1.6數(shù)組二維數(shù)組的初始化41PPT課件2.1.6數(shù)組二維數(shù)組的初始化如果對(duì)全部元素賦初值,則第一維的長(zhǎng)度可以不指定,但必須指定第二維的長(zhǎng)度。例:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

與下面定義等價(jià):

inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};42PPT課件2.1.6數(shù)組二維數(shù)組的初始化42PPT課件練習(xí)3斐波那契數(shù)列如下F0=1F1=1Fn=Fn-1+Fn-2

使用數(shù)組求出斐波那契數(shù)列的前5項(xiàng),并輸出。43PPT課件練習(xí)3斐波那契數(shù)列如下43PPT課件#include<iostream.h>intmain(){ intF[5]; F[0]=F[1]=1; F[2]=F[0]+F[1]; F[3]=F[1]+F[2]; F[4]=F[2]+F[3]; cout<<"斐波那契數(shù)列的前5項(xiàng)是:"<<F[0]<<""<<F[1]<<""<<F[2]<<""<<F[3]<<""<<F[4]<<endl;}44PPT課件#include<iostream.h>44PPT課件2.1.7字符串型C-串C語(yǔ)言中沒(méi)有字符串類型charbuffer[7]=“Hello!“;本質(zhì)是一個(gè)字符數(shù)組’H’’e’’l’’l’’o’’!’’\0’7210110810811133045PPT課件2.1.7字符串型C-串’H’’e’’l’’l’’o’’!2.1.7字符串型知道了C-串首地址,即可知道整個(gè)串,所以可以用字符首址(字符指針)來(lái)操作C-串,但要注意,串的第一個(gè)字符與整個(gè)串的操作不同,如,C-串的輸出操作:

char*str=”Hello”;cout<<*str<<endl;//顯示Hcout<<str<<endl;//顯示Hello46PPT課件2.1.7字符串型知道了C-串首地址,即可知道整個(gè)串,所以2.1.7字符串型string:C++提供的一種自定義類型例:

stringa,s1="Hello";strings2="123";a=s1;47PPT課件2.1.7字符串型string:C++提供的一種自定義類型2.1.7字符串型輸入C-串的string承載方式:cin>>的讀入方式總是將前導(dǎo)的空格(所謂空格,即包括空格、回車、水平或垂直制表符等)濾掉,將單詞讀入,在遇到空格時(shí)結(jié)束本次輸入getline總是將行末的回車符濾掉,將其整行輸入對(duì)字串”Hello,Howareyou?”的兩種輸入方式

for(strings;cin>>s;)cout<<s<<”“;cout<<s<<endl;

strings;getline(cin,s);cout<<s<<endl;48PPT課件2.1.7字符串型輸入C-串的string承載方式:48P2.1.8指針與引用指針是一種特殊的變量,它是存放地址的指針必須初始化或者賦值(指向了數(shù)據(jù))后,才能進(jìn)行間接訪問(wèn)(間訪)操作int*ip;intiCount=18;int*iPtr=&iCount;//初始化ip=&iCount;//賦值*ip=8;//間訪操作20008地址:2000iCountip2000iPtr49PPT課件2.1.8指針與引用指針是一種特殊的變量,它是存放地址的22.1.8指針與引用為表示指針變量和它指向的變量之間的關(guān)系,用指針運(yùn)算符“*”表示。運(yùn)算符“&”表示取地址。例如int*num_pointer;intnum=3;/*將3直接賦給變量num*/num_pointer=#//使num_pointer指向num*num_pointer=3; /*將3賦給指針變量num_pointer所指向的變量*/50PPT課件2.1.8指針與引用為表示指針變量和它指向的變量之間的關(guān)系2.1.8指針與引用定義指針變量的一般形式為基類型*指針變量名;51PPT課件2.1.8指針與引用定義指針變量的一般形式為51PPT課件2.1.8指針與引用下面都是合法的定義:float*pointer_3;

char*pointer_4;可以用賦值語(yǔ)句使一個(gè)指針變量得到另一個(gè)變量的地址,從而使它指向一個(gè)該變量。例如:pointer_1=&i;pointer_2=&j;52PPT課件2.1.8指針與引用下面都是合法的定義:52PPT課件2.1.8指針與引用指針變量前面的“*”,表示該變量的類型為指針型變量。例:float*pointer_1;指針變量名是pointer_1

,而不是*pointer_1

。(2)在定義指針變量時(shí)必須指定基類型。需要特別注意的是,只有整型變量的地址才能放到指向整型變量的指針變量中。下面的賦值是錯(cuò)誤的∶floata;int*pointer_1;pointer_1=&a;53PPT課件2.1.8指針與引用指針變量前面的“*”,表示該變量的類型2.1.8指針與引用指針加減整數(shù)的操作表示空間位置上的挪動(dòng),但是挪動(dòng)的字節(jié)數(shù)與其數(shù)據(jù)類型相關(guān):

對(duì)float指針加6實(shí)際增加了24個(gè)字節(jié)

對(duì)longint指針加5實(shí)際增加了20個(gè)字節(jié)

對(duì)char指針減7實(shí)際減少了7個(gè)字節(jié)

對(duì)double指針減2實(shí)際減少了16個(gè)字節(jié)54PPT課件2.1.8指針與引用指針加減整數(shù)的操作表示空間位置上的挪動(dòng)2.1.8指針與引用數(shù)組名本身就是表示元素集合的首地址

可以將數(shù)組名賦給指針

inta[3];

a[1]=1;a[2]=2;a[3]=3;int*iP=a;cout<<*(iP+2)<<“\n”;

結(jié)果為:

355PPT課件2.1.8指針與引用數(shù)組名本身就是表示元素集合的首地址

2.1.8指針與引用引用必須初始化,因?yàn)橐每偸歉綄儆谀硞€(gè)實(shí)體

intsomeInt=5;

int&rInt=someIne;//初始化

修改引用的值,即是修改了附屬的實(shí)體值

inta=5;

int&ra=a;

ra=8;

cout<<a<<“\n”;

結(jié)果為:

856PPT課件2.1.8指針與引用引用必須初始化,因?yàn)橐每偸歉綄儆谀硞€(gè)2.2運(yùn)算符運(yùn)算符:狹義的運(yùn)算符是表示各種運(yùn)算的符號(hào)。C++語(yǔ)言運(yùn)算符豐富,范圍很寬,把除了控制語(yǔ)句和輸入/輸出以外的幾乎所有的基本操作都作為運(yùn)算符處理,所以C++語(yǔ)言運(yùn)算符可以看作是操作符。C++語(yǔ)言豐富的運(yùn)算符構(gòu)成C++語(yǔ)言豐富的表達(dá)式(是運(yùn)算符就可以構(gòu)成表達(dá)式)。運(yùn)算符豐富、表達(dá)式豐富、靈活。在C++語(yǔ)言中除了提供一般高級(jí)語(yǔ)言的算術(shù)、關(guān)系、邏輯運(yùn)算符外,還提供賦值運(yùn)算符,位操作運(yùn)算符、自增自減運(yùn)算符等等。甚至數(shù)組下標(biāo),函數(shù)調(diào)用都作為運(yùn)算符。57PPT課件2.2運(yùn)算符運(yùn)算符:狹義的運(yùn)算符是表示各種運(yùn)算的符號(hào)。572.2運(yùn)算符58PPT課件2.2運(yùn)算符58PPT課件2.2運(yùn)算符C中各類運(yùn)算符的優(yōu)先級(jí):初等運(yùn)算符 ()、[]、單目運(yùn)算符 !、+

+、–

–、+、–、(類型)算術(shù)運(yùn)算符 、/、%,+、–關(guān)系運(yùn)算符 <、>、<=、>=,=

=、!

=邏輯運(yùn)算符 &&、||條件運(yùn)算符 ?:賦值運(yùn)算符 =、+=、–=、=、/=、%=逗號(hào)運(yùn)算符 ,59PPT課件2.2運(yùn)算符C中各類運(yùn)算符的優(yōu)先級(jí):初等運(yùn)算符 ()2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本的算術(shù)運(yùn)算符:+(加法運(yùn)算符,或正值運(yùn)算符,如:3+5、+3)-(減法運(yùn)算符,或負(fù)值運(yùn)算符,如:5-2、-3)*(乘法運(yùn)算符,如:3*5)/(除法運(yùn)算符,如:5/3)%(模運(yùn)算符,或稱求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。60PPT課件2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本的算術(shù)運(yùn)算符:60PPT2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性基本的算術(shù)運(yùn)算符:

用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(也稱操作數(shù))連接起來(lái)的、符合C++語(yǔ)法規(guī)則的式子,稱為C++算術(shù)表達(dá)式。運(yùn)算對(duì)象包括常量、變量、函數(shù)等。

例如:

a*b/c-1.5+′a′

是一個(gè)合法的表達(dá)式。61PPT課件2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換是通過(guò)類型轉(zhuǎn)換運(yùn)算符來(lái)實(shí)現(xiàn)。一般形式:(類型說(shuō)明符)表達(dá)式功能:把表達(dá)式的結(jié)果強(qiáng)制轉(zhuǎn)換為類型說(shuō)明符所表示的類型。(int)a將a的結(jié)果強(qiáng)制轉(zhuǎn)換為整型量。(int)(x+y)將x+y的結(jié)果強(qiáng)制轉(zhuǎn)換為整型量。(float)a+b將a的內(nèi)容強(qiáng)制轉(zhuǎn)換為浮點(diǎn)數(shù),再與b相加無(wú)論隱式轉(zhuǎn)換,強(qiáng)制轉(zhuǎn)換都是臨時(shí)轉(zhuǎn)換,不改變數(shù)據(jù)本身的類型和值。62PPT課件強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換是通過(guò)類型轉(zhuǎn)換運(yùn)算符來(lái)實(shí)現(xiàn)。(int)a2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式自增、自減運(yùn)算符(++--)

作用是使變量的值增1或減1如:++i,--i(在使用i之前,先使i的值加(減)1)i++,i--(在使用i之后,使i的值加(減)1)63PPT課件2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式自增、自減運(yùn)算符(++2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式i++與++i的區(qū)別:

++i是先執(zhí)行i=i+1后,再使用i的值;i++是先使用i的值后,再執(zhí)行i=i+1。例如:

①j=++i;如果i的初值是3,則i的值先變成4,再賦給j,j的值均為4

②j=i++;如果i的初值是3,先將i的值3賦給j,j的值為3,然后i變?yōu)椋?4PPT課件2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式i++與++i的區(qū)別:64P2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式注意:

(1)自增運(yùn)算符(++),自減運(yùn)算符(--),只能用于變量,而不能用于常量或表達(dá)式,

(2)++和--的結(jié)合方向是“自右至左”。

自增(減)運(yùn)算符常用于循環(huán)語(yǔ)句中使循環(huán)變量自動(dòng)加1。也用于指針變量,使指針指向下一個(gè)地址

65PPT課件2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式注意:自增(減)運(yùn)算2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式②C語(yǔ)言中有的運(yùn)算符為一個(gè)字符,有的運(yùn)算符由兩個(gè)字符組成,為避免誤解,最好采取大家都能理解的寫法。例如:不要寫成i+++j的形式,而應(yīng)寫成

(i++)+j的形式

66PPT課件2.2.1算術(shù)運(yùn)算符和算術(shù)表達(dá)式②C語(yǔ)言中有的運(yùn)算符為一個(gè)字2.2.2賦值運(yùn)算符和賦值表達(dá)式符號(hào)"="為賦值運(yùn)算符。67PPT課件2.2.2賦值運(yùn)算符和賦值表達(dá)式符號(hào)"="為賦值運(yùn)算符一般形式:<變量><賦值運(yùn)算符><表達(dá)式>賦值表達(dá)式例:x=10為一賦值表達(dá)式其中<表達(dá)式>又可以是一個(gè)賦值表達(dá)式。例:x=(y=10)相當(dāng)于y=10;x=y由于賦值號(hào)為右結(jié)合性,于是"()"可省略,即為:x=y=10;68PPT課件一般形式:賦值表達(dá)式例:x=10為一賦值表達(dá)式例:x=例:a+=a–=aa(設(shè)a12)又:a=5+(c=6)c=6,a=11a=(b=4)+(c=6)

b=4,c=6,a=10a=(b=10)/(c=2)b=10,c=2,a=5進(jìn)一步,還可用復(fù)合賦值運(yùn)算符作下列運(yùn)算:步驟:

aa144.a–=aaa=a–aa=12–144=–132a+=–132a=a+(–132)=–26469PPT課件例:a+=a–=aa(設(shè)2.2.2逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式

一般形式:

表達(dá)式1,表達(dá)式2,表達(dá)式3,……表達(dá)式n其計(jì)算規(guī)則:

先計(jì)算表達(dá)式1,再計(jì)算表達(dá)式2,…..最后值為表達(dá)式n的值。例:a=35,a4

則:先計(jì)算35,a15,a4=60,結(jié)果為60。70PPT課件2.2.2逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式一般形式:其計(jì)算規(guī)則:又如:(a=35,a4),a+5結(jié)果為20(作為逗號(hào)表達(dá)式的值)

a+5a即20a.35=15aa4=60(此時(shí)a值仍未變)71PPT課件又如:(a=35,a4),a+5結(jié)果為20(作C++程序設(shè)計(jì)72PPT課件C++程序設(shè)計(jì)1PPT課件課程概述課程性質(zhì):通識(shí)基礎(chǔ)課課程目標(biāo):理解并熟練運(yùn)用C語(yǔ)言進(jìn)行結(jié)構(gòu)化程序設(shè)計(jì)理解并熟練運(yùn)用C++語(yǔ)言進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì)課程安排:50%課堂講授;50%上機(jī)實(shí)驗(yàn)課程考核:平時(shí)成績(jī)40%;期末筆試60%73PPT課件課程概述課程性質(zhì):通識(shí)基礎(chǔ)課2PPT課件課程內(nèi)容第一部分C語(yǔ)言數(shù)據(jù)類型運(yùn)算符基本語(yǔ)句函數(shù)指針第二部分C++語(yǔ)言類和對(duì)象引用友元繼承多態(tài)和虛函數(shù)抽象類模板運(yùn)算符重載I/O流74PPT課件課程內(nèi)容第一部分C語(yǔ)言3PPT課件參考書目教材C++程序設(shè)計(jì)教程錢能清華大學(xué)出版社參考書目C語(yǔ)言程序設(shè)計(jì)譚浩強(qiáng)清華大學(xué)出版社面向?qū)ο蟮睦碚撆cC++實(shí)踐王燕清華大學(xué)出版社75PPT課件參考書目教材4PPT課件第一章概述程序設(shè)計(jì)語(yǔ)言程序與算法結(jié)構(gòu)化程序設(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)76PPT課件第一章概述程序設(shè)計(jì)語(yǔ)言5PPT課件1.1程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言CC++JavaBasicC#…77PPT課件1.1程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言6PPT課件1.1程序設(shè)計(jì)語(yǔ)言C++編程流程程序編輯編譯鏈接可執(zhí)行文件78PPT課件1.1程序設(shè)計(jì)語(yǔ)言C++編程流程7PPT課件1.2程序與算法程序代碼算法求解特定問(wèn)題的一組有限的操作序列

程序=算法+數(shù)據(jù)結(jié)構(gòu)79PPT課件1.2程序與算法程序8PPT課件1.3結(jié)構(gòu)化程序設(shè)計(jì)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)80PPT課件1.3結(jié)構(gòu)化程序設(shè)計(jì)順序結(jié)構(gòu)9PPT課件1.4面向?qū)ο蟪绦蛟O(shè)計(jì)出現(xiàn)的原因面向?qū)ο蟮幕靖拍罘庋b繼承多態(tài)81PPT課件1.4面向?qū)ο蟪绦蛟O(shè)計(jì)出現(xiàn)的原因10PPT課件第一個(gè)C++程序#include<iostream.h>intmain(){cout<<“Hello,World!”<<endl;return0;}頭文件主函數(shù)輸出返回82PPT課件第一個(gè)C++程序#include<iostream.h>頭文編程環(huán)境VisualC++6.0如何建立C++文件(演示)“文件”->“新建”選擇“C++SourceFile”,輸入文件名,點(diǎn)“確定”程序調(diào)試83PPT課件編程環(huán)境VisualC++6.012PPT課件第二個(gè)C++程序#include<iostream.h>intmain(){intx,y;/*定義變量x和y*/cout<<“請(qǐng)輸入x的值:”<<endl;cin>>x;cout<<“請(qǐng)輸入y的值:”<<endl;cin>>y;cout<<“x+y=”<<x+y<<endl;//輸出相加之和

return0;}84PPT課件第二個(gè)C++程序#include<iostream.h>13編程風(fēng)格縮進(jìn)對(duì)齊寫注釋85PPT課件編程風(fēng)格縮進(jìn)對(duì)齊14PPT課件總結(jié)86PPT課件總結(jié)15PPT課件第二章數(shù)據(jù)類型、運(yùn)算符、表達(dá)式87PPT課件第二章數(shù)據(jù)類型、運(yùn)算符、表達(dá)式16PPT課件什么是數(shù)據(jù)類型數(shù)據(jù)類型:一定的數(shù)據(jù)在計(jì)算機(jī)的內(nèi)部表示;該數(shù)據(jù)所表示的值的集合;在該數(shù)據(jù)上的一系列操作。88PPT課件什么是數(shù)據(jù)類型數(shù)據(jù)類型:17PPT課件2.1數(shù)據(jù)類型整型字符型枚舉型布爾型浮點(diǎn)型字符串型數(shù)組指針和引用(*)89PPT課件2.1數(shù)據(jù)類型整型18PPT課件常量和變量常量:程序運(yùn)行過(guò)程中不能被改變的量如:整型常量(如12、0、-3為整型常量)實(shí)型常量(4.6、-1.23為實(shí)型常量)字符常量(’a’、’d’字符常量)

90PPT課件常量和變量常量:程序運(yùn)行過(guò)程中不能被改變的量19PPT課件常量和變量變量:在程序運(yùn)行過(guò)程中,其值可以被改變的量稱為變量。每個(gè)變量都必須有一個(gè)名字──變量名,變量命名遵循標(biāo)識(shí)符命名規(guī)則:變量命名的規(guī)定:C++語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符必須為字母或下劃線。變量必須先定義后使用91PPT課件常量和變量變量:在程序運(yùn)行過(guò)程中,其值可以被改變的量稱為變量2.1.1整型各整型的范圍:取決于不同的編譯器

類型類型說(shuō)明符長(zhǎng)度數(shù)的范圍基本型int4字節(jié)-231~231-1

短整型short2字節(jié)-215~215-1

長(zhǎng)整型long4字節(jié)-231~231-1

無(wú)符號(hào)整型unsigned4字節(jié)0~232-1

無(wú)符號(hào)短整型unsignedshort2字節(jié)0~216-1

無(wú)符號(hào)長(zhǎng)整型unsignedlong4字節(jié)0~(232-1)92PPT課件2.1.1整型各整型的范圍:取決于不同的編譯器類2.1.1整型整型字面值分八進(jìn)制,十進(jìn)制和十六進(jìn)制不同表示.如:

0123//8進(jìn)制

0x12af3//16進(jìn)制

12345//10進(jìn)制

超過(guò)表示范圍的整型數(shù)其值不可預(yù)料或者出錯(cuò).如:

inta=12345678912345678912345;//錯(cuò)93PPT課件2.1.1整型整型字面值分八進(jìn)制,十進(jìn)制和十六進(jìn)制不同表示2.1.1整型整型數(shù)的操作:+,-,*,/,%,<<,>>,<<=,>>=,!,^,<,<=,>,>=,==,^=,&,|,&=,|=,&&,||,&&=,||=,!=,=,+=,-=,*=,/=,%=,++,--,,,?:94PPT課件2.1.1整型整型數(shù)的操作:+,-,*,/,%,<<,>>2.1.1整型變量說(shuō)明的一般形式為:類型說(shuō)明符變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符,...;inta,b,c;//a,b,c為整型變量

longx,y;//x,y為長(zhǎng)整型變量

unsignedintp,q;//p,q為無(wú)符號(hào)整型變量95PPT課件2.1.1整型變量說(shuō)明的一般形式為:24PPT課件2.1.2字符型用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,稱為字符常量字符變量的類型關(guān)鍵字為char,一般占用1字節(jié)內(nèi)存單元字符變量用來(lái)存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是將該字符的ASCII碼值(無(wú)符號(hào)整數(shù))存儲(chǔ)到內(nèi)存單元中。可作為整數(shù)和字符兩種形式輸出,可對(duì)字符進(jìn)行整數(shù)運(yùn)算(ASCII碼值)C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以反斜杠“\”開(kāi)頭的轉(zhuǎn)義字符。

96PPT課件2.1.2字符型用一對(duì)單引號(hào)括起來(lái)的單個(gè)字符,稱為字符常量2.2字符型C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以反斜杠“\”開(kāi)頭的轉(zhuǎn)義字符。

其它如下表:字符形式\n\t\v\b\r\f\\\'\ddd\xxh功能換行橫向跳格(即跳到下一個(gè)輸出區(qū))豎向跳格退格回車走紙換頁(yè)反斜杠字符“\”單引號(hào)(撇號(hào))字符1到3位8進(jìn)制數(shù)所代表的字符1到2位16進(jìn)制數(shù)所代表的字符97PPT課件2.2字符型C語(yǔ)言還允許使用一種特殊形式的字符常量,就是以2.1.2字符型

輸出形式與整型數(shù)不同:inta=65;charb=65;cout<<a<<“\n”;cout<<b<<“\n”;

結(jié)果為:

65A98PPT課件2.1.2字符型輸出形式與整型數(shù)不同:27PPT課件2.1.3枚舉型自定義整數(shù)區(qū)間,甚至列舉單個(gè)整數(shù)值

enumWeek{Mon,Tue,Wed,Thu,Fri,Sat,Sun};最大特點(diǎn)是可以給每個(gè)值指定一個(gè)在程序中直接使用的標(biāo)記(枚舉符).編程中將其當(dāng)作整數(shù)常量用.如:

inta=6;if(a==Sun)cout<<“Sunday\n”;

99PPT課件2.1.3枚舉型自定義整數(shù)區(qū)間,甚至列舉單個(gè)整數(shù)值28PP2.1.4布爾型表示范圍僅含整數(shù)0和1,也可以表示成true和false,相當(dāng)于:因?yàn)闂l件表達(dá)式、邏輯運(yùn)算的結(jié)果都是0或1,所以,相當(dāng)大數(shù)量的表達(dá)式的值與布爾型對(duì)應(yīng)例:boola=3//trueboolb=0//false100PPT課件2.1.4布爾型表示范圍僅含整數(shù)0和1,也可以表示成tru2.1.5浮點(diǎn)型浮點(diǎn)型常量的表示方法小數(shù)形式:0.123指數(shù)形式:3e-3101PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型常量的表示方法30PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型分為:?jiǎn)尉龋╢loat型)雙精度(double型)長(zhǎng)雙精度型(longdouble)

類型位數(shù)數(shù)的范圍有效數(shù)字float32

10-37~10386~7位double型64

10-307~1030815~16位longdouble12810-4931~10493218~19位102PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型分為:類型2.1.5浮點(diǎn)型浮點(diǎn)型變量的賦值floatf1=19.2fdoublef2=19.2103PPT課件2.1.5浮點(diǎn)型浮點(diǎn)型變量的賦值32PPT課件(1)C語(yǔ)言允許在定義變量的同時(shí)使變量初始化。如:inta=3;//指定a為整型變量,初值為3

floatf=3.56;//指定f為浮點(diǎn)型變量,初值為3.56charc=‘a(chǎn)’;//指定c為字符變量,初值為‘a(chǎn)’小結(jié)104PPT課件(1)C語(yǔ)言允許在定義變量的同時(shí)使變量初始化。小結(jié)33PPT小結(jié)(2)可以使被定義的變量的一部分賦初值。如:

inta,b,c=5;表示指定a、b、c為整型變量,但只對(duì)c初始化,c的初值為5(3)如果對(duì)幾個(gè)變量賦以同一個(gè)初值,應(yīng)寫成:inta=3,b=3,c=3;表示a、b、c的初值都是3。不能寫成∶inta=b=c3;105PPT課件小結(jié)(2)可以使被定義的變量的一部分賦初值。34PPT課件練習(xí)1用戶輸入圓的半徑,求出圓的面積并輸出。#include<iostream.h>#include<math.h>intmain(){ doubler,mj; cout<<"請(qǐng)輸入圓的半徑:"<<endl; cin>>r; mj=3.14*r*r; cout<<"圓的面積是:"<<mj<<endl; return0;}106PPT課件練習(xí)1用戶輸入圓的半徑,求出圓的面積并輸出。35PPT課件練習(xí)2輸入矩形的長(zhǎng)和寬,求矩形的周長(zhǎng)并輸出。#include<iostream.h>intmain(){ doublex,y,zc; cout<<"請(qǐng)輸入矩形的長(zhǎng):"<<endl; cin>>x; cout<<"請(qǐng)輸入矩形的寬:"<<endl; cin>>y; zc=2*x+2*y; cout<<"矩形的周長(zhǎng)是:"<<zc<<endl; return0;}107PPT課件練習(xí)2輸入矩形的長(zhǎng)和寬,求矩形的周長(zhǎng)并輸出。36PPT課件2.1.6數(shù)組數(shù)組是同類元素的集合,它的元素排列在連續(xù)的空間中,按下標(biāo)來(lái)標(biāo)記描述數(shù)組必須給出元素類型,元素個(gè)數(shù)元素個(gè)數(shù)必須在編程時(shí)確定,任何變量都不允許數(shù)組的定義格式為:類型名數(shù)組名[常量表達(dá)式]數(shù)組下標(biāo)從0開(kāi)始108PPT課件2.1.6數(shù)組數(shù)組是同類元素的集合,它的元素排列在連續(xù)的空2.1.6數(shù)組例:

inta[’a’];//表示inta[97];intn=100;inta[n];//錯(cuò):元素個(gè)數(shù)必須預(yù)知

constintn=100;inta[n];//ok

inta[];//錯(cuò):無(wú)元素個(gè)數(shù)

inta[]={1,2,3,4,5};//ok:通過(guò)初始化確定元素個(gè)數(shù)109PPT課件2.1.6數(shù)組例:38PPT課件2.1.6數(shù)組

數(shù)組初始化可選,但須遵循語(yǔ)法.無(wú)初始化的數(shù)組按規(guī)定取默認(rèn)值

intarray1[5]={1,2,3,4,5,6};//錯(cuò):初始值個(gè)數(shù)超元素個(gè)數(shù)intarray2[5]={1,,2,3,4};//錯(cuò):不能以逗號(hào)方式省略intarray3[5]={1,2,3,};//錯(cuò):同上intarray4[5]={};//錯(cuò):初始值不能為空intarray5[5]={1,2,3};//ok:后面元素取0intarray6[5]={0};//ok:元素全為0intarray7[5];//ok:元素值不確定inta[3][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}};110PPT課件2.1.6數(shù)組數(shù)組初始化可選,但須遵循語(yǔ)法.無(wú)初始化的2.1.6數(shù)組二維數(shù)組二維數(shù)組的定義格式為:類型名數(shù)組名[常量表達(dá)式][常量表達(dá)式]inta[3][4];//a為3×4(3行4列)的數(shù)組floatb[5][10];//b為5×10(5行10列)的數(shù)組111PPT課件2.1.6數(shù)組二維數(shù)組40PPT課件2.1.6數(shù)組二維數(shù)組的初始化分行賦值,如:

inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};全部數(shù)據(jù)寫在一個(gè)大括號(hào)內(nèi),如:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};部分元素賦值,如:inta[3][4]={{1},{5},{9}};僅對(duì)a[0][0]、a[1][0]、a[2][0]賦值,其余元素未賦值(編譯器自動(dòng)為未賦值元素指定初值0112PPT課件2.1.6數(shù)組二維數(shù)組的初始化41PPT課件2.1.6數(shù)組二維數(shù)組的初始化如果對(duì)全部元素賦初值,則第一維的長(zhǎng)度可以不指定,但必須指定第二維的長(zhǎng)度。例:inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

與下面定義等價(jià):

inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};113PPT課件2.1.6數(shù)組二維數(shù)組的初始化42PPT課件練習(xí)3斐波那契數(shù)列如下F0=1F1=1Fn=Fn-1+Fn-2

使用數(shù)組求出斐波那契數(shù)列的前5項(xiàng),并輸出。114PPT課件練習(xí)3斐波那契數(shù)列如下43PPT課件#include<iostream.h>intmain(){ intF[5]; F[0]=F[1]=1; F[2]=F[0]+F[1]; F[3]=F[1]+F[2]; F[4]=F[2]+F[3]; cout<<"斐波那契數(shù)列的前5項(xiàng)是:"<<F[0]<<""<<F[1]<<""<<F[2]<<""<<F[3]<<""<<F[4]<<endl;}115PPT課件#include<iostream.h>44PPT課件2.1.7字符串型C-串C語(yǔ)言中沒(méi)有字符串類型charbuffer[7]=“Hello!“;本質(zhì)是一個(gè)字符數(shù)組’H’’e’’l’’l’’o’’!’’\0’72101108108111330116PPT課件2.1.7字符串型C-串’H’’e’’l’’l’’o’’!2.1.7字符串型知道了C-串首地址,即可知道整個(gè)串,所以可以用字符首址(字符指針)來(lái)操作C-串,但要注意,串的第一個(gè)字符與整個(gè)串的操作不同,如,C-串的輸出操作:

char*str=”Hello”;cout<<*str<<endl;//顯示Hcout<<str<<endl;//顯示Hello117PPT課件2.1.7字符串型知道了C-串首地址,即可知道整個(gè)串,所以2.1.7字符串型string:C++提供的一種自定義類型例:

stringa,s1="Hello";strings2="123";a=s1;118PPT課件2.1.7字符串型string:C++提供的一種自定義類型2.1.7字符串型輸入C-串的string承載方式:cin>>的讀入方式總是將前導(dǎo)的空格(所謂空格,即包括空格、回車、水平或垂直制表符等)濾掉,將單詞讀入,在遇到空格時(shí)結(jié)束本次輸入getline總是將行末的回車符濾掉,將其整行輸入對(duì)字串”Hello,Howareyou?”的兩種輸入方式

for(strings;cin>>s;)cout<<s<<”“;cout<<s<<endl;

strings;getline(cin,s);cout<<s<<endl;119PPT課件2.1.7字符串型輸入C-串的string承載方式:48P2.1.8指針與引用指針是一種特殊的變量,它是存放地址的指針必須初始化或者賦值(指向了數(shù)據(jù))后,才能進(jìn)行間接訪問(wèn)(間訪)操作int*ip;intiCount=18;int*iPtr=&iCount;//初始化ip=&iCount;//賦值*ip=8;//間訪操作20008地址:2000iCountip2000iPtr120PPT課件2.1.8指針與引用指針是一種特殊的變量,它是存放地址的22.1.8指針與引用為表示指針變量和它指向的變量之間的關(guān)系,用指針運(yùn)算符“*”表示。運(yùn)算符“&”表示取地址。例如int*num_pointer;intnum=3;/*將3直接賦給變量num*/num_pointer=#//使num_pointer指向num*num_pointer=3; /*將3賦給指針變量num_pointer所指向的變量*/121PPT課件2.1.8指針與引用為表示指針變量和它指向的變量之間的關(guān)系2.1.8指針與引用定義指針變量的一般形式為基類型*指針變量名;122PPT課件2.1.8指針與引用定義指針變量的一般形式為51PPT課件2.1.8指針與引用下面都是合法的定義:float*pointer_3;

char*pointer_4;可以用賦值語(yǔ)句使一個(gè)指針變量得到另一個(gè)變量的地址,從而使它指向一個(gè)該變量。例如:pointer_1=&i;pointer_2=&j;123PPT課件2.1.8指針與引用下面都是合法的定義:52PPT課件2.1.8指針與引用指針變量前面的“*”,表示該變量的類型為指針型變量。例:float*pointer_1;指針變量名是pointer_1

,而不是*pointer_1

。(2)在定義指針變量時(shí)必須指定基類型。需要特別注意的是,只有整型變量的地址才能放到指向整型變量的指針變量中。下面的賦值是錯(cuò)誤的∶floata;int*pointer_1;pointer_1=&a;124PPT課件2.1.8指針與引用指針變量前面的“*”,表示該變量的類型2.1.8指針與引用指針加減整數(shù)的操作表示空間位置上的挪動(dòng),但是挪動(dòng)的字節(jié)數(shù)與其數(shù)據(jù)類型相關(guān):

對(duì)float指針加6實(shí)際增加了24個(gè)字節(jié)

對(duì)longint指針加5實(shí)際增加了20個(gè)字節(jié)

對(duì)char指針減7實(shí)際減少了7個(gè)字節(jié)

對(duì)double指針減2實(shí)際減少了16個(gè)字節(jié)125PPT課件2.1.8指針與引用指針加減整數(shù)的操作表示空間位置上的挪動(dòng)2.1.8指針與引用數(shù)組名本身就是表示元素集合的首地址

可以將數(shù)組名賦給指針

inta[3];

a[1]=1;a[2]=2;a[3]=3;int*iP=a;cout<<*(iP+2)<<“\n”;

結(jié)果為:

3126PPT課件2.1.8指針與引用數(shù)組名本身就是表示元素集合的首地址

2.1.8指針與引用引用必須初始化,因?yàn)橐每偸歉綄儆谀硞€(gè)實(shí)體

intsomeInt=5;

int&rInt=someIne;//初始化

修改引用的值,即是修改了附屬的實(shí)體值

inta=5;

int&ra=a;

ra=8;

cout<<a<<“\n”;

結(jié)果為:

8127PPT課件2.1.8指針與引用引用必須初始化,因?yàn)橐每偸歉綄儆谀硞€(gè)2.2運(yùn)算符運(yùn)算符:狹義的運(yùn)算符是表示各種運(yùn)算的符號(hào)。C++語(yǔ)言運(yùn)算符豐富,范圍很寬,把除了控制語(yǔ)句和輸入/輸出以外的幾乎所有的基本操作都作為運(yùn)算符處理,所以C++語(yǔ)言運(yùn)算符可以看作是操作符。C++語(yǔ)言豐富的運(yùn)算符構(gòu)成C++語(yǔ)言豐富的表達(dá)式(是運(yùn)算符就可以構(gòu)成表達(dá)式)。運(yùn)算符豐富、表達(dá)式豐富、靈活。在C++語(yǔ)言中除了提供一般高級(jí)語(yǔ)言的算術(shù)、關(guān)系、邏輯運(yùn)算符外,還提供賦值運(yùn)算符,位操作運(yùn)算符、自增自減運(yùn)算符等等。甚至數(shù)組下標(biāo),函數(shù)調(diào)用都作為運(yùn)算符。128PPT課件2.2運(yùn)算符運(yùn)算符:狹義的運(yùn)算符是表示各種運(yùn)算的符號(hào)。572.2運(yùn)算符129PPT課件2.2運(yùn)算符58PPT課件2.2運(yùn)算符C中各類運(yùn)算符的優(yōu)先級(jí):初等運(yùn)算符 ()、[]、單目運(yùn)算符 !、+

+、–

–、+、–、(類型)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論