C 语言循环与自增运算符组合对比分析

📅 2026/7/27 7:53:14 👁️ 阅读次数 📝 编程学习
C 语言循环与自增运算符组合对比分析

一、实验说明

初始变量统一:int i = 5; int n = 0;
i:循环条件变量
n:统计循环体执行次数
核心规则:
后置自增 i++:先取值判断,后变量自增
前置自增 ++i:先变量自增,后取值判断
for / while:先判断条件,再执行循环体
do-while:先执行循环体,再判断条件(循环体至少执行 1 次)

二、四组代码及详细执行流程

案例 1:for 循环 + 后置自增 i++

int i = 5; int n = 0; for(; i < 10; i++) { n++; }

执行流程(先判断,后执行)
判断 5<10 成立 → 执行 n=1,i=6
判断 6<10 成立 → 执行 n=2,i=7
判断 7<10 成立 → 执行 n=3,i=8
判断 8<10 成立 → 执行 n=4,i=9
判断 9<10 成立 → 执行 n=5,i=10
判断 10<10 不成立,循环结束
执行次数:5 次,最终 n=5


案例 2:while 循环 + 前置自增 ++i

int i = 5; int n = 0; while(++i < 10) { n++; }

执行流程(先判断,后执行):
++i=6,判断 6<10 成立 → 执行 n=1
++i=7,判断 7<10 成立 → 执行 n=2
++i=8,判断 8<10 成立 → 执行 n=3
++i=9,判断 9<10 成立 → 执行 n=4
++i=10,判断 10<10 不成立,循环结束
执行次数:4 次,最终 n=4

案例 3:do-while 循环 + 后置自增 i++

int i = 5; int n = 0; do { n++; }while(i++ < 10);

执行流程(先执行循环体,再判断条件):
执行循环体:n=1 → 判断 5<10 成立,i 自增为 6
执行循环体:n=2 → 判断 6<10 成立,i 自增为 7
执行循环体:n=3 → 判断 7<10 成立,i 自增为 8
执行循环体:n=4 → 判断 8<10 成立,i 自增为 9
执行循环体:n=5 → 判断 9<10 成立,i 自增为 10
执行循环体:n=6 → 判断 10<10 不成立,i 自增为 11,循环结束
执行次数:6 次,最终 n=6

案例 4:do-while 循环 + 前置自增 ++i

int i = 5; int n = 0; do { n++; }while(++i < 10);

执行流程(先执行循环体,再判断条件):
执行循环体:n=1 → ++i=6,判断 6<10 成立
执行循环体:n=2 → ++i=7,判断 7<10 成立
执行循环体:n=3 → ++i=8,判断 8<10 成立
执行循环体:n=4 → ++i=9,判断 9<10 成立
执行循环体:n=5 → ++i=10,判断 10<10 不成立,循环结束
执行次数:5 次,最终 n=5

三、结果汇总表

循环类型自增方式循环执行次数
for后置i++5
while前置++i4
do-while后置i++6
do-while前置++i5

四、总结

执行顺序差异:

  • for 和 while 先判条件再执行代码;
  • do-while 必定先执行一次循环体,再做条件判断。

自增规则差异:

  • 前置自增会先改变变量值,更容易让条件失效,减少循环次数;
  • 后置自增先用原值判断,变量延后自增。


实操提醒:循环次数受循环结构和自增写法共同影响,分析代码必须严格遵循执行顺序,不能主观臆断。