[文學(xué)研究]第2章 數(shù)據(jù)類型與表達(dá)式ppt課件_第1頁
[文學(xué)研究]第2章 數(shù)據(jù)類型與表達(dá)式ppt課件_第2頁
[文學(xué)研究]第2章 數(shù)據(jù)類型與表達(dá)式ppt課件_第3頁
[文學(xué)研究]第2章 數(shù)據(jù)類型與表達(dá)式ppt課件_第4頁
[文學(xué)研究]第2章 數(shù)據(jù)類型與表達(dá)式ppt課件_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第第2章章 數(shù)據(jù)類型與表達(dá)式數(shù)據(jù)類型與表達(dá)式 第第2章章 數(shù)據(jù)類型與表達(dá)式數(shù)據(jù)類型與表達(dá)式 學(xué)習(xí)目的掌握各種根本數(shù)據(jù)類型的定義名、長度、表示范圍; 掌握各種類型的數(shù)值的表示;弄清變量以及變量賦值的本質(zhì),標(biāo)識符的構(gòu)成規(guī)那么,會定義各種類型的變量以及定義變量的初值;弄清變量與常量,三種常量之間的區(qū)別;掌握常用運(yùn)算符的含義、優(yōu)先級、結(jié)合性、使用方法;理解表達(dá)式的構(gòu)成規(guī)那么、表達(dá)式的左值和右值的含義,會根據(jù)計(jì)算式寫出相應(yīng)的表達(dá)式;掌握隱式類型轉(zhuǎn)換和顯式類型轉(zhuǎn)換的概念和使用方式,可以使用顯式類型轉(zhuǎn)換強(qiáng)迫進(jìn)展表達(dá)式值的轉(zhuǎn)換。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式

2、 2.1 數(shù)據(jù)類型概述數(shù)據(jù)類型是指定義了一組數(shù)據(jù)以及定義在這一組數(shù)據(jù)的操作,它是程序中最根本的元素。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 整數(shù)類型 實(shí)數(shù)類型 基本數(shù)據(jù)類型 字符類型 邏輯類型 空值類型 數(shù)據(jù)類型 枚舉類型 數(shù)組類型 構(gòu)造數(shù)據(jù)類型 指針類型 結(jié)構(gòu)與聯(lián)合類型 引用類型 抽象數(shù)據(jù)類型 類類型 C+中新增2.1.1 根本類型根本類型根本數(shù)據(jù)類型有4種:整型int、浮點(diǎn)型float、字符型char、邏輯型bool。整型數(shù)在計(jì)算機(jī)內(nèi)部一般采用定點(diǎn)表示法,用于存儲整型量。如123,-7等,存儲整數(shù)的位數(shù)依機(jī)器的不同而異。浮點(diǎn)數(shù)和整數(shù)不同的地方是浮

3、點(diǎn)數(shù)采用的是浮點(diǎn)表示法,也就是說,浮點(diǎn)數(shù)的小數(shù)點(diǎn)的位置不同,給出的精度也不一樣。字符類型表示單個(gè)字符,一個(gè)字符用一個(gè)字節(jié)存儲。邏輯類型,也稱布爾類型,表示表達(dá)式真和假。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.1.2 空類型空類型void空類型void用于顯示說明一個(gè)函數(shù)不返回任何值。還可以說明指向void類型的指針,說明以后,這個(gè)指針就可指向各種不同類型的數(shù)據(jù)對象。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.1.3 構(gòu)造類型構(gòu)造類型構(gòu)造類型又稱為組合類型,它是由根本類型按照某種規(guī)那么組合而成的。 數(shù)組:是由

