|
|
控 制 結 構 ( control structure )結 構 化 程 式 設 計 的 基 礎 建 立 在 下 列 三 個 結 構 :
( 1 ) 循 序 ( sequential ) : 以 一 個 接著 一 個 方 式 進 行 作 業 。
( 2 ) 條 件 執 行 ( conditional ) : if_then_else 。
( 3 ) 迴 路 ( looping ) :
l
條 件 執 行 if 的 運 用以 下 是 if_then_else 流 程 控 制 可 能 出 現 的 四 種 語 法
syntax 1:
if (關係運算元)
statement ; |
syntax 3:
if (關係運算元)
statement ;
else
statement ; | syntax 2:
if (關係運算元)
{
statement 1 ;
statement 2 ;
.
.
.
statement n ;
} |
syntax 4:
if (關係運算元)
{
statement 1 ;
statement 2 ;
.
statement n ;
}
else
{
statement 1 ;
statement 2 ;
.
statement n ;
} |
ps. 如 果 statement 超 過 一 個 以 上 , 則 須 以 { } 將 其 區 塊 分 隔 開 來 。 Example 1:
void main(void)
{
int x;
scanf("%d",&x);
if ( x >= 10 )
printf("%d >= 10\n",x);
else
printf("%d < 10\n",x);
} Result:
10
---> 此處為鍵盤輸入值
10 >= 10 | Example 2:
void main(void)
{
char c;
scanf("%c",&c);
if( c == 'A' )
{
printf("c=%c\n",c);
printf("This is true.\n");
}
else
{
printf("c!=A\n");
printf("That isn't true.\n");
} Result:
A
-----> 此處為鍵盤輸入值
c=A
This is true
| l
迴 路 while 的 運 用在 while 的 敘 述 中 , 當 關 係 運 算 元之 條 件 為 真 時 , 會 不 斷 地 重 覆 執 行 位 於 while 後 所 列 的 敘 述 , 直 到 條 件 變 為 否 定 才 停 止 。
Syntax 1:
while ( 關係運算元 )
statement ;
| Syntax 2:
while ( 關係運算元 )
{statement 1 ;
statement n ;
} |
Example 1:
main( ) {
int i=0;
while ( i < 5 )
printf("%d\n",i++);
printf("out of loop.\n"); } Result =
????? | Example 2:
main( )
{
int i=0,c=0;
while ( i < 5 )
{
printf("%d",i++);
printf("%d\n",++c);
}
printf("out of loop.\n");} Result =
????? | l
迴 路 do-while 的 運 用do-while 迴 路 , 由 於 測 試 條 件 在 迴 路 的 後 面 , 所以 迴 路 中 的 敘 述 至 少 會 被 執 行 一 次 ,
Syntax 1:
do
statement
;
while ( 關係運算元 ) ; |
Example 1: main( )
{
int i=0,c=0;
do
{
printf("%d",i++);
printf("%d\n",++c);
} while ( i < 5 ) ;
printf("We're out of the loop.\n");
} Result =
????? | Syntax 2:
do
{
statement 1 ;
statement 2 ;
.
statement n ;
} while ( 關係運算元 ) ; | l
迴 路 for 的 運 用for
允 許 使 用 者 在 同 一 行 敘 述 中 就 設 定 了 迴 路 的 三 個 部 份 。 ( 1 ) 計 數 器 的 初 值 , ( 2 ) 關 係 運 算 元 , ( 3 ) 增 減 迴 路 計 數 器 的 值 。 其 語 法 如 下 所 示 ,
for ( 計數器初值,關係運算元,計數器值更新 )
statement ;
or
for ( 計數器初值,關係運算元,計數器值更新 )
{
statement 1 ;
.
statement n ;
}
Example 1: main( ) {
int i;
for( i = 0 ; i <= 5 ; ++i )
printf("%d\n",i); } Result =
????? | Example 2:main( ){int i,c;
for ( i=0,c=1 ; i < 5 ; ++i,++c )
{
printf("%d",i);
printf("%d\n",c);
}
printf("Out of Loop.\n");}Result =
????? | l
條 件 執 行 switch 的 運 用我 們 在 實 際 的 程 式 寫 作 時 常 會 遇 到 多 種 選 擇 情 況 , 而使 用 一 連 串 if - else 來 表 示 是 常 發 生 的 , 所 以 C 提 供 了 一 項 特 殊 的 控 制結 構 , 讓 我 們 能 夠 有 效 且 精 簡 處 理 程 式 。
其 語 法 如 下 所 示
switch ( 變數)
{
case
常數 1 :
statement 1 ;
case
常數 2 :
statement 2 ;
.
.
case 常數 n :
statement n ;
default :
statement ;
}
ps. 此 處 常 數 的 資 料 型 態 為 整 數 與 字 元 兩 種 。
Example 1:
main( )
{
char var='D';
switch (var )
{
case 'A' :
printf("var = A\n");
break;
case 'B' :
printf("var = B\n");
break;
case 'C' :
printf("var =C\n");
break;
default :
printf("I'm in default.");
} /* end of switch */
} /*end of main */ | Example 2:
main( )
{
int var=3;
switch ( var )
{
case 1 :
printf("var = 1\n");
break;
case 2 :
printf("var = 2\n");
break;
case 3 :
printf("var = 3\n");
break;
default :
printf("I'm in default");
} /* end of switch */ }/*end of main */ | l
goto 的 運 用在 一 個 程 式 中 , 使 用 goto 敘 述 可 以 強 制 改 變 程 式 執 行 的 步 驟 , 但 也 會因 此 使 程 式 的 結 構 混 亂 , 所 以 此 敘 述 應 儘 量 不 用 。 其 語 法 如 下 所 述 。
Syntax :
goto
label ; label : | Example: main( )
{
int i=1111;
repeat :
printf("%d\n",i);
goto repeat ;
} |
|
|