目录

一、while循环简介

二、if和while的对比

语法结构对比:

实际代码对比:

三、while语句的执行流程

while循环的执行流程如下:

流程图表示:

四、while循环实践

练习:在屏幕上打印1~10的值

五、进阶练习

题目:输入一个正整数,逆序打印这个整数的每一位

解题思路:

参考代码:

代码改进建议:


一、while循环简介

        C语言提供了3种循环语句,while循环是其中最基础的一种。while语句的语法结构与if语句非常相似,但功能却大不相同。


二、if和while的对比

语法结构对比

if(表达式)语句;while(表达式)语句;  // 如果循环体想包含更多语句,可以加上大括号

实际代码对比

// 代码1 - if语句
#include <stdio.h>
int main()
{if(1)printf("hehe\n"); // if条件满足,只打印一次hehereturn 0;
}// 代码2 - while语句
#include <stdio.h>
int main()
{while(1)printf("hehe\n"); // while条件满足,会不断循环打印hehereturn 0;
}

关键区别:if语句只会执行一次条件满足的代码,而while语句会重复执行,直到条件不再满足。


三、while语句的执行流程

while循环的执行流程如下:

  1. 首先判断表达式值:

    • 如果值为0(假),循环立即结束

    • 如果值不为0(真),执行循环体语句

  2. 循环体执行完毕后,再次判断表达式

  3. 重复上述过程,直到表达式值为0

流程图表示:


四、while循环实践

练习:在屏幕上打印1~10的值

#include <stdio.h>
int main()
{int i = 1;          // 初始化计数器while(i <= 10)      // 循环条件{printf("%d ", i); // 打印当前值i = i + 1;      // 更新计数器}return 0;
}

程序分析:

  1. 初始化i为1

  2. 检查i是否<=10

  3. 如果条件为真,执行循环体(打印i并使i增加1)

  4. 重复步骤2-3,直到i>10时循环结束


五、进阶练习

题目:输入一个正整数,逆序打印这个整数的每一位

示例:

  • 输入:1234,输出:4 3 2 1

  • 输入:521,输出:1 2 5

解题思路

  1. 获取最低位:使用n%10运算,如1234%10=4

  2. 去掉最低位:使用n/10运算,如1234/10=123

  3. 循环上述两步,直到n变为0

参考代码