4、具有一樣數(shù)據(jù)類型的元素組成的集合。 構(gòu)造體:是由不同的數(shù)據(jù)類型構(gòu)成的一種混合的數(shù)據(jù)構(gòu)造,構(gòu)成構(gòu)造體的成員的數(shù)據(jù)類型一般不同,并且在內(nèi)存中分別占據(jù)不同的存儲單元。 共用體:是類似于構(gòu)造體的一種構(gòu)造類型,與構(gòu)造體不同的是構(gòu)成共同體的數(shù)據(jù)成員共用同一段內(nèi)存單元。 枚舉:是將變量的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.1.4 指針類型指針類型指針類型變量用于存儲另一變量的地址,而不能用來存放根本類型的數(shù)據(jù)。它在內(nèi)存中占據(jù)一個(gè)存儲單元。2.1.5 類類型類類型類是表達(dá)面向?qū)ο蟪绦蛟O(shè)計(jì)的最根本特征,也是表

5、達(dá)C+與C最大的不同之處。類是一個(gè)數(shù)據(jù)類型,它定義的是一種對象類型,由數(shù)據(jù)和方法組成,描繪了屬于該類型的所有對象的性質(zhì)。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.2 常常 量量常量是指在程序運(yùn)行過程中其值不能改變的量。C+支持5種類型的常量:浮點(diǎn)型、整型、字符型、布爾型和枚舉型。常量在程序中一般以自身的存在形式表達(dá)其值。常量具有類型屬性,類型決定了各種常量在內(nèi)存中占據(jù)存儲空間的大小。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.2.1 整型常量整型常量整型數(shù)據(jù)表示通常意義上的整數(shù),整型常量可以用十進(jìn)制、八進(jìn)

6、制或十六進(jìn)制表示。1. 十進(jìn)制常量十進(jìn)制常量一般占一個(gè)機(jī)器字長,是一個(gè)帶正負(fù)號的常數(shù)默認(rèn)情況下為正數(shù),如+3,-7等。2. 八進(jìn)制常量八進(jìn)制常量由數(shù)字0開頭,其后由假設(shè)干07的數(shù)字組成,如0374,0123等。3. 十六進(jìn)制常量十六進(jìn)制常量以0 x或0X開頭,其后由假設(shè)干09的數(shù)字及AF或小寫af的字母組成,如0 x173,0 x3af。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 整型常量可以后跟字母l或L表示long型長整數(shù),也可以跟u或U表示unsigned整數(shù)無符號整數(shù),如以下數(shù)是合法的:375u/無符號整數(shù)12345UL/無符號長整數(shù)54321L

7、/長整數(shù) 13579ul/無符號長整數(shù)C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.2.2 浮點(diǎn)數(shù)常量浮點(diǎn)數(shù)常量浮點(diǎn)數(shù)也稱為實(shí)型數(shù)。只能以十進(jìn)制形式表示。共有兩種表示形式:小數(shù)表示法和指數(shù)表示法。1. 小數(shù)表示法小數(shù)表示法使用這種表示形式時(shí),實(shí)型常量分為整數(shù)部分和小數(shù)部分。其中的一部分可在實(shí)際使用時(shí)省略,如10.2,.2,2.等。但整數(shù)和小數(shù)部分不能同時(shí)省略。2. 指數(shù)表示法指數(shù)表示法也稱科學(xué)記數(shù)法,指數(shù)部分以E或e開場,而且必須是整數(shù)。假如浮點(diǎn)數(shù)采用指數(shù)表示法,那么E或e的兩邊都至少要有一位數(shù)。如以下數(shù)是合法的:1.2e20,-3.4e-2。 C+語語

8、言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.2.3 字符常量與字符串常量字符常量與字符串常量1. 字符常量字符常量C+中的字符常量通常是用單引號括起的一個(gè)字符。在內(nèi)存中,字符數(shù)據(jù)以ASCII碼存儲,如字符a的ASCII碼為97。字符常量包括兩類,一類是可顯字符,如字母、數(shù)字和一些符號 、+等,另一類是不可顯字符常量,如ASCII碼為13的字符表示回車。2. 轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符是特殊的字符常量,表示時(shí)一般以轉(zhuǎn)義字符開場,后跟不同的字符表示不同的特殊字符,表2-1列出了常用的特殊字符。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表

