搜索
熱搜: 活動 交友 discuz
查看: 2495|回復: 0
打印 上一主題 下一主題

[教學] C的流程控制

[複製鏈接]
跳轉到指定樓層
1#
發表於 2007-9-4 08:59:29 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
( 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 ;

}
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

本論壇為非營利之網路平台,所有文章內容均為網友自行發表,不代表論壇立場!若涉及侵權、違法等情事,請告知版主處理。


Page Rank Check

廣告刊登  |   交換連結  |   贊助我們  |   服務條款  |   免責聲明  |   客服中心  |   中央分站

手機版|中央論壇

GMT+8, 2026-6-25 15:28 , Processed in 0.036706 second(s), 17 queries .

Powered by Discuz!

© 2005-2015 Copyrights. Set by YIDAS

快速回復 返回頂部 返回列表