C语言学习:6、C语言程序的循环结构

生活中,有很多循环的东西,比如钟表就是在1到12循环,太阳东升西落也是循环,春夏秋冬也是循环,人生可能也是一个循环。

while

C语言中的循环可以这么描述:某个条件成立,就一直做某件事或某些事。

//纯语言描述
当考试不及格;
就去复习;
再来考试;
还是不及格;
就去复习;
再来考试;
...//语言+符号描述
当(考试不及格)
{就去复习;接着考试;
}//半C语言化
while(考试不及格)
{就去复习;接着考试;
}

生活中的,等同于C语言中的while

程序示例:求1加到100的和

程序示例1:

#include <stdio.h>int main()
{int sum = 0;int i = 0;while (i <= 100) //只要i<=100这个条件成立,大括号里面的内容就要执行{sum = sum + i;i = i + 1;}printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}

输出结果:

        i = 101
        sum = 5050

因为只要i<=100这个条件成立,大括号里面的内容就要执行,大括号里面的内容执行完之后,还要回来判断while里面的条件。

while知识点

        1、while循环体里面的内容可以不执行,比如while(0);

        2、while循环体里面的内容可以一直执行不停止,比如while(1);

        3、if语句可以看成最多执行1次的循环体

        4、if语句和while可嵌套,实现更复杂的功能

if与while嵌套

求1000以内能被3整除的正整数之和

分析:

        1、要遍历1到1000这1000个数;

        2、要选择能被3整除的数

程序示例2:

#include <stdio.h>int main()
{int i = 1;int sum = 0;while (i <= 1000) //遍历1到1000所有的整数{if (i % 3 == 0) //判断是否能被3整除{sum = sum + i;//能整除的数就加起来}i++; //i要自增加一个}printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}

while语句练习

求 2^{2}+4^{2}+6^{2}+...+n^{2},累加和≥10000为止,输出累加和,输出累加式中的项数i和最大的数

程序示例3:

#include <stdio.h>int main()
{int i = 1;int n = 0; //记录循环次数int sum = 0; //记录和int an = 0; //记录停止的项while (sum <= 10000) {an = (2 * i) * (2 * i);sum = sum + an;//(2*i)的平方i++; //i要自增加一个n++;}printf("n = %d\n", n);printf("an = %d\n", an);printf("i = %d\n", i);printf("sum = %d\n", sum);return 0;
}

编写程序,求出2-100之内所有的质数,并打印出所有的质数

质数:只能被1和自己整除

程序示例4:

#include <stdio.h>int main()
{int i = 2;while (i <= 100) //遍历2到100内所有的数{int flag = 0; //标记int j = 2;//从2到自己,这之间还有没有能被自己整除的数while (j < i){if (i % j == 0) //判断有没有能被自己整除的数{flag ++; //有就+1标记一下}j++; //遍历2到i}if (flag == 0) //这个标记还为0,说明没有能被整除的,那就是质数了{printf("i = %d\n", i); //打印出质数}i++; //i要自增加一个,为了遍历}return 0;
}

循环结构在编程中用的非常多,循环结构也有多种方式

do... while

do
{//do something;
} while(条件)

不管条件是不是真,都执行一遍do里面的语句;

再来判断条件是否为真,为真的话继续执行do里面的语句,为假就执行后面的语句;

从键盘中输入数据,并请输入数据的和,知道和大于100为止

程序示例5:

#include <stdio.h>int main()
{int sum = 0;int input = 0;do {printf("请输入数据:");scanf_s("%d",&input);sum = sum + input;} while (sum <100);printf("sum = %d\n",sum);return 0;
}

for循环

for(0.初始化循环变量;1.循环条件;3.改变循环条件)
{2.循环体;
}

执行步骤就是:

0、初始化循环变量

1、判断循环条件

2、执行循环体

3、改变循环条件

理论上for循环式最规范的循环结构,本质上与while是一样的。

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

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

相关文章

煤矿虚拟仿真 | 采煤工人VR虚拟现实培训系统

随着科技的发展&#xff0c;虚拟现实(VR)技术已经逐渐渗透到各个行业&#xff0c;其中包括煤矿行业。VR技术可以为煤矿工人提供一个安全、真实的环境&#xff0c;让他们在虚拟环境中进行实际操作和培训&#xff0c;从而提高他们的技能水平和安全意识。 由广州华锐互动开发的采煤…

跳槽面试:如何转换工作场所而不失去优势

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Ubuntu 20.04 安装宋体

环境&#xff1a; ubuntu 20.04,英文环境&#xff0c;但已经安装中文包 检查ubuntu中安装的中文字体 命令&#xff1a;fc-list :langzh 检查ubuntu中安装的所有字体 命令&#xff1a;fc-list 宋体下载&#xff1a;Simsun Font - Free Fonts 网盘分享&#xff1a;链接: https…

LeetCode 82 删除排序链表中的重复元素 II

LeetCode 82 删除排序链表中的重复元素 II 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/remove-duplicates-from-sorted-list-ii/description/ 博主Github&#xff1a;https://github.com/GDUT-Rp/LeetCode 题目&am…

vue中使用window.open打开assets文件夹下的pdf文件

需求&#xff1a;系统有个操作手册&#xff0c;点击会在浏览器新开个窗口并打开pdf文件。这个pdf文件存储在本地assets文件夹中。 文件结构&#xff1a; 注&#xff1a;直接使用window.open(文件路径)不能打开&#xff0c;需要在vue.config.js中配置所需文件 引入图中红框中的…

QTableWidget实现鼠标悬停整行高亮显示

一、最终效果 二、 重写QTableWidget类 mytablewidget.h #ifndef MYTABLEWIDGET_H #define MYTABLEWIDGET_H#include <QTableWidget>class MyTableWidget : public QTableWidget { public:explicit MyTableWidget(QWidget* parent nullptr);protected:void leaveEve…

Python 套接字编程完整指南

推荐&#xff1a;使用 NSDT场景编辑器 快速搭建3D应用场景 连接设备以交换信息是网络的全部意义所在。套接字是有效网络通信的重要组成部分&#xff0c;因为它们是用于通过本地或全球网络以及同一台计算机上的不同进程在设备之间传输消息的基本概念。它们提供了一个低级接口&am…

zipkin2.24.2源码install遇见的问题

1、idea导入项目后将Setting中的关于Maven和Java Compile相关的配置改为jdk11,同时Project Structure改为jdk11 2、将pom配置中的fork标签注释 标题未修改以上配置产生的问题 Compilation failure javac: Ч ı : --release : javac <options> <source files&g…

python3

#安装python3 brew install python3 看到下图表示安装python3成功: #将python3 加入环境变量 export PATH$PATH:/opt/homebrew/bin/#查看python 版本 python3 --version#查看pip 版本 pip3 --version#更新python源 pip3 config set global.index-url https://pypi.tuna.tsing…

Nginx中实现自签名SSL证书生成与配置

文章目录 一.相关介绍1.生成步骤2.相关名词介绍 二.Nginx中实现自签名SSL证书生成与配置1.私钥生成2.公钥生成3.生成解密的私钥key4.签名生成证书5.配置证书并验证6.登录 一.相关介绍 1.生成步骤 &#xff08;1&#xff09;生成私钥&#xff08;Private Key&#xff09;&…

WPF列表样式

WPF的数据绑定系统自动生成列表项对象&#xff0c;为单个项应用所需的样式不是很容易。解决方案是ItemContainerStyle 属性。如果设置了ItemContainerStyle 属性&#xff0c;当创建列表项时&#xff0c;列表控件会将其向下传递给每个项。对于ListBox控件&#xff0c;每个项有Li…

java8 Stream应用合集

多个数据集合如何合并为一个数组 List<Map<String,Object>> data1 this.queryReportInvestSu(param);List<Map<String,Object>> data2 this.queryReportInvestSu(param);List<Map<String,Object>> data3 this.queryReportInvestSu(para…

浅述C++模板——函数模板及类模板

前言 模板作为 C 的一大特色&#xff0c;对于泛型编程有着重要的作用。同时&#xff0c;对于大规模类似的函数或是类型不确定的类&#xff0c;模板都起了至关重要的作用。 一、模板 在开始学习模板之前&#xff0c;我们首先需要了解模板。先看下面一个例子&#xff1a; #in…

微信小程序开发前准备

文章目录 一.注册微信小程序开发账号&#xff08;一&#xff09;访问微信公众平台官网&#xff08;二&#xff09;进入注册页面&#xff0c;完成注册信息&#xff08;三&#xff09;设置微信小程序信息 二.获取微信小程序的AppID(一) 什么是小程序AppID&#xff08;二&#xff…

从零开始,无需公网IP,搭建本地电脑上的个人博客网站并发布到公网

文章目录 前言1. 安装套件软件2. 创建网页运行环境 指定网页输出的端口号3. 让WordPress在所需环境中安装并运行 生成网页4. “装修”个人网站5. 将位于本地电脑上的网页发布到公共互联网上 前言 在现代社会&#xff0c;网络已经成为我们生活离不开的必需品&#xff0c;而纷繁…

C#写一个UDP程序判断延迟并运行在Centos上

服务端 using System.Net.Sockets; using System.Net;int serverPort 50001; Socket server; EndPoint client new IPEndPoint(IPAddress.Any, 0);//用来保存发送方的ip和端口号CreateSocket();void CreateSocket() {server new Socket(AddressFamily.InterNetwork, SocketT…

Android 使用OpenCV实现实时人脸识别,并绘制到SurfaceView上

1. 前言 上篇文章 我们已经通过一个简单的例子&#xff0c;在Android Studio中接入了OpenCV。 之前我们也 在Visual Studio上&#xff0c;使用OpenCV实现人脸识别 中实现了人脸识别的效果。 接着&#xff0c;我们就可以将OpenCV的人脸识别效果移植到Android中了。 1.1 环境说…

【Java Web】统一处理异常

一个异常处理的ControllerAdvice类。它用于处理Controller注解的控制器中发生的异常。 具体代码功能如下&#xff1a; 导入相关类和方法。声明一个Logger对象&#xff0c;用于日志记录。使用ExceptionHandler注解标记handleException方法&#xff0c;用于处理所有异常。 -嘛在…

快速安装k8s

RKE安装方式 官方文章资源地址 https://rke.docs.rancher.com/installation rke工具下载地址&#xff08;arm,amd,windows都有&#xff09; https://github.com/rancher/rke/releases x86的用amd64下载rke工具 https://github.com/rancher/rke/releases/download/v1.4.8/rke_li…

【文末送书】全栈开发流程——后端连接数据源(二)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…