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

相关文章

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

C语言中的数据类型强制转换

《C语言中的数据类型强制转换》:本文主要介绍C语言中的数据类型强制转换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C语言数据类型强制转换自动转换强制转换类型总结C语言数据类型强制转换强制类型转换:是通过类型转换运算来实现的,主要的数据类型转换分为自动转换

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

使用C语言实现交换整数的奇数位和偶数位

《使用C语言实现交换整数的奇数位和偶数位》在C语言中,要交换一个整数的二进制位中的奇数位和偶数位,重点需要理解位操作,当我们谈论二进制位的奇数位和偶数位时,我们是指从右到左数的位置,本文给大家介绍了使... 目录一、问题描述二、解决思路三、函数实现四、宏实现五、总结一、问题描述使用C语言代码实现:将一个整

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

C语言字符函数和字符串函数示例详解

《C语言字符函数和字符串函数示例详解》本文详细介绍了C语言中字符分类函数、字符转换函数及字符串操作函数的使用方法,并通过示例代码展示了如何实现这些功能,通过这些内容,读者可以深入理解并掌握C语言中的字... 目录一、字符分类函数二、字符转换函数三、strlen的使用和模拟实现3.1strlen函数3.2st