全書配套課件:C++程序設(shè)計(第2版)_第1頁
全書配套課件:C++程序設(shè)計(第2版)_第2頁
全書配套課件:C++程序設(shè)計(第2版)_第3頁
全書配套課件:C++程序設(shè)計(第2版)_第4頁
全書配套課件:C++程序設(shè)計(第2版)_第5頁
已閱讀5頁,還剩485頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.1 面向?qū)ο蟪绦蛟O(shè)計1.2 C+的發(fā)展和特點 1.3 C+程序基本結(jié)構(gòu) 1.4 C+程序的上機實現(xiàn) 第1章 C+概述1.1.1 基本概念 1.1.2 傳統(tǒng)程序設(shè)計及其局限性 1.1.3 面向?qū)ο蟪绦蛟O(shè)計的特點 1.1.4 面向?qū)ο蟪绦蛟O(shè)計語言1.1 面向?qū)ο蟪绦蛟O(shè)計1. 對象對象 在面向?qū)ο蟪绦蛟O(shè)計中,對象是由對象名、一組屬性數(shù)據(jù)和一組操作封裝在一起構(gòu)成的實體。其中屬性數(shù)據(jù)是對象固有特征的描述,操作是對這些屬性數(shù)據(jù)施加的動態(tài)行為,是一系列的實現(xiàn)步驟,通常稱之為方法。 2. 類類 在面向?qū)ο蟪绦蛟O(shè)計中,類是具有相同屬性數(shù)據(jù)和操作的對象的集合,它是對一類對象的抽象描述。類是創(chuàng)建對象的模板,它包

2、含著所創(chuàng)建對象的狀態(tài)描述和方法的定義,一般是先聲明類,再由類創(chuàng)建其對象。按照這個模板創(chuàng)建的一個個具體的實例,就是對象。 1.1.1 基本概念3. 屬性屬性 對象中的數(shù)據(jù)稱為對象的屬性,而類中的特性稱為類的屬性,不同的類和對象具有不同的屬性。4. 消息消息 在面向?qū)ο蟪绦蛟O(shè)計中,當(dāng)要求一個對象做某一操作時,就向該對象發(fā)出請求,通常稱為“消息”。當(dāng)對象接收到消息時,就調(diào)用有關(guān)方法,執(zhí)行相應(yīng)操作。這種對象與對象之間通過消息進行相互聯(lián)系的機制,就叫做消息傳遞機制,通過消息傳遞可實現(xiàn)對象的交互。5. 方法方法 方法就是對象所能執(zhí)行的操作。方法包括接口和方法體兩部分。方法的接口就是消息的模式,它告訴用戶如

3、何調(diào)用該方法;方法體則是實現(xiàn)操作的一系列步驟,也就是一段程序代碼。1. 傳統(tǒng)程序設(shè)計開發(fā)軟件的生產(chǎn)效率低下2. 傳統(tǒng)程序設(shè)計難以應(yīng)付龐大的信息量和多樣的信息類型3. 傳統(tǒng)程序設(shè)計難以適應(yīng)各種新環(huán)境1.1.2 傳統(tǒng)程序設(shè)計及其局限性1.封裝性封裝性 封裝是一種數(shù)據(jù)隱藏技術(shù),在面向?qū)ο蟪绦蛟O(shè)計中可以把數(shù)據(jù)和與數(shù)據(jù)有關(guān)的操作集中在一起形成類,將類的一部分屬性和操作隱藏起來,不讓用戶訪問,另一部分作為類的外部接口,用戶可以訪問。 2. 繼承性繼承性 在面向?qū)ο蟪绦蛟O(shè)計中,繼承是指新建的類從已有的類那里獲得已有的屬性和操作。已有的類稱為基類或父類,繼承基類而產(chǎn)生的新建類稱為基類的子類或派生類。3. 多態(tài)

4、性多態(tài)性 多態(tài)性是指相同的函數(shù)名可以有多個不同的函數(shù)體,即一個函數(shù)名可以對應(yīng)多個不同的實現(xiàn)部分。在調(diào)用同一函數(shù)時,由于環(huán)境的不同,可能引發(fā)不同的行為,導(dǎo)致不同的動作,這種功能稱為多態(tài)。它使得類中具有相似功能的不同函數(shù)可以使用同一個函數(shù)名。1.1.3 面向?qū)ο蟪绦蛟O(shè)計的特點 面向?qū)ο蟮某绦蛟O(shè)計語言大致可分為兩類:開發(fā)全新的面向?qū)ο蟪绦蛟O(shè)計語言,其中最具有代表性的語言是Java、Smalltalk和Eiffel。 對傳統(tǒng)語言進行面向?qū)ο蟪绦蛟O(shè)計的擴展。這類語言又稱“混合型語言”,一般是在其他語言的基礎(chǔ)上加入面向?qū)ο蟪绦蛟O(shè)計的概念開發(fā)出來的,最典型代表是C+。 1.1.4 面向?qū)ο蟪绦蛟O(shè)計語言1.2

5、.1 C+的發(fā)展 1.2.2 C+的特點1.2 C+的發(fā)展和特點 1980年,美國AT&T公司貝爾實驗室的Bjarne Stioustrup博士為了仿真課題研究,編寫了稱為“帶類的C”語言版本。 1983年7月用C+將該語言名字定下來,并對外公開發(fā)表。 Microsoft公司于20世紀(jì)80年代中期在Microsoft C 6.0的基礎(chǔ)上開發(fā)了Microsoft C/C+ 7.0,同時引進了Microsoft Foundation Class(MFC)1.0版本,完善了源代碼。后來Microsoft公司推出了Microsoft C/C+ 8.0,即Visual C+ 1.0版本,之后又推出了 V

6、isual C+ 2.0和Visual C+ 4.0版本。 伴隨Windows 98操作系統(tǒng)的發(fā)布,Microsoft公司又隆重推出了Visual C+ 6.0 1.2.1 C+的發(fā)展 C+全面兼容C語言,許多C語言代碼不經(jīng)修改就可以在C+中使用。 用C+編寫的程序可讀性更好,代碼結(jié)構(gòu)更為合理。 生成代碼質(zhì)量高,運行效率僅比匯編語言慢10%20%。 從開發(fā)時間、費用到形成軟件的可重用性、可擴充性、可維護性和可靠性等方面有很大提高,使得大中型軟件開發(fā)變得容易很多。 支持面向?qū)ο蟪绦蛟O(shè)計,可方便地構(gòu)造出模擬現(xiàn)實問題的實體和操作。 1.2.2 C+的特點1.3.1 C+程序基本結(jié)構(gòu) 1.3.2 C+

