




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計基礎(chǔ)程序設(shè)計風(fēng)格好的程序設(shè)計風(fēng)格有利于提高程序的正確性、可讀性、可維護(hù)性和可用性。要是程序有良好的風(fēng)格概括起來可以分為4部分:源程序文檔化、數(shù)據(jù)說明、語句結(jié)構(gòu)、輸入輸出方法。用戶所定義的標(biāo)示符必須以字母或下劃線開頭。大、小寫字母代表不同標(biāo)識。結(jié)構(gòu)化程序設(shè)計(1)結(jié)構(gòu)化程序設(shè)計的基本特征:程序有3種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)整個程序采用模塊化結(jié)構(gòu)。模塊劃分的原則:模塊內(nèi)具有高內(nèi)聚度、模塊間具有低耦合度。有限的使用goto語句,只限定在一個結(jié)構(gòu)的內(nèi)部跳轉(zhuǎn),不允許從一個結(jié)構(gòu)跳到另一結(jié)構(gòu)。程序設(shè)計時采用“自頂向下、逐步求精”的實(shí)施方法。3種基本結(jié)構(gòu)組成的算法只能完成符合結(jié)構(gòu)化的
2、任務(wù)(3)結(jié)構(gòu)化程序設(shè)計的方法:逐步求精和模塊化程序設(shè)計方法。結(jié)構(gòu)化設(shè)計的總體思想是采用模塊化結(jié)構(gòu),自上而下,逐步求精。面向?qū)ο蟪绦蛟O(shè)計基本概念對象:系統(tǒng)中運(yùn)行的實(shí)體,是有特殊屬性(數(shù)據(jù))和方法的實(shí)體類:由屬性和方法構(gòu)成。一組具有相同的數(shù)據(jù)結(jié)構(gòu)和相同的行為特征的對象的集合稱為類在面對對象的方法中,類的實(shí)例稱為對象面向?qū)ο蟪绦蛟O(shè)計特征的是:繼承性、多態(tài)性、封裝性在面向?qū)ο蟮姆椒ㄖ?,?shí)現(xiàn)信息隱蔽是依靠對象的封裝任何對象都必須有繼承性(錯)例題精選:在面對對象的方法中,一個對象請求另一個對象為其服務(wù)的方式是通過發(fā)送:信息面對對象的設(shè)計方法與傳統(tǒng)的面向過程的方法有本質(zhì)的區(qū)別,它的基本原理是:使用現(xiàn)實(shí)世
3、界的概念抽象的思考問題從而自然地解決問題.結(jié)構(gòu)化方法中,軟件功能分解屬于軟件開發(fā)階段中的總體設(shè)計結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是:程序的易讀性面向?qū)ο蟮脑O(shè)計程序主要考慮的是:提高軟件的可重用性類通過接口與外界發(fā)生關(guān)系.數(shù)據(jù)結(jié)構(gòu)與算法算法的基本概念算法:是對問題處理方案的正確而完整的描述,是求解問題的方法,是指令的有效序列。具有5個特性:(1)有窮性(在有窮步后完成)算法程序的運(yùn)行時間是有限的(2)確定性(每一步都有確定的含義)(3)可行性(4)輸入(一個算法有零個或多個輸入)(5)輸出(一個算法有一個或多個輸出)算法的復(fù)雜度包括:時間復(fù)雜度和空間復(fù)雜度。二者沒有必然的聯(lián)系。時間復(fù)雜度:執(zhí)行算法所需要
4、的計算工作量或基本運(yùn)算次數(shù)??臻g復(fù)雜度:算法所需要的空間的度量。數(shù)據(jù)結(jié)構(gòu)的定義數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)、數(shù)據(jù)的操作數(shù)據(jù)的邏輯結(jié)構(gòu):數(shù)據(jù)的外部結(jié)構(gòu),指各數(shù)據(jù)元素之間的邏輯關(guān)系,反映人們對數(shù)據(jù)含義的解釋。包括:線性結(jié)構(gòu)(線性表、棧、隊列)和非線性結(jié)構(gòu)(樹和圖)數(shù)據(jù)的存儲結(jié)構(gòu):數(shù)據(jù)的物理結(jié)構(gòu),指數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示。一個邏輯結(jié)構(gòu)可以有多種存儲結(jié)構(gòu)。線性表:線性表中元素的個數(shù)n(n=0)定義為線性表的長度。順序存儲是線性表的一種最常用的存儲方式。線性表的順序存儲結(jié)構(gòu)和線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)分別是隨機(jī)存取的存儲結(jié)構(gòu)和順序存取的存儲結(jié)構(gòu)。棧:是限定在表尾進(jìn)行插入和刪除操作的線性表
5、。具有記憶功能只能順序存儲(錯)允許插入和刪除的一端叫棧頂。另一端叫棧底。后進(jìn)先出的線性表2隊列:是限定在一端插入而在另一端刪除,插入端叫隊尾,刪除端叫對頭。先進(jìn)先出的線性表3棧和隊列的順序存儲結(jié)構(gòu)循環(huán)隊列屬于線性表存儲結(jié)構(gòu)中順序存儲結(jié)構(gòu)和鏈?zhǔn)酱鎯Y(jié)構(gòu)的前者。樹定義:樹的結(jié)點(diǎn)、度(結(jié)點(diǎn)的度)、葉子(終端結(jié)點(diǎn))、數(shù)的度、深度、有序樹和無序數(shù)二叉樹:結(jié)點(diǎn)至多有兩棵子樹,并且二叉樹的子樹有之分,次序不能顛倒。性質(zhì):在二叉樹的第i層上至多有2i-l個結(jié)點(diǎn)深度為k的二叉樹至多有2k-1個結(jié)點(diǎn)。對任一個二叉樹T,如果其葉子(終端結(jié)點(diǎn)數(shù))為n,度為二的結(jié)點(diǎn)數(shù)為m,貝Vn=m+1.具有n個結(jié)點(diǎn)的完全二叉樹的深
6、度為k+1,其中k是log2n的整數(shù)部分。二叉樹的遍歷先序遍歷(根左右)中序遍歷(左根右)后序遍歷(左右根)查找算法(1)順序查找順序查找的平均查找長度為(n+l)/2,最壞的情況下比較的次數(shù)為n(2)二分查找限定于順序存儲的有序線性表排序算法1)插入類排序直接插入排序折半插入排序希爾排序交換類排序冒泡排序最壞情況下的比較次數(shù)n(n-l)/2快速排序最壞情況下的比較次數(shù)n(n-l)/2選擇類排序例題精選:設(shè)一棵完全二叉樹共有699個結(jié)點(diǎn),則在該二叉樹中的葉子結(jié)點(diǎn)數(shù)為:350已知二叉樹后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列為:cedba要求內(nèi)存量最大的是:歸并排序在
7、數(shù)據(jù)結(jié)構(gòu)中,與所使用的計算機(jī)無關(guān)的是數(shù)據(jù)的是:邏輯結(jié)構(gòu)棧底至棧頂依次存放元素A.B.C.D,在第五個元素E入棧前,棧中元素可以出棧,則出棧序列可能是:DCBEA已知數(shù)據(jù)表A中每個元素距其最終位置不遠(yuǎn),為節(jié)省時間,應(yīng)采取的算法是:直接插入排序用鏈?zhǔn)奖硎揪€性表的優(yōu)點(diǎn)是:便于插入和刪除操作。軟件工程基礎(chǔ)軟件工程的基本概念定義:軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合。軟件包括系統(tǒng)軟件和應(yīng)用軟件軟件工程的基本思想是軟件開發(fā)中,應(yīng)用工程化原則進(jìn)行軟件開發(fā),并將這個思想貫穿在軟件開發(fā)的整個過程中。軟件工程的3要素:方法、工具和過程軟件的生命周期:從軟件定義、開發(fā)、使用、維護(hù)到報廢為止的整個過程。分三階段:設(shè)計階段
8、、開發(fā)階段、維護(hù)階段包括:問題定義、可行性分析、需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、測試和維護(hù)問題定義:確定開發(fā)的任務(wù)可行性分析:確定問題的可行性需求分析:對用戶要求進(jìn)行分析,明確目標(biāo)系統(tǒng)要做什么總體設(shè)計:把軟件功能轉(zhuǎn)化為所需要的體系結(jié)構(gòu),即如何解決問題。詳細(xì)設(shè)計:怎樣具體的解決問題結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析(SA)是面向數(shù)據(jù)流進(jìn)行需求分析的方法SA方法的基本思想正是運(yùn)用了分解和抽象兩個基本手段,采用:自頂向下,逐步分解的分析思路。數(shù)據(jù)流圖基本圖形符號在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是:需求分析數(shù)據(jù)字典在結(jié)構(gòu)化分析的數(shù)據(jù)流圖中,利用數(shù)據(jù)字典對其中的圖形元素進(jìn)行確切
9、解釋.軟件設(shè)計概要設(shè)計(總體設(shè)計)包括兩個主要階段:系統(tǒng)設(shè)計(確定具體的實(shí)現(xiàn)方案)和結(jié)構(gòu)設(shè)計(確定每個系統(tǒng)的模塊組成及模塊間的關(guān)系)模塊之間聯(lián)系越緊密,其耦合性就越強(qiáng),模塊的獨(dú)立性就越差;一個模塊內(nèi)個要素聯(lián)系越緊密,則它的內(nèi)聚性就越高。模塊劃分原則:高內(nèi)聚低耦合(2)詳細(xì)設(shè)計結(jié)構(gòu)化程序設(shè)計的要點(diǎn):采用自頂向下、逐步求精的程序設(shè)計方法,一個程序只有一個入口和一個出口。詳細(xì)設(shè)計的常用工具:程序流程圖、盒圖、PAD和PDL(3)軟件測試目的軟件測試的目的是盡可能多的發(fā)現(xiàn)程序中的錯誤。軟件測試方法:靜態(tài)測試和動態(tài)測試(黑盒測試法和白盒測試法)黑盒測試包括:等價分析法、邊值分析法、因果圖法和錯誤推測法白
10、盒測試法測試的原則之一就是保證所測模塊中的每一個獨(dú)立的路徑至少執(zhí)行一次。(4)程序調(diào)試分為靜態(tài)調(diào)試和動態(tài)調(diào)試調(diào)試的目的:改正錯誤經(jīng)調(diào)試后還必須進(jìn)行再測試(5)軟件維護(hù)軟件維護(hù)就是在軟件已經(jīng)交付使用以后,為改正錯誤或滿足新的需求而修改軟件的過程。例題精選:1分析的結(jié)果是產(chǎn)生需求規(guī)格說明書。2軟件詳細(xì)設(shè)計的主要任務(wù)是確定每一個模塊的算法和使用的數(shù)據(jù)結(jié)構(gòu)。3進(jìn)行單元測試時,常用的方法時采用白盒測試,輔以黑盒測試。4軟件工程的出現(xiàn)是由于軟件危機(jī)的出現(xiàn),人們提出了軟件工程學(xué)的原理設(shè)計軟件。5數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,通常包括4個部分:數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲和數(shù)據(jù)加工。數(shù)據(jù)庫設(shè)計基礎(chǔ)1.數(shù)據(jù)庫(1)
11、數(shù)據(jù)庫設(shè)計的根本目的是:要解決數(shù)據(jù)共享的問題。(2)數(shù)據(jù)庫的特點(diǎn):數(shù)據(jù)按一定的數(shù)據(jù)模型組織和存儲。冗余度較小數(shù)據(jù)的獨(dú)立性較高。數(shù)據(jù)獨(dú)立性:數(shù)據(jù)的組織結(jié)構(gòu)和存儲方法與應(yīng)用程序互不依賴、彼此獨(dú)立。易擴(kuò)展可為多種用戶共享數(shù)據(jù)庫管理系統(tǒng)(DBMS)位于用戶與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶組成最核心的部分是數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)模型(1)實(shí)體聯(lián)系模型及E-R圖3部分:實(shí)體、聯(lián)系和屬性實(shí)體集間的聯(lián)系:一對一聯(lián)系、一對多聯(lián)系和多對多聯(lián)系(2)層次、網(wǎng)狀、關(guān)系模型層次模型:有且只有一個結(jié)點(diǎn)無雙親,其他結(jié)點(diǎn)只有一個雙親。用樹形結(jié)構(gòu)來表示各實(shí)體
12、與實(shí)體之間的聯(lián)系。在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每個二維表稱為關(guān)系。一個關(guān)系對應(yīng)一張二維表。關(guān)系的屬性名稱為關(guān)系模式。關(guān)系運(yùn)算并差交笛卡爾積(X)專門關(guān)系運(yùn)算:選擇、連接和投影從關(guān)系中找到滿足條件的所有元組稱為選擇從關(guān)系中挑選若干屬性組成新的關(guān)系稱為投影數(shù)據(jù)庫設(shè)計步驟:(1)需求分析階段(2)概念設(shè)計階段邏輯結(jié)構(gòu)設(shè)計階段將E-R圖轉(zhuǎn)化數(shù)據(jù)模型數(shù)據(jù)庫物理設(shè)計階段數(shù)據(jù)庫內(nèi)模式,給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)和物理存取方法。例題精選:1.數(shù)據(jù)庫管理系統(tǒng)的主要功能是:定義數(shù)據(jù)庫2.關(guān)系表中每一橫行稱為一個元組,每一列稱為屬性。設(shè)計數(shù)據(jù)庫的存儲結(jié)構(gòu)屬于物理設(shè)計.第9章模板9.1函數(shù)模板函數(shù)模板的概念、定義
13、與應(yīng)用函數(shù)模板是一系列相關(guān)函數(shù)的模型或樣板,這些函數(shù)的源代碼形式相同,只是所針對的數(shù)據(jù)類型不同。對于函數(shù)模板,數(shù)據(jù)類型本身成了它的參數(shù),因而是一種參數(shù)化類型的函數(shù)。聲明一個函數(shù)模板的格式是:template模板形參表聲明函數(shù)聲明其中的模板形參表聲明是由一個或多個模板形參組成(如果是多個,需要用逗號隔開)。每個模板形參具有下面幾種形式:(1)typename參數(shù)名(2)class參數(shù)名(3)類型修飾參數(shù)名這里的參數(shù)名可以是任意的標(biāo)識符。在這三種形式中,前兩種是等價的:在聲明模板參數(shù)時,關(guān)鍵字typename與class可以互換。用typename或class聲明的參數(shù)稱為虛擬類型參數(shù);而用類型修
14、飾聲明的參數(shù)則挑為常規(guī)參數(shù),在形式上與普通的函數(shù)參數(shù)聲明相同。格式中的函數(shù)聲明與一般函數(shù)的聲明類似,只是某些類型修飾符被虛擬類型參數(shù)所替代。模板實(shí)參的省略在調(diào)用一個模板函數(shù)時,編譯系統(tǒng)需要足夠的信息來判別每個虛擬類型參數(shù)所對應(yīng)的實(shí)際類型,可以從兩個不同的渠道獲得這樣的信息:從模板實(shí)參表(用和括起來的參數(shù)表)或從模板函數(shù)實(shí)參表(用(和)括起來的參數(shù)表),模板實(shí)參的信息優(yōu)先于函數(shù)實(shí)參的信息。如果從后者獲得的信息已經(jīng)能夠判定其中部分或全部虛擬類型參數(shù)所對應(yīng)的實(shí)際參數(shù),而且它們又正好是參數(shù)表中最后的若干參數(shù),則模板實(shí)參表中的那幾個參數(shù)可以省略。如果模板實(shí)參表中的實(shí)參都被省略了,則連空表也可以不要。因此
15、,若x和y都是unsigned型,則addTounsigned(x,y,9)、addT(x、y、9)和addTo(x,y,9)三者是等價的。反之,對于某個模板實(shí)參,如果從模板函數(shù)的實(shí)參表中無法獲得同樣的信息,就不能省略;或者雖然能夠獲得同樣的信息,但在它后面還有其他不能省略的實(shí)參,則其自身還是不能省略。下面列舉幾種模板實(shí)參不能省略的情況。從模板函數(shù)實(shí)參表獲得的信息矛盾。需要獲得特定類型的返回值,而不管參數(shù)的類型如何。虛擬類型參數(shù)沒有出現(xiàn)在模板函數(shù)的形參表中。函數(shù)模板含有常規(guī)形參。函數(shù)模板的定制對不同的數(shù)據(jù)類型在處理形式上的統(tǒng)一性是建立模板的基礎(chǔ)。但是,這種統(tǒng)一性是相對的,個別數(shù)據(jù)類型有可能比較
16、特殊,在處理形式上與大多數(shù)數(shù)據(jù)類型不一致。針對這樣的特殊情況,可以通過重載模板函數(shù)進(jìn)行定制。這樣把重載的模板稱為補(bǔ)充模板,相應(yīng)地,原模板則稱為主模板。9.2類模板類模板的概念、定義與應(yīng)用類模板就是一系列相關(guān)類的模型或樣板,這些類的成員組成相同,成員函數(shù)的源代碼形式相同,所不同的只是所針對的類型(成員的類型以及成員函數(shù)的參數(shù)和返回值的類型)。對于類模板,數(shù)據(jù)類型本身成了它的參數(shù),因而是一種參數(shù)化類型的類,是類的生成器。類模板中聲明的類稱為模板類。聲明一個類模板的格式是:template模板形參表聲明類聲明模板形參表聲明是由一個或多個模板形參組成;與一般的類聲明的不同之處在于,這里的類聲明要用模板
17、形參表聲明中聲明的虛擬類型參數(shù)來修飾它的某些成員,使模板類獨(dú)立于任何具體的數(shù)據(jù)類型。在模板外對成員函數(shù)的聲明格式是:template模板形參表聲明返回類型類名模板形參表:函數(shù)名(函數(shù)形參表)函數(shù)體其中模板形參表就是由模板形參表聲明中聲明的參數(shù)名組成的序列。應(yīng)注意,類模板的成員函數(shù)都是模板函數(shù),因此在模板外聲明成員函數(shù)的格式與聲明普通模板函數(shù)十分相似。用類模板定義對象的格式是:類名模板實(shí)參表對象名;或類名模板實(shí)參表對象名(構(gòu)造函數(shù)實(shí)參表);在定義對象的過程中,編譯系統(tǒng)會自動地根據(jù)需要生成相應(yīng)的類定義,這種依據(jù)類模板生成類定義的過程稱為類模板的實(shí)例化。類模板實(shí)例所生成的每一個類定義就是相應(yīng)類模板的
18、一個實(shí)例。在用類模板定義對象時,由于沒有像函數(shù)實(shí)參表這樣的額外信息渠道,因此無法按函數(shù)模板的方式省略模板實(shí)參。但是,可以為類模板的參數(shù)設(shè)置默認(rèn)值。具體地說,在定義類模板時,可以為模板形參表聲明的最后若干個參數(shù)設(shè)置默認(rèn)值;而這些有默認(rèn)值的參數(shù)中,最后的若干個對應(yīng)實(shí)參可以在定義對象時省略。3類模板的派生與繼承一談到繼承總涉及到兩個類:基類和派生類,它們中任何一個都有可能是模板類,或模板類的實(shí)例。下面列出常見的幾種情況。(1)普通類繼承類模板的一個實(shí)例。可以通過繼承類模板的一個實(shí)例來聲明一個類。(2)模板類繼承普通類。在聲明一個類模板時,應(yīng)盡可能將類模板中與虛擬類型參數(shù)無關(guān)的成員剝離出來,構(gòu)成一個普
19、通類,作為類模板的基類。因此,類模板繼承普通類的情況是十分常見的。(3)模板類繼承模板類。可以通過繼承一個模板類來聲明一個類模板。(4)模板類繼承模板參數(shù)給出的基類。模板的派生甚至可以繼承一個未知的基類。也就是說,繼承哪個基類由模板參數(shù)決定。3類模板的定制與函數(shù)模板類似,類模板有時也需要定制,以適應(yīng)某些特殊情況。類模板的定制也是通過定義補(bǔ)充模板實(shí)現(xiàn)的,稱為模板的特例化,每個補(bǔ)充模板就是主模板的一個特例。第10章C+流10.1C+流的概念1C+流的體系結(jié)構(gòu)要利用C+流,必須在程序中包含有關(guān)的頭文件,以便獲得相關(guān)流類的聲明。為了使用新標(biāo)準(zhǔn)的流,相關(guān)頭文件的文件名中不得有擴(kuò)展名。與C+流有關(guān)的頭文件
20、有:iostream:要使用cin、cout的預(yù)定義流對象進(jìn)行針對標(biāo)準(zhǔn)設(shè)備的I/O操作,須包含此文件。fstream:要使用文件流對象進(jìn)行針對磁盤文件的I/O,操作須包含此文件。strstream:要使用字符串流對象進(jìn)行針對內(nèi)存字符串空間的I/O操作,須包含此文件。iomanip:要使用setw、fixed等大多數(shù)操作符,須包含此文件。注意,為了使用新標(biāo)準(zhǔn)的C+流,還必須在程序文件的開始部分插入下面這個名字空間聲明:usingnamespacestd;預(yù)定義流對象C+流有4個預(yù)定義的流對象,它們的名稱及與之聯(lián)系的I/O設(shè)備如下:cin標(biāo)準(zhǔn)輸入cout標(biāo)準(zhǔn)輸出cerr標(biāo)準(zhǔn)出錯信息輸出clog帶緩
21、沖的標(biāo)準(zhǔn)出錯信息輸出提取運(yùn)算符和插入運(yùn)算符輸入流類istream重載了運(yùn)算符,用于數(shù)據(jù)輸入,其原形具有istream&operator(istream&,類型修飾&);的形式。重載的的功能是從輸入流中提取數(shù)據(jù)賦值給一個變量,因此稱之為提取運(yùn)算符(extractor)。當(dāng)系統(tǒng)執(zhí)行cinx操作時,將根據(jù)實(shí)參x的類型生成相應(yīng)的提取運(yùn)算符重載函數(shù)的實(shí)例并調(diào)用該函數(shù),把x引用傳送給對應(yīng)的形參,接著從鍵盤的輸入緩沖區(qū)中讀入一個值并賦給x(因形參是x的引用)后,返回istream流,以便繼續(xù)使用提取運(yùn)算符為下一個變量輸入數(shù)據(jù)。輸出流類ostream重載了運(yùn)算符,用于數(shù)據(jù)輸出,其原形具有ostream&ope
22、rator(ostream&,類型修飾);的形式。重載的的功能是把表達(dá)式的值插入到輸出流中,因此稱之為插入運(yùn)算符(inserter)。當(dāng)系統(tǒng)執(zhí)行coutx操作時,首先根據(jù)x值的類型調(diào)用相應(yīng)的插入運(yùn)算符重載函數(shù),把x的值傳送給對應(yīng)的形參,接著執(zhí)行函數(shù)體,把x的值(亦即形參的值)輸出到顯示器屏幕上,在當(dāng)前屏幕光標(biāo)位置起顯示出來,然后返回ostream流,以便繼續(xù)使用插入運(yùn)算符輸出下一個表達(dá)式的值。上面格式中的“類型修飾符是指char、int、double、char*、bool等等C+中固有類型的修飾符。也就是說,只要輸入輸出的數(shù)據(jù)屬于這些C+固有類型中的一種,就可以直接使用或完成輸入輸出任務(wù)。在完
23、成輸入輸出任務(wù)后,和把第一參數(shù)(即流對象的引用)返回,因此這兩個運(yùn)算符可以連續(xù)使用,如cinabc;等。有格式輸入輸出和無格式輸入輸出利用C+流既可進(jìn)行有格式輸入輸出,也可進(jìn)行無格式輸入輸出。計算機(jī)所處理的數(shù)據(jù)都有內(nèi)部存儲格式和外部表現(xiàn)形式的區(qū)分,因此在輸入輸出過程中必須進(jìn)行適當(dāng)?shù)霓D(zhuǎn)換,有格式輸入輸出就是完成這一任務(wù)的。有格式輸入輸出針對的是鍵盤、顯示器、打印機(jī)等字符設(shè)備以及磁盤中的文本文件。對于有格式輸入輸出,無論輸入輸出的數(shù)據(jù)是什么數(shù)據(jù)類型,體現(xiàn)在外部設(shè)備上都是字符序列。對于無格式輸入輸出,數(shù)據(jù)的內(nèi)部存儲存格式與外部存儲格式完全相同,因此無格式輸入輸出只能針對磁盤文件(或磁帶、光盤上的文件
24、),而且這樣的文件通常不能用一般的文本編輯器查看。進(jìn)行無格式輸入輸出需調(diào)用流對象的專門的成員函數(shù)實(shí)現(xiàn)。操作符C+流提供了提取運(yùn)算符和插入運(yùn)算符,使得輸入輸出的表達(dá)簡潔、形象、直觀,這最能體現(xiàn)C+流的風(fēng)格。C+流還提供了很多輸入、輸出或控制輸入輸出的成員函數(shù),須通過或加以調(diào)用,不能與運(yùn)算符或配合使用,因而與C+流的整體風(fēng)格很不協(xié)調(diào)。為此,C+提供了一系列可與運(yùn)算符或配合使用的特殊函數(shù),稱為操作符(manipulator)。每個操作符都與一個具體的函數(shù)相聯(lián)系,使得或可間接地通過它們調(diào)用與之聯(lián)系的函數(shù),完成相應(yīng)的輸入、輸出功能或輸入輸出控制功能。前面經(jīng)常用到的endl、setw等就是操作符。有了操作符,C+流操作在風(fēng)格上就更加統(tǒng)一,輸入輸出操作也顯得更加流暢。10.2輸入輸出的格式控制1默認(rèn)的輸入輸出格式在沒有特地進(jìn)行格式控制的情況下,輸入輸出采用默認(rèn)格式。(1)默認(rèn)的輸入格式C+流所識別的輸入數(shù)據(jù)的類型及其默認(rèn)的輸入格式包括:short、int、long(signed、unsigned):與整型常量同float、double、longdouble:與浮點(diǎn)數(shù)常量同char(signed、unsigned):第一個非空白字符char*(signed、unsig
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國高級PS保護(hù)膠數(shù)據(jù)監(jiān)測研究報告
- 2025年高級壓花長毛絨椅套項目可行性研究報告
- 2025至2030年中國電動場地車數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國生態(tài)功能型內(nèi)墻乳膠漆數(shù)據(jù)監(jiān)測研究報告
- 《一、-網(wǎng)站開發(fā)的基本過程》教學(xué)設(shè)計教學(xué)反思-2024-2025學(xué)年初中信息技術(shù)人教版七年級上冊
- Starter hold a party 教學(xué)設(shè)計 - 2024-2025學(xué)年外研版英語七年級上冊
- 2025至2030年中國防爆防腐操作柱數(shù)據(jù)監(jiān)測研究報告
- 2025年穩(wěn)壓直流電源適配器項目可行性研究報告
- 2025年氣動分條刀項目可行性研究報告
- 2024-2030年中國核磁共振譜儀(NMR) 行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- PDCA患者健康教育-課件
- 人教版(PEP)英語四年級下冊-Unit 1My school A Lets spell 課件
- 現(xiàn)代控制理論課件-矩陣復(fù)習(xí)
- 蘋果主要病蟲害防治課件
- 中小學(xué)心理健康教育教師技能培訓(xùn)專題方案
- 高速公路隧道管理站專業(yè)知識競賽試題與答案
- 中國傳媒大學(xué)《廣播節(jié)目播音主持》課件
- 2015 年全國高校俄語專業(yè)四級水平測試試卷
- T∕CCCMHPIE 1.3-2016 植物提取物 橙皮苷
- 土石壩設(shè)計畢業(yè)設(shè)計
- 一季責(zé)任制整體護(hù)理持續(xù)改進(jìn)實(shí)例
評論
0/150
提交評論