目录

  • 1 计算机概述
    • 1.1 计算机简介
    • 1.2 计算机系统
    • 1.3 数值在计算机中的表示
  • 2 C语言概述
    • 2.1 C语言发展及特点
    • 2.2 C语言程序的运行步骤和开发环境
    • 2.3 简单的C语言程序
  • 3 C语言基础
    • 3.1 变量、常量及数据类型
    • 3.2 运算符和表达式
    • 3.3 输入、输出
  • 4 选择结构
    • 4.1 计算机编程和算法
    • 4.2 if语句
    • 4.3 if嵌套和if多分支
    • 4.4 switch语句
  • 5 循环结构
    • 5.1 while语句和do...while语句
    • 5.2 for语句
    • 5.3 break语句和continue语句
    • 5.4 goto语句构成的循环
    • 5.5 嵌套循环结构
    • 5.6 程序设计举例
  • 6 函数
    • 6.1 函数的定义与调用
    • 6.2 函数的嵌套调用和递归调用
    • 6.3 作用域和生命周期
    • 6.4 章节小结与测试
  • 7 数组
    • 7.1 一维数组及应用
    • 7.2 二维数组及应用
    • 7.3 字符数组
    • 7.4 数组作为函数参数
    • 7.5 章节小结与测试
  • 8 指针
    • 8.1 指针变量
    • 8.2 指针与数组
    • 8.3 指针的多种形态
  • 9 字符串
    • 9.1 字符串概念及输入输出
    • 9.2 字符串函数
    • 9.3 指针与字符串
    • 9.4 章节小结与测试
  • 10 编译预处理
    • 10.1 宏定义
    • 10.2 文件包含
    • 10.3 条件编译
  • 11 结构体、共用体和用户定义类型
    • 11.1 结构体类型变量
    • 11.2 结构体类型数组与指针
    • 11.3 结构体与函数
    • 11.4 用指针处理链表
    • 11.5 共用体
  • 12 位运算
    • 12.1 位运算的概念和运算规则
  • 13 文件
    • 13.1 C文件概述
    • 13.2 文件的打开与关闭
    • 13.3 文件读写
    • 13.4 位置指针的定位
for语句

学习目标

理解并掌握循环的概念及其算法描述

理解并掌握程序设计中构成循环的方法

熟练掌握for语句的结构及使用

 

重点

for语句的结构及其使用方法

正确区分for语句、do…while语句与while语句

 

 

难点

for语句的结构及其使用方法

分析总结常用的程序设计方法及算法特点,并能编写相应的程序

 

 

一、for语句格式

for语句使用灵活,不仅可用于循环次数已经确定的情况,也可用于循环次数不确定而只给出循环结束条件的情况。可以用for循环代替while循环和do...while循环。

for语句的格式如下:

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

        语句

例如:

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

        sum+=i;

 

二、for语句流程

for循环的流程图如图5.3所示,执行过程如下:

(1) 若表达式1存在,则先计算表达式l的值,然后转向步骤(2);若表达式1不存在,则直接进入步骤(2)

(2) 计算表达式2的值,若其值为真(值为非0),则执行for语句中指定的循环体语句,然后执行步骤(3);若表达式2为假(值为0)则转到步骤(4)

(3) 若表达式3存在,则计算表达式3的值,然后转向步骤(2);若表达式3不存在,则直接转向步骤(2)

(4) 循环结束,执行for语句下面的语句。

5.3  for语句流程图

三、应用举例

5.4 从键盘输入100个数,求这100个数的和。

 

5.5 输入一个正整数,存放变量n中,计算1+1/2+1/3+1/4+…+1/n

 

1. for语句说明

(1) 若表达式1被省略,则应在for语句之前给循环变量赋初值。如下所示:

        i=2; sum=0;

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

(2) 若表达式2被省略,即不判断循环条件,则循环无终止地进行下去。也就是认为表达式2始终为真。

(3) 若表达式3被省略,则应在循环体中出现能够保证循环正常结束的语句。如下所示:

       sum=0;

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

          {sum+=i; i=i+2;}

(4) 若省略表达式1和表达式3,只有表达式2,即只给循环条件,则在这种情况下,完全等同于while语句。如下所示:

         i=2sum=0;

         for(; i<=100; )

               {sum+=i;  i=i+2;}

(5)  表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其它表达式。如下所示:

        for(sum=0,i=2; i<=100; i+=2)

        sum+=i;

(6) 表达式2可以是任何合法的C语言表达式,只要其值为非零,就执行循环体。