【C++入門手冊】 第四章 判斷式與迴圈

by - 晚上7:19


這一部分是c++很重要的一環沒學好會有很大後果不過還好這一章很容易弄董會搞混的地方我都有用紅字括起來了,加油,用點心就能學起來了!

判斷式

1.if() ...else ..
2.switch() case:

迴圈

1.while()迴圈
2.do while()迴圈
3.for()迴圈
終止迴圈:
1.continue重新執行迴圈
2.break終止該迴圈

邏輯運算子

在接下來的內容中,無論是迴圈還是判斷式,都會用到邏輯運算子,也就是拿來比較的運算子,常用的有:
<    小於
>    大於
<=  小於(或)等於
>=  大於(或)等於
==  等於
!=不等於

請注意!! = 是賦值運算子 要比較的話要用 == 這個地方比較容易搞混,要弄清楚!!!

if else

// 形式1
if(條件)
{ /*條件為真執行*/
    ...
}
// 形式2
if(條件)
{ /*條件為真執行*/
    ...
}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");
    }

system("pause");

return 0;
}

while 迴圈

原形:

while(判斷敘述)

    {
     /*程式敘述*/
    }
相信我舉個例子你一定就懂了:
#include <stdio.h>
main()
{
    int i = 0;
    while(i < 10)
    {
        printf("%d\n", i);
i++;
    }

system("pause");

return 0;

}
這個程式會輸出
0                                                                                                                                                              
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");

return 0;
}
這支程式會不斷問使用者你是LBT嗎?直到使用者回答Y
do...while迴圈無論如何都會先執行依次喔!

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跳出迴圈
#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 意見