學習C 選擇結構程式設計

2021-09-08 14:28:58 字數 4603 閱讀 4245

學習c++ -> 選擇結構程式設計

********************===

一、 語句

語句是程式的基本組成單位, 每條語句都以分號(;)結尾表示該語句的結束。

1. 表示式語句

運算子、 常量、等可以組成表示式, 而表示式後加分號就構成了表示式語句。

例如: i = 10 是賦值表示式, 而 i = 10 ; 加上分號就構成了表示式語句。

2. 復合語句

用一對大括號括起來的一條或多條語句, 稱為復合語句。

例如: 是復合語句, 它只是算是一條語句, 而不是三條。

注意: 大括號後面無需分號。

3. 空語句

僅由乙個分號構成的語句稱為空語句, 空語句什麼都不執行, 當某處需要一條語句而又可以什麼也不做時使用空語句。

4. 賦值語句

賦值語句由表示式後跟分號組成。

例如:

i = 10

; a = b + c ;

賦值語句首先會計算等號(=)右邊的表示式的值, 然後將其賦值給左邊的記憶體單元。

說明: 賦值語句中, "="左邊是以變數名標示的記憶體儲存單元, 程式在編譯時會為變數分配儲存單元, 也就是說, 變數名代表著記憶體單元。

5. 流程控制語句

1>. if語句

if語句的一般使用形式:

if

(表示式)

語句塊

功能: 當if後面括號中表示式的值為真時執行語句塊中的語句, 否則跳過語句塊(復合語句)執行語句塊的下一跳語句。

使用舉例:

if( 10 > 5

)

編譯執行後輸出yes., 說明if下面的語句塊被執行了, 因為10大於5是成立的, 為真, 所以語句塊將會被執行。

上面也講到, 所謂的語句塊就是一條復合語句, 當僅有乙個語句時你可以不使用大括號將乙個語句括起來。

2>. if-else語句

僅有乙個if語句只能告訴程式當表示式成立時做什麼, 而不能告訴程式當表示式不成立時我們應該做什麼, if-else正是用來解決該問題的。

使用形式:

if(表示式)

當表示式成立時執行的語句塊

else

當表示式不成立時執行的語句塊

功能: 首先計算表示式式的值, 當表示式的值為真時執行if後面的語句塊, 當表示式的值為假(不成立)時執行else後面的語句塊。

使用舉例:

if( 10

< 5

) cout

<<"

yes.";

else

cout

<<"

no." ;

程式輸出no., 因為10 < 5是不成立的, 所以需要執行else後面的語句。

3>. 巢狀的if語句

巢狀的if語句常用來處理有多種情況時, 巢狀一般有三種形式:

形式一:

if

(表示式1)

else

語句塊2

注意, 這裡使用了大括號將第二個if語句括起來了, 否則第二個if就會跟下面的if結合, 每個if與和他最近的else結合。

形式二:

if

(表示式1)

if(表示式2)

語句塊1

else

語句塊2

else

語句塊3

在這個巢狀中, 當表示式1成立時將執行表示式2的if語句, 否則執行表示式1的else語句。

形式三:

if

(表示式1)

語句塊1

else

if(表示式2)

語句塊2

else

語句塊3

c++沒有對if語句巢狀層數的限制, 這也就是說你可以巢狀任意層if-else語句, 但從程式**的可讀性以及健壯性來說,if-else巢狀請不要巢狀超過5層。

4>. switch語句

switch語句用於實現多分枝結構的程式, 舉個簡單的例子, 我們在程式上提供了10個序號用來表示選單, 當使用者按下1時就代表選擇了功能1, 當按下0-9之外的序號時, 我們提示他選擇錯誤, 沒有這個選項後, 10個選項用if結構顯然很費力, 這時用switch語句是個很好的選擇。

switch語句的一般形式:

switch

(表示式)

功能: 首先在switch處計算表示式的值, 然後依次與下面的case後面的常量表示式比較, 當表示式的值與常量表示式的值相等, 那麼就從這個case處作為語句的入口, 將下面的case以及case後面的語句全部執行, 若表示式的值與常量表示式的值沒有乙個相同的則執行default後面的語句塊。