#include <stdio.h>
int main()
{int n = 0;printf("请输入一个正整数:");scanf("%d", &n);while(n != 0){printf("%d ", n % 10); // 打印当前最低位n /= 10;              // 去掉已经处理的最低位}return 0;
}

代码改进建议

  1. 添加输入验证,确保输入的是正整数

  2. 可以在最后添加换行,使输出更整洁

  3. 考虑处理n=0的特殊情况

#include <stdio.h>
int main()
{int n = 0;printf("请输入一个正整数:");scanf("%d", &n);if(n == 0) {printf("0\n");return 0;}if(n < 0) {printf("输入必须是正整数!\n");return 1;}while(n != 0){printf("%d ", n % 10);n /= 10;}printf("\n"); // 添加换行return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/93010.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/93010.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/93010.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XML Schemas 简介

XML Schemas 简介 引言 XML(可扩展标记语言)是互联网上用于数据交换的一种标准标记语言。随着互联网技术的飞速发展,XML因其灵活性和可扩展性而被广泛应用于各种领域。XML Schemas(XML模式)作为一种定义XML文档结构的机制,为XML文档提供了严格的规范,确保了数据的准确…

Gradle(二)Gradle的优势、项目结构介绍

目录一、什么是 Gradle&#xff1f;二、为什么选择 Gradle&#xff1f;三、Gradle 的项目结构3.1 项目结构3.2 gradle wrapper 包装器3.3 settings.gradle 设置文件3.4 build.gradle 核心构建文件1&#xff09;原始文件内容2&#xff09;plugins 插件3&#xff09;repositories…

机器学习-决策树(上)

决策树构建&#xff1a; 决策树的结构与python中的二叉树结构(PY数据结构-树)相似&#xff0c;不过决策树中除了叶节点之外的其他节点&#xff0c;都被称之为“决策节点”&#xff0c;构建决策树的过程&#xff0c;也就是选取每一个节点采用哪一个特征作为划分依据的过程。 以…

一周学会Matplotlib3 Python 数据可视化-绘制直方图(Histogram)

锋哥原创的Matplotlib3 Python数据可视化视频教程&#xff1a; 2026版 Matplotlib3 Python 数据可视化 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 课程介绍 本课程讲解利用python进行数据可视化 科研绘图-Matplotlib&#xff0c;学习Matplotlib图形参数基本设置&…

uni-app之删除没用的文件,搭建页面

文章目录一、初始化项目1.1 初始化index.vue1.2 删除无用文件1.3 初始化后的目录结果如下二、文件目录分析2.1 核心文件2.2 关键文件夹​2.3 其他文件2.4 注意事项​​三、创建页面(pages)3.1 创建home页面3.2 创建其他页面3.3 查看pages.json3.4 删除index页面和pages.json的配…

99、【OS】【Nuttx】【构建】cmake 配置实操:问题解决

【声明】本博客所有内容均为个人业余时间创作&#xff0c;所述技术案例均来自公开开源项目&#xff08;如Github&#xff0c;Apache基金会&#xff09;&#xff0c;不涉及任何企业机密或未公开技术&#xff0c;如有侵权请联系删除 背景 接之前 blog 【OS】【Nuttx】【构建】cm…

2007-2023年各省环境保护支出统计数据

数据介绍 环境保护支出是指政府和企业为改善生态环境质量、防治污染、保护自然资源所投入的资金&#xff0c;涵盖污染防治、生态修复、环境管理等多方面。污染防治支出、生态保护支出、环境管理事务、资源节约与循环利用等&#xff0c;当前环保支出仍面临区域不平衡、隐性债务…

PyCharm(2025.1.3.1)绑定 Conda 环境

1. Pycharm 右下角&#xff0c;选择&#xff08; 如图所示 &#xff09;2. Path to conda 这里选择如图所示的这个文件&#xff08; 在你下载的 Anaconda 文件里 &#xff09;&#xff0c;之后在 Enviroment 中就可以看到你新创建的环境了

Liunx文件系统详解

目录 1.磁盘 1.1 概念 1.2 磁盘物理结构 1.3 磁盘的存储结构 1.4 磁盘的逻辑结构 1.5 CHS && LBA地址 2.基础文件系统 2.1 块 ​编辑 2.2 分区 2.3 inode 3.ext2 ⽂件系统 3.1 宏观认识 3.2 Block Group 3.3块组内部构成 3.3.1 超级块&#xff08;Supe…

Mac如何安装telnet命令

Mac如何安装telnet命令_mac telnet-CSDN博客

【SpringBoot】持久层 sql 注入问题

目录 概述 #{} 与 ${} 概述 前端恶意传参&#xff0c;改变后端 sql 语句的语法结构&#xff0c;从而使后端给前端返回一些私密的数据。这种安全问题往往是因为没有严格过滤参数&#xff0c;或者后端代码不严谨导致的。 #{} 与 ${} 在 MyBatis 框架中&#xff0c;#{} 与 ${} 都…

怎么写好汉语言文学专业的论文?

磨刀不误砍柴功&#xff0c; 前期多看文章和文献&#xff0c;吸取写作经验&#xff0c;写作过程会更加顺利噢&#xff01;看到最后&#xff0c;相信你能得到收获&#xff01; 写汉语言专业论文并不难&#xff0c;从选题、资料准备、框架搭建、正文写作、修改定稿五个核心环节展…

MySQL User表入门教程

一、User表概述 MySQL的user表位于mysql系统数据库中&#xff0c;是MySQL权限系统的核心&#xff0c;用于存储用户账户信息、认证方式和全局权限。通过操作此表&#xff0c;可实现用户创建、权限分配及安全审计。 二、User表核心字段解析字段名作用示例值Host用户允许连接的主机…

[NPUCTF2020]这是什么觅

题目是一个文件&#xff0c;我们先以记事本打开一下&#xff0c;开头就是PK&#xff0c;基本可以确定这是一个 ZIP 格式的压缩包​&#xff0c;不确定可以用winhex打开&#xff1a;​50 4B 03 04开头则 100% 是 ZIP 文件。改一下后缀之后解压得到一张图片上面是日期&#xff0c…

每日任务day0812:小小勇者成长记之挤牛奶

清晨&#xff0c;薄雾还缭绕在草地上&#xff0c;小小勇者背着编织篮子来到农场。奶牛们低头咀嚼&#xff0c;尾巴轻轻拍打着苍白的露珠。老人微笑着递给他一只温热的牛奶罐&#xff0c;说&#xff1a;“第一次要慢&#xff0c;别惊扰它们。”勇者学着老人弯下身&#xff0c;温…

IIS 多用户环境中判断服务器是否为开发用电脑,数据状态比较

如果只需要在 IIS 多用户环境中判断服务器是否为开发用电脑&#xff08;一个固定状态&#xff0c;通常不会动态切换&#xff09;&#xff0c;代码可以进一步简化。这种场景下&#xff0c;状态一般是启动时确定的&#xff08;如通过配置文件或环境变量&#xff09;&#xff0c;后…

P2865 [USACO06NOV] Roadblocks G

思路&#xff1a;严格次短路&#xff0c;在任何情况下如果发现一条从1到i的路&#xff0c;都有以下情况&#xff1a;1.该路径小于当前1到i的最短路&#xff0c;将最短路替换2.该路径长度等于当前最短路&#xff0c;舍去3.该路径大于最短路且小于次短路&#xff0c;将此路径替换…

基于Hadoop的汽车价格预测分析及评论情感分析可视化系统

文章目录有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主一、项目背景二、项目目标三、系统架构四、功能模块五、创新点六、应用价值与前景每文一语有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 一、项目背景 近年…

gpt-5与gpt-5-fast

简单来说&#xff1a; GPT-5 → 追求最高质量的推理&#xff0c;输出会更细致、更准确&#xff0c;尤其适合需要深度思考、长链推理、严谨分析的任务&#xff08;比如复杂代码调试、长文档推理、系统设计&#xff09;。速度相对慢一些。GPT-5-fast → 追求更高的响应速度&#…

Mybatis源码解读-SqlSession 会话源码和Executor SQL操作执行器源码

相关流程图整理元数据简略图执行流程图一级缓存、二级缓存设计与查询流程分析图一级缓存设计-类图一级缓存工作流程图二级缓存设计-类图二级缓存工作流程图元数据简略图 执行流程图 一级缓存、二级缓存设计与查询流程分析图 一级缓存设计-类图 一级缓存工作流程图 二级缓存设计…