學習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語句使用舉例:
#includeusingnamespace
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
將這個標頭檔案包含進來, 然後使用命名空間機制
usingnamespace std ;
這個就可以自由使用cin和cout進行輸入輸出了, 當然, 你也可以不使用using namespace std ;這句, 如果不使用這句在呼叫cin和cout函式前你需要像這樣使用:
std::cin>>變數名 ;std::cout
《變數名 ;
注意: 不要將輸入符號(>>)和輸出(<<)弄混了, 輸入是尖括號指向它, 輸出尖括號的方向與其相反。
例如我們現在要輸入乙個整形變數並將其輸出:
#includeusingnamespace
std ;
intmain()
輸入乙個字元並將其輸出:
#includeusingnamespace
std ;
intmain()
cin和cout一次還可以輸入輸出多個資料:
例如:
#includeusingnamespace
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 輸入...