9、達(dá)達(dá)式式 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介表2-1常用預(yù)定義的轉(zhuǎn)義序列常用預(yù)定義的轉(zhuǎn)義序列 轉(zhuǎn)義序列轉(zhuǎn)義序列含義含義ASCII碼碼名名ASCII碼值碼值n換行符,相當(dāng)于按enter鍵, 包括回車、換行NLLFD,At橫向程度跳到下一制表位置, 相當(dāng)于按tab鍵HT9v豎向跳格VTBb退格, 相當(dāng)于按backspace鍵BS8r回車returnCRDf走紙feed換頁FFCa鳴鈴alertBEL7反斜線符5C單引號27雙引號22oooooo為3位八進(jìn)制數(shù)xhhhh為2位十六進(jìn)制數(shù)hhC+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介轉(zhuǎn)義序列的

10、用法舉例轉(zhuǎn)義序列的用法舉例 78910111213141516void main coutA t ; n; cout102011073012; cout10311 73 12; coutx44x09x3bx0a; coutx45x9 x3bxa; coutx46x09x3bx0dx0a; coutxcdxcdxcdxcdxcdendl; 運(yùn)行結(jié)果運(yùn)行結(jié)果A;B;C;D;E;F;屯屯屯屯F注意注意: : 由于一個(gè)漢字字符包括兩個(gè)字符,因此不能在單引號中使用漢字。 以八進(jìn)制表示字符的ASCII 碼值 以八進(jìn)制表示字符的ASCII 碼值,省略了八進(jìn)制數(shù)前面的0 以十六進(jìn)制表示字符的ASCII 碼值以

11、十六進(jìn)制表示字符的ASCII 碼值,省略了前面的0 字符串中采用轉(zhuǎn)義序列輸出ASCII碼字符。 3. 字符串常量字符串常量字符串常量是由一對雙引號括起來的零個(gè)或多個(gè)字符序列。字符串可以寫在多行上,不過在這種情況下必須用反斜線表示下一行字符是這一行字符的延續(xù)。字符串常量實(shí)際上是一個(gè)字符數(shù)組,組成數(shù)組的字符除顯示給出的外,還包括字符結(jié)尾處標(biāo)識字符串完畢的符號0,所以字符串“abc實(shí)際上包含4個(gè)字符:a、b、c和0。 需要注意的是a和“a的區(qū)別,a是一個(gè)字符常量,在內(nèi)存中占一個(gè)字節(jié)的存儲單元,而“a是一個(gè)字符串常量,在內(nèi)存中占兩個(gè)字節(jié),除了存儲a以外,還要存儲字符串結(jié)尾符0。 C+語語言言程程序序設(shè)

12、設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.2.4 布爾常量布爾常量布爾常量僅有兩個(gè):false假和true真。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.2.5 枚舉常量枚舉常量枚舉常量可以通過建立枚舉類型來定義。枚舉類型是一種用戶自定義數(shù)據(jù)類型。在聲明枚舉類型時(shí),需要把常量的值一一列舉出來,形式如下:enum 枚舉類型名 常量值1 ,常量值2 ,常量值n;例如聲明一個(gè)名為color的枚舉類型: enum colorRed,Green,Blue,White,Black;枚舉常量是一種符號常量。Red,Green等是符號常量,它們

13、表示各個(gè)枚舉值,在內(nèi)存中表示以整型數(shù)。假如沒有專門指定,第一個(gè)符號常量的枚舉值就是0,其他枚舉值依次為1,2,3。所以,C+自動(dòng)給Red賦0,Green賦1,等等。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.3 變 量變量是指程序在運(yùn)行時(shí)其值可改變的量。每個(gè)變量由一個(gè)變量名惟一標(biāo)識,同時(shí),每個(gè)變量又具有一個(gè)特定的數(shù)據(jù)類型。不同類型的變量在內(nèi)存中占有存儲單元的個(gè)數(shù)不同。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.3.1 變量名命名變量名命名變量名的命名要遵守以下規(guī)那么:不能是C+保存字。C+的保存字如表2-2

