1、順序結構
順序結構就是程序按照語句的先後順序來依次執行,執行的過程就是從第一個可執行語句開始,一個語句接一個語句地執行,直到程序結束語句爲止。每條語句都要運行一次,並且只能夠運行一次。
2、選擇結構
選擇結構就是根據所指定的條件是否滿足,決定從給定的操作中選擇其一執行。在C語言中選擇結構是由if語句和switch語句實現的。
-
if語句
if語句根據使用的情況不同,又分爲單分支、雙分支、多分支三種形式。1、單分支選擇if語句
//語句的一般形式如下: if(表達式){ 語句; }
當表達式成立的時候,執行大括號內部的語句,否則反之。
2、雙分支選擇if語句
//語句的一般形式如下: if(表達式){ 語句1; }else{ 語句2; }
當表達式成立的時候,執行語句1的內容,否則執行語句2的內容。
3、多分支選擇if語句
//語句的一般形式如下: if(表達式1){ 語句1; }else if(表達式2){ 語句2; }else if(表達式3){ 語句3; } ... ... ... ... else if(表達式n){ 語句n; }else{ 語句n+1; }
當表達式1成立的時候,執行語句1的內容,不成立再去判斷表達式2成立否,成立執行語句2,否則判斷表達式3,成立執行語句3,否則繼續往下判斷,如果都不成立,就執行語句n+1。
-
switch語句
//語句的一般形式如下: switch(表達式){ case 常量1: 語句1; break; case 常量2: 語句2; break; … … … … … … case 常量n: 語句n; break; default: 語句n+1; }
計算switch後面表達式的值,將該值與逐個case後的
常量表達式相比較,如果相等就執行其後的語句,否則
繼續往下判斷,如果case的條件都不滿足,則執行
default後的語句。
3、循環結構
循環就是在給定的條件成立的時候反覆執行某一段程序,被反覆執行的程序被稱作爲循環體。在C語言中的循環體主要有三種,分別是while語句、do…while語句、for語句。除了以上三種,還可以實現循環的嵌套,強制跳出循環的break和continue語句。
1、while語句
語法:
while(循環條件):
{
循環體語句
}
while是關鍵字。while後面小括號內的表達式一般是關係表達式或邏輯表達式。循環體語句可以是一條語句,也可以是多條語句。
例子:在屏幕上輸出1到10共10個整數。
task main(){
clearLCDLine(0);
int n=1;
while(n<=10){
displayLCDNumber(0, n-1, n);
n++;
}
}
2、do…while語句
語法:
do
{
循環體語句
}
while(循環條件);
注意點:”while(循環條件);”後面的;是不能省略的
do...while語句是先執行循環體語句,再判斷表達式,所有不管條件是否成立,都將至少執行一次循環體。while語句是先判斷條件,再執行循環體語句。這是兩者最大的區別。
3、for語句
語法:
for(循環變量賦初值; 循環條件; 循環變量增量)
{
循環體語句
}
例子:在屏幕上輸出1到10共10個整數。
task main(){
clearLCDLine(0);
int n=1;
for(n=1; n<=10; n++)
{
displayLCDNumber(0, n-1, n);
}
}
小總結:
1、while和do...while語句一般實現標誌式循環,即無法預知循環次數,循環只是在一定條件下進行;for語句大多實現計數式循環
2、while和do...while語句的循環變量賦初值在循環語句之前,循環結束的條件是while後面小括號內的表達式,循環體中包含循環變量修改語句;for循環則是循環三要素集於一行。
3、while和for語句是先測試循環條件,後執行循環語句,循環語句可能一次也不執行。而do...while語句是先執行循環體語句,後測試循環條件,所以循環體至少被執行一次。
4、循環的嵌套(重點掌握)
循環的嵌套是指一個循環語句內完整地包含另一個完整的循環結構。前3中循環結構可以任意組合嵌套。
循環的嵌套有雙重循環嵌套和多重循環嵌套。但是一般使用雙重或三重的比較多,嵌套層數太多,就降低了程序的可讀性和執行效率。
5、break語句
作用:可使程序跳出本層循環結構,接着執行循環體下面的語句。
一般形式:
break;
注意點:break語句只能用在while、do…while、switch語句中,不能用於其他語句。
如果break語句用在多重循環結構中,使用break語句只能使程序退出break語句所在的最內層循環。
6、continue語句
continue語句的作用是結束本次循環,即跳過循環體中下面尚未執行的語句,接着進行下一次是否執行循環體的判斷。
一般形式如下:
continue;