5.2.3 for循环结构

在C语言中,for循环结构是所有循环结构中功能最丰富的一个。在该循环结构中,用户可以指定循环条件的初始化值、最大限值和步进值。在本小节中,将介绍for循环结构的使用原型及其使用方法等。

1.for循环结构使用原型

在for循环结构中,包含三个重要的参数。其具体的使用原型如下:

for(a;b;c)//for循环结构
{
    ……//省略部分代码
    循环功能代码
    }

在for循环结构的原型中,参数a表示循环条件的初始值,参数b表示循环条件的最大限值,参数c表示循环条件的步进值。而循环功能代码则会严格按照用户指定的循环次数执行。

注意 如果循环条件是在for循环结构以外进行初始化的,则参数a可以不指定。如果用户没有设置参数b,则表示循环条件没有最大值。实际上,用户也可以不用设置参数c。

2.使用for循环结构

在for循环结构中,可以先定义循环条件的初始化值、最大值和步进值。例如,用户在程序中,使用for循环结构连续输出10个字符串“学习C语言编程!”。具体代码如下:

#include <stdio.h>//包含头文件
main()//主函数开始
{
    char ch[20]={"学习C语言编程!"};//定义并初始化字符数组
    int i=0;//定义并初始化循环条件
    for(;i<10;i++)//for循环开始
    {
      printf("%s ",ch);//输出字符数组中的数据
      }
return 0;//程序正常结束
      }

图5.15 for循环输出字符数组

在实例程序中,用户首先定义并初始化字符数组变量ch和循环条件变量i,并通过使用for循环结构根据指定循环条件的初始值、最大值以及步进值实现循环输出字符数组的功能。程序运行结果如图5.15所示。

如图5.15所示,程序运行后会连续输出10个字符串,即“学习C语言编程!”。通过实例程序的运行结果,可以很直观地理解for循环结构的具体功能和使用方法。

注意 在for循环结构体中,其循环条件的初始化位置可以放置到for循环结构使用之前。但是,循环条件变量在定义时,必须进行初始化操作。

在for循环结构中,还可以将循环条件的步进值进行相应的修改。具体的代码如下:

#include <stdio.h> //包含头文件
main() //主函数开始
{
    ……//省略部分代码
    int i=0; //定义并初始化循环条件
    for(;i<10;) //修改后的for循环结构
    {
      printf("%s\n",ch); //输出字符数组中的数据
      i+=2; //修改循环条件的步进值
      }
return 0; //程序正常结束
      }

图5.16 修改后的程序运行结果

在修改后的实例程序中,用户将for循环结构体中的步进值已经删除,并在循环结构体的代码中添加一行代码“i+=2”,表示步进值将以2为单位实现步进操作。这样,程序运行后,所输出的字符串个数将会减半,如图5.16所示。

注意 用户在使用for循环结构体时,可以按照其编码习惯对其中的循环条件值的表达式进行编写。