☰
C语言:while、for、数据组
2026/10/3 12:46:44 网站建设 项目流程

本次教程我们将会进一步学习while,并学习他的孪生兄弟for

进一步学习他们的好搭档数据组

while

上一篇我们已经学习过 while,知道 while 可以让程序重复执行一段代码。

这一次我们进一步理解一下它是怎么工作的。

我们先来尝试使用 while 输出 1-10:

#include<stdio.h>intmain(){inti=0;while(i<10){i=i+1;printf("%d\n",i);}}

上一篇讲了,while 后面的括号里面需要是一个条件。

只要条件的结果是非 0,while 就会继续循环。

这里我们先int i=0声明变量,下面的程序先循环了一次,i变为了1

while变为非0,就循环了下去

这时候就有人有疑问了

i=i+1;

这是啥?在数学的角度看不可能成立

但是我们学的c语言啊,

这并不是数学意义上的“等式”,而是:
把 i 原来的值加 1,然后把计算结果重新赋值给 i。

以此类推,while括号里面的条件变为非0,开始一直循环,直到i=10,程序停止

for

为什么说for是while的孪生兄弟呢,

因为它们都可以用来进行循环。

比如刚才我们使用 while 输出 1-10:

使用 for 也可以完成同样的事情:

#include<stdio.h>intmain(){for(inti=1;i<11;i=i+1){printf("%d\n",i);}}

for的基本结构

我们重点观察这一句:

for(inti=1;i<11;i=i+1)

for 括号里面有三个部分:

for(初始化;条件;更新){要重复执行的代码;}

这里的:

int i = 1

实际上声明了一个变量 i。

因为这个变量是在 for 的括号里面声明的,所以它属于这个 for 循环的局部变量。

接着我们必须着重学习理解一下这个执行顺序

一个特别容易混淆的地方

你可能会想:
i=i+1 不就在 printf 前面吗?
i=1 i<11 所以i=1+1
为什么不是先变成 2?

但是 for 循环的执行顺序是:

初始化 → 判断条件 → 执行循环体 → 更新变量 → 再次判断

inti=1;// ① 先让 i = 1i<11// ② 判断 1 < 11,成立printf("%d\n",i);// ③ 输出 i,也就是 1i=i+1;// ④ i 变成 2i<11// ⑤ 判断 2 < 11,成立printf("%d\n",i);// ⑥ 输出 2i=i+1;// ⑦ i 变成 3

所以第一次输出一定是 1。

你可能会发现:

while 和 for 其实非常像。

它们完成的是同一件事情。

主要区别在于:

while 更强调:

只要条件成立,就一直执行。

而 for 很适合:

知道循环大概需要进行多少次,并且有明确的初始值、条件和更新方式。

数组

1. 先理解:数组到底是什么

学完 while 和 for 后,我们再来学习一个非常重要的东西:

数组。

可以先把数组理解成:
一次性创建很多个相同类型的变量。

比如你想保存 5 个学生的成绩。

不用数组,你得写:

intscore1;intscore2;intscore3;intscore4;intscore5;

有了数组,只需要:

intscore[5];

这就创建了 5 个 int 类型的空间。

2. 数组最基本的写法

int score[5];

这里:

int:数组里面存的是整数

score:数组名字

[5]:数组有 5 个元素

这里有一个非常重要的规则:

数组下标从 0 开始。

所以:

score[0]score[1]score[2]score[3]score[4]

一共 5 个。

没有 score[5]。

3. 给数组赋值

比如:

intscore[5];score[0]=90;score[1]=80;score[2]=70;score[3]=60;score[4]=50;```c 现在数组里面就是: 下标01234↓ ↓ ↓ ↓ ↓ score9080706050你可以通过下标读取它:printf("%d",score[0]);输出: ```c90

数组特别适合和 for 一起用
例如同样是输出1-10

#include<stdio.h>intsource[5];intmain(){for(inti=0;i<5;i++){source[i]=i+1;}for(inti=0;i<5;i++){printf("%d\n",source[i]);}}

怎么样?是不是很巧妙呢?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询