【C语言初阶】循环语句 —— while语句

【C语言初阶】循环语句 —— while语句本节介绍了循环结构中的 while 语句 给出了它的语法结构 讲解了在 while 语句中分别使用 break 语句和 continue 语句会起到什么样的效果

大家好,欢迎来到IT知识分享网。

【C语言初阶】循环语句 —— while语句

三、循环语句(循环结构)

学习,是一个需要不断进行重复的过程;反复阅读,反复练习,直至掌握。

循环结构是在一定条件下反复执行某段程序的流程结构

1 循环语句

循环语句是由循环体循环的终止条件两部分组成的。

被反复执行的程序被称为循环体,能否继续重复执行,取决于循环的终止条件

1.1 语句分类

  • while 语句
  • for 语句
  • do while 语句

1.2 循环 – 流程图

循环结构

2 while 语句

while 语句,可以实现循环。即当满足某些条件时,重复执行同一段代码。

2.1 while – 流程图

while语句

2.2 语法结构

while(表达式) { 
    循环体 } 

说明:

程序执行到 while 语句,首先进行的是表达式的判断如果为真则进入循环体,否则就不进入循环体,而是执行 while 语句后的其他语句。

2.3 简单示例

在屏幕上打印1-10的数字。

代码示例

#include<stdio.h> int main() { 
    //在屏幕上打印1-10的数字 int i = 1; while (i <= 10) { 
    printf("%d ", i); i++; } return 0; } 

解释说明:

1 while (i <= 10)循环判断部分先对表达式的结果进行判断

  如果为真,则执行循环体;如果为假,就执行 while 语句后续的语句。

2.4 while 中的 breakcontinue 语句

2.4.1 break 语句

breakwhile 中的使用

代码示例

#include<stdio.h> int main() { 
    //while中的break int i = 1; while (i <= 10) { 
    if (5 == i) break; printf("%d ", i);//1 2 3 4  i++; } return 0; } 

解释说明:

1 程序顺序执行到 while 循环,当满足循环条件就进入循环体

  进入循环体,先执行 if 语句,对条件表达式进行判断

  当 i 的值由 i++ 增加到5之后,就执行 break 语句。

2 braek 语句执行后,就跳出了 while 循环程序流就会继续执行 while 之后的其他语句

2.4.2 总结
  • while 循环中只要遇到 break 语句,就会终止循环,跳出循环体
  • whilebreak 用于终止循环
2.4.3 continue 语句

continuewhile 中的使用

① 代码示例1

#include<stdio.h> int main() { 
    //1.while中的continue int i = 1; while (i <= 10) { 
    if (5 == i) continue; printf("%d ", i);//1 2 3 4 ...程序死循环 i++; } return 0; } 

解释说明:

1 程序顺序执行到 while 循环,当满足循环条件就进入循环体

  进入循环体,先执行 if 语句,对条件表达式进行判断

  当 i 的值由 i++ 增加到5之后,就执行 continue 语句。

2 当执行 continue 语句后,就不再执行本次循环体内 continue 后面的语句,而是跳转到了 while 循环判断部分

  此时循环的循环条件仍是判断 i<=10 也就是判断 5<=10 ,跟上一次一样。

  i 的值并没有增加( i++ 未执行),进入循环体后,执行 if 语句的判断部分,随即再次执行 continue 语句;一直如此就陷入了死循环

② 代码示例2

#include<stdio.h> int main() { 
    //2.while中的continue int i = 1; while (i <= 10) { 
    i++; if (5 == i) continue; printf("%d ", i);//2 3 4 6 7 8 9 10 11 } return 0; } 

解释说明:

1 控制程序终止的循环变量 i 的变化 i++ 始终发生在 if 语句之前,所以程序不会陷入死循环,只是会跳过 i 为5的情况。

2.4.3 总结

continue 用于结束本次循环,也就是本次循环循环体中 continue 语句之后的其他语句不再执行,跳转到循环判断部分。接着进行下一次循环判断。

2.5 其它 while 示例

2.5.1 示例1

代码示例

#include<stdio.h> int main() { 
    int ch = 0; while ((ch = getchar()) != EOF) { 
    putchar(ch);//打印字符 } return 0; } 

解释说明

1 EOFEnd Of File 文件结束标志。在VS2019中这样定义:#define EOF -1

2 getchar() :C语言提供的一个库函数,用来stdin 标准输入流中获取字符

  如果读取成功,则返回该字符对应的ASCII码值

  如果读取失败,则返回 EOF

//对比:scanf函数,如果读取成功,返回的是读取到的数据的个数;如果读取失败,返回EOF 

3 putchar(ch)ch 的值(字符)写入到 stdout 标准输出流中

  如果写入成功,则返回写入的字符

  如果写入失败,则返回 EOF

4 清理掉缓冲区剩余的数据

//使用while循环读取并丢弃输入行剩余的数据,包括换行符\n //写法一 while(getchar() != '\n') { 
    ;//空语句 //在书写时省略掉while循环的花括号,可能会忽略掉这个分号(空语句) } //写法二 while(getchar() != '\n') { 
    continue;//如果使用continue,可读性会更高 } 

5 Ctrl + Z 会让 scanfgetchar 返回 EOF

2.5.2 示例2

代码示例

#include<stdio.h> int main() { 
    char ch = '\0'; while ((ch = getchar()) != EOF) { 
    if (ch < '0' || ch > '9') continue;//跳过非数字字符 putchar(ch); } return 0; } 

解释说明:

1 if (ch < '0' || ch > '9') continue;用来跳过非数字字符

2 整个程序的结果:只打印数字字符,跳过其他字符

总结:

  本节介绍了循环分支中的 while 语句,并给出了它的语法结构;同时又讲解了在 while 语句使用 breakcontinue 会起到的作用。


感谢您的阅读!如有任何错误,欢迎您的批评指正!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/131064.html

(0)
上一篇 2025-08-10 19:10
下一篇 2025-08-10 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信