7、程序的書寫格式1.3 C+程序基本結(jié)構(gòu)【例1.1】一個簡單的C+程序。# include void sayhello();void main()sayhello( ); / 在顯示器上輸出顯示一行字符串coutThis is my first C+ program! endl;/函數(shù)定義void sayhello()coutHello! endl;1.3.1 C+程序基本結(jié)構(gòu)1.頭文件頭文件 在C+程序開始部分出現(xiàn)以#開頭的命令,表示這些命令是預(yù)處理命令,稱作預(yù)處理器。C+提供了3類預(yù)處理命令:宏定義命令、文件包含命令和條件編譯命令 C+語言包含頭文件的格式有兩種:#include #incl

8、ude文件名.擴展名2. 函數(shù)函數(shù) C+的程序是由若干個文件組成,每個文件又由若干個函數(shù)組成。函數(shù)之間是相互獨立的,相互之間可以調(diào)用。但函數(shù)在調(diào)用之前,必須先定義。 C+的程序中的函數(shù)可分為兩大類,一類是用戶自己定義的函數(shù),另一類是系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)。使用系統(tǒng)提供的標(biāo)準(zhǔn)函數(shù)時,可以直接調(diào)用,但需要將該函數(shù)的頭文件包含在該程序中。3. 主函數(shù)主函數(shù) 在組成C+程序的若干個函數(shù)中,必須有一個且只能有一個主函數(shù)main()。執(zhí)行程序時,系統(tǒng)先從主函數(shù)開始運行,其他函數(shù)只能被主函數(shù)調(diào)用或通過主函數(shù)調(diào)用的函數(shù)所調(diào)用,函數(shù)可以嵌套調(diào)用。4. 注釋注釋第一種注釋方法是以“/*”開始,以“*/”結(jié)束,二者之間

9、的所有字符都會被作為注釋處理,此時的注釋可以是一行,也可以是多行,適合于大塊的注釋。第二種注釋方法是以“/”表示注釋開始,本行中“/”后面的字符都會被作為注釋處理,這種注釋方式多用于較短的程序注釋。5. 輸入輸入/輸出輸出 輸入/輸出語句是C+最基本的語句。 綜上所述,一個C+程序的基本結(jié)構(gòu)應(yīng)該包括以“#”開頭的若干個預(yù)處理命令,將程序所需要的頭文件包含進來;然后定義主函數(shù)和其他函數(shù),當(dāng)然函數(shù)也可以在程序的起始部分先利用函數(shù)原型進行聲明,以后再進行定義;用大括號括起來的部分就是函數(shù)體部分,函數(shù)體部分主要包括各種語句和注釋,這部分是程序的主體部分,所占比重也最大。 C+程序的書寫格式與C程序書寫

10、格式基本相同。原則如下:一般情況下一行只寫一條語句。短語句可以一行寫多條,長語句也可以分成多行來寫。分行原則是不能將一個單詞分開,用雙引號括起來的字符串最好也不要分開,如果一定要分開,有的編譯系統(tǒng)要求在行尾加上續(xù)行符“”。C+程序書寫時要盡量提高可讀性。為此,采用適當(dāng)?shù)乜s進格式書寫程序是非常必要的,表示同一類內(nèi)容或同一層次的語句要對齊。例如,一個循環(huán)的循環(huán)體中的各語句要對齊,同一個if語句中的if體內(nèi)的若干條語句或else體內(nèi)的若干語句要對齊。C+程序中大括號 使用較多,其書寫方法也較多,建議用戶要養(yǎng)成使用大括號 的固定風(fēng)格。例如,每個大括號占一行,并與使用大括號的語句對齊,大括號內(nèi)的語句采用

11、縮進兩個字符的格式書寫。1.3.2 C+程序的書寫格式1.4.1 Visual C+ 6.0集成開發(fā)環(huán)境 1.4.2 編輯、編譯和運行程序 1.4.3 利用Debug調(diào)試功能調(diào)試程1.4 C+程序的上機實現(xiàn)Visual C+ 6.0是微軟公司開發(fā)的可視化的C+集成開發(fā)環(huán)境。它集程序代碼的編輯、編譯、連接、調(diào)試等功能為一體,界面友好,用戶操作方便。1 菜單欄2標(biāo)準(zhǔn)工具欄3工作區(qū)窗口4源程序編輯窗口5編譯工具欄6輸出窗口1.4.1 Visual C+ 6.0集成開發(fā)環(huán)境源程序編輯窗口菜單欄標(biāo)準(zhǔn)工具欄工作區(qū)窗口輸出窗口編譯工具欄1.4.1 Visual C+ 6.0集成開發(fā)環(huán)境1. 編輯編輯 編輯是

12、將寫好的C+源程序輸入到計算機中,生成磁盤文件的過程。默認文件擴展名為*.cpp。2. 編譯編譯 編輯好的源程序必須經(jīng)過編譯,翻譯成計算機能夠識別的機器代碼,計算機才能執(zhí)行,這些二進制代碼稱為目標(biāo)代碼。將這些目標(biāo)代碼以.obj為擴展名保存成目標(biāo)程序文件。1.4.2 編輯、編譯和運行程序 編輯 編譯 連接 運行 源程序 Hello.cpp 目標(biāo)程序 Hello.obj 可執(zhí)行程序 Hello.exe 結(jié)果 有錯誤 無錯誤 圖1-4 C+程序操作流程 3. 連接連接 編譯后生成的目標(biāo)代碼還不能直接在計算機上運行,其主要原因是編譯器對每個源程序文件分別進行編譯,如果一個程序有多個源程序文件,編譯后這

13、些源程序文件還分布在不同的地方。因此,需要把它們連接在一起,生成可以在計算機上運行的可執(zhí)行文件。4. 運行運行 可執(zhí)行文件可以在Windows環(huán)境下直接雙擊運行,也可以在Visual C+ 6.0的集成開發(fā)環(huán)境下運行。程序運行后,將在屏幕上顯示運行結(jié)果或顯示提示用戶輸入數(shù)據(jù)的信息。用戶可以根據(jù)運行結(jié)果來判斷程序是否有算法錯誤。在生成可執(zhí)行文件之前,一定要改正編譯和連接時出現(xiàn)的致命錯誤和警告錯誤,這樣才能保證運行結(jié)果是正確的。 參照教材練習(xí)C+程序的上機實現(xiàn)過程。 Visual C+ 6.0集成開發(fā)環(huán)境為我們提供了輔助調(diào)試工具,可以實現(xiàn)單步運行、設(shè)置斷點、觀察變量和表達式的值等功能,使我們可以跟

