提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、for 循环语句
    • 1. `i++` 和 `++i` 的使用
    • 2. `i--` 和 `--i` 的使用
  • 二、while 循环语句
    • 1. `i++` 和 `++i` 的使用
      • `i++`的情况
      • `++i`的情况
    • 2. `i--`和 `--i` 的使用
      • `i--`的情况
      • `--i`的情况
  • 三、do...while 循环语句
    • 1. `i++` 和 `++i` 的使用
    • 2. `i--` 和 `--i` 的使用

前言

本文主要是探讨 i++, ++i, i–, --i 在循环语句 for、while、do…while中的使用


一、for 循环语句

1. i++++i 的使用

for循环中,i++++i 对于循环体来说没有任何区别——循环次数相同、循环体内的值相等。对于 for 循环而言,两种情况下的执行过程都是一样的:

  • i=0,满足 i < 5,执行循环体(循环体内 i=0),执行i=i+1
  • i=1,满足 i < 5,执行循环体(循环体内 i=1),执行i=i+1
  • i=2,满足 i < 5,执行循环体(循环体内 i=1),执行i=i+1
  • i=3,满足 i < 5,执行循环体(循环体内 i=1),执行i=i+1
  • i=4,满足 i < 5,执行循环体(循环体内 i=1),执行i=i+1
  • i=5,不满足 i < 5,循环结束

代码如下(示例):

for (int i = 0; i < 5; i++)printf("%d\n",i);
printf("*****************\n");
for (int i = 0; i <5; ++i)printf("%d\n",i);

输出:

0
1
2
3
4
*****************
0
1
2
3
4

2. i----i 的使用

for 循环中,i----i 对于循环体来说没有任何区别——循环次数相同、循环体内的值相等,对于for 循环而言,两种情况下的执行过程都是一样的:

  • i=5,满足 i > 0,执行循环体(循环体内 i=5),执行i=i-1
  • i=4,满足 i > 0,执行循环体(循环体内 i=4),执行i=i-1
  • i=3,满足 i > 0,执行循环体(循环体内 i=3),执行i=i-1
  • i=2,满足 i > 0,执行循环体(循环体内 i=2),执行i=i-1
  • i=1,满足 i > 0,执行循环体(循环体内 i=1),执行i=i-1
  • i=0,不满足 i > 0,循环结束

代码如下(示例):

for (int i = 5; i > 0; i--)printf("%d\n",i);
printf("*****************\n");
for (int i = 5; i > 0; --i)printf("%d\n",i);

输出:

5
4
3
2
1
*****************
5
4
3
2
1


二、while 循环语句

1. i++++i 的使用

while 循环中,i++++i是不同的。对于 i++, 执行顺序是这样的:先判断 --> 再计算 i=i+1 --> 后进入循环体;对于 ++i, 执行顺序是这样的:先计算 i=i+1–> 再判断 --> 后进入循环体。两种情况下,都是本次本次对于i的计算对本次进入循环体起作用。具体说来,对于 while 循环而言,i++++i的执行如下:

