Download presentation
Presentation is loading. Please wait.
1
C++Primer 3rd edition 中文版 Chap 5
敘述句(Statement) C++Primer 3rd edition 中文版 Chap 5 2018/11/18 敘述句
2
敘述句簡介 C++程式中,最小的獨立單元就是述句. 簡單述句: 以分號作為結束. 複合述句: 由{}包夾的多個述句.
例如: a+5; 複合述句: 由{}包夾的多個述句. 例如: { a+5; a=b+3; } 空述句: 只有 “ ; ”沒有任何運算. 2018/11/18 敘述句
3
宣告式(Declaration)述句 通常敘述句中有宣告 object 的動作,即稱為宣告式述句. 例如: int val;
int I=0; 2018/11/18 敘述句
4
if 述句-1 第一種語法如下: 其中 condition為一個可以傳回真偽值得算式.(真:true或非零的整數值,偽:false或 0)
statement 其中 condition為一個可以傳回真偽值得算式.(真:true或非零的整數值,偽:false或 0) statement可以是一個敘述句或覆合敘述句. 範例程式:If_1.cpp 2018/11/18 敘述句
5
if 述句-2 第二種語法: if ( condition ) statement_1 else statement_2 如果condition為真就做 statement_1,否則就做statement_2,範例程式:If_2.cpp. 2018/11/18 敘述句
6
if 述句-3 巢狀 if 述句,因為 if 述句本身就是一個statement.
例如: if(a>3) { if(b<10) b=0; } else { if(a>b) {a=0;} else b=1;} 範例程式: If_3.cpp 2018/11/18 敘述句
7
switch 述句-1 switch( expression ) { case 整數索引1 : statement_1
…… default: statement_other } 2018/11/18 敘述句
8
switch 述句-2 case 之後必須是整數常數 default 表示如果沒有符合的 case 就執行這裡,default 可有可無.
正確的例子: case 12: case ‘a’: 錯誤的例子: case case val: case “abc”: default 表示如果沒有符合的 case 就執行這裡,default 可有可無. 範例程式: SwitchDemo.cpp 2018/11/18 敘述句
9
for 迴圈敘述-1 for( ; ; ) { } B 開始 A C A D false B 離開 true D C 2018/11/18
敘述句
10
for 迴圈敘述-2 語法如下: init-statement 通常是做迴圈資料初始化的statement,此處可有可無.
for ( init-statement ; condition ; expression ) statement init-statement 通常是做迴圈資料初始化的statement,此處可有可無. condition 判斷是否繼續的算式,此處可有可無,如果沒有通常代表無窮迴圈. expression 通常是執行完statement之後做計數的累加動作,此處可有可無. 2018/11/18 敘述句
11
for 迴圈敘述-3 承上頁,init-statement和expression每個算式或敘述句之間可以用“ , ”隔開. 例如:
for( int i=0, val=12 ; i<100 ; i++,val--) { …… } 2018/11/18 敘述句
12
while 述句 語法: 範例程式: WhileDemo.cpp while( condition ) statement 開始 false
結束 true statement 2018/11/18 敘述句
13
do-while 述句 語法: do statement while( condition ); 範例程式: DoWhileDemo.cpp
開始 statement condition true false 結束 2018/11/18 敘述句
14
break 述句 break述句會將最接近的封裝起來的迴圈( for, while ,do-while ) 或 switch 述句結束掉.
例如: for(int a=0;a<10;a++) { if(a==5) break; } 2018/11/18 敘述句
15
continue 述句 與 break 大部分功能相同,唯一不同之處在於 break 會終止整個迴圈, continue 只終止目前的動作,範例程式: BreakContinueDemo.cpp 例如: for(int a=0;a<10;a++) { if(a==5) continue; } 2018/11/18 敘述句
16
練習題-氣泡排序法 仿效氣泡,利用資料互相比較的方式,將較小的數值往上升,較大的值往下降. 例如:
Step1: 程式可以要求使用者輸入幾個將要排序的整數. Step2: 最後由螢幕印出排序後的結果,通常是由小至大排序. 2018/11/18 敘述句
Similar presentations