14、蹤程序的執(zhí)行過程,觀察不同時刻變量值的變化情況。所謂斷點就是程序運行時的暫停點,程序運行到斷點處便暫停,這樣就可以通過觀察斷點處變量的值來了解程序的執(zhí)行過程。 參照教材練習(xí)利用Debug調(diào)試程序的過程。1.4.3 利用Debug調(diào)試功能調(diào)試程序 2.1 詞法符號 2.2 基本數(shù)據(jù)類型 2.3 常量與變量 2.4 運算符和表達式 2.5 控制語句 第2章 C+程序設(shè)計基礎(chǔ) 2.1.1 標(biāo)識符 2.1.2 關(guān)鍵字 2.1.3 運算符 2.1.4 分隔符 2.1 詞法符號 標(biāo)識符是程序員為命名程序中的一些實體而定義的專用單詞。常見的有函數(shù)名,類名、變量名、常量名、對象名等。C+語言中標(biāo)識符的命名規(guī)則

15、如下:標(biāo)識符是由英文字母(包括大寫和小寫)、數(shù)字和下劃線組成,并且以字母和下劃線開始,其后跟零個或多個字母、數(shù)字或下劃線。標(biāo)識符不可以數(shù)字開始。例如:Abc、X1、_x1、desk都是合法的標(biāo)識符,而2A是非法的。標(biāo)識符中大寫和小寫字母是有區(qū)別的。例如,A1和a1是兩個不同的標(biāo)識符。標(biāo)識符的長度是任意的,但有的編譯系統(tǒng)僅識別前32個字符。標(biāo)識符不能和C+語言的關(guān)鍵字同名。2.1.1 標(biāo)識符2.1.2 關(guān)鍵字 關(guān)鍵字是一種有特殊用途的詞法符號,是C+系統(tǒng)預(yù)定義的保留字,不能再用作其他用途。下面列舉一些C+語言中常用的關(guān)鍵字:auto break bool case char catch clas

16、sConst continue default delete do double elseEnum explicit export extern false float forfriend goto if inline int long newMutable name space operator private protectedpublic register return short signed sizeofStatic atruct switch this typedef trueunion unsigned typename void using virtualvolatile wh

17、ile static_cast 運算符是C+語言實現(xiàn)各種運算的符號,如+、*、/ 等。運算符根據(jù)操作對象個數(shù)的不同,可以分為單目運算符、雙目運算符和三目運算符。 單目運算符又稱一元運算符,它只對一個操作數(shù)進行操作。例如,求負運算符、邏輯求反運算符!等。 雙目運算符又稱二元運算符,它可以對兩個操作數(shù)進行操作。例如,加法運算符+、乘法運算符*等。 三目運算符又稱三元運算符,它可以對三個操作數(shù)進行操作。C+語言中只有一個三目運算符,就是條件運算符? :。2.1.3 運算符 分隔符又稱標(biāo)點符號,是用來分隔單詞或程序正文的,它可以表示某個程序?qū)嶓w的結(jié)束和另一個程序?qū)嶓w的開始。在C+語言中,常用的分隔符有

18、以下幾個:空格符:常用來作為單詞與單詞之間的分隔符。逗號:用來作為多個變量之間的分隔符,或用來作為函數(shù)多個參數(shù)之間的分隔符。分號:用來作為for循環(huán)語句中for關(guān)鍵字后面括號中三個表達式的分隔符,或用作語句結(jié)束的標(biāo)志。冒號:用來作為語句標(biāo)號與語句之間的分隔符,或switch語句中關(guān)鍵字case與語句序列之間的分隔符。2.1.4 分隔符 C+語言的數(shù)據(jù)類型是十分豐富的,大致可分為基本數(shù)據(jù)類型和非基本數(shù)據(jù)類型?;緮?shù)據(jù)類型包括整型、字符型、浮點型和布爾型。非基本數(shù)據(jù)類型主要包括數(shù)組類型、結(jié)構(gòu)體類型、共用體類型、指針類型和空類型等,如圖2-1所示。 數(shù)據(jù)類型決定了數(shù)據(jù)在內(nèi)存中所占的空間大小,也確定了

19、其表示范圍。各種基本數(shù)據(jù)類型的長度和取值范圍見表2-1。 2.2 基本數(shù)據(jù)類型 數(shù)據(jù)類型 基本數(shù)據(jù)類型 整 型 基本整型(int) 短整型(short) 長整型(long) 字符型 浮點型 單精度型(float) 雙精度型(double) 布爾型(bool) 空類型(void) 構(gòu)造數(shù)據(jù)類型 數(shù)組類型 指針類型 結(jié)構(gòu)體類型 共用體類型 圖 2-1 C+語言的數(shù)據(jù)類型 表2-1 C+基本數(shù)據(jù)類型的長度和取值范圍數(shù)據(jù)類型說明長度(字節(jié))取值范圍bool布爾型true,falsechar(signed char)字符型1-128127unsigned char無符號字符型10255short(sig

20、ned short)短整型2-3276832767unsigned short無符號短整型2065535int(signed int)基本整型4-21474836482147483647unsigned int無符號整型404294967295long(signed long)長整型4-21474836482147483647unsigned long 無符號長整型404294967295float單精度型4-3.410-383.41038double雙精度型8-1.710-3081.7103082.3.1 常量 2.3.2 變量 2.3 常量與變量1整型常量整型常量 整型常量即整型常數(shù),只有

21、整數(shù)部分而沒有小數(shù)部分,可以用十進制、八進制和十六進制3種形式來表示。十進制整型常量由09組成,沒有前綴,不能以0開始。例如,234、-67為合法的十進制整型常量。八進制整型常量以0為前綴,后跟由07組成的整型常數(shù)。例如,0134、-076為合法的八進制整型常量。十六進制整型常量以0X或0 x為前綴,后跟由09和AF組成的整型常數(shù)。例如,0 x2F、0 xA3B4為合法的十六進制整型常量。注意:注意:整型常量中的長整型用L或l作后綴表示。例如,324L、076L等;整型常量中的無符號型用U或u作后綴表示。例如,431U、0 x34DU等。2.3.1 常量2浮點型常量浮點型常量 浮點型常量又稱實