說明:①. switch的表示式只能為int或char型資料, 當為char型資料時會將字元轉化為相應的ascii碼值, 對於字串、浮點型等不能作為switch的表示式;

②. 常量表表示式中不能出現變數, 只能是有確定值得常量;

③. case後面的語句塊可以是一條或多條語句, 且無需用大括號{}括起來, 因為他會自動從符合結果的case處自動向下執行;

④. default語句是可選的, 並且對出現的位置沒有要求, 可以在case之前, 也可以在case之間, 或者最後。

case語句允許巢狀, 一般的巢狀形式為:

switch

(表示式1)

case

常量表示式4:語句塊

...}

switch語句的巢狀同樣沒有層數限制。

switch語句使用舉例:

#includeusing

namespace

std ;

intmain()

return0;

}

break語句是用來停止switch繼續執行下面的語句的, 當執行到break時下面的語句就不會再被執行而是跳出switch結構, 對於break;語句的詳細用法到學習迴圈結構程式設計時再具體講解。

5>. gtot語句

goto語句成為無條件跳轉語句, 在同乙個函式內, 它可以從乙個位置跳到任意乙個位置.

goto語句的一般使用形式:

goto

語句標識 ;

......

...語句標識 : 語句

功能: 使用goto語句後它將會將下一條需要執行的**轉到語句標識所在的位置。

說明: goto語句與相應的識別符號必須在同乙個函式中, 不允許跨函式使用。對於goto的使用一直以後就有很大的爭議, 有人說, goto的使用會破壞程式的結構, 從而使程式**變得難以理解且當出錯時不容易查詢錯誤, 這些人認為應該徹底取消goto語句, 還有一部分人認為goto使用靈活, 恰當使用可以提高程式的靈活性, 對於是否使用goto語句還請讀者自己權衡, 如果能夠恰當使用goto那就更好了, 不過筆者建議在不是必要使用goto時最好不要使用。

二、基本輸入輸出

在c++中常用的標準輸入輸出函式有cin(用於輸入)和cout(用於輸出), 這兩個函式位於標頭檔案iostream的std命名空間中, 所以要使用這兩個函式首先我們要

#include

將這個標頭檔案包含進來, 然後使用命名空間機制

using

namespace std ;

這個就可以自由使用cin和cout進行輸入輸出了, 當然, 你也可以不使用using namespace std ;這句, 如果不使用這句在呼叫cin和cout函式前你需要像這樣使用:

std::cin>>變數名 ;

std::cout

《變數名 ;

注意: 不要將輸入符號(>>)和輸出(<<)弄混了, 輸入是尖括號指向它, 輸出尖括號的方向與其相反。

例如我們現在要輸入乙個整形變數並將其輸出:

#includeusing

namespace

std ;

intmain()

輸入乙個字元並將其輸出:

#includeusing

namespace

std ;

intmain()

cin和cout一次還可以輸入輸出多個資料:

例如:

#includeusing

namespace

std ;

intmain()

對於較為複雜的資料輸入輸出等使用到時再講。

--------------------

wid, 2012.11.12

c選擇結構程式設計

if語句 三種 形式 1 語法格式 if 表示式 語句 功能 如果表示式的值為真 非0值 則執行其後的語句,否則不執行該語句。2 語法格式 if 表示式 語句 1 else 語句 2 功能 如果表示式的值為真 非0值 則執行語句1,否則執行語句2。3 多分支選擇語句 語法格式 if 表示式 1 語句...

選擇結構 C語言程式設計

一 實驗目的 1.正確使用關係表示式和邏輯表示式表示條件 2.掌握選擇語句if else和switch語句的使用方法 3.掌握分支結構程式設計。二 實驗內容和步驟 1 分析並修改下面程式錯誤,使之能夠正常執行。錯誤 一 下面的這個程式是當a和b的值相等的情況下輸出 a和b相等 而a與b的值不相等的話...

選擇結構程式設計

一 實驗目的 1 了解c語言表示邏輯量的方法 以0代表 假 以非0代表 真 2 學會正確使用邏輯運算子和邏輯表示式。3 熟練掌握if語句和switch語句。4 結合程式掌握一些簡單的演算法。二 實驗內容 1.有乙個函式用scanf函式輸入x的值 分別為x 1 1 10 10三種情況 求y值。2 輸入...