重學C 筆記之(四)迴圈和分支語句

2021-10-14 05:40:47 字數 3346 閱讀 2934

2. while和do while迴圈

3. 基於範圍的for迴圈(c++11)

4. 迴圈和文字輸入

5. 邏輯運算子

6. 字元函式庫cctype

7. switch語句

這部分內容和c語言很像,而且是常用的c++部分,所以可以快速的過一遍。

下面使用for迴圈訪問字串的例子。輸入一串字串,然後反向輸出。

#include

#include

using

namespace std;

intmain()

cout<<

"\nbye.\n"

;return0;

}

逗號運算子是最優先順序最低的。逗號運算子的值是最右邊的值。

#include

using

namespace std;

intmain()

關係運算子的優先順序比算術運算子低。

x + 3 > y - 2;等價於 (x + 3) > (y - 2);

c風格的字串的陣列名表示位址,因此下列表示式比較的是位址。

char word=

"mate";if

(word ==

"mate"

)//比較的是位址,他們不相等。

c風格的字串用strcmp()來比較大小。因為c風格字串用結尾的空字元定義,所以下面兩個字串相等。

char big[80]

="hello"

;char little[10]

="hello"

;

字串可以直接比較

#include

#include

using

namespace std;

intmain()

cout<

}

這兩個迴圈和for一樣的功能,就不介紹了。

這兩個都可以設定別名,但是define只是替換,在定義型別時有時候會出現意想不到的結果。而typedef不會。

#define int_point int*

int_point pa,pb;

//pa是指標,pb是普通整形變數。

c++11新增了一種迴圈:基於範圍(range-based)的for迴圈。這簡化了一種常見的迴圈任務:對陣列(或容器類,如vector和array)的每個元素執行相同的操作,比如。

#include

using

namespace std;

intmain()

;for

(double p:prices)

//或者直接應auto

cout<<

"使用auto:"

<

for(

auto p:prices)

}

如果需要修改陣列元素的值,需要用&p

#include

using

namespace std;

intmain()

;for

(auto

&p:prices)

for(

double p:prices)

}

這種輸入不會讀取空格、製表符和換行符。下面的例子直到讀取了』#'才會結束。

#include

using

namespace std;

intmain()

cout<

" characters read\n"

;return0;

}

輸出

enter characters;enter # quit:

da jia hao !###ldjkfa

dajiahao!

9 characters read

如果需要讀取空格等字元,可以使用cin.get(char)。對例程式做修改,如下:

#include

using

namespace std;

intmain()

cout<

" characters read\n"

;return0;

}

輸出

enter characters;enter # quit:

da jia hao !###lll

da jia hao !

12 characters read

邏輯運算子&& || 他們的優先順序低於關係運算子,但是!高於所有的關係運算子和算數運算子。所以:

x >

5&& x <10;

//等同於

(x >5&&

(x <10)

)

容易搞混的話,就用()吧!

邏輯運算子在程式中還可以用and 、or和not表示,而且在c++中不需要任何標頭檔案。在c語言則需要包括標頭檔案iso646.h。

c++從c語言繼承了乙個與字元相關的、非常方便的函式軟體包,它的標頭檔案在cctype中(老式風格中為ctype.h)。

switch的判斷只能處理整數、char或者列舉量。用列舉量來舉例:

#include

using

namespace std;

intmain()

; cout <<

"enter color code (0 - 6): "

;int code;

cin >> code;

while

(code >= red && code <= indigo)

cout <<

"enter color code (0 - 6): "

; cin >>code;

} cout <<

"bye\n"

;return0;

}

輸入、輸出放到第17章的時候一起學習吧!總覽目錄

文章參考:《c++ primer plus第六版》

分支語句和迴圈語句

分支語句 1.if 2.switch 迴圈語句 1.while 2.for 3.do while goto語句 c語言中由乙個分號 隔開的就是一條語句。好好學習,找到好工作,不好好學習,回家種地,好好學習和不好好學習就是兩種選擇。語法結構 if 表示式1 語句1 else if 表示式2 語句2 e...

分支語句和迴圈語句

if語句 if 表示式 語句 if 表示式 語句1 else 語句2 多分支 if 表示式1 語句1 else if 表示式2 語句2 else 語句3 include int main else return 0 switch語句 switch語句也是一種分支語句,常常用於多分支的情況 switc...

JS 條件分支語句和迴圈語句

js 條件分支語句和迴圈語句 一 條件分支語句 單分支語句 書寫格式 if 判斷條件 判斷條件 可以是乙個表示式 變數 具體值 工作原理 條件為真,執行大括號裡面的 塊,條件為假,則不執行。例 let state 1 if state 雙分支語句 書寫格式 if 判斷條件 else 工作原理 條件為...