22、型常量,是由整數(shù)部分和小數(shù)部分組成的,只能用十進制表示。浮點型常量有兩種表示方法:小數(shù)表示法和科學(xué)計數(shù)法。小數(shù)表示法:是由符號、數(shù)字和小數(shù)點組成。例如,9.55、.25等??茖W(xué)計數(shù)法:是用指數(shù)形式來表示浮點型常量,即在小數(shù)表示法后面加上E或e表示指數(shù)。例如,3.2E-5,7e10,-34.5e2等。3字符常量字符常量 C+中有兩種字符常量,即一般字符常量和轉(zhuǎn)義字符常量。一般字符常量 一般字符常量是用一對單引號括起來的一個字符,其值為ASCII碼值。例如,a、A、$、5等都是合法的字符常量。在內(nèi)存中,字符常量是以ASCII碼存儲的,以整數(shù)表示,占據(jù)一個字節(jié)。注意:注意:字符常量區(qū)分大小寫,如a和

23、A是兩個不同的字符常量。一個字符常量只能包含一個字符,如AB是錯誤的。單引號是字符常量的定界符,在輸出字符常量時不顯示單引號。字符常量具有數(shù)值屬性,因為在ASCII碼表中每個字符都對應(yīng)著一個ASCII碼值。 轉(zhuǎn)義字符 轉(zhuǎn)義字符是一個以“”開頭的特定字符,表示其后的字符具有特殊意義。例如,n中的n不是代表字符n,而是代表回車換行的意思。常用的轉(zhuǎn)義字符見表2-2。字符形式ASCII碼值功能00 x00NULLa0 x07響鈴b0 x08退格(Backspace鍵)t0 x09水平制表(Tab鍵)f0 x0c走紙換頁n0 x0a回車換行v0 x0b垂直制表r0 x0d回車(不換行)0 x5c字符“”

24、0 x27單引號0 x22雙引號?0 x3f問號ddd0ddd13位八進制數(shù)所代表的字符xhh0 xhh12位十六進制數(shù)所代表的字符表2-2 C+中常用的轉(zhuǎn)義字符4字符串常量字符串常量 在C+語言中,字符串常量和字符常量是不同的。字符串常量是用一對雙引號括起來的字符序列。例如,a、123、hello等都是字符串常量。這些字符在內(nèi)存中連續(xù)存儲,并在最后加上字符0作為字符串結(jié)束的標(biāo)志。 例如,字符串“HELLO”在內(nèi)存中占連續(xù)6個內(nèi)存單元,存放示意圖如圖2-2所示。 圖2-2 字符串HELLO在內(nèi)存中的存放示意圖 字符常量是用單引號括起來的一個字符。它在內(nèi)存中只占一個字節(jié)。所以,x和x是不同的。注

25、意:注意:不能將一個字符串常量賦給字符常量。例如,語句char c=abc是錯誤的。5邏輯常量邏輯常量 在C+程序設(shè)計中經(jīng)常會用到兩個邏輯值(也稱布爾值)0和1,這兩個值稱為邏輯常量,邏輯常量常出現(xiàn)在各種表達式中參與各種運算。邏輯值“0”代表“假”、“不成立”、“false”等,邏輯值“1”代表“真”、“成立”、“true”等。 HELLO06符號常量符號常量 在C+中,可以用一個標(biāo)識符來表示一個常數(shù),這個標(biāo)識符就是符號常量。C+語言提供了兩種定義符號常量的方法:用const語句定義符號常量 一般格式為:const 數(shù)據(jù)類型 符號常量=表達式; 例如:const double pi = 3.1

26、415926; 注意:注意:在定義符號常量時必須進行初始化,否則將出現(xiàn)編譯錯誤。 用#define語句定義符號常量 #define是預(yù)處理指令,缺點是不能顯示聲明常量的類型。其一般格式為:#define 常量名 常量值 例如:#define pi 3.1415926注意:注意:#define語句的最后不允許加分號“;”。符號常量在聲明時一定要賦初值,而在程序中間不能改變其值。 變量是指在程序運行過程中其值可以改變的量。變量是有名字的,在內(nèi)存中占據(jù)一定的存儲單元。C+語言中使用變量前,必須先對它的數(shù)據(jù)類型進行說明,以便編譯程序為變量分配存儲空間。1變量的命名變量的命名要遵循C+語言中標(biāo)識符的命名

27、規(guī)定:系統(tǒng)使用的關(guān)鍵字不能再作為變量名。第一個字符必須是字母或下劃線,后跟字母、數(shù)字或下劃線,中間不能有空格。命名變量應(yīng)盡量做到“見名知意”,這樣有助于記憶,增加可讀性。在命名變量時,大小寫字母是不一樣的,習(xí)慣上用小寫字母命名變量。2變量的定義變量定義的一般格式為:數(shù)據(jù)類型 變量1,變量2,;其中數(shù)據(jù)類型可以是前面講過的各種數(shù)據(jù)類型,它決定了變量在內(nèi)存中所占的存儲單元數(shù)。例如:int x,y,z; /定義了3個整型變量x、y、z float a,b,c; /定義了3個實型變量a、b、c2.3.2 變量3變量與初始化變量與初始化 在使用已定義的變量前,用賦值運算符“=”對它進行賦值,稱為變量的初

28、始化。格式為:數(shù)據(jù)類型 變量名=初始化值;初始化值可以是一個常量,也可以是一個表達式。例如:int x=10,y=20+a;也可以先定義變量,后賦值。例如:int x1,y1;x1=10;y1=20;在C+語言中,還有另外一種方式給變量賦初值,例如:int i(1) /該語句定義了一個整型變量i,其初值為1注意:注意: 在一個語句中可以定義同一類型的多個變量;不能在一個語句中同時賦值多個變量。如:int a=b=c=5;是錯誤的。但可以分別賦值。 在同一個程序塊中,不能有兩個相同的變量名。 變量賦值時,等號左邊的變量類型要和等號右邊值的類型匹配。如果等號兩邊的類型不匹配,一種情況是系統(tǒng)自動進行

29、隱式類型的轉(zhuǎn)換;另一種情況就是出現(xiàn)錯誤,這種錯誤對程序來說是非常危險的。 表達式是由運算符和各種運算對象(常數(shù)、變量、常量等,也稱操作數(shù))組合而成。在C+程序中,表達式與我們在數(shù)學(xué)中學(xué)到的類似,是用于計算的式子,是計算求值的基本單位。 C+語言定義了豐富的運算符。運算符給出計算的類型,而參與運算的數(shù)據(jù)叫操作數(shù)。按運算符的運算性質(zhì)又可分為算術(shù)運算符、關(guān)系運算符和邏輯運算符等。使用運算符時,要注意以下幾點:運算符的功能。如加、減、乘、除等。與操作數(shù)的關(guān)系,注意操作數(shù)的個數(shù)和類型。運算符的優(yōu)先級別。運算符的結(jié)合性。2.4 運算符和表達式表2-3 C+中常用運算符的優(yōu)先級、功能和結(jié)合性優(yōu)先級運算符功能

