当前课程知识点:高级语言程序设计 > 循环结构程序设计 > 4.4 用for语句实现循环 > 用for语句实现循环
同学们好
今天我们一起来学习
用for语句实现循环
那么这一节里面我们先了解
for语句的语法知识
然后用for语句编写程序
解答两个例题
好 下面我们来看for语句
那么for语句实现循环
它最为灵活了
它完全可以取代while和do-while语句
那么for语句的一般形式是什么样子的呢
大家来看一下
这个for的后面跟上一对圆括号
圆括号里面写着表达式1 分号
表达式2 分号 表达式3
紧接着
后面也就是下面
是大括号的语句
那么在这样一个for语句的结构里面
我们可以看一下它的执行的这样一个流程
我们从流程图可以看到
表达式2是菱形框
其他的都是矩形框
也就是说表达式2是要判断的条件
其它的矩形框里都是执行的语句
那么这个for语句执行循环的这样一个过程
是什么样的顺序呢
我们来看
它先执行表达式1
然后再判断表达式2
这个表达式2是一个循环条件
当这个表达式2为真
执行语句
然后再执行表达式3
再进循环体
那么再进循环体的时候
大家注意到
我们这里写的是表达式1 表达式2 表达式3
表达式1就不用再执行了
那么第二次进循环的时候
直接判断表达式2是否为真
如果为真继续执行语句
然后再执行表达式3
这样循环下去
如果表达式2为假
那么就跳出for循环
那么在这样一个for循环执行的过程当中
我们可以感觉到
就是for后面圆括号里面的这3个表达式
它们是存在着关系的
也就是表达式1
它是在循环条件之前求解的
所以一般来看表达式1
是给变量赋初值
然后再看循环条件
也就是表达式2
判断这个循环条件
判断结束之后
我们要执行循环体语句
然后再求解表达式3
所以这个表达式3就是来控制这个表达式2
是否为真或者为假
这样一个语句
所以for语句这种形式
我们可以把它
很形象的理解成这一个样子
圆括号里面的3个表达式
第1个表达式是赋值语句
用来给循环控制变量赋初值
第2个表达式是循环条件
它是一个关系表达式
它可以决定什么时候退出循环
第3个表达式是循环变量增值
来定义循环控制变量
每循环一次
它按什么方式来变化
这个循环变量按什么方式来变化
3个表达式用分号隔开
所以我们可以由for后面的这3个表达式
很明显的知道
可以直接来判断循环执行的次数
好了解了for语句的这个形式之后
下面我们来举两个例子
一个例子就是上一节课我们提到过的
1+2+3+…+100求和
如果用for语句来求的话
我们这样来做
我们先用前面学习过的while语句写的代码
来帮助我们来写这个for语句
左边呢
是我们前面学习while语句的时候写的代码
那么右边呢
我们将用for语句来代替while语句
在写for语句的时候
圆括号里面的3个表达式
依次是i赋初值为1
i小于等于100 i++
下面大括号里的循环体语句是
sum被sum+i赋值
这个时候我们来看一下
for语句执行的这样一个过程
就是先求解表达式1
i赋初值为1
然后再判断这个i小于等于100是否为真
为真则执行这个循环体
然后i++
下一次再来判断
表达式为真执行循环体 i再加加
这样不停的循环下去
当i小于等于100为假的时候
也就是这个条件为假的时候
我们就跳出for循环
这个for语句可以看出
这个循环执行的次数
很明显看到就是100次
由三个表达式可以判断循环100次
所以这个例子
用for语句来实现
程序运行的结果依然等于5050
下面我们再来看另外一个例子
编程将输出2000年到2050年中
所有的闰年输出
那么这个问题
我们也可以用for循环来实现
那么思路是这样的
首先我们定义一个整型变量year
这个year它用来表示2000年到2050年
这个范围的区间的每一个年份
然后用year这个变量来控制循环的次数
那么year控制循环次数的话
year的初值是2000
终止值为2050
每次近循环的时候
我们都要判断year的值是否满足闰年的条件
如果满足
就输出这个year的值
如果不满足这个时候
就不用输出
下面我们把这个题目的对应的程序写出来
大家注意看
定义变量year
然后在for语句圆括号里有3个表达式
很显然我们对year
首先用第1个表达式给year赋初值为2000
第2个是条件表达式
就是year小于等于2050
第3个表达式是year++
循环体里面只有一个if语句
意思就是说每次进这个大括号
我都要判断是否满足这个闰年的条件
那么这个闰年的条件怎么写的呢
我们是这样用关系
和逻辑运算符组成的这样一个表达式
就是year和4求余和0相等
并且year和100求余和0不相等
或者是year和400求余和0相等
这样一个条件
这是闰年的条件
满足的话那么这一年是闰年
我就输出year的值
如果这个条件不满足
这一年很显然不是闰年
我们就不用输出year的值
最后我们可以看到这个程序运行的这样一个结果
输出的结果
这就是我们这一节学习的
用for语句实现循环的知识
今天这一节课就到这里
谢谢大家
-1.1 计算机程序和计算机语言
-1.2 C程序的构成
--C程序的构成
-1.3 C语言编辑、编译、运行(VC++2010学习版)
-练习题
-2.1 变量的定义和使用
--变量的定义和使用
-2.2 数据类型
--数据类型简介
--整型数据
--实型数据
-2.3 格式输出和格式输入
-2.4 运算符和表达式
--运算符和表达式
-2.5 结构化程序设计入门
-练习题
-3.1 为什么要用选择结构解决问题
-3.2 如何正确表示选择结构中的条件
-3.3 用if语句及if语句嵌套实现选择结构
-3.4 用switch语句实现选择结构
-练习
-4.1 循环的引入
-4.1 循环的引入--作业
-4.2 用while语句实现循环
-4.3 用do-while语句实现循环
-4.4 用for语句实现循环
-- 用for语句实现循环
-4.4 用for语句实现循环--作业
-4.5 何时需要用循环的嵌套
-4.6 如何提前终止循环和提前结束本次循环
-习题--作业
-5.1 数组类型的引入
--数组类型的引入
-5.2 一维数组的定义和初始化
-5.3 一维数组的使用
--一维数组的使用
-5.4 二维数组的定义和初始化
-5.5 二维数组的使用
--二维数组的使用
-习题--作业
-6.1 什么是指针
--什么是指针
-6.2 指针类型及相关概念
-6.3 指针变量的定义、赋值与使用
-6.4 指针的运算
--指针的运算
-6.5 指针与一维数组
--指针与一维数组
-6.6 指针的指针
--指针的指针
-6.7 指针与二维数组
--指针与二维数组
-习题--作业
-7.1 为什么要自定义函数
-7.2 函数的定义
--函数的定义
-7.3 函数的调用
--函数的调用
-7.4 函数参数的传递
--函数参数的传递
-7.5 函数的嵌套调用和递归调用
-7.6 变量的作用域和存储类型
-习题--作业
-8.1 字符串的存储及输入输出
-8.2 系统字符串处理函数
-8.3 自定义字符串处理函数
-习题--作业
-9.1 结构体类型的定义
--结构体类型的定义
-9.2 结构体变量及指针变量的定义及使用
-9.3 结构体变量和指针变量作函数的参数
-9.4 结构体数组的定义和使用
-9.5 共用体类型和枚举类型
--共用体和枚举类型
-习题--作业
-动态内存分配--习题
-习题--作业