14、所列。第一個(gè)字符必須是字母或下劃線,中間不能有空格。變量名除了使用26個(gè)英文大小寫字母和數(shù)字外,只能使用下劃線。一般不要超過31個(gè)字符。變量名不要與C+中的庫函數(shù)名、類名和對象名一樣。例如,以下變量名是合法的變量名:a123 c3b file_1 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 asm auto break case catch char class const continuedefault delete dodoubleelseenumexternfloatforfriendgotoifinlineintlongnewoperatorove

15、rloadprivateprotectedpublicregisterreturnshortsignedsizeofstaticstructswitchthistemplatethrowtrytypedefunionunsignedvirtualvoidvolatilewhile表2-2 C+的標(biāo)準(zhǔn)保存字 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.3.2 變量定義和說明變量定義和說明C+中,變量使用之前一定要定義或說明,變量定義的格式一般為:修飾符 類型 變量名; /注釋其中,類型指出變量所存放的數(shù)據(jù)的類型;變量名是任意合法的變量名;注釋指明該變量的

16、含義和用處;修飾符進(jìn)一步描繪了變量的使用方式。修飾符和注釋是任選的,可以沒有。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 多個(gè)同一類型的變量可以在一行中定義,中間用逗號隔開,也可以分別定義。例如:int a,b,c;/定義3個(gè)整型變量a,b,c和int a;/定義整型變量aint b; /定義整型變量bint c; /定義整型變量c二者等價(jià)。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.3.3 變量初始化變量初始化變量初始化一般采用兩種方式。第一種方式是在定義變量時(shí)可以給變量賦一個(gè)初值,例如:int a=3;flo

17、at b=3.4;const int c=5;第二種方式是先定義變量,然后通過賦值語句使變量初始化,例如:int a;a=3;C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 C+符號常量的定義形式如下: 例如: #define MaxChar 255 #define PI 3.14符號常量符號常量 #define 符號常量名符號常量名 數(shù)值數(shù)值F注意注意: : 定義符號常量時(shí)不能用賦值符,#define PI=3

18、.14是錯(cuò)誤的。 由于define 是預(yù)處理指令,語句不能以分號結(jié)尾。 C+為符號常量提供了一種新方法,格式為: 常變量常變量 const 數(shù)據(jù)類型數(shù)據(jù)類型 符號常量名符號常量名 = 數(shù)值;數(shù)值;const可以與數(shù)據(jù)類型說明顛倒。用const修飾后,變量的值就不能改變了,本質(zhì)上是一種“常變量常變量。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 例如: const short int MaxChar=255; const float PI=3.14;符號常量符號常量 常變量常變量 #defi

19、ne MaxChar 255 #define PI 3.14const short int MaxChar=255; const float PI=3.14;F注意注意: : 在定義常變量時(shí)一定要賦初值。 例如:const float PI; /錯(cuò)誤,定義時(shí)沒有給出初值 常變量不是變量,在程序中間不能更新其值。 例如:PI= 3.14159; /錯(cuò)誤!常量不能被改變 2.4 運(yùn)算符與表達(dá)式在程序中,表達(dá)式是計(jì)算求值的根本單位,它是由運(yùn)算符和運(yùn)算數(shù)組成的式子。運(yùn)算符是表示進(jìn)展某種運(yùn)算的符號。運(yùn)算數(shù)包含常量、變量和函數(shù)等。C+語言的運(yùn)算符按其在表達(dá)式中與運(yùn)算對象的關(guān)系連接運(yùn)算對象的個(gè)數(shù)可分為: 單

