C语言for语句的用法详解

for语句可以在表达式1中实现循环变量的初始化。

【例6.7】

 代码如下 复制代码
main()
{
 int i, j, k;
 printf("i j kn");
 for (i=0; i<2; i++)
    for(j=0; j<2; j++)
       for(k=0; k<2; k++)
           printf("%d %d %dn", i, j, k);
 }

在C语言中,for语句使用最为灵活,它完全可以取代 while 语句。它的一般形式为:

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

它的执行过程如下:

先求解表达式1。
求解表达式2,若其值为真(非0),则执行for语句中指定的内嵌语句,然后执行下面第3)步;若其值为假(0),则结束循环,转到第5)步。
求解表达式3。
转回上面第2)步继续执行。
循环结束,执行for语句下面的一个语句。
其执行过程可用下图表示。

for语句最简单的应用形式也是最容易理解的形式如下:
        for(循环变量赋初值;循环条件;循环变量增量) 语句
循环变量赋初值总是一个赋值语句, 它用来给循环控制变量赋初值; 循环条件是一个关系表达式,它决定什么时候退出循环;循环变量增量,定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用";"分开。例如:
for(i=1; i<=100; i++)sum=sum+i;

先给i赋初值1,判断i是否小于等于100, 若是则执行语句,之后值增加1。再重新判断, 直到条件为假,即i>100时,结束循环。相当于:

 代码如下 复制代码
    i=1;
while(i<=100)
    { sum=sum+i;
     i++;
}

对于for循环中语句的一般形式,就是如下的while循环形式:
    表达式1;
while(表达式2)
    {语句
     表达式3;
}

使用for语句应该注意:

for循环中的"表达式1(循环变量赋初值)"、"表达式2(循环条件)"和"表达式3(循环变量增量)"都是选择项, 即可以缺省,但";"不能缺省。
省略了"表达式1(循环变量赋初值)", 表示不对循环控制变量赋初值。
省略了"表达式2(循环条件)", 则不做其它处理时便成为死循环。
例如:

 代码如下 复制代码
    for(i=1;;i++)sum=sum+i;
相当于:
    i=1;
    while(1)
    {
         sum=sum+i;
         i++;
     }

省略了"表达式3(循环变量增量)", 则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
例如:

 代码如下 复制代码
for(i=1;i<=100;)
{sum=sum+i;
       i++;}

省略了"表达式1(循环变量赋初值)"和"表达式3(循环变量增量)"。
例如:

 代码如下 复制代码
for(;i<=100;)
{sum=sum+i;
    i++;}
相当于:
    while(i<=100)
        {sum=sum+i;
         i++;}

3个表达式都可以省略。
例如:
for(;;)语句
相当于:
while(1)语句

表达式1可以是设置循环变量的初值的赋值表达式,也可以是其他表达式。
例如:

 代码如下 复制代码
    for(sum=0;i<=100;i++)sum=sum+i;

表达式1和表达式3可以是一个简单表达式也可以是逗号表达式。

 代码如下 复制代码
        for(sum=0,i=1;i<=100;i++)sum=sum+i;
    或:
        for(i=0,j=100;i<=100;i++,j--)k=i+j;

表达式2一般是关系表达式或逻辑表达式,但也可是数值表达式或字符表达式,只要其值非零,就执行循环体。
例如:

 代码如下 复制代码
    for(i=0;(c=getchar())!='n';i+=c);
又如:
    for(;(c=getchar())!='n';)
        printf("%c",c);
时间: 2024-09-24 13:05:30

C语言for语句的用法详解的相关文章

C语言 while语句的用法详解_C 语言

在C语言中,共有三大常用的程序结构: 顺序结构:代码从前往后执行,没有任何"拐弯抹角": 选择结构:也叫分支结构,重点要掌握 if else.switch 以及条件运算符: 循环结构:重复执行同一段代码. 前面讲解了顺序结构和选择结构,本节开始讲解循环结构.所谓循环(Loop),就是重复地执行同一段代码,例如要计算 1+2+3+--+99+100 的值,就要重复进行99次加法运算. while循环 while循环的一般形式为:     while(表达式){         语句块  

JavaScript中switch语句的用法详解

  这篇文章主要介绍了JavaScript中switch语句的用法详解,是JS入门学习中的基础知识,需要的朋友可以参考下 可以使用多个if... else if语句,如前面的章节,执行多路分支.然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值. 使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句. 语法 switch语句的基本语法给出一个expression ,以评估计算

JavaScript中switch语句的用法详解_基础知识

 可以使用多个if... else if语句,如前面的章节,执行多路分支.然而,这并不总是最佳的解决方案,尤其是当所有分支的依赖单一的变量的值. 使用JavaScript1.2开始,你可以用它处理的正是这种情况,使用一个switch语句,它这样做更有效,如果不是反复地使用if... else if语句.语法 switch语句的基本语法给出一个expression ,以评估计算几种不同的语句基于该表达式的值来执行.解释器检查对表达式的值的每一种情况,直到找到一个匹配.如果没有匹配,则缺省(defa

MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解

本篇文章是对MySQL数据库INSERT.UPDATE.DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下   MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用 于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的S

Python中生成器和yield语句的用法详解_python

 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" 或者 "定义和使用函数")对于大多数学生是没有问题的.但是有一些话题,大多数学生只有很少,或者完全没有任何接触,尤其是"生成器和yield关键字".我猜这对大多数新手Python程序员也是如此. 有事实表明,在我花了大功夫后,有些人仍然不能理解生成器和yield关键字.我想让这个问题有所改善.在这篇文章中,我将

mysql update语句的用法详解_Mysql

首先,单表的UPDATE语句: UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition] [ORDER BY ...] [LIMIT row_count] 其次,多表的UPDATE语句:   UPDATE [LOW_PRIORITY] [IGNORE] table_references SET col_name1=expr1 [, col

MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解_Mysql

MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UPDATE以及DELETE. 用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句.言外之意,就 是对数据进行修改.在标准的SQL中有3个语句,它们是INSERT.UP

oracle case when 语句的用法详解_oracle

1. CASE WHEN 表达式有两种形式 复制代码 代码如下: --简单Case函数  CASE sex  WHEN '1' THEN '男'  WHEN '2' THEN '女'  ELSE '其他' END  --Case搜索函数  CASEWHEN sex = '1' THEN '男'  WHEN sex = '2' THEN '女'  ELSE '其他' END  2. CASE WHEN 在语句中不同位置的用法2.1 SELECT CASE WHEN 用法 复制代码 代码如下: SE

SQL Server UPDATE语句的用法详解_MsSql

SQL Server UPDATE语句用于更新数据,下面就为您详细介绍SQL Server UPDATE语句语法方面的知识,希望可以让您对SQL Server UPDATE语句有更多的了解. 现实应用中数据库中的数据改动是免不了的.通常,几乎所有的用户数据库中的大部分数据都要进行某种程度的修改.在SQL Server数据库中要想修改数据库记录,就需要用UPDATE语句,UPDATE语句就是为了改变数据库中的现存数据而存在的.这条语句虽然有一些复杂的选项,但确实是最容易学习的语句之一.这是因为在大