C++語言基礎-if語句

來源:互聯網
上載者:User

if語句用於測試條件並在條件為真時執行一桌或幾條語句。
說明:if運算式後面不能帶分號,否則它本身表示代碼中的空語句,使編譯器將空語句解釋為在條件為真時執行的語句。
if (x == 10); // Warning! Extra semicolon!
DoSomething(x);
這裡DoSomething()函數總會執行,因為編譯器不把它看成在條件為真時執行的第一條語句。由於這個代碼完全合法(但無用),所以編譯器無法發出警告。

假設要在條件為真時執行多行語句,則要將這些語句放在大括弧內:
if (x > 10) {
cout << "The number is greater than 10" << end1;
DoSomethingWithNumber(x);
}
條件運算式求值為false時,與if語句相關聯的碼段忽略,程式繼續執行該碼段之後的第一條語句。
說明 :
C++中包含許多快捷方法,其中一個是用變數名測試true,例如:
if (fileGood) ReadData();
這個方法是下列語句的速寫方法:
if (fileGood == true) ReadData();
本例用了bool變數,也可以用其它資料類型。只要變數包含非零數值,運算式即求值為true,對變數名加上邏輯非(!)操作符可以測試false值:
bool fileGood = OpenSomeFile();
if (!fileGood) ReportError();
學會C++快捷方法有助於寫出更精彩的代碼。 有時要在條件運算式求值為true時進行某個動作,在條件運算式求值為false時進行另一動作,這時可以用else語句如下:
if (x == 20) {DoSomething(x);}
else {DoADifferentThing(x);}

新術語
else語句和if語句一起使用,表示if語句失敗時(即在條件運算式求值為false時)執行的碼段。

if語句形式之二:
if (cond_expr_1) {
true_statements_1;
}
else if (cond_expr_2)
{ true_statements_2; }
else {
false_statements;
}
如果條件運算式cond_expr為1真(非零),則執行true_statements1碼段;如果條件運算式cond_expr為1為假而如果條件運算式cond_expr為2真(非零),則執行true_statements 2碼段;如果兩個運算式均為假,執行false_statements碼段。

--------------------------------
使 用 循 環
迴圈是所有程式設計語言共同的要素。迴圈可用於對數組重複,對某個動作重複進行指定次數,從磁碟中讀取檔案,等等。
迴圈有:for迴圈、while迴圈和do while迴圈。
這幾個迴圈基本相同,所有迴圈都有下列共同要素:
· 起點
· 迴圈體,通常放在大括弧內,包含每次迴圈要執行的語句
· 終點
· 確定迴圈終止的測試條件
· 可選使用break和continue語句

for迴圈是最常用的迴圈,取三個參數:起始數,測試條件和增量運算式。
for迴圈語句:
for(initial; cond_expr;adjust)
{ statements;
}
for迴圈重複執行statements碼段,直到條件運算式cond_expr不為真。迴圈狀態由initial語句初始化,執行statements碼段後,這個狀態用adjust語句修改。下面舉一個for迴圈的典型例子進行說明:
for (int i=0;i<10;i++){
cout << "This is iteration" << i << end1;
}

while迴圈與for迴圈的差別在於它只有一個在每次迴圈開始時檢查的測試條件。只要測試條件為true,迴圈就繼續運行。
int x;
while (x < 1000) {
x = DoSomeCalculation();
}
本例中我調用一個函數,假定它最終會返回大於或等於1000的值。只要這個函數的傳回值小於1000,while迴圈就繼續運行。變數x包含大於或等於1000的值時,測試條件變成false,程式轉入while迴圈閉括弧後面的第一條語句。while迴圈通常用bool變數進行測試。測試變數狀態可以在迴圈體中進行設定:
bool done = false;
while (!done) {
//some code here
done = SomeFunctionReturningABool();
//more code
}

do while迴圈與while迴圈基本相同,但有兩點差別。
,while迴圈測試發生在迴圈體開頭,而do while迴圈測試則發生在迴圈結束時:bool done = false;
do {
// some code
done =SomeFunctionReturningABool();
// more code
} while (! done);
使用dowhile迴圈還是while迴圈取決於迴圈本身的作用。文法中do while迴圈語句:do {
tatements;
} while (cond_expr);
只要條件運算式cond_expr為真(非零),do迴圈重複statements碼段。迴圈狀態必須在do語句之前初始化,並在碼段中顯式修改。條件運算式cond_expr為假時,迴圈終止。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.