這一部分是c++很重要的一環沒學好會有很大後果,不過還好,這一章很容易弄董,會搞混的地方我都有用紅字括起來了,加油,用點心就能學起來了!
判斷式
1.if() ...else ..
2.switch() case:
2.switch() case:
迴圈
1.while()迴圈
2.do while()迴圈
3.for()迴圈
2.do while()迴圈
3.for()迴圈
終止迴圈:
1.continue重新執行迴圈
2.break終止該迴圈
1.continue重新執行迴圈
2.break終止該迴圈
邏輯運算子
在接下來的內容中,無論是迴圈還是判斷式,都會用到邏輯運算子,也就是拿來比較的運算子,常用的有:
< 小於
> 大於
<= 小於(或)等於
>= 大於(或)等於
== 等於
!=不等於
請注意!! = 是賦值運算子 要比較的話要用 == 這個地方比較容易搞混,要弄清楚!!!
if else
// 形式1if(條件){ /*條件為真執行*/ ...}// 形式2if(條件){ /*條件為真執行*/ ...}else{ /*條件為假執行*/ ...}// 更多形式..if(條件1){ /*條件1為真執行*/ ...}else if(條件2){ /*條件2為真執行*/ ...}else{ /*條件1、2為假執行*/ ...} |
這應該還漫容易懂得,我在這裡寫個範例程式看看:
#include <stdio.h>main(){ int salary = 2500; int rent = 850; int life_cost = 1000; if( salary > (rent + life_cost){ printf("還過的下去"); }else if( salary < (rent + life_cost) ){ printf("活不下去了!"); }else{ printf("媽的!"); }system("pause");return 0;} |
switch
switch(變數){ case '情况1' : ... break; case '情况2' : ... break; case '情况3' : ... break; default : /* 默認執行*/ ...} |
記住,每個case內的程式執行完都要加break敘述,不然程式會往下一個case執行下去
範例:
#include <stdio.h>
#include <stdlib.h>
main(){ char cmd; printf("確認要關機嗎?"); scanf("%c", &cmd); switch(cmd) { case 'Y': printf("電腦即將關機\n"); system("shutdown -s"); break; case 'N': printf("取消關機\n"); break; default: printf("埃優不理我齁,強制關機!\n"); system("shutdown -s"); }system("pause");return 0;} |
也可以利用case不加break的特性來設計區段:
#include <stdio.h>main(){ int score = 80; switch(math/10) { case 1: case 2: case 3: case 4: case 5: printf("不及格\n"); case 6: case 7: case 8: printf("及格\n"); case 9: case 10: printf("滿分!!\n"); }
} |
while 迴圈
原形:
while(判斷敘述) { /*程式敘述*/ }
相信我舉個例子你一定就懂了:
#include <stdio.h>main(){ int i = 0; while(i < 10) { printf("%d\n", i); i++; }
} |
1
2
3
4
5
6
7
8
9
請按任意見繼續...
這樣,有懂嗎?
do while 迴圈
#include <stdio.h>main(){ char c; do { printf("請問你是LBT嗎?(Y/N)\n"); scanf("%c", &c); }while( c != 'Y');printf("歡迎\n"); system("pause");
} |
do...while迴圈無論如何都會先執行依次喔!
for 循環
原形:
for(初始直;條件式;變化){ ...} |
初始直;條件式;變化這幾欄都可為空,但是分號一定要加,不然程式會出錯,像是:
無窮迴圈的概念...
舉一個for迴圈的常見範例:
for(;;){ ...} |
舉一個for迴圈的常見範例:
#include <stdio.h>main(){ int i; for( i = 0; i < 10; i++ ) { printf("%dn", i); }
system("pause");
return 0;} |
這個程式會輸出
0 1 2
3
4
5
6
7
8
9
請按任意見繼續...
沒錯,跟之前那隻一樣
continue與break敘述
終止循環:
1.continue重新執行迴圈,略過後面的程式碼的意思
2.break跳出迴圈
1.continue重新執行迴圈,略過後面的程式碼的意思
2.break跳出迴圈
#include <stdio.h>int main(){ int i; for( i = 0; i < 10; i++) { if( i == 3 ){ continue; } printf("%d ", i); }
system("pause");
return 0;} |
這支程式會輸出:
0
1
2
4
5
6
7
8
9
請按任意見繼續...
3不見了,因為當i=3的時候就跳過printf了
好啦,這章節就到這邊,有甚麼問題就再下方流言問我八!!

0 意見