30、說明要求操作數(shù)的個數(shù)結(jié)合性1( )改變優(yōu)先級左結(jié)合:作用域運算符 數(shù)組下標(biāo)運算符 成員選擇* *成員指針選擇2*指針運算符1右結(jié)合&取地址sizeof求內(nèi)存字節(jié)數(shù)!邏輯求反按位求反+ -增1、減1運算符+ -取正、取負運算符3* / %乘法、除法、取余2左結(jié)合4+ -加法、減法2左結(jié)合5左移位、右移位2左結(jié)合6 =小于、大于、小于等于、大于等于2左結(jié)合表2-3 C+中常用運算符的優(yōu)先級、功能和結(jié)合性(續(xù)表)優(yōu)先級運算符功能說明要求操作數(shù)的個數(shù)結(jié)合性7= !=等于、不等于2左結(jié)合8&按位與2左結(jié)合9按位異或2左結(jié)合10|按位或2左結(jié)合11&邏輯與2左結(jié)合12|邏輯或2左結(jié)合13?:條件運算符3右

31、結(jié)合14= += = *= /= %= &= = |=賦值運算符2右結(jié)合15,逗號運算符左結(jié)合2.4.1 算術(shù)運算符與算術(shù)表達式 2.4.2 關(guān)系運算符與關(guān)系表達式 2.4.3 邏輯運算符與邏輯表達式 2.4.4 賦值運算符與賦值表達式 2.4.5 位運算符 2.4.6 其他運算符 2.4.7 表達式中數(shù)據(jù)類型的轉(zhuǎn)換 2.4 運算符和表達式1基本算術(shù)運算符與算術(shù)表達式基本算術(shù)運算符與算術(shù)表達式 基本算術(shù)運算符有:+(取正或加)、(取負或減)、*(乘)、(除)、%(取余)。其中+(取正)、(取負)是單目運算符,其余是雙目運算符。上述運算符與其在數(shù)學(xué)中的意義、優(yōu)先級、結(jié)合性基本相同,即先進行乘法、

32、除法和求余運算,優(yōu)先級相同,后執(zhí)行加法和減法運算,優(yōu)先級相同。 注意:注意:要求取余運算符(%)的兩個操作數(shù)必須是整數(shù)或字符型數(shù)據(jù)。 算術(shù)表達式是由算術(shù)運算符與操作數(shù)組成的,其表達式的值是一個數(shù)值,表達式的類型由運算符和操作數(shù)共同確定。2.4.1 算術(shù)運算符與算術(shù)表達式【例2.1】基本算術(shù)表達式的計算。#includevoid main()int i=4,j=5,k=6;int x;x=i+j-k;coutx=xendl; /輸出x=3x=(i+j)*k/2;coutx=xendl; /輸出x=27x=25*4/2%k;coutx=xendl; /輸出x=2double y=2.5;couty

33、=y-(y+0.5)*2endl; /輸出y= -3.5運行程序后,輸出結(jié)果為:x=3x=27x=2y= -3.52增增1、減、減1運算符及表達式運算符及表達式 增1、減1運算符都是單目運算符,這兩個運算符都有前置和后置兩種形式。前置形式是指運算符在操作數(shù)的前面,后置是指運算符在操作數(shù)的后面。例如:i+; /+后置j; /前置注意:注意:增1、減1運算符只能用于變量,不能用于常量和表達式。增1、減1運算符的結(jié)合方向是自右向左,如表達式-i+中運算符“-”和“+”優(yōu)先級相同,結(jié)合方向是自右向左,即表達式可以理解為-(i+)。增1、減1運算符在很多情況下的使用可能會出現(xiàn)歧異,從而產(chǎn)生意想不到的結(jié)果

34、。 【例2.2】增1、減1表達式的計算。#includevoid main()int i,j,k,m,n;i=4;j=i+;couti=itj=jendl;i=4;k=+i;couti=itk=kendl; i=4;m=i-;couti=itm=mendl;i=4;n=-i;couti=itn=nendl;運行程序后,輸出結(jié)果為:i=5 j=4i=5 k=5i=3 j=4i=3 k=3 1關(guān)系運算符關(guān)系運算符 關(guān)系運算符用于比較兩個操作數(shù)的大小,其比較的結(jié)果是一個布爾型的值。當(dāng)兩個操作數(shù)滿足關(guān)系運算符指定的關(guān)系時,表達式的值為true,否則為false。 在C+語言中,關(guān)系運算符都是雙目運算符

35、,共6個:(小于)、(大于)、=(大于或等于)、= =(等于)、!=(不等于)。其中前4種的優(yōu)先級高于后2種。 C+語言中雖然有布爾類型,但它仍然繼承了C語言的規(guī)定,true等于1,false等于0。所以,關(guān)系運算符的比較結(jié)果可以作為算術(shù)運算中的操作數(shù)。例如:表達式2 = 3的結(jié)果為0(false)。 2.4.2 關(guān)系運算符與關(guān)系表達式在使用關(guān)系運算符時還應(yīng)注意以下幾點:在使用關(guān)系運算符時還應(yīng)注意以下幾點:不要把關(guān)系運算符“= =”誤用為賦值運算符“=”。也不要將不等于運算符“!=”寫成其他語言中的不等于運算符“”。a=60的意思是a的ASCII碼值與60比較大小。對于數(shù)學(xué)中表示“x大于等于5

36、,且x小于等于20”的數(shù)學(xué)關(guān)系式5x20,如果寫成下面的表達式:5 = x = 20,則在C+中是錯誤的。這種錯誤是一種語義上的錯誤,編譯時不會報告錯誤。但運行時,不論x為何值(比如為3或60),表達式的值都為“真”。正確的表達式應(yīng)該是:5 = x & x = 202關(guān)系表達式關(guān)系表達式 關(guān)系表達式是由關(guān)系運算符和操作數(shù)組成,表達式的值都是1(true)或0(false)。經(jīng)常出現(xiàn)在條件語句和循環(huán)語句中,用于決定問題的執(zhí)行方法。【例2.3】關(guān)系表達式的計算。#includevoid main()int i=4,j=5;coutj)endl; cout=j)endl; cout(ij)endl;

