C语言菜鸟基础教程之for循环

 更新时间:2017年10月03日 10:49:17   作者:翡翠森林Z  
c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.

先看程序:

#include <stdio.h>

int main()
{
  for(int i = 0; i < 5; i++)
  {
    printf("i = %d\n", i);
  }
  
  printf("Loop ended!\n");
  
  return 0;
}

运行结果:

i = 0
i = 1
i = 2
i = 3
i = 4
Loop ended!



for循环的语句结构为:
for(表达式1; 表达式2; 表达式3)
{
    语句;
}

其执行顺序为:
(1)执行表达式1
(2)执行表达式2。表达式2是一个判断语句;若为真,则执行{}中的语句。若为假,则结束for循环
(3)若表达2为真,执行表达式3
(4)执行表达式2
(5)不断重复步骤(3)和步骤(4),直到表达式2为假,结束循环。

流程图如下所示:

程序执行过程:
第一次,表达式1中i的值为0;表达式2中0<5是成立的,打印出i的值。
第二次,表达式3中i++后i变为1;表达式2中1<5是成立的,打印出i的值。
第三次,表达式3中i++后值变为2,表达式2中2<5是成立的,打印出i的值。
第四次,表达式3中i++后值变为3,表达式2中3<5是成立的,打印出i的值。
第五次,表达式3中i++后值变为4,表达式2中4<5是成立的,打印出i的值。
第六次,表达式3中i++后值变为5,表达式2中5<5是不成立的,不执行大括号中的打印语句。循环结束,跳出循环。程序继续往下执行。

作业:
(1)使用断点观察上面程序的每一步的执行过程
(2)根据上面的分析,思考下面的程序的运行结果并动手操作一遍

#include <stdio.h>

int main()
{
  for(int i = 0; i < 0; i++)
  {
    printf("i = %d\n", i);
  }
  
  printf("Loop ended!\n");
  
  return 0;
}

相关文章

  • C++如何通过Qt反射机制实现数据类序列化

    C++如何通过Qt反射机制实现数据类序列化

    在 C++ 工程中经常需要使用数据类,并对数据类进行存储、打印、调试等操作,所以本文就来聊聊C++如何通过Qt反射机制实现数据类序列化吧
    2025-04-04
  • 深入解析C++中的虚函数与多态

    深入解析C++中的虚函数与多态

    对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)和一个指向虚函数表的指针(vptr)来实现的
    2013-09-09
  • C++基于消息队列的多线程实现示例代码

    C++基于消息队列的多线程实现示例代码

    这篇文章主要给大家介绍了关于C++基于消息队列的多线程实现的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • C++的继承法则详解

    C++的继承法则详解

    本文详细介绍了C++中的继承机制,包括继承的概念、定义、使用方法、访问限定符、赋值兼容转换、作用域、默认成员函数、友元关系、静态成员以及单继承、多继承和菱形继承,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • C语言实现多项式的相加

    C语言实现多项式的相加

    这篇文章主要为大家介绍了C语言实现多项式的相加,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • C语言实现加密解密功能

    C语言实现加密解密功能

    这篇文章主要为大家详细介绍了C语言实现加密解密功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 深入浅出分析C++ string底层原理

    深入浅出分析C++ string底层原理

    C ++的string对象实质上就是一个容器,其内部有一个c_str方法能够返回一个指向的实质存储字符串副本的数据成员。即通过string::c_str()配合printf函数可以获取的字符串副本的内存地址
    2021-11-11
  • C++用两个栈实现一个队列(面试官的小结)

    C++用两个栈实现一个队列(面试官的小结)

    这篇文章主要给大家介绍了关于C++用两个栈实现一个队列的相关资料,这是来自一名面试官的小结,文中通过示例代码介绍的非常详细,对大家学习或者使用C++具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • C语言实现点菜系统

    C语言实现点菜系统

    这篇文章主要为大家详细介绍了C语言实现点菜系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • C语言从编译到运行过程详解

    C语言从编译到运行过程详解

    这篇文章主要介绍了C语言从编译到运行的一个过程的相关资料,需要的朋友可以参考下面文章具体的内容
    2021-09-09

最新评论