逍遥自在学C语言 | 揭开while循环的神秘面纱
前言
循环是一种重要的控制结构,可以使程序重复执行一段代码,直到满足特定条件为止。
在C语言中,while和do-while是两种常用的循环结构,本文将详细介绍这两种循环的用法。
一、人物简介
- 第一位闪亮登场,有请今后会一直教我们C语言的老师 —— 自在。

- 第二位上场的是和我们一起学习的小白程序猿 —— 逍遥。

二、基本语法
让我们先揭开While循环的神秘面纱,它的基本语法如下:
while (条件)
{
// 循环体
}
这个条件就像是一道门卫,只有条件为真时,我们才能进入循环体。当条件为假时,门卫会善意地告诉我们:“你们可以离开了,我不会阻挡你们继续前进。”
三、while和do-while
while循环:它是最常见的循环方式,先判断条件是否满足,如果满足就进入循环体。
我们可以像玩过山车一样刺激地循环,直到条件不满足才停下来。
int count = 0;
while (count < 5)
{
printf("如果感到快乐你就拍拍手!\n");
count++;
}
do-while循环:它比较乐观,先执行一次循环体,然后再判断条件。
只要条件满足,我们就可以快乐地重复执行循环体,直到条件不满足为止。
int number;
do
{
printf("请输入一个正整数:");
scanf("%d", &number);
} while (number <= 0);
四、while和do while循环的应用
场景一:冒险者的征程
#include <stdio.h>
int main()
{
int health = 100;
while (health > 0)
{
printf("勇敢的冒险者,你的生命值还剩下 %d\n", health);
health -= 10;
printf("你被怪物攻击了!生命值减少 10\n");
}
printf("很遗憾,你的冒险结束了!\n");
return 0;
}
- 运行结果

场景二:猜大小
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int targetNumber, guess;
srand(time(NULL)); // 设置随机数种子
// 生成1到100之间的随机数
targetNumber = rand() % 100 + 1;
printf("猜数字游戏开始!\n");
do {
printf("请输入一个1到100之间的整数:");
scanf("%d", &guess);
if (guess == targetNumber) {
printf("恭喜你猜对了!\n");
} else if (guess < targetNumber) {
printf("猜小了,请继续尝试!\n");
} else {
printf("猜大了,请继续尝试!\n");
}
} while (guess != targetNumber);
printf("游戏结束!\n");
return 0;
}
- 运行结果

小结
通过这篇文章,我们学会了
1、while 循环的用法
2、do- while 循环的用法
欢迎各位 点赞 收藏 评论,如有错误请留言指正,非常感谢!
逍遥自在学C语言 | 揭开while循环的神秘面纱的更多相关文章
- 逍遥自在学C语言 | 第一个C语言程序 九层之台起于垒土
一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.C语言简介 C语言是一种高级语言,运行效率仅次于汇编,支持跨平 ...
- 揭开.NET消息循环的神秘面纱(GetMessage()无法取得任何消息,就会进入Idle(空闲)状态,进入睡眠状态(而不是Busy Waiting)。当消息队列不再为空的时候,程序会自动醒过来)
揭开.NET消息循环的神秘面纱(-) http://hi.baidu.com/sakiwer/item/f17dc33274a04df2a9842866 曾经在Win32平台下奋战的程序员们想必记得, ...
- 【转】再讲IQueryable<T>,揭开表达式树的神秘面纱
[转]再讲IQueryable<T>,揭开表达式树的神秘面纱 接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个 ...
- 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器&开源项目介绍
揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...
- 揭开A*算法的神秘面纱
揭开A*算法的神秘面纱 一.总结 一句话总结:f(n)=g(n)+h(n) 这个算法有点像BFS的优化算法. g(n)为起点到当前方格的距离,这个是已知的. h(n)为当前方格到终点的距离,这个简单点 ...
- 逍遥自在学C语言 | 算数运算符
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.算数运算符简介 C语言的算数运算符,是用来完成基本的算术 ...
- 逍遥自在学C语言 | 变量、常量与数据类型
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.基本数据类型 1.整型 C语言中的整型数据如下表所示: ...
- 逍遥自在学C语言 | 关系运算符
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.构成和表示方式 关系运算符的作用是判断符号两边大小的关系 ...
- 逍遥自在学C语言 | 逻辑运算符
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.构成和表示方式 逻辑运算符是用来比较和操作布尔值的运算符 ...
- 逍遥自在学C语言 | 位运算符的基础用法
前言 一.人物简介 第一位闪亮登场,有请今后会一直教我们C语言的老师 -- 自在. 第二位上场的是和我们一起学习的小白程序猿 -- 逍遥. 二.构成和表达方式 位运算符是一组用于在二进制数之间进行操作 ...
随机推荐
- 【CS231n assignment 2022】Assignment 2 - Part 2,优化器,批归一化以及层归一化
前言 博客主页:睡晚不猿序程 首发时间:2022.7.23 最近更新时间:2022.7.23 本文由 睡晚不猿序程 原创 作者是蒻蒟本蒟,如果文章里有任何错误或者表述不清,请 tt 我,万分感谢!or ...
- ChatGPT3.5使用体验
优点 1.ChatGPT 能颠覆现有的搜索引擎(百度.谷歌). 2.ChatGPT 的交互体验非常好,满足"智能助手"这种工具. 3.如何使用好ChatCPT? 回到一个经典的问题 ...
- STM32 HAL库学习 (2) USART实验
使用STM32F407 串口:PA9.PA10(利用CH340G驱动) 一. stm32f4xx_hal_uart.c 函数说明 HAL_UART_Init 函数 要使用一个外设首先要对它进行初始化, ...
- vue3 封装el-table时,构造$children(类式写法)
由于业务需求(组件封装),需要在获取el-table下面的el-table-column实例 在 vue2.x 当中直接使用this.$children就可以获取到该实例 但是 vue3.x 弃用了$ ...
- DevOps, HybridOps and AIOps浅谈
DevOps, HybridOps and AIOps浅谈 DevOps的概念出现比较久了,很多的IT项目也都在实际的运用中.AIOps概念作为DevOps的升级版,也得到了很广大的关注,也出现了很多 ...
- Unity学习笔记02 —— C#语法
C#语法 控制台 Console Console.WriteLine(); Console.ReadLine(); 随机数 Random Random random = new Random(); r ...
- Hugging News #0407: Google AI 的 Pix2Struct 来啦、开发者资源页面发布
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- 去掉Bom头的方法和为什么要清除Bom头
什么是bom头? 在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也 ...
- 【从零开始】Docker Desktop:听说你小子要玩我
前言 缘由 捡起遗忘的Docker知识 由于本狗近期项目紧任务重,高强度的搬砖导致摸鱼时间下降.在上线项目时,看到运维大神一系列骚操作,docker+k8s的知识如过眼云烟,忘得干净的很.所以想重新恶 ...
- Lexicographic Order
Lexicographic Order (https://codeforces.com/group/L9GOcnr1dm/contest/422381/problem/L) 比较简单的一道题目,主要理 ...