37、 cout(i=j)endl; cout(i=j)endl; cout(i!=j)endl; 運行程序后,輸出結(jié)果為:0011012.4.3 邏輯運算符與邏輯表達式1邏輯運算符邏輯運算符 邏輯運算符共有3個:1個單目運算符!(邏輯求反),2個雙目運算符&(邏輯與)和|(邏輯或)。 邏輯運算的結(jié)果是邏輯值。參與邏輯運算的操作數(shù)可以是任一基本數(shù)據(jù)類型的數(shù)據(jù),在進行判斷時,系統(tǒng)將視非零值為真,零為假。注意:注意: 在三個運算符中,邏輯非的優(yōu)先級最高,邏輯與次之,邏輯或最低。 關(guān)系運算和邏輯運算的結(jié)果若為真,其值為1;若為假,其值為0。aba&ba|b0000010110011111表2-3 邏輯值的

38、邏輯運算結(jié)果2邏輯表達式邏輯表達式 邏輯表達式由邏輯運算符與操作數(shù)組成,表達式的值都應(yīng)是1(true)或0(false)。【例2.4】邏輯表達式與關(guān)系表達式的計算#includevoid main()int x=3,y=5,z;z=(x0)|(y10);coutz=zendl; /輸出z=1,表示truez=(x=0)&(y10);coutz=zendl; /輸出z=0,表示falsez=!(x=3);coutz=zendl; /輸出z=0,表示false C+中的賦值運算符分為兩種:簡單賦值運算符和復(fù)合賦值運算符。1簡單賦值運算符簡單賦值運算符“=” 其表達式的一般形式為:變量 = 表達式2

39、復(fù)合賦值運算符復(fù)合賦值運算符 復(fù)合賦值運算符由一個數(shù)值型運算符和基本賦值運算符組合而成,共有10個,分別為:+=、=、*=、/=、%=、=、&=、=、|=。 如果以#表示數(shù)值型運算符,則復(fù)合賦值表達式的一般形式為: 變量 #= 表達式 該表達式等價于: 變量 = 變量 # 表達式 即先用左部變量和右部表達式作數(shù)值運算,然后將運算結(jié)果送給左部變量。例如: a += 5 等價于 a = a+5 m %=7 等價于 m = m % 7 復(fù)合賦值運算符的優(yōu)先級和賦值運算符相同,結(jié)合性也相同,都為右結(jié)合。2.4.4 賦值運算符與賦值表達式3賦值表達式賦值表達式 賦值表達式由賦值運算符與操作數(shù)組成。賦值表

40、達式的作用就是把賦值運算符右邊表達式的值賦給左邊的變量。賦值表達式的類型為左邊變量的類型,其值為賦值后左邊變量的值。在C+語言中還可以連續(xù)賦值。【例2.5】賦值表達式的應(yīng)用。#includevoid main()int m=3,n=4,k;k=m+ - -n;coutk=kendl;char x=m,y=n;int z;z=yx;coutz=zendl;z=(y=x+1);coutz=zendl;z=(y!=Y);coutz=zendl;int a=1,b=3,c=5;a+=b*=c-=2;couta=a,b=b,c=c(右移位):將左操作數(shù)的各二進制位右移,溢出的低位舍棄,對無符號數(shù)和有符號

41、數(shù)中的正數(shù),高位補0,有符號數(shù)中的負數(shù),有些系統(tǒng)補0,有些系統(tǒng)補1,右移位數(shù)由右操作數(shù)給出。右移1位相當(dāng)于將操作數(shù)除以2。(左移位):將左操作數(shù)的各二進制位左移,低位補0,高位溢出部分舍棄,左移位數(shù)由右操作數(shù)給出。左移1位相當(dāng)于將操作數(shù)乘注意:注意:位運算操作數(shù)只能是整型或字符型的數(shù)據(jù),不能為實型數(shù)據(jù)。移位運算的結(jié)果就是位運算表達式的值,參與運算的兩個操作數(shù)的值并沒有發(fā)生變化。2.4.5 位運算符【例2.6】位運算符的應(yīng)用。#includevoid main()int a=25,b=18,m,n,i,j,k;m=a&b;coutm=mendl;n=a|b;coutn=nendl; i=ab;c

42、outi=iendl; j=a1;coutj=j1;coutk=k b ? a : b2逗號運算符逗號運算符 由逗號運算符構(gòu)成的表達式稱為逗號表達式,其一般形式為: 表達式1,表達式2,表達式n 逗號表達式的執(zhí)行規(guī)則是從左到右,逐個表達式執(zhí)行,最后一個表達式的值是該逗號表達式的值。 注意:注意:逗號運算符“,”的優(yōu)先級最低。 例如,表達式“a=3,a+l,a*a”的結(jié)果為9。 2.4.6 其他運算符1. 隱含轉(zhuǎn)換隱含轉(zhuǎn)換 當(dāng)操作數(shù)的類型不一致時,表達式的類型就取決于操作數(shù)中類型最高的操作數(shù)類型,C+語言將自動進行類型轉(zhuǎn)換,隱含轉(zhuǎn)換的示意圖如圖2-3所示,其轉(zhuǎn)換規(guī)則如下:float型數(shù)據(jù)自動轉(zhuǎn)換

43、成double型,char和short型數(shù)據(jù)自動轉(zhuǎn)換成int型。這是橫向箭頭的含義。當(dāng)操作數(shù)類型不同時,將按照縱向箭頭來進行類型轉(zhuǎn)換。例如,一個long型的操作數(shù)和一個double型的操作數(shù)進行運算,則long型會自動轉(zhuǎn)換成double型。2.4.7 表達式中數(shù)據(jù)類型的轉(zhuǎn)換 double float long unsigned int char,short 圖 2-3 隱含轉(zhuǎn)換示意圖 可以看出,隱含轉(zhuǎn)換是由取值范圍小的類型向取值范圍大的類型轉(zhuǎn)換,以確保在轉(zhuǎn)換數(shù)據(jù)類型時不會造成數(shù)據(jù)丟失。注意:注意:隱含轉(zhuǎn)換是由編譯系統(tǒng)自動完成的,它實際并不改變操作數(shù)的數(shù)據(jù)類型,只是在計算表達式值時,臨時改變操作

