*
本節介紹迴圈控制函式與指令:
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 : 脫離條件迴離指令,常用於switch與while敍述中.如上面例子.