学习
错题
模考
我的
登录/注册/忘记密码
学习 / 循环结构 / while循环
while循环
while / do-while:先判断或先执行,非 0 继续
1. while 语句的写法
`while` 先看括号里的条件,成立才进循环体;做完再回来看条件。 ```c while (条件) { 语句; } ``` 条件成立 → 执行循环体 → 再判断。不成立就离开,后面的语句接着运行。 ```c int i = 1; while (i <= 3) { printf("%d ", i); i = i + 1; } /* 输出:1 2 3 */ ``` `i` 从 1 加到 4,`i <= 3` 不再成立,循环结束。循环变量要在循环里朝「条件会变成假」的方向改,否则会停不下来。 多条语句必须加大括号。不加 `{}` 时,`while` 只管后面紧挨着的一条。
2. 条件为假就一次都不进
`while` 的条件和 `if` 一样:**非 0 当成立,0 当不成立。** 一开始就是假,循环体**一次都不执行**: ```c int n = 0; while (n > 0) { printf("hi"); n = n - 1; } /* 什么也不打印 */ ``` `while (1)`、`while (n)`(n 一直不是 0)会一直转,属于无限循环,要用 `break` 或让条件变成 0 才能停。 ```c while (n) /* 等价于 while (n != 0) */ while (1) /* 条件永远真,直到 break */ ```
3. do-while:先做再问
`do … while` 也是循环,但**先执行一次,再判断**。 ```c do { 语句; } while (条件); ``` 注意:后面的 `while (条件);` 末尾有分号。 ```c int n = 0; do { printf("A"); } while (n > 0); /* 仍会打印一个 A:先做,再发现条件为假 */ ``` 同样的条件写成 `while`,一次都不会进。菜单、先读再判断「还要不要再来一次」,常用 `do-while`。 `while` 和 `do-while` 都能解决同一类问题;差在「第一次进不进」。条件一开始为真时,两者圈数一样。
开始练习
动手写
返回循环结构
动手写
5 道编程 · 综合运用本阶段知识点
编程题把本阶段知识点串起来用。只看要点不做,认识停在纸面上。
查看本阶段全部编程题
从 1 加到 n
未做
开始写
读到 0 为止求和
未做
开始写
整数有几位
未做
开始写
等差数列求和
未做
开始写
最大公约数
未做
开始写
登录
注册
忘记密码
点击此处输入用户名
点击此处输入密码
登录
点击此处输入用户名
点击此处输入密码
点击此处输入邮箱
发送验证码
点击此处输入验证码
点击此处输入邮箱
发送验证码
点击此处输入验证码
点击此处输入新密码