for迴圈迭代的不同變體有哪些?
for語句的一般形式如下:
for (initialization; condition; operation) statement;
初始化是一個賦值語句,用於設定迴圈控制變數。
條件是一個關係表示式,決定迴圈何時退出。
操作定義了每次迴圈重複時迴圈變數如何變化。
在**for迴圈**中,條件測試在迴圈頂部執行。這意味著當條件為假時,迴圈內的程式碼可能不會執行。
首先,如下例所示:
x = 10; for (y=10; y != x; ++y) printf (“ %d”, y);
變體1
這包括逗號運算子。逗號運算子使for迴圈的變體成為可能,如下例所示:
for(x=0, y=0; x+y < 10; ++x);
這裡,x和y都控制迴圈。
變體2
這包括迴圈定義中缺失的部分。for迴圈的一個有趣特性是,迴圈定義的部分不必存在。
例如:
for (x=0; x!=456; )
scanf ("%d", &x);這裡,每次迴圈重複時,都測試x是否等於456。當輸入456時,迴圈條件變為假並終止迴圈。
變體3
這包括無限迴圈。如果迴圈定義中的所有部分都缺失,則會建立一個無限迴圈。break語句用於跳出迴圈,如下例所示:
for(;;){
ch = getchar();
if(ch == 'A')
break;
}變體4
這包括沒有主體for迴圈。for迴圈的主體也可能為空。這提高了某些程式碼的效率。
例如:
讓我們從str指向的流中刪除前導空格:
for ( ; *str==' '; str++) ;
迴圈的另一個應用是帶有空主體的延時,如下例所示:
for (t=0; t<1000; t++);
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP