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

先看程序:

#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;
}
(0)

相关推荐

  • 快速学习C语言中for循环语句的基本使用方法

    对于某个特定任务我们可以采用多种方法来编写程序.下面这段代码也可以实现前面的温度转换程序的功能:#include <stdio.h> /*打印华氏温度-摄氏温度对照表*/ main() { int fahr; for (fahr = 0; fahr <= 300; fahr = fahr + 20) printf("%3d %6.1f\n", fahr, (5.0/9.0)*(fahr-32)); } 温度的下限.上限和步长都是常量, printf 函数的第三个参数必

  • 基于c的for循环中改变变量值的问题

    不知道何时起, 非常刻意避免在 for 循环体内改变变量值. 似乎是受别人观点影响, 但却并不知晓原因.可是有时候用其他方法替代却不方便, 自己试了一下, 或许找到了一丝差异.用这种方法赋值时, 没有出现问题: 复制代码 代码如下: #include <stdio.h>int main(){ int i; for(i=0; i<10; i++) {  i = i+2;  printf("%d/n", i); } return 0;} 但是另外一种赋值方法, 却是不行的

  • 解析C++中的for循环以及基于范围的for语句使用

    for循环语句 重复执行语句,直到条件变为 false. 语法 for ( init-expression ; cond-expression ; loop-expression ) statement; 备注 使用 for 语句可构建必须执行指定次数的循环. for 语句包括三个可选部分,如下表所示. for 循环元素 下面的示例将显示使用 for 语句的不同方法. #include <iostream> using namespace std; int main() { // The co

  • C++11的for循环,以及范围Range类的简单实现

    C++11支持range-based for循环.这是一个很方便的特性,能省挺多代码.以下代码就能很方便的遍历vector中的元素,并打印出来: std::vector<int> int_vec; int_vec.push_back(1); int_vec.push_back(2); //如果要修改int_vec中的元素,将变量x声明为 int& 即可 for (int x: int_vec) { std::cout << x << endl; } 可以遍历的对

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

    先看程序: #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) {     语句; } 其执

  • C语言菜鸟基础教程之求1到100的和

    题目:求1+2+3+--+98+99+100 (1)用数学方法求解 (2)编写C语言程序求解 解: (1)数学方法 S = 1+2+3+--+98+99+100 = (1+100) + (2+99) + (3+98) + -- + (49+52) + (50+51) = 101 * 50 = 5050 (2)C语言编程 #include <stdio.h> int main() { int sum = 0; // 赋初值 for(int i = 1; i <= 100; i++) { s

  • C语言菜鸟基础教程之a++与++a

    (一)a++ 在C语言或其它语言中,++符号表示"自加",就是变量在原来的基础上加1. 例1: a = 0; a++; 则此时a的值为1. 同样的道理,--表示"自减". 例2: a = 100; a--; 则此时a的值为99. 注意,程序语言里没有"自乘"和"自除"的概念. 验证程序: #include <stdio.h> int main() { int a = 0; // 给a赋值 a++; printf(&

  • C语言菜鸟基础教程之Hello World

    首先,需要一款C语言的编译器,可以使用在线编译器,也可以在本地安装编译器,比如Mac电脑可以安装Xcode,PC可以安装Dev C++. 编写第一个程序:Hello World! #include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, World! \n"); return 0; } 运行结果: Hello, World! 程序分析: (1) 这里stdio.h是一个头文件.代表stantard inp

  • Javascript基础教程之for循环

    如果您希望一遍又一遍地运行相同的代码,并且每次的值都不同,那么使用循环是很方便的. 复制代码 代码如下: document.write(cars[0] + "<br>"); document.write(cars[1] + "<br>"); document.write(cars[2] + "<br>"); document.write(cars[3] + "<br>"); do

  • python基础教程之while循环

    前言 今天来说下python中的循环.循环的意思是什么,以环形.回路或轨道运行;沿曲折的路线运行;特指运行一周而回到原处.这是百度给出的循环的意思.在python中,就是重复执行你给的指令,直至结束.我们现在看下,在python中,循环就是:while:它有它的规则结构,就是while + 条件(冒号,这个别忘记了.): 意思是,当条件不成立时,不循环.举个例子说明一下: 我们先来说下这个例子的意思,首先,while+条件: 这个已经带入到了代码中,这个代码的意思是当循环10次1的时候 ,跳出循

  • Python基础教程之if判断,while循环,循环嵌套

    if判断 判断的定义 如果条件满足,就做一件事:条件不满足,就做另一件事:  判断语句又被称为分支语句,有判断,才有分支: if判断语句基本语法 if语句格式: if 判断的条件:     条件成立后做的事     ... ... 代码缩进为一个tab键,或者四个空格,官方建议使用空格:但应注意,在python开发中,tab和空格不能混用! 判断年龄示例: # 判断是否成年,成年则可以进网吧 age = 19 if age>=18: print("你满了18岁,可以进网吧") i

  • Kotlin基础教程之Run,标签Label,函数Function-Type

    Kotlin基础教程之Run,标签Label,函数Function-Type 在Java中可以使用{}建立一个匿名的代码块,代码块会被正常的执行,除了改变了作用域之外,似乎并没有什么其他的作用.然而在Kotlin中却不能这么做,这是为什么呢? 其实,我们都知道一个函数一定与一个内存地址相关,而一个匿名的代码块其实也相当于是一个匿名的函数.在Kotlin中一般使用run函数来运行一段匿名代码块. 如下: 在Kotlin中使用标识符后跟@符号来定义一个标签,使用@后跟标识符来引用一个标签,run函数

  • JavaWeb基础教程之Java基础加强版

    1.myeclipse的安装和使用 * eclipse:是一个免费的开发工具 * myeclipse:是一个收费的插件,破解myeclipse, ** 安装目录的要求: 不能有中文和空格 ** 安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格 * 破解myeclipse ** 运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 * myeclipse的使用 * 创建一个工程 - 类型 java project web project - 选择依赖的jdk,可以

  • Jquery基础教程之DOM操作

    对于dom的全称大家都知道吧,DOM是Document Object Model的缩写,其意思是文档对象模型.DOM是一种与浏览器.平台.语言无关的接口,使用dom接口很容易的访问页面中所有标准组件.dom操作一般可以分为三个方面即DOM Core(核心).HTM-Dom和CSS-DOM. 每一个网页都可以用DOM表示出来,每个DOM都可以看作是一棵DOM树.下面的html页面结构可以构建出一棵DOM树,代码: 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DT

随机推荐