20、目運(yùn)算一元運(yùn)算符,只需一個(gè)操作數(shù) 雙目運(yùn)算二元運(yùn)算符,需兩個(gè)操作數(shù) 三目運(yùn)算三元運(yùn)算符,需三個(gè)操作數(shù) C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 按其在表達(dá)式中所起的作用又可分為: 算術(shù)運(yùn)算符 + - * / % 關(guān)系運(yùn)算符 = = != 邏輯運(yùn)算符 ! & | 位運(yùn)算符 | & 自增自減運(yùn)算符 + - 賦值運(yùn)算符 = 及其擴(kuò)展+= -= *= /= %= 等 條件運(yùn)算符 ? : 指針運(yùn)算符 * 和 & 逗號運(yùn)算符 , 分量運(yùn)算符 * - 函數(shù)調(diào)用運(yùn)算符 下標(biāo)運(yùn)算符 求字節(jié)運(yùn)算符 sizeof 強(qiáng)迫類型轉(zhuǎn)換運(yùn)算符:type C+語語

21、言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.1 算術(shù)運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符有雙目運(yùn)算和單目運(yùn)算兩種。包括: +加法運(yùn)算符,或正值運(yùn)算符,如1+2,+3 - 減法運(yùn)算符,或負(fù)值運(yùn)算符,如1-2,-3 *乘法運(yùn)算符,如1*2 / 除法運(yùn)算符,如1/2 %模運(yùn)算符或稱求余運(yùn)算符,如7%3=1 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.2 賦值運(yùn)算符賦值運(yùn)算符1賦值運(yùn)算符“=的一般格式為:變量=表達(dá)式;表示將其右側(cè)的表達(dá)式求出結(jié)果,賦給其左側(cè)的變量。例如:int i;i=3*4+5; /i的值變?yōu)?72賦值表達(dá)式

22、本身的運(yùn)算結(jié)果是右側(cè)表達(dá)式的值,而結(jié)果類型是左側(cè)變量的數(shù)據(jù)類型。例如:int i=1.2*3; /結(jié)果為3,而不是3.6 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 3賦值運(yùn)算符的結(jié)合性是從右至左的,因此,C+程序中可以出現(xiàn)連續(xù)賦值的情況。例如,下面的賦值是合法的:int i,j,k;i=j=k=10; /i,j,k都賦值為104復(fù)合運(yùn)算符:+=加賦值,-=減賦值,*=乘賦值,/=除賦值,%=取模賦值,=右移賦值,&=與賦值,=異或賦值, |=或賦值 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 它們的含義如下:

23、a+=b等價(jià)于 a=a+ba-=b 等價(jià)于 a=a-ba*=b 等價(jià)于 a=a*ba/=b 等價(jià)于 a=a/ba%=b 等價(jià)于 a=a%ba=b 等價(jià)于 a=a=b 等價(jià)于 a=ab a&=b 等價(jià)于 a=a&ba=b 等價(jià)于 a=aba|=b 等價(jià)于 a=a|b C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 例如:int a=12;a+=a;表示a=a+a=12+12=24; 又例如:int a=12;a+=a-=a*=a;表示a=a*a /a=12*12=144a=a-a /a=144-144=0a=a+a /a=0+0=0C+語語言言程

24、程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.3 關(guān)系運(yùn)算符關(guān)系運(yùn)算符1關(guān)系運(yùn)算符用于兩個(gè)值進(jìn)展比較,運(yùn)算結(jié)果為true真或false假,分別用值非0true或0false表示。C+中的關(guān)系運(yùn)算符如下:小于, 大于, =大于等于,=等于, !=不等于, 2關(guān)系運(yùn)算符都是雙目運(yùn)算符,其結(jié)合性是從左到右,、=運(yùn)算符的優(yōu)先級一樣,=和!=運(yùn)算符的優(yōu)先級一樣,前者運(yùn)算的優(yōu)先級高于后者。3關(guān)系運(yùn)算符的優(yōu)先級低于算術(shù)運(yùn)算符。例如:a+bc等價(jià)于a+bca!=bc等價(jià)于a!=bc C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.4 邏輯

