当前课程知识点:C语言程序设计 >  第6章 循环结构程序设计 >  6.2 for语句 >  for语句

返回《C语言程序设计》慕课在线视频课程列表

for语句在线视频

下一节:循环的嵌套

返回《C语言程序设计》慕课在线视频列表

for语句课程教案、知识点、字幕

同学们大家好

本节我们来学习C语言中的循环语句for语句

实现循环结构时

除了可以用while语句和dowhile语句外

C语言还提供for语句实现循环

而且for语句更为灵活

不仅可以用于循环次数已经确定的情况

还可以用于循环次数不确定

而只给出循环结束条件的情况

它完全可以代替while语句

例如

求1+2+3+…+100的和

我们也可以用for语句实现

代码段如下

for语句的一般形式为

for (表达式1;表达式2;表达式3)

语句 3个表达式的主要作用是

表达式1

设置初始条件

只执行一次

可以为零个

一个或多个变量设置初值

表达式2

是循环条件表达式

用来判定是否继续循环

在每次执行循环体前先执行此表达式

决定是否继续执行循环

表达式3

作为循环的调整

例如使循环变量增值

它是在执行完循环体后才进行的

这样

for语句就可以理解为

for

(循环变量赋初值;循环条件;循环变量增值)

语句

例如

for

(i=1;i<=100;i++)

sum=sum+ i

其中的i=1

是给循环变量i设置初值为1

i<=100

是指定循环条件

当循环变量i的值小于或等于100时

循环继续执行

i++的作用

是使循环变量i的值不断变化

以便最终满足终止循环的条件

使循环结束

for语句的执行过程如图所示

1

先求解表达式1

2

求解表达式2

若此条件表达式的值为真

非0

则执行for语句中循环体

然后执 行第3步

若为假0则结束循环

转到第5步

3

求解表达式3

4

转回步骤2

继续执行

5

循环结束

执行for语句下面的一条语句

说明

1

for语句的一般形式

for (表达式1;表达式2;表达式3)

语句

可以改写为while循环的形式

表达式1

while (表达式2)

{ 语句 表达式3 } 二者等价

2

表达式1可以省略

即不设置初值

但表达式1后的分号不能省略

例如

for(i=1;i<=100;i++)

sum=sum+i

可以写成 i=1

for(;i<=100;i++)

sum= sum+ i

可以在for语句之前给循环变量赋以初值

3

表达式2也可以省略

即不用表达式2来作为循环条件表达式

不设置和检查循环的条件

例如

for(i=1;i++)

sum=sum+i

此时循环无终止地进行下去

也就是认为表达式2始终为真

它相当于 i=1

while(1){ sum=sum+ii++}

循环无终止地进行

i的值不断加大

sum的值也不断累加

4

表达式3也可以省略

但此时程序设计者应另外设法保证循环能正常结束

例如

for(i=1;i<=100;){

Sum=sum+i;i++}

在上面的for语句中只有表达式1和表达式2

而没有表达式3

i++的操作不放在表达式3的位置

而作为循环体的一部分

效果是一样的

都能使循环正常结束

如果在循环体中无此i++语句

则循环体无止境地执行下去

C语言的for语句使用十分灵活

变化多端

可以把循环体和一些与循环控制无关的操作

也作为表达式I或表达式3出现

对于这部分内容

同学们只须领会其精神实质

完全没有必要死记

注意

为了 for语句清晰

简洁可读性好

建议最好不要把与循环控制无关的内容

放到for语句中

本节的内容就讲到这里

同学们再见

C语言程序设计课程列表:

第1章 C语言程序设计预备知识

-计算思维与计算机

--计算思维与计算机

--计算思维与计算机

--计算思维和计算机

第2章 C语言程序设计基础

-2.1 程序设计语言的发展及其特点和应用

--程序设计语言的发展及其特点和应用

--程序设计语言的特点及发展

- 2.2 C语言程序的基本结构及编制C语言程序的基本步骤

-- C语言程序的基本结构及编制C语言程序的基本步骤

--C语言程序的结构和编制步骤

第3章 基本数据类型、运算符与表达式

-3.1 C语言的数据类型

--C语言的数据类型

