C语言 循环语句 (1) 讲述循环概念演示while语句

2024-04-27 23:44

本文主要是介绍C语言 循环语句 (1) 讲述循环概念演示while语句,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接下来 我们来说 循环控制结构
在这里插入图片描述

循环的基本原理及循环语句

再说原理之前 我们 先来看几个案例
要求是 让用户在键盘中输入三个整数 然后将这些整数求和
这个用我们之前的知识就能轻松搞定

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {int a;int b;int c;scanf("%d", &a);scanf("%d", &b);scanf("%d", &c);int n = (a + b + c);printf("三个数的和为%d",n);return 0;
}

这里 我们用了三个 scanf 给 a b c 三个变量赋值
然后将它们相加 形成 n
然后输出内容
我们运行代码

控制台中 先后输出 2 3 4
输出内容中 计算无误 9
在这里插入图片描述
那么 如果是十个呢?

要写十个scanf吗?

或者 我们可以用下图方式解决 写在同一个 scanf当中
在这里插入图片描述
但是 这种方式显然不是最优解 因为 如果更多 看着就比较乱了

其实 分析问题本质 就是需要寻找一个 将 scanf 语句执行N次的方式
重复执行 N 次某动作 这个概念就是 循环

所谓循环,就是在给定条件成立的情况下,重复执行一个程序段;给定条件不成立时,退出循环,再执行循环下面的程序。
在这里插入图片描述

循环语句

C语言 为我们提供了 三种循环语句

while 语句
表达式如下
在这里插入图片描述
运行流程图如下
简单说 每次执行都会进行一次判断 就是我们图中的表达式 如果条件为真 条件成立 就继续循环 条件不成立 为假了之后 就走出来不再循环了
在这里插入图片描述
它的特点是先判断条件 然后再执行循环中的语句

我们就用while循环来完成我们之前说的 输入10个整数 然后求和的案例
代码如下

#define _CRT_SECURE_NO_WARNINGS//禁用安全函数警告
#pragma warning(disable:6031)//禁用 6031 的安全警告
#include <stdio.h>int main() {int number, i, sum;sum = 0;i = 1;while (i <= 10) {scanf("%d", &number); // 修正了 scanf 的括号和逗号使用sum = sum + number;i = i + 1;}printf("%d\n", sum); // 修正了 printf 的括号使用return 0;
}

运行之后 我们依次输入 1 2 3 4 5 6 7 8 9 10
在这里插入图片描述
运行结果 55 计算正常

来讲讲逻辑 我们开始定义了 三个整数类型的变量 number i sum
然后 我们定义 sum 为0
i 为1
while 条件 如果 i 小于或者等于 10 就继续执行
while 中 我们编写 scanf 让用户输入一个整数 赋值给 number
然后 将sum 重新赋值 结果为 sum 与 number相加 就是总数与用户输入的数相加
然后 将i 加一
走出循环后 执行 printf 输出结果

这篇关于C语言 循环语句 (1) 讲述循环概念演示while语句的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/941815

相关文章

C语言逗号运算符和逗号表达式的使用小结

《C语言逗号运算符和逗号表达式的使用小结》本文详细介绍了C语言中的逗号运算符和逗号表达式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习... 在C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接其一般形式为:表达

Go语言实现桥接模式

《Go语言实现桥接模式》桥接模式是一种结构型设计模式,它将抽象部分与实现部分分离,使它们可以独立地变化,本文就来介绍一下了Go语言实现桥接模式,感兴趣的可以了解一下... 目录简介核心概念为什么使用桥接模式?应用场景案例分析步骤一:定义实现接口步骤二:创建具体实现类步骤三:定义抽象类步骤四:创建扩展抽象类步

GO语言实现串口简单通讯

《GO语言实现串口简单通讯》本文分享了使用Go语言进行串口通讯的实践过程,详细介绍了串口配置、数据发送与接收的代码实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录背景串口通讯代码代码块分解解析完整代码运行结果背景最近再学习 go 语言,在某宝用5块钱买了个

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

Python AST 模块实战演示

《PythonAST模块实战演示》Python的ast模块提供了一种处理Python代码的强大工具,通过解析代码生成抽象语法树(AST),可以进行代码分析、修改和生成,接下来通过本文给大家介绍Py... 目录 什么是抽象语法树(AST)️ ast 模块的核心用法1. 解析代码生成 AST2. 查看 AST

GO语言zap日志库理解和使用方法示例

《GO语言zap日志库理解和使用方法示例》Zap是一个高性能、结构化日志库,专为Go语言设计,它由Uber开源,并且在Go社区中非常受欢迎,:本文主要介绍GO语言zap日志库理解和使用方法的相关资... 目录1. zap日志库介绍2.安装zap库3.配置日志记录器3.1 Logger3.2 Sugared

C#自动化生成PowerPoint(PPT)演示文稿

《C#自动化生成PowerPoint(PPT)演示文稿》在当今快节奏的商业环境中,演示文稿是信息传递和沟通的关键工具,下面我们就深入探讨如何利用C#和Spire.Presentationfor.NET... 目录环境准备与Spire.Presentation安装核心操作:添加与编辑幻灯片元素添加幻灯片文本操

Go语言中如何进行数据库查询操作

《Go语言中如何进行数据库查询操作》在Go语言中,与数据库交互通常通过使用数据库驱动来实现,Go语言支持多种数据库,如MySQL、PostgreSQL、SQLite等,每种数据库都有其对应的官方或第三... 查询函数QueryRow和Query详细对比特性QueryRowQuery返回值数量1个:*sql

GO语言中gox交叉编译的实现

《GO语言中gox交叉编译的实现》本文主要介绍了GO语言中gox交叉编译的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、安装二、使用三、遇到的问题1、开启CGO2、修改环境变量最近在工作中使用GO语言进行编码开发,因

MyBatis Plus中执行原生SQL语句方法常见方案

《MyBatisPlus中执行原生SQL语句方法常见方案》MyBatisPlus提供了多种执行原生SQL语句的方法,包括使用SqlRunner工具类、@Select注解和XML映射文件,每种方法都有... 目录 如何使用这些方法1. 使用 SqlRunner 工具类2. 使用 @Select 注解3. 使用