for的用法详解,C语言for循环完全指南

 2024-02-27 01:04:24  阅读 0

for循环语句的一般形式为:

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

陈述;

首先,需要强调两点:

1)表达式1、表达式2、表达式3之间用分号分隔; 切勿将它们写为逗号。

2) 切勿在 for (表达式 1; 表达式 2; 表达式 3) 后添加分号。 很多新手都会犯这个错误——忍不住在后面加一个分号。

因为for循环只能控制其后的一条语句,而在C语言中,分号也是一条语句——空语句。 所以如果最后加一个分号,for循环就只能控制这个分号,下面大括号里的语句不属于for循环。

我们看一下它的执行情况: 求解表达式1。求解表达式2。如果其值为true,则执行for语句中指定的嵌入语句,然后执行步骤3;如果为真,则执行for语句中指定的嵌入语句,然后执行步骤3; 如果表达式2的值为假,则结束循环并转到步骤5。求解表达式3。返回上面的步骤2并继续。 当循环结束时,执行for语句下面的语句。

从这个执行过程可以看出,“表达式1”只执行了一次,在“表达式2”、“表达式3”和“嵌入语句”之间进行循环。

for 语句最简单的形式是:

for(为循环变量分配初始值;循环条件;循环变量增量)

陈述;

让我写一个程序来求 1+2+3+4+…+100 的和。

# include 
int main(void)
{
    int i;
    int sum = 0;  //sum的英文意思是“总和”
    for (i=1; i<=100; ++i)  //++是自加的意思, ++i相当于i = i + 1
    {
        sum = sum + i;  /*等价于sum += i;但是不建议这么写, 因为sum = sum + i看起来更清楚、更舒服*/
    }
    printf("sum = %d\n", sum);
    return 0;
}

输出是:

总和=5050

该程序的功能是求 1+2+3+4+…+100 的和。 如果不使用循环,则添加一次需要1条语句,添加100次则需要100条语句。 这里是从1加到100。如果从1加到10000,就需要10000条语句。 但是有一个循环非常方便。 您可以添加任意数量,只需更改一个参数即可。 所以循环很重要。

我们按照执行流程来看看上面的程序是如何执行的。

1)首先定义一个循环变量i。 定义时不需要为其指定初始值。 您还可以在 for 循环中为其分配初始值。 但如前所述,最好在定义变量时对其进行初始化。 如果值不确定,则初始化为0。因此,在程序中,定义i时也可以给它赋一个初始值。 那么for循环中的“表达式1”可以省略,但分号不能省略。

这种情况下,执行时,跳过步骤1,直接进入步骤2,其他不变。 所以程序也可以这样写:

# include 
int main(void)
{
    int i = 1;
    int sum = 0;
    for (; i<=100; ++i)
    {
        sum = sum + i;
    }
    printf("sum = %d\n", sum);
    return 0;
}

当然,添加表达式 1 是可以的,但在最坏的情况下,您将不得不重新分配该值。

2)然后定义一个用于存储“sum”的变量sum,并赋初值为0,然后进入for循环:先求解表达式1,即赋初值给变量i,i=1; 仅表达式1 如果执行一次,则不会再次执行。 然后求解表达式 2 if 1

标签: 表达式 循环 语句

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码