--C语言的数据类型

-3.2 常量

--常量

--常量

-3.3 什么是变量

--什么是变量

--什么是变量

-3.4 如何进行算术运算

--如何进行算术运算

--如何进行算术运算

-3.5 赋值运算符和逗号运算符

--赋值运算符和逗号运算符

--赋值运算符和逗号运算符

-3.6 数据类型转换

--数据类型转换

--数据类型转换

第4章 基本输入输出和顺序程序设计

-4.1 格式化输出printf

--格式化输出printf

--格式化输出

-4.2 格式化输入scanf及字符数据的非格式化输入输出

--格式化输入scanf及字符数据的非格式化输入输出

--格式化输入

第5章 选择结构程序设计

-5.1 关系运算符和关系表达式

--关系运算符和关系表达式

--关系运算符和关系表达式

-5.2 逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

--逻辑运算符和逻辑表达式

-5.3 条件运算符和条件表达式

--条件运算符和条件表达式

--条件运算符和条件表达式

-5.4 if语句

--if语句

--if语句

-5.5 switch语句

--switch语句

--switch语句

第6章 循环结构程序设计

-6.1 while语句

--while语句

--while语句

--do-while语句

-6.2 for语句

--for语句

--for语句

-6.3 循环的嵌套

--循环的嵌套

--循环的嵌套

-6.4 break语句和continue语句

--break语句和continue语句

--break和continue语句

第7章 数组

-7.1 一维数组的定义和引用

--一维数组的定义和引用

--一维数组的定义和引用

-7.2 一维数组的赋值

--一维数组的赋值

--一维数组的赋值

-7.3 二维数组的定义和引用

--二维数组的定义和引用

--二维数组的定义和引用

-7.4 二维数组的赋值

--二维数组的赋值

--二维数组的赋值

-7.5 字符串的本质

--字符串的本质

--字符串的本质

-7.6 字符串操作的常用函数

--字符串操作的常用函数

--字符串常用函数

-7.7 字符串数组

--字符串数组

--字符串数组

第8章 函数

-8.1 函数概述

--函数概述

--函数概述

-8.2 有参函数

--有参函数

--有参函数

-8.3 函数参数的传递方式

--函数参数的传递形式

--函数参数的传递方式

-8.4 变量的作用域和生存期

--变量的作用域和生存期

--变量的作用域和生存期

-8.5 变量的存储类型

--变量的存储类型

--变量的存储类型

-8.6 函数的嵌套和递归调用

--函数的嵌套和递归调用

--函数的嵌套和递归调用

-8.7 函数的作用域与封装

--函数的作用域与封装

--函数的作用域与封装

第9章 指针

-9.1 指针变量的概念(上)

--指针变量的概念(上)

--指针变量的概念(上)

-9.2 指针变量的概念(下)

--指针变量的概念(下)

--指针变量的概念(下)

-9.3 指向一维数组的指针变量

--指向一维数组的指针变量

--指向一维数组的指针变量

-9.4 指向二维数组的指针变量(上)

--指向二维数组的指针变量

--指向二维数组的指针变量(上)

-9.5 指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

--指向二维数组的指针变量(下)

-9.6 动态内存分配

--动态内存分配

--动态内存分配

第10章 预处理命令

-10.1 编译预处理

--编译预处理

第11章 复杂数据类型

-11.1 用户自己建立数据类型

--用户自己建立数据类型

--用户自己建立数据类型

-11.2 定义结构体类型变量

--定义结构体类型变量

--定义结构体类型变量

-11.3 结构体变量的引用与初始化

--结构体变量的引用与初始化

-11.4 结构体数组

--结构体数组

--结构体数组

-11.5 指向结构体类型数据的指针

--指向结构体类型数据的指针

--指向结构体类型数据的指针

第12章 文件

-12.1 文件的基本概念和文件指针

--文件的基本概念和文件指针

--文件的基本概念和文件指针

-12,2 文件的打开和关闭

--文件的打开和关闭

--文件的打开和关闭

-12.3 文本文件读写

--文本文件读写

--文本文件读写

-12.4 二进制文件读写

--二进制文件读写

--二进制文件读写

for语句笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。