25、運(yùn)算符邏輯運(yùn)算符&邏輯與, |邏輯或,!邏輯非邏輯表達(dá)式的結(jié)果為真那么為1,結(jié)果為假那么為0。邏輯非!是單目運(yùn)算符,邏輯與&與邏輯或|為雙目運(yùn)算符。 邏輯非的優(yōu)先級最高,邏輯與次之,邏輯或最低。邏輯運(yùn)算真值表如表2-3所示。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 表2-3 邏輯運(yùn)算真值真為非0,假為0aba&ba|b!a!b0000110非00110非000101非0非01100C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.5 自增、自減運(yùn)算符自增、自減運(yùn)算符1自增+、自減-運(yùn)算符為

26、變量的增1和減1提供了緊湊格式。2自增、自減運(yùn)算符都是單目運(yùn)算符,其作用是使變量的值增1或減1。3自增、自減運(yùn)算符有四種應(yīng)用格式:int a=3;b=a+; 等價(jià)于 b=a;a=a+1;int a=3;b=a-; 等價(jià)于 b=a;a=a-1;運(yùn)算符后置用法,代表先使用變量,然后對變量增值int a=3;b=+a; 等價(jià)于 a=a+1;b=a;int a=3;b=-a; 等價(jià)于 a=a-1;b=a;運(yùn)算符前置用法,代表先對變量增值,再使用變量 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 4C+編譯器在處理時(shí)盡可能多的自左向右將運(yùn)算符結(jié)合在一起。例如:a+b表

27、示為a+b而不是a+b。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.6 條件運(yùn)算符條件運(yùn)算符1條件運(yùn)算符“?:是C+中惟一三目運(yùn)算符,其形式為:表達(dá)式1 ?表達(dá)式2 :表達(dá)式3它的運(yùn)算方式為:先計(jì)算表達(dá)式1的值,假如其值為非0真,那么表達(dá)式2的值就是整個(gè)表達(dá)式的最終結(jié)果;否那么表達(dá)式3的值就是整個(gè)表達(dá)式的值。常見的一個(gè)例子為:max=ab?a:b上面例子定義了一個(gè)求兩個(gè)數(shù)a和b中最大值,其中決定哪一個(gè)是最大值用了條件運(yùn)算符。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2條件運(yùn)算符的結(jié)合性是自右向左。例如有以下條

28、件表達(dá)式:ab?a:cd?c:d相當(dāng)于ab?a:cd?c:d3條件運(yùn)算符的優(yōu)先級別高于賦值運(yùn)算符,低于關(guān)系運(yùn)算符和算術(shù)運(yùn)算符。例如有:ab?a-b:b-a相當(dāng)于ab?a-b:b-a C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.7 位運(yùn)算符位運(yùn)算符1位bit是計(jì)算機(jī)中表示信息的最小單位,一般用0和1表示。一個(gè)字符在計(jì)算機(jī)中用8個(gè)位表示,8個(gè)位組成一個(gè)字節(jié)。C+語言需要將人們通常所習(xí)慣的十進(jìn)制數(shù)表示為二進(jìn)制、八進(jìn)制或十六進(jìn)制數(shù)來理解對位的操作。C+中所有的位運(yùn)算符如下:按位求反, 右移,&按位與,按位異或, |按位或。2位運(yùn)算符是對其操作數(shù)按其

29、二進(jìn)制形式逐位進(jìn)展運(yùn)算,參加位運(yùn)算的操作數(shù)必須為整數(shù)。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.8 sizeof運(yùn)算符求字節(jié)運(yùn)算符運(yùn)算符求字節(jié)運(yùn)算符1sizeof運(yùn)算符是單目運(yùn)算符,用于計(jì)算運(yùn)算對象在內(nèi)存中所占字節(jié)的多少,它有兩種形式:sizeof 類型標(biāo)識符;sizeof 表達(dá)式;2sizeof可以承受的類型標(biāo)識符很多,如sizeofint表示求整型數(shù)據(jù)在內(nèi)存中所占字節(jié)數(shù)。 例如:int a,那么sizeofa表示求變量a在內(nèi)存中所占字節(jié)數(shù)。例如:int a10,那么sizeofa表示求數(shù)組a在內(nèi)存中所占字節(jié)數(shù)。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教

