* Loop Control

本節介紹圈控制函式與指令:

 

4for( ), while( ), do {...} while, switch, break;

1. for 圈的好用,不說妳()一定不知道,說了妳()一定會很想把它學起來.

     語法:

                for (初值 ; 終止條件 ; 更改計次值 ) { 執行敍述直到終止 }

                      注意: for 的括號中一定要用分號 ,而且定要有2.

    上用9個例子說明for的靈活性

    (1). for ( i = 0 ; i < 100 ; i++ )                                   ← 迴圈從0開始每次加1直到99.

    (2). for ( i = 2 ; i < 600 ; i = i + 3 )                          迴圈從2開始每次加3直到599.

    (3). for ( ch = 'a' ; ch < 'z' ; ch++ )                          迴圈亦可以使用文字字元.

    (4). for ( I = 1 ; I*I*I < 216 ; I++ )                           ← 迴圈的終值可以用乘法定義.

    (5). for ( x = 0 ; y < 100 ; y= pow(z,2) + log (w) )     ← 迴圈裡的變數可以都不一樣..

    (6). for ( n = 0 ; m <100 ; ) { m = m*n;}                   迴圈的計次可以空白.

    (7). for ( printf ( "In the for-loop\n"); i!=7 ;)           迴圈初值可以是敍述.

    (8). for ( i=0 ; i<100 ; i = i*3)                                   ← 迴圈的計次可以用乘法定義.

    (9). for (  ; ; )                                                             ← 迴圈可以空白,代表無止境迴圈.

 

    當我們知道迴圈該執行多少次時,請發揮妳()的想像力,使妳()的程式更具有靈活性,請善用for迴圈的優點!

 

2. while 圈的使用:

     語法:

               while (判斷條件 ) { 執行敍述直到判斷條件不符合 }

    上用例子說明

     while ( i < 100 )

              {

               x = y*i ;

               i++ ;

               }

   5上例說明: i < 100 , 則計算x=y*i 並將 i 的值累加,直到 i 的值大於或等於100.

     while ( i++ < 100 )

              {

               x = y*i ;

                 if ( i == 10 )

                   {

                      printf ( "Do 10 times then stopping and using break. \n");

                      break;

                   }

                }

   5上例說明: while裡亦可以將累加器放在括號裡,使程式更簡潔,

       如果要中止while的執行只需加上break命令即可.

 

3. do {執行敍述 } while ( 判斷條件 ) ;

     語法:

               do {執行敍述 } while ( 判斷條件 ) ;

               注意: while最後面的括號一定要加上分號 .

    上用例子說明

            do

              {

               x = y*i ;

               i++ ;

               }while ( i < 10);

   5上例說明: 先執行一次大括號裡的敘述,while裡的 i 小於10,則繼續執行大括號裡的敍述直到 i 的值大於或等於10.

 

4. switch : 多重選擇的應用.

     語法:

               switch (選擇 )

                {

                    case 'a' :  執行敍述 ;

                                    break;

                    case 'b' :  執行敍述 ;

                                    break;

                    case 'c' :  執行敍述 ;

                                    break;

                    case 'd' :  執行敍述 ;

                                    break;

                    default :  執行敍述 ;

                }

             注意: case 後面的符一定要加上 :

                        case 後面的執行敍述不用加大括號.

    上用例子說明

            #include <stdio,h>

            main()

            {

                ch        op;

                printf (" Input your choice (1,2,3,4) :");

                scanf("%c",&op);

            switch (op)

              {

                case '1' : printf (" I am number 1. \n");

                              break;

                case '2' : printf (" I am number 2. \n");

                              break;

                case '3' : printf (" I am number 3. \n");

                              break;

                case '4' : printf (" I am number 4. \n");

                              break;

                default : printf (" What am I ? Please try again. \n");

                              break;

               }

            }

   5上例說明: 當輸入1~4會執行case1~4裡的敍述, 否則執行 default裡的敍述.

        每一個case結束均需使用break做為脫離(結束)指令.

 

5. break : 脫離條件離指令,常用於switchwhile敍述中.如上面例子.