迭代语句
文章目錄
- 1 迭代語句
- 2 迭代語句之for語句
- 2.1 for語句的執行效果
- 2.2 實例解析
- 3 迭代語句之while語句
- 3.1 while語句的執行效果
- 3.2 實例分析
- 4 迭代語句之do語句
- 4.1 do語句的執行流程
- 4.2 實例分析
- 4.3 do while語句的妙用
1 迭代語句
迭代語句分為3種:while語句、do語句、for語句。
迭代語句中的表達式,我們又稱之為控制表達式:
- 迭代語句的執行效果是由它的值來決定的。
- 值 != 0 :執行循環體。
- 值 = 0 :跳轉到迭代語句的后面,繼續向下執行。
迭代語句中的子語句,我們稱之為循環體:
- 每次循環體執行完以后,都要重新求值控制表達式。
- 然后,再次根據控制表達式的值決定接下來的執行效果。
2 迭代語句之for語句
2.1 for語句的執行效果
第1步:執行第1個表達式或聲明,然后執行第2步(當第1個表達式被省略時:直接執行第2步)。
第2步:執行第2個表達式(控制表達式)。
- 值 = 0 :跳轉到for語句的后面,繼續向下執行(結束)。
- 值 != 0 :執行子語句(循環體) --> 執行第3個表達式 --> 重新回到第2步(循環)(當第3個表達式被省略時:直接重新回到第2步)。
當控制表達式被省略時:C實現將使用一個值 != 0 的常量來填充。結果就是:無限循環/死循環。
2.2 實例解析
int main (void) {for(int i = 0; i<5; i++) ; }第1個表達式或聲明:通常用于聲明或初始化一個變量,用作計數器。
第2個表達式:通常根據計數器的值來決定是否進入循環。
第3個表達式:通常使用遞增或者遞減來控制計數器的值。
3 迭代語句之while語句
3.1 while語句的執行效果
執行控制表達式:
- 控制表達式的值 != 0 :執行循環體,然后回到開始處執行(循環)。
- 控制表達式的值 = 0 :跳轉到while語句的后面,繼續向下執行(結束)。
3.2 實例分析
#include <stdio.h>int main(void) {int a = 100;while (a){printf("123456");a--;} }4 迭代語句之do語句
4.1 do語句的執行流程
第1步:執行循環體。
第2步:執行控制表達式。
- 值 = 0 :跳轉到do語句的后面,繼續向下執行(結束)。
- 值 != 0 :重新回到第1步(循環)。
4.2 實例分析
#include <stdio.h>int main(void) {int a = 100;do{printf("123456");a--;}while (a);}4.3 do while語句的妙用
示例代碼如下:
int func(int n) {int i = 0;int ret = 0;int* p = (int*)malloc(sizeof(int) * n);do{if( NULL == p ) break;if( n < 5 ) break;if( n > 100) break;for(i=0; i<n; i++){p[i] = i;printf("%d\n", p[i]);}ret = 1;}while( 0 );printf("free(p)\n");free(p);return ret; }參考資料:
總結
- 上一篇: 角速度与线速度有什么关系(公式是什么)
- 下一篇: 块