44、數(shù)的數(shù)據(jù)類型,計算完成后,操作數(shù)仍保持原有的數(shù)據(jù)類型。2. 強制轉(zhuǎn)換強制轉(zhuǎn)換 強制轉(zhuǎn)換的作用是將表達式的類型強制轉(zhuǎn)換成指定的數(shù)據(jù)類型。 其一般形式為: 數(shù)據(jù)類型(表達式)或 (數(shù)據(jù)類型)表達式 例如: double(a) /將a強制轉(zhuǎn)換成double型 float(5%3) /將5%3的結(jié)果轉(zhuǎn)換成float型 注意注意:如果將高類型轉(zhuǎn)換成低類型,會造成數(shù)據(jù)精度的損失。因此,這是一種不安全的類型轉(zhuǎn)換。 2.5.1 C+語句概述 2.5.2 選擇語句 2.5.3 循環(huán)語句 2.5.4 轉(zhuǎn)移語句2.5 控制語句1表達式語句表達式語句 表達式語句是由一個表達式加上分號組成。例如: int i; /將i

45、聲明為整型變量的語句 a=3*4+5; /賦值語句2復(fù)合語句復(fù)合語句 復(fù)合語句也稱塊語句,是由兩條或兩條以上的語句組成,并用“ ”括起來的語句。復(fù)合語句在語法上相當(dāng)于一條語句。 注意:注意:在復(fù)合語句的右括號后不再需要分號。3控制語句控制語句 控制語句通常包括選擇語句、循環(huán)語句和轉(zhuǎn)移語句。4空語句語句空語句語句 空語句只有一個分號,它不作任何操作,常用在需要一條語句而又不需要任何操作的地方,如循環(huán)語句中。 2.5.1 C+語句概述 2.5.2 選擇語句 1if語句語句if語句用來有條件地執(zhí)行某一語句系列。if語句主要有3種語法格式:(1)簡單if語句格式:if(表達式) 語句; 功能:首先計算

46、表達式的值,如果表達式的值不為0,表示條件判定為真,花括號內(nèi)的語句將被執(zhí)行;否則,將執(zhí)行后面的語句。其中的表達式一般是關(guān)系表達式,并且表達式必須用()括起來。語句可以是一條語句,也可以是多條語句。如果只有一條語句,則 可以省略?!纠?.7】簡單if語句的應(yīng)用。#include void main() float score;coutPlease enter your score:score;if (score=60)coutPassed!endl;if (score60)coutNo passed!endl;coutYou should do your best to studyendl;運行

47、程序后,屏幕上輸出顯示:Please enter your score:提示用戶輸入成績,當(dāng)用戶輸入成績信息后,程序會根據(jù)用戶的輸入,輸出顯示相應(yīng)的信息。如輸入70,則顯示:Passed!(2)兩分支if語句格式:if(表達式) 語句1;else 語句2; 功能:首先計算表達式的值,如果表達式條件判定為真,則執(zhí)行語句1,否則將執(zhí)行語句2。該格式的流程圖如圖2-5所示。 【例2.8】利用兩分支if語句改寫例2.7。#include void main() float score;coutPlease enter your score:score;if (score=60)coutPassed!e

48、ndl;elsecoutNo passed!endl;cout You should do your best to studyendl;(3)多分支if語句格式:if(表達式1) else if(表達式2) else if(表達式3) else if(表達式n) else 功能:首先計算表達式1的值,如果表達式1條件判定為真,則執(zhí)行語句1,否則判定表達式2,如果條件判定為真,則執(zhí)行語句2,依此類推,直到所有的表達式條件均不滿足,此時將執(zhí)行語句n+1。該格式實際上提供了多重條件選擇。該格式的流程圖如圖2-6所示。 【例2.9】利用多分支if語句比較兩個數(shù)的大小。#include void ma

49、in() int x,y;coutPlease input x,y:xy;if (x=y) coutx=yy)coutyendl;else coutxyendl;程序執(zhí)行后,屏幕上輸出顯示:Please input x,y:計算機提示用戶輸入兩個x和y的值。當(dāng)用戶輸入后,計算機將顯示相應(yīng)的判斷結(jié)果。例如,輸入1和2后將顯示“xy”的判斷結(jié)果。 (4)if語句的嵌套 三種if語句之間可以實現(xiàn)嵌套。通常為了不破壞程序的可讀性,嵌套的層次一般不超過兩層。【例2.10】利用if語句的嵌套改寫例2.9。#include void main() int x,y;coutPlease input x,y:x

50、y;if (x!=y)if (xy)coutyendl;elsecoutxyendl;elsecoutx=yendl;2switch語句switch語句又稱開關(guān)語句,其語法格式為:switch(表達式M)case 常量表達式M1:語句1;case 常量表達式M2:語句2; case 常量表達式Mn:語句n; default:語句Mn+1; 其中,switch、case和default是關(guān)鍵字,常量表達式通常為整型數(shù)值和字符常量,語句1、語句2、語句n是由1條或多條語句組成的語句段,也可以是空語句。如果是多條語句,可以用花括號括起來。 switch語句的執(zhí)行過程是:首先計算switch語句中的表

51、達式,然后按先后順序?qū)⒌玫降慕Y(jié)果與case中的常量表達式的值進行比較。如果兩者相等,程序就轉(zhuǎn)到相應(yīng)case處開始順序執(zhí)行。如果沒有找到相匹配的結(jié)果,就從default處開始執(zhí)行。如果沒有default,則轉(zhuǎn)到switch語句后面的語句。如果希望switch語句在執(zhí)行完某一case后面的語句后,不再執(zhí)行其后面的case和default分支,就需要在每個case的末尾加上一條break語句,表示跳出switch語句。加break語句的switch語句流程圖如圖2-7所示。 【例2.11】根據(jù)考試成績的等級給出百分制分?jǐn)?shù)段。#include void main() char grade;cout請輸

52、入成績:grade;if (grade=a & grade=z) grade-=32; /若輸入小寫字母,則轉(zhuǎn)化為大寫字母 switch(grade) case A :cout90100 endl; case B :cout8089 endl; case C :cout7079 endl; case D :cout6069 endl; case E :cout60分以下 endl; default:coutInput error!endl; 運行程序后,屏幕上將顯示字符串“請輸入成績:”。假設(shè)輸入B后,將輸出結(jié)果:80897079606960分以下Input error! 顯然,這樣的輸出結(jié)果

53、是不符合題目原意的,原因就在于沒有用break語句作為每個case的結(jié)束語句?,F(xiàn)修改例2.11程序如下:switch(grade)case A :cout90100 endl;break;case B :cout8089 endl; break;case C :cout7079 endl; break; case D :cout6069 endl; break; case E :cout60分以下 endl; break; default:coutInput error!endl; 再運行程序,然后輸入成績B,將輸出結(jié)果:8089 在程序設(shè)計中經(jīng)常遇到需要重復(fù)執(zhí)行的操作,這些操作可以使用循環(huán)語