30、教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.9 逗號運(yùn)算符逗號運(yùn)算符1逗號運(yùn)算符用于將多個(gè)表達(dá)式連在一起,并將各表達(dá)式從左到右的順序依次求值,但只有其最右端的表達(dá)式的結(jié)果,作為整個(gè)逗號表達(dá)式的結(jié)果。2逗號表達(dá)式的一般格式為:表達(dá)式1,表達(dá)式2,表達(dá)式n例如:int a=3,b=4,c=5;a+b,b+c,c+a;那么先求解a+b,再求解b+c,最后求解c+a,整個(gè)表達(dá)式的結(jié)果為c+a的結(jié)果。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.10 運(yùn)算符優(yōu)先級運(yùn)算符優(yōu)先級1運(yùn)算符優(yōu)先級決定了在表達(dá)式中各個(gè)運(yùn)算符執(zhí)行的先后順序。高優(yōu)先級運(yùn)算

31、符先于低優(yōu)先級運(yùn)算符進(jìn)展運(yùn)算。在優(yōu)先級一樣的情形下,那么按從左到右的順序進(jìn)展運(yùn)算。2當(dāng)表達(dá)式中出現(xiàn)了括號時(shí),會改變優(yōu)先級。先計(jì)算括號中的子表達(dá)式值,再計(jì)算整個(gè)表達(dá)式的值。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 3運(yùn)算符的結(jié)合方式有兩種:左結(jié)合和右結(jié)合。左結(jié)合表示運(yùn)算符優(yōu)先與其左邊的標(biāo)識符結(jié)合進(jìn)展運(yùn)算,如加法;右結(jié)合表示運(yùn)算符優(yōu)先與其右邊的標(biāo)識符結(jié)合,如單目運(yùn)算符+、-。4同一優(yōu)先級的優(yōu)先級別一樣,運(yùn)算次序由結(jié)合方向決定。如1*2/3,*和/的優(yōu)先級別一樣,其結(jié)合方向自左向右,那么等價(jià)于1*2/3。5不同的運(yùn)算符要求有不同的運(yùn)算對象個(gè)數(shù),單目運(yùn)算符只需一

32、個(gè)運(yùn)算對象,如 i+,-a,sizeofb等。C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 2.4.11 表達(dá)式表達(dá)式表達(dá)式是用于計(jì)算的式子,它由運(yùn)算符、運(yùn)算數(shù)和括號組成。最簡單的表達(dá)式只有一個(gè)常量或變量,當(dāng)表達(dá)式中有兩個(gè)或多個(gè)運(yùn)算符時(shí),表達(dá)式稱為復(fù)雜表達(dá)式,其中運(yùn)算符執(zhí)行的先后順序由它們的優(yōu)先級和結(jié)合性決定。執(zhí)行表達(dá)式所規(guī)定的運(yùn)算,所得到的結(jié)果值便是表達(dá)式的值。C+中由于運(yùn)算符很豐富,因此表達(dá)式的種類也很多。常用的表達(dá)式有6種。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 1.算術(shù)表達(dá)式算術(shù)表達(dá)式由算術(shù)運(yùn)算符和位操作運(yùn)

