在計算機解決實際問題時,往往需要重讀執行特定的一系列步驟或操作,就要用到循環結構。需要執行的一系列操作的次數,有的是事先知道的,稱為計數器控制的循環;有的是事先不知道的,由特定條件來控制,稱為條件控制的循環。
一、while循環
用goto和 if 構成循環
while 語句
do ~ while 語句
for 語句
goto語句及用goto構成循環
goto語句一般格式:
goto 語句標號;
標號:語句;
無條件轉移語句
說明:不能用整數作標號;只能出現在goto所在函數內,且唯一;只能加在可執行語句前面;限制使用goto語句;
例如:用if 和goto語句構成循環求1到100之和
/*ch5_1.c*/
#include
main()
{ int i,sum=0;
i=1;
loop: if(i<=100)
{ sum+=i;
i++;
goto loop;
}
printf("%d",sum);
}
一般形式
while(表達式)
循環體語句;
執行流程
While語句特點和說明
特點:先判斷表達式,后執行循環體
說明:循環體有可能一次也不執行l循環體可為任意類型語句
下列情況,退出while循環
條件表達式不成立(為零)循環體內遇break,return,gotol無限循環:
while(1)
循環體;
例 顯示1~10的平方
/*ch5_21.c*/
#include
main()
{ int i=1;
while(i<=10)
{ printf("%d*%d=%d\\n",i,i,i*i);
i++;
}
}
運行結果:
1*1=1
2*2=4
3*3=9
4*4=16
5*5=25
6*6=36
7*7=49
8*8=64
9*9=81
10*10=100
二、do~while循環
一般形式:
do
循環體語句;
while(表達式);
執行流程
do~while語句特點和說明
特點:先執行循環體,后判斷表達式
說明:至少執行一次循環體;do~while可轉化成while結構
三、for循環
一般形式
for([expr1] ;[ expr2] ;[ expr3])
循環體語句;
執行流程
for語句一般應用形式
for(循環變量賦初值;循環條件;循環變量增值)
{
循環體語句;
}
說明:
for語句中expr1,expr2 ,expr3 類型任意,都可省略,但分號;不可省
無限循環: for(;;);for語句可以轉換成while結構
expr1;
while(expr2)
{
循環體語句;
expr3;
}
例子
#include
main( )
{ int i;
for(i=0;i<10;i++)
putchar(‘a’+i);
}
運行結果:abcdefghij
四、循環的嵌套
三種循環可互相嵌套,層數不限。外層循環可包含兩個以上內循環,但不能相互交叉。嵌套循環的執行流程
嵌套循環的跳轉
禁止:從外層跳入內層;跳入同層的另一循環;向上跳轉;
(1) while()
{ ……
while()
{ ……
}
…...
}
(2) do
{ ……
do
{ ……
}while( );
…...
}while( );
(3) while()
{ ……
do
{ ……
}while( );
…….
}
(4) for( ; ;)
{ ……
do
{ ……
}while();
……
while()
{ ……
}
…...
}
程序舉例
for(i=1;i<10;i++)
for(j=1;j<10;j++)
printf((j==9)?"%4d\\n":"%4d",i*j);
循環的嵌套(圖解)
五、輔助控制語句
break語句
功能:在循環語句和switch語句中,終止并跳出循環體或開關體
說明:break只能終止并跳出最近一層的結構;break不能用于循環語句和switch語句之外的任何其它語句之中
continue語句
功能:結束本次循環,跳過循環體中尚未執行的語句,進行下一次是否執行循環體的判斷;僅用于循環語句中
-
計算機
+關注
關注
19文章
7603瀏覽量
89743 -
計數器
+關注
關注
32文章
2281瀏覽量
95797 -
循環結構
+關注
關注
0文章
22瀏覽量
7811
發布評論請先 登錄
相關推薦
《C/ C++/ Java 程序設計經典教程》
C語言程序設計介紹
C程序設計的詳細中文資料免費下載
C語言程序設計教程之如何設計循環結構

C語言程序設計實用教程之如何進行順序程序資料和程序概述

C語言程序設計教程之循環結構程序設計資料概述

C++程序設計教程之程序設計初步資料說明

評論