54、句來實現(xiàn)。循環(huán)語句使得程序在給定條件滿足時,能夠重復(fù)地執(zhí)行某些操作。C+語言提供了3種循環(huán)語句:while循環(huán)語句、do-while循環(huán)語句和for循環(huán)語句。 1while循環(huán)語句循環(huán)語句while循環(huán)語句的語法形式為: while(表達式) 循環(huán)體;其中,while是關(guān)鍵字,表達式可以是C+語言中任何合法的表達式,它用來判斷執(zhí)行循環(huán)體的條件,根據(jù)循環(huán)條件決定是否執(zhí)行循環(huán)體。循環(huán)體由語句組成,可以是一條語句,也可以是多條語句。2.5.3 循環(huán)語句while循環(huán)執(zhí)行過程示意圖如圖2-8所示。注意:注意: 如果循環(huán)體有多個語句時,要用大括號把它們括起來,以復(fù)合語句形式出現(xiàn)。 在使用循環(huán)語句時,一定

55、要設(shè)法改變循環(huán)變量,使之在有限次循環(huán)之后能滿足循環(huán)終止條件而結(jié)束循環(huán)。 表達式循環(huán)體真假圖 2-8 while循環(huán)執(zhí)行過程【例2.12】編程計算1100之和。#include void main() int i=1,sum=0;while(i=100)sum+=i;i+;coutsum=sumendl;程序運行后,輸出結(jié)果:sum = 50502do-while循環(huán)語句循環(huán)語句do-while循環(huán)語句的語法形式為: do /循環(huán)體部分 while(表達式);do-while循環(huán)語句與while循環(huán)語句的區(qū)別在于:do-while循環(huán)語句首先執(zhí)行循環(huán)體,再求表達式的值。如果其值非0,則再次執(zhí)行循

56、環(huán)體,直至表達式的值為零;而while語句首先求表達式的值,再按其值為零或非零決定是否執(zhí)行循環(huán)體。因此,do-while循環(huán)語句中的循環(huán)體至少執(zhí)行一次。do-while循環(huán)執(zhí)行過程如圖2-9所示。注意:注意:do-while循環(huán)語句最后的分號不可缺少。 【例2.13】利用do-while循環(huán)語句改寫例2.12。#include void main() int i=1,sum=0;dosum+=i;i+;while(i=100);coutsum=sumendl;3for循環(huán)語句循環(huán)語句for循環(huán)語句的功能非常強大。所有while循環(huán)語句和do-while循環(huán)語句都可以用for循環(huán)語句替代。for

57、循環(huán)語句的語法形式為: for(表達式1;表達式2;表達式3) 循環(huán)體; 其中,表達式1通常用來給循環(huán)變量賦初值;表達式2通常是關(guān)系表達式或邏輯表達式,一般用來設(shè)置循環(huán)條件;表達式3用來在每次循環(huán)之后修改循環(huán)變量的值。 for語句的執(zhí)行過程是:首先執(zhí)行表達式1,給循環(huán)變量賦初值;接著執(zhí)行表達式2,并根據(jù)表達式2的值決定是否執(zhí)行循環(huán)體。如果表達式2的值為true或其他非0值,則執(zhí)行循環(huán)體,否則退出循環(huán);每執(zhí)行完一次循環(huán)體后,再執(zhí)行表達式3,修改循環(huán)變量;然后再執(zhí)行表達式2,并根據(jù)表達式2的值決定是否繼續(xù)執(zhí)行循環(huán)體。For循環(huán)語句的執(zhí)行過程如圖2-10所示。 在使用for循環(huán)語句時,應(yīng)該注意下列幾

58、種情況:(1)for語句中的3個表達式可以沒有。但必須注意每個表達式后的分號不能省略。此時for循環(huán)語句的形式為:for(;)這時在循環(huán)體內(nèi)必須有其他控制循環(huán)執(zhí)行的語句,否則會形成死循環(huán)。(2)表達式1如果沒有或不是用來給循環(huán)變量賦初值,則應(yīng)在for語句前給循環(huán)變量賦初值。(3)表達式2如果沒有,則在for語句循環(huán)體內(nèi)應(yīng)有其他控制循環(huán)執(zhí)行的語句,否則會形成死循環(huán)。(4)表達式3如果沒有或不是用來修改循環(huán)變量的值,則應(yīng)在for語句循環(huán)體內(nèi)設(shè)置相應(yīng)的語句。 【例2.14】利用for循環(huán)語句改寫例2.12。#include void main() int i,sum=0;for(i=1; i=100

59、; i+)sum+=i;coutsum=sumendl;【例2.15】在屏幕上顯示09共10個整數(shù)。#include void main() int i=0;for(; i=9;)couti+t;coutendl;程序運行后,將輸出結(jié)果:0 1 2 3 4 5 6 7 8 9 C+語言還提供了goto語句、break語句和continue語句等轉(zhuǎn)移語句,它們主要用于改變程序中語句的執(zhí)行順序,使程序從某一語句有目的地轉(zhuǎn)移到另一語句繼續(xù)執(zhí)行。1goto語句語句 goto語句語法格式為: goto 語句標(biāo)號; goto語句的作用是使程序轉(zhuǎn)移到語句標(biāo)號所標(biāo)示的語句處繼續(xù)執(zhí)行。語句標(biāo)號是一種用來標(biāo)識語句

60、的符號,其命名遵守標(biāo)識符的命名規(guī)定,放在語句的前面,并用冒號(:)與語句分開。 C+語言中,goto語句的使用被限制在一個函數(shù)體內(nèi),即goto語句只能在一個函數(shù)范圍內(nèi)進行語句轉(zhuǎn)移。在同一函數(shù)中,語句標(biāo)號應(yīng)該是唯一的。 注意:由于goto語句的使用會破壞程序的結(jié)構(gòu),編程時,應(yīng)盡量少用或不用。2.5.4 轉(zhuǎn)移語句2break語句語句 break語句的語法格式如下: break; break語句可用在以下兩種情況:(1)break語句用在switch語句中,其功能是退出switch語句。(2)break語句用在循環(huán)語句的循環(huán)體中,其功能是退出循環(huán)語句。如果是多重循環(huán),它將會在本次循環(huán)結(jié)束時執(zhí)行該重循

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論