在C語言中,所有的程序設計都圍繞着順序、選擇、循環這三種結構。本文將主要講解選擇結構和循環結構的語法及用法實例。
Table of Contents
C語言提供3種流程結構,不同的流程結構可以實現不同的運行流程。這3種流程結構分別是:
- 順序結構:默認的流程結構。按照書寫順序執行每一條語句。
- 選擇結構:對給定的條件進行判斷,再根據判斷結果來決定執行哪一段代碼。
- 循環結構:在給定條件成立的情況下,反覆執行某一段代碼。
選擇結構
IF……ELSE……
最簡單的選擇結構:
if ( 條件 )
{
語句1;
語句2;
....
}
選擇結構的嵌套:
if ( 條件1 )
{
語句體;
if ( 條件2 )
{
語句體;
}
}
如果……否則……:
if ( 條件 )
{
語句1;
}
else
{
語句2;
}
多選擇、多分支:
if ( 條件1 )
{
語句1;
}
else if ( 條件2 )
{
語句2;
}
else if ( 條件3 )
{
語句3;
}
...
else
{
其他語句;
}
switch……case……
語法格式:
switch(整型表達式)
{
case 數值1:
語句1;
break;
case 數值2:
語句2;
break;
... ...
case 數值n:
語句n;
break;
default :
語句n+1;
break;
}
break關鍵字的作用是退出整個switch語句。默認的格式中,每個case後面都有個break,因此執行完case中的語句後,就會退出switch語句。
如果某個case後面沒有break,意味着執行完這個case中的語句後,會按順序執行後面所有case和default中的語句,直到遇到break爲止。
實例:快速理解switch語法結構
//功能:識別a變量的值
int a = 10;
switch (a)
{
case 0:
printf("這是一個0");
break;
case 5:
printf("這是一個5");
break;
case 10:
printf("這是一個10");
break;
default:
printf("什麼也不是");
break;
}
/*-------------------------分割線-------------------------*/
//功能:定性score的值
int score = 77;
switch (score / 10)
{
case 10:
case 9:
printf("優秀");
break;
case 8:
printf("良好");
break;
case 7:
case 6:
printf("中等");
break;
default:
printf("差勁");
break;
}
/*-------------------------分割線-------------------------*/
//功能:識別符號
int a = 10;
int b = 4;
char op = '-';
switch (op)
{
case '+':
{
int sum = a + b;
printf("a+b=%d\n", sum);
break;
}
case '-':
{
int minus = a - b;
printf("a-b=%d\n", minus);
break;
}
default:
printf("不能識別的符號");
break;
}
循環結構
while循環
while ( 條件 )
{
語句1;
語句2;
....
}
法則:
- 如果條件成立,就會執行循環體中的語句(“循環體”就是while後面大括號{}中的內容)。然後再次判斷條件,重複上述過程,直到條件不成立就結束while循環.
- while循環的特點:如果while中的條件一開始就不成立,那麼循環體中的語句永遠不會被執行.
- 可以省略大括號{},但是隻會影響到while後面的第一條語句。不建議省略大括號。
do……while循環
do {
語句1;
語句2;
...
} while (條件);
法則:
- 先會執行一遍循環體中的語句(“循環體”就是do後面大括號{}中的內容)。接着判斷while中的條件,如果條件成立,就執行循環體中的語句。
- 然後再次判斷條件,重複上述過程,直到條件不成立就結束while循環
- do-while循環的特點:不管while中的條件是否成立,循環體中的語句至少會被執行一遍
for循環
for (語句1; 條件; 語句2)
{
語句3;
語句4;
...
}
法則:
- for循環開始時,會先執行語句1,而且在整個循環過程中只執行一次語句1
- 接着判斷條件,如果條件成立,就會執行循環體中的語句(“循環體”就是for後面大括號{}中的內容)
- 循環體執行完畢後,接下來會執行語句2,然後再次判斷條件,重複上述過程,直到條件不成立就結束for循環
辨析break、continue:
- break,一旦出現該語句,立即停止對於break最近的一層循環(即while、for);
- continue,只能使用在循環結構中,它的作用是跳過這一次循環,直接進入下一次循環。