【C功能體】三種流程控制結構

在C語言中,所有的程序設計都圍繞着順序、選擇、循環這三種結構。本文將主要講解選擇結構和循環結構的語法及用法實例。


Table of Contents

選擇結構

循環結構


C語言提供3種流程結構,不同的流程結構可以實現不同的運行流程。這3種流程結構分別是:

  1. 順序結構:默認的流程結構。按照書寫順序執行每一條語句。
  2. 選擇結構:對給定的條件進行判斷,再根據判斷結果來決定執行哪一段代碼。
  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;
    ....
}

法則:

  1. 如果條件成立,就會執行循環體中的語句(“循環體”就是while後面大括號{}中的內容)。然後再次判斷條件,重複上述過程,直到條件不成立就結束while循環.
  2. while循環的特點:如果while中的條件一開始就不成立,那麼循環體中的語句永遠不會被執行.
  3. 可以省略大括號{},但是隻會影響到while後面的第一條語句。不建議省略大括號。

do……while循環

do {
    語句1;
    語句2;
    ...
} while (條件);

法則:

  1. 先會執行一遍循環體中的語句(“循環體”就是do後面大括號{}中的內容)。接着判斷while中的條件,如果條件成立,就執行循環體中的語句。
  2. 然後再次判斷條件,重複上述過程,直到條件不成立就結束while循環
  3. do-while循環的特點:不管while中的條件是否成立,循環體中的語句至少會被執行一遍

for循環

for (語句1; 條件; 語句2) 
{
    語句3;
    語句4;
    ...
}

法則:

  1. for循環開始時,會先執行語句1,而且在整個循環過程中只執行一次語句1
  2. 接着判斷條件,如果條件成立,就會執行循環體中的語句(“循環體”就是for後面大括號{}中的內容)
  3. 循環體執行完畢後,接下來會執行語句2,然後再次判斷條件,重複上述過程,直到條件不成立就結束for循環

辨析break、continue:

  • break,一旦出現該語句,立即停止對於break最近的一層循環(即while、for);
  • continue,只能使用在循環結構中,它的作用是跳過這一次循環,直接進入下一次循環。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章