i++的情况

  • i = -5,满足 i != 0,计算i=i+1,执行循环体(循环体内 i = -4
  • i = -4,满足 i != 0,计算i=i+1,执行循环体(循环体内 i = -3
  • i = -3,满足 i != 0,计算i=i+1,执行循环体(循环体内 i = -2
  • i = -2,满足 i != 0,计算i=i+1,执行循环体(循环体内 i = -1
  • i = -1,满足 i != 0,计算i=i+1,执行循环体(循环体内 i = 0
  • i=0,不满足 i != 0,循环结束

++i的情况

  • i = -5,计算i=i+1i=-4),满足 i != 0,执行循环体(循环体内 i = -4
  • i = -4,计算i=i+1i=-3),满足 i != 0,执行循环体(循环体内 i = -3
  • i = -3,计算i=i+1i=-2),满足 i != 0,执行循环体(循环体内 i = -2
  • i = -2,计算i=i+1i=-1),满足 i != 0,执行循环体(循环体内 i = -1
  • i = -1,计算i=i+1i=0),不满足 i != 0,循环结束

代码如下(示例):

int i=-5;
while(i++)
{printf("%d\n",i);
}
printf("*****************\n");
i=-5;
while(++i)
{printf("%d\n",i);
}

输出:

-4
-3
-2
-1
0
*****************
-4
-3
-2
-1

2. i----i 的使用

while 循环中,i----i是不同的。对于 i--, 执行顺序是这样的:先判断 --> 再计算 i=i-1 --> 后进入循环体;对于 --i, 执行顺序是这样的:先计算 i=i-1–> 再判断 --> 后进入循环体。两种情况下,都是本次本次对于i的计算对本次进入循环体起作用。具体说来,对于 while 循环而言,i----i的执行如下:

i--的情况

  • i = 5,满足 i != 0,计算i=i-1,执行循环体(循环体内 i = 4
  • i = 4,满足 i != 0,计算i=i-1,执行循环体(循环体内 i = 3
  • i = 3,满足 i != 0,计算i=i-1,执行循环体(循环体内 i = 2
  • i = 2,满足 i != 0,计算i=i-1,执行循环体(循环体内 i = 1
  • i = 1,满足 i != 0,计算i=i-1,执行循环体(循环体内 i = 0
  • i=0,不满足 i != 0,循环结束

--i的情况

  • i = 5,计算i=i-1i=4),满足 i != 0,执行循环体(循环体内 i = 4
  • i = 4,计算i=i-1i=3),满足 i != 0,执行循环体(循环体内 i = 3
  • i = 3,计算i=i-1i=2),满足 i != 0,执行循环体(循环体内 i = 2
  • i = 2,计算i=i-1i=1),满足 i != 0,执行循环体(循环体内 i = 1
  • i = 1,计算i=i-1i=0),不满足 i != 0,循环结束

代码如下(示例):

int i=5;
while(i--)
{printf("%d\n",i);
}
printf("*****************\n");
i=5;
while(--i)
{printf("%d\n",i);
}

输出:

4
3
2
1
0
*****************
4
3
2
1


三、do…while 循环语句

1. i++++i 的使用

do...while 循环与 while循环类似,它等价于:执行一次循环体 + while 循环
代码如下(示例):

int i=-5;
do
{printf("%d\n",i);
}while(i++);
i=-5;
printf("*****************\n");
do
{printf("%d\n",i);
}while(++i);

输出:

-5
-4
-3
-2
-1
0
*****************
-5
-4
-3
-2
-1

2. i----i 的使用

do…while 循环与 while循环类似,它等价于:执行一次循环体 + while 循环
代码如下(示例):

int i=5;
do
{printf("%d\n",i);
}while(i--);
i=5;
printf("*****************\n");
do
{printf("%d\n",i);
}while(--i);

输出:

5
4
3
2
1
0
*****************
5
4
3
2
1

C语言循环语句中 i++, ++i, i--, --i的使用相关推荐

  1. c语言循环语句中花括号的作用,c语言中用括号将花括号括起来给变量赋值

    #define max(x,y) ({ \ typeof(x) _x = (x);\ typeof(y) _y = (y);\ (void) (&_x == &_y);\ _x > ...

  2. c语言 循环语句中的终止命令,Shell break和continue命令

    在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,像大多数编程语言一样,Shell也使用 break 和 continue 来跳出循环. break命令 break命令允许跳出所有循环(终止 ...

  3. 计算机c语言循环作业,计算机C语言循环语句的应用研究

    [摘要]基于计算机C语言循环语句的应用分析,首先要明确C语言应用现状,然后阐述C语言循环语句的分类及特点,最后详细论述循环语句的应用要点,针对while循环语句.dowhile循环语句.for循环语句 ...

  4. c语言循环if不起作用,c语言if语句中条件不成立会一直等待吗

    C语言中if( 1.if语句的一般格式if(表达式) [else](1)if语句中的"表达式"必须用"("和")"括起来.(2)else子句 ...

  5. c语言循环语句相关摘要,C语言中循环语句的应用研究

    为了帮助初学者尽快掌握C语言的循环语句,通过实例较详细的分析了循环语句的结构.功能和应用方法,以便读者能在实际应用中能够合理地选择循环语句,编出满足需要的程序来. . 26 0 价值工程 C语言中循环 ...

  6. C语言如何收集循环中的数,子数涵数·C语言——循环语句

    之前,我们讲过了编程中的三种结构(顺序.条件.循环),现在我们来看一下循环语句如何编写. 一.while循环语句(先判断后执行) 1 #include 2 int main(void) 3 { 4 i ...

  7. continue语句可以用在switch语句和3种循环语句中_必须知道的C语言知识细节:break、continue语句区别...

    break语句.continue语句都是C语言标准规定的跳转类语句,能够实现程序无条件转向另一处执行. break和continue中在循环体中经常出现,因此必须掌握其区别,避免出错. 先复习下两种语 ...

  8. 在循环语句中,for(i=0;in;i++)和for(i=0;in;++i)有什么区别?

    2019独角兽企业重金招聘Python工程师标准>>> 程序员 代码 C(编程语言) C++ C / C++ 在循环语句中,for(i=0;i<n;i++)和for(i=0;i ...

  9. [Python]循环语句中的 else 子句

    [Python]循环语句中的 else 子句 有其它编程语言经验的程序员接触到 Python 时最讶异的莫过于无所不在的 else,不仅分枝语句有,而且循环语句也有,甚至连异常处理也有.但现在我们来看 ...

  10. c语言用for循环守形数,c语言循环语句训练题

    c语言循环语句训练题 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 练习题:1. 找出1~n之间的守形数:从个位数看起,n的所有位 ...

最新文章

  1. 实现第一个自定义nginx模块
  2. 2009年上半年网络工程师考试下午试卷参考答案(一)
  3. scrollview 实现滑动到底部再滑动加载数据的功能
  4. php 注册回调函数,PHP回调函数
  5. 下列哪个滤波器是非线性的_正确选择射频滤波器的八大窍门
  6. python 直方图的绘制方法全解_python plotly绘制直方图实例详解
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的心理咨询预约系统
  8. iOS语言中的KVO机制
  9. Dynamics CRM 2011 FetchXml QueryExpression LINQ
  10. windows下载和安装gcc编译器(MinGW)及其环境配置(C语言编译环境配置)
  11. 数模比赛经验分享(美赛分享)
  12. selenium 各浏览器driver下载地址
  13. 章节1 概述 - Segger SystemView使用手册(译文)
  14. 树莓派通过蓝牙进行串口通讯
  15. JPA criteria 查询:类型安全与面向对象
  16. win10 风格的 OA 管理系统 skyeye 更新,新增项目模块
  17. MATLAB计算与常用命令
  18. linux学习(青少年学Linux)
  19. Python中使用matplotlib画图时各种大小设置
  20. Unity 音效播放

热门文章

  1. 2018走出架构误区
  2. 单电机板机模型,f22
  3. 用二次函数研究三次多项式函数的零点问题【中阶和高阶辅导】
  4. 解决IDEA的Plugin org.apache.maven.plugins:maven-archetype-plugin:RELEASE or one of its dependencies cou
  5. 怎么把html改成迅雷bt种子文件格式,BT种子怎么制作?教你如何制作BT种子
  6. 基于TB67S109AFNAG的步进电机控制板分享
  7. 服务器dns被劫持如何修复,dns劫持,教您DNS被劫持如何修复
  8. JAVA单车管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  9. 宁波银行成长的AB面:增长与合规不可兼得?管理漏洞不容忽视
  10. 【千锋Python2205班10.8笔记-day11-函数基础(一阶段)】