迴圈和關係表示式
使用for迴圈訪問字串。size()獲得字串中的字元數;即定義乙個字串a,a.size()得到字串大小。
型別別名。typedef typename aliasname將後者作為前者的別名
c++新增了基於範圍的for迴圈。這簡化了一種常見的迴圈任務:對陣列(或容器類,如vector和array)的每乙個元素執行相同的操作,如下:
double prices[5]
=;for(
double x : prices)
該迴圈顯示陣列中的每個值
for
(double
&x : prices)
符號&表明x是乙個引用變數,這種宣告讓接下來的**能後修改陣列的內容,而第一種語法不能。
cin在讀取char值時(cin >> ch),與讀取其它基本型別一樣,cin將忽略空格和換行符。cin.get(ch)讀取輸入中的下乙個字元(包括空格),並將其賦給變數ch,使用這個函式呼叫替換cin >> ch,解決上述問題。
在c語言中,要修改變數的值,必須將變數的位址傳遞給函式。但是cin.get(ch)傳遞的是ch,而不是&ch。在c語言中這樣的**無效,但在c++中有效,只要函式將引數宣告為引用即可。引用是c++在c語言基礎上新增的一種型別。標頭檔案iostream將cin.get(ch)的引數宣告為引用型別,因此該函式可以修改其引數的值。
在c語言中,如果函式接受char指標和int引數時,則使用該函式時,不能只傳遞乙個引數(型別不同)。但在c++中,可以這樣做,因為該語言支援被成為函式過載的oop特性。
函式過載允許建立多個同名函式,條件是他們的引數列表不同。函式過載允許對多個相關的函式使用相同的名稱,這些函式以不同方式或針對不同型別執行相同的基本任務。
檢測輸入末尾。使用eof來檢測檔案尾並將這種資訊告知程式。如果檢測到eof,cin.eof()將返回bool值true,否則返回false。
常見的字元輸入做法。每次讀取乙個字元,直到遇到eof的輸入迴圈的基本設計如下:
cin.
get(ch)
;while
(cin.
fail()
==false
)
在c++中,c語言中的getchar()和putchar()仍然適用,只需包含標頭檔案stdio.h。也可以使用istream和ostream類中類似功能的成員函式。不接受任何引數的cin.get(),即ch = cin.get();該函式的工作方式與c語言中的getchar()相似,將字元編碼作為int值返回;而cin.get(ch)返回乙個物件,而不是讀取的字元。同樣,可以使用cout.put()函式來顯示字元;cout.put(ch)。
當函式到達eof時,函式cin.get()將沒有可返回的字元。相反,cin.get()將返回乙個用符號常量eof表示的特殊值。eof值必須不同於任何有效的字元值,通常被定義為-1。因為沒有ascll碼為-1的字元,但並不需要知道實際的值,而只需在程式中使用eof即可。
char ch;
cin.
get(ch)
;whlie (cin.
fail()
==false
)
可以使用int ch,並用cin.get()代替cin.get(char),用cout.put()代替cout,用eof測試代替cin.fail()測試:
int ch;
ch = cin.
get();
while
(ch !=
eof)
get()的主要用途是能夠將stdio.h的getchar()和putchar()函式轉換為iostream的cin.get()和cout.put()方法。只要用標頭檔案iostream替換stdio.h,並用作用相似的方法替換所有的getchar()和putchar()即可。 第五章學習小結
1 第五章主要學習了與樹相關的知識,從二叉樹拓展到一棵普通的樹,再從一棵普通的樹拓展到哈夫曼樹,再從樹拓展到森林的概念。5 1節學習了樹和二叉樹的定義,對節點,根節點,葉子結點,深度,度等概念進行了初步的了解。5 4節了解了與二叉樹相關的一些性質,其中引出了完全二叉樹與滿二叉樹的概念,從這一節開始也...
第五章學習小結
一 小結 1.二叉樹 定義與性質 1 二叉樹有五種基本形態 2 在二叉樹的 第 i 層上至多有 2 i l 個結點 i 1 3 深度為 k 的 二叉樹至多有 2 k 1 個結點 k 1 4 葉子結點數 度為2結點數 1 5 滿二叉樹是完全二叉樹的一種 還有更常見的非完全二叉樹 二叉樹的儲存與遍歷 1...
第五章學習小結
第五章我們學習了新的資料結構,也就是樹。相比較與之前學的內容,我覺得樹更加的複雜。在學習二叉樹的遍歷的過程中,在樹的操作過程中很多重複操作都是要通過遞迴實現的,我對遞迴的思想也更加深刻明了。我們也學習了許多二叉樹的性質,比如 二叉樹的性質 1 二叉樹的第i層上至多有2 i 1 個結點 2 深度為k的...