33、算符組成的表達(dá)式。其表達(dá)式的值是一個(gè)數(shù)值,表達(dá)式的類型由運(yùn)算符和運(yùn)算數(shù)確定。例如, a+3*b/2就是一個(gè)算術(shù)表達(dá)式。2.邏輯表達(dá)式邏輯表達(dá)式由邏輯運(yùn)算符組成的表達(dá)式。其表達(dá)式的值的類型為邏輯型,一般地,真用1表示,假用0表示。例如,!a&b|c就是一個(gè)邏輯表達(dá)式。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 3.關(guān)系表達(dá)式關(guān)系表達(dá)式由關(guān)系運(yùn)算符組成的表達(dá)式。其表達(dá)式的值的類型為邏輯型,一般地,真用1表示,假用0表示。例如,ab!=c就是一個(gè)關(guān)系表達(dá)式。4.賦值表達(dá)式賦值表達(dá)式由賦值運(yùn)算符組成的表達(dá)式。例如,a=b就是一個(gè)賦值表達(dá)式。 C+語語言言

34、程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 5.條件表達(dá)式條件表達(dá)式由三目運(yùn)算符組成的表達(dá)式。條件表達(dá)式的值取決于?號前面的表達(dá)式,該表達(dá)式的值為非0時(shí),整個(gè)表達(dá)式的值為:號前面表達(dá)式的值,否那么為:號后面表達(dá)式的值。條件表達(dá)式的類型是:號前和:號后兩個(gè)表達(dá)式中類型高的一個(gè)表達(dá)式的類型。例如,ab?a:b就是一個(gè)條件表達(dá)式。6.逗號表達(dá)式逗號表達(dá)式用逗號將假設(shè)干個(gè)表達(dá)式連起來組成的表達(dá)式。該表達(dá)式的值是組成逗號表達(dá)式的假設(shè)干個(gè)表達(dá)式中最后一個(gè)表達(dá)式的值,類型也是最后一個(gè)表達(dá)式的類型。逗號表達(dá)式計(jì)算值的順序是從左至右逐個(gè)表達(dá)式分別計(jì)算。例如,a+3,b+4,c+5就是一

35、個(gè)逗號表達(dá)式。 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 【例例2-2】演示算術(shù)運(yùn)算表達(dá)式的用法。演示算術(shù)運(yùn)算表達(dá)式的用法。 表達(dá)式的使用表達(dá)式的使用 1234567891011121314151617/* p2_2.cpp * 演示算術(shù)運(yùn)算表達(dá)式 */#includeusing namespace std;void mainint a;a=7*2+-3%5-4/3;float b;b=510+3.2e3-

36、5.6/0.03;coutatbendl;int m3,n4;a=m+- -n;coutatmtnendl;運(yùn)行結(jié)果運(yùn)行結(jié)果10 3523.330 4 3 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 【例例2-3】演示邏輯運(yùn)算表達(dá)式的用法。演示邏輯運(yùn)算表達(dá)式的用法。 表達(dá)式的使用表達(dá)式的使用 1234567891011121314151617/* p2_3.cpp * 演示邏輯運(yùn)算表達(dá)式 */#includeusing namespace std;void main int x,y,z;x

37、 = y = z = 1;-x & +y & +z;coutxtytzendl;+x & +y & +z;coutxtytzendl;+x & y- | +z;coutxtytzendl; 運(yùn)行結(jié)果運(yùn)行結(jié)果0 1 11 2 22 1 2 C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類類型型與與表表達(dá)達(dá)式式 【例例2-4】演示邏輯運(yùn)算表達(dá)式的用法。演示邏輯運(yùn)算表達(dá)式的用法。表達(dá)式的使用表達(dá)式的使用 1234567891011121314151617/* p2_4.cpp * 演示條件表達(dá)式 */#includeusing namespace std;void mainint i=10, j=20, k;k=ij ? i : j;coutitjtkendl;k=i-j ? i+j : i-3 ? j : i;coutitjtk= f + B - c / 1.0 + f的類型轉(zhuǎn)換圖如下:C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第1章章C+編編程程簡簡介介C+語語言言程程序序設(shè)設(shè)計(jì)計(jì)教教程程 第第2章章數(shù)數(shù)據(jù)據(jù)類

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論