C语言控制语句——循环语句

news2024/11/19 18:24:58
  • 什么是循环
    • 重复执行代码
  • 为什么需要循环
    在这里插入图片描述
  • 循环的实现方式
    • while
    • do…while
    • fo

while语句

在这里插入图片描述
语法格式:

while (条件) {
    循环体
    ……
}

需求:跑步5圈
示例代码:

#include <stdio.h>

int main() {
    // 需求跑步5圈
    // 1. 条件变量的定义
    int i = 1;
    // 2. while 控制重复的次数
    while (i <= 5) {
        // 3. 打印跑步第几圈
        printf("跑步第 %d 圈\n", i);
        // 4. 条件改变
        i++;
    }

    return 0;
}

do…while语句

在这里插入图片描述
语法格式:

do {
    循环体
    ……
} while (条件);
  • do-while 循环语句是在执行循环体之后才检查 条件 表达式的值
  • 所以 do-while 语句的循环体至少执行一次,do…while也被称为直到型循环
    需求:跑步5圈
    示例代码:
#include <stdio.h>

int main() {
    // 需求跑步5圈
    // 1. 条件变量的定义
    int i = 1;
    do {
        // 2.1 打印跑步第几圈
        printf("跑步第 %d 圈\n", i);
        // 2.2 条件改变
        i++;
    } while ( i <= 5 ); // 3. 控制重复的次数

    return 0;
}

for语句

语法格式:

for ( init; condition; increment ) {
	循环体
}
  • init会首先被执行,且只会执行一次
  • 接下来,会判断 condition,如果条件condition为真
  • 在执行完 for 循环主体后,控制流会跳回上面的 increment 语句
  • 条件再次被判断
    需求:跑步5圈
    示例代码:
#include <stdio.h>

int main() {
    // 需求跑步5圈
    for (int i = 1; i <= 5; i++) {
        printf("跑步第 %d 圈\n", i);
    }

    return 0;
}

死循环

  • 条件永远为真的循环就是死循环
  • 示例代码
#include <stdio.h>

int main() {
    // while (1) {
    //     printf("根本停不下来\n");
    // }

    for(;;) {
        printf("根本停不下来\n");
    }

    return 0;
}

循环案例

实现1+2+3……100所有数字的累加

#include <stdio.h>

int main() {
    // 需求:实现1+2+3……100所有数字的累加
    // 定义条件变量初始值为1
    int i = 1;
    // 定义累加变量,初始值为0
    int sum = 0;
    // 循环控制100次
    while (i <= 100) {
        // 累加
        sum += i;
        // 条件改变
        i++;
    }
    // 循环外面,打印最终的累加和
    printf("sum = %d\n", sum);

    // for循环实现
    int temp = 0;
    for (int i = 1; i <= 100; i++) {
        temp += i;
    }
    printf("temp = %d\n", temp);

    return 0;
}

循环嵌套

需求如下:

通过for循环嵌套打印内容:
* * * * * 
* * * * * 
* * * * * 
* * * * * 
* * * * * 
说明:
1)每行有5*,总共有52*之间有空格隔开
3printf()1次只能打印1*

示例代码:

#include <stdio.h>

int main() {
    for (int i = 0; i <= 4; i++) {
        for (int j = 0; j <= 4; j++) {
            printf("* ");
        }
        printf("\n");
    }

    return 0;
}

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

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

相关文章

golang入门笔记——nginx

文章目录 Nginx介绍Nginx的安装Nginx文件Nginx反向代理负载均衡nginx动静分离URLRewrite防盗链nginx高可用配置安全性Nginx限流Nginx缓存集成Lua脚本OpenRestry Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器&#xff0c;特点是占用内存少&#xff0c;并发能力强&#x…

15-数据结构-二叉树的遍历,递归和非递归

简介&#xff1a; 本文主要是代码实现&#xff0c;二叉树遍历&#xff0c;递归和非递归&#xff08;用栈&#xff09;。主要为了好理解&#xff0c;直接在代码处&#xff0c;加了详细注释&#xff0c;方便复习和后期默写。主要了解其基本思想&#xff0c;为后期熟练应用…

plsql ebs 工作中的简单笔记

工作流中给系统界面发送消息&#xff1a; PROCEDURE wf_notify(p_sender IN VARCHAR2 DEFAULT SYSADMIN,p_receiver IN VARCHAR2,p_subject IN VARCHAR2,p_content_text IN VARCHAR2);PROCEDURE wf_notify(p_sender IN VARCHAR2 DEFAULT SYSADMIN,---发送…

模块和包(Python语言)

目录 一、什么是模块&#xff1f; 二、模块导入方式 2.1方法一&#xff1a; 2.2方法二&#xff1a; 2.3模块导入搜索路径&#xff1a; 2.4模块调用格式&#xff1a; 三、OS模块操作文件 四、模块的操作 4.1模块作用&#xff1a; 4.2模块分类&#xff1a; 4.3魔术变量…

EXSI技术--Exsi资源分割

我们在搭建好环境之后,就类似于有了一个服务器,现在我们就可以对着一个服务器进行一个虚拟化的操作。给不同的用户使用操作。现在,有一个名叫mit的科技企业需要租用服务器用于创建MySQL数据库集群;另外还有一个IECQ的企业需要服务器搭建电商平台。下面我们为这两个企业分割…

进程Start

Linux中的命令解释器和Windows的程序管理器explorer.exe一样地位,都是在用户态下运行的进程 共享变量发生不同进程间的指令交错&#xff0c;就可能会数据出错 进程只作为除CPU之外系统资源的分配单位 CPU的分配单位是线程 每个进程都有自己的独立用户空间 内核空间是OS内核的…

提高工作效率的一键查询和保存大量快递物流信息的技巧

在如今快速发展的电商行业中&#xff0c;物流服务的准确与便捷是保证顺利交付商品的重要环节。为了方便用户追踪物流&#xff0c;固乔快递查询助手应运而生。这款软件不仅能够快速查询快递单号的物流信息&#xff0c;还具备保存查询结果的功能&#xff0c;方便用户随时查看。 首…

光伏电站、变电站、等直流系统电参量测量仪器怎么选型

安科瑞虞佳豪 壹捌柒陆壹伍玖玖零玖叁 应用场景 工作拓扑图 功能 ①对电能参数进行采样计量和监测&#xff0c;逆变器或者能量管理系统&#xff08;EMS&#xff09;与之进行通讯&#xff0c;根据实时功率及累计电能实现防逆流、调节发电量、电池充放电等功能&#xff1b; ②…

初始化列表

文章目录 一. 初始化列表是什么&#xff1f;二. 为什么要有初始化列表&#xff1f;三. 初始化列表的特性四. explicit关键字五. statis成员六. 友元七. 内部类八. 匿名对象九. 编译器优化总结&#xff1a; 一. 初始化列表是什么&#xff1f; 初始化列表是构造函数真正初始化的地…

基于stm32的烟雾浓度检测报警proteus仿真设计(仿真+程序+讲解)

基于STM32的烟雾浓度检测报警仿真设计(仿真程序讲解&#xff09; 1.主要功能2.仿真3. 程序4. 资料清单&下载链接 基于STM32的烟雾浓度检测报警仿真设计(仿真程序讲解&#xff09; 仿真图proteus 8.9 程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 设计编号&a…

Python编程

Lesson I 解rar压缩包的密码 1 下载Python并安装 网址: 注意选对是32 bit还是64 bit Python Releases for Windows | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/windows/ 2 安装unrar pip install unrar 3 下载u…

JS中方法、函数、属性是一个东西吗

在 JavaScript 中&#xff0c;方法、函数和属性是相关但不完全相同的概念。 方法&#xff08;Method&#xff09;&#xff1a;在对象中&#xff0c;方法是对象的属性&#xff0c;但它的值是一个函数。方法可以通过对象来调用&#xff0c;并且可以访问对象的属性和其他方法。 …

从《离婚律师》中学习代理模式

〇、前言 在2014年的时候&#xff0c;有一部非常火爆的电视剧叫做《离婚律师》&#xff0c;里面讲述了两名离婚律师池海东和罗郦的爱恨情仇&#xff0c;片子非常好看&#xff0c;当时我自己也怒刷了好几遍。 那么&#xff0c;在本剧的第四集中&#xff0c;有一段非常搞笑的剧情…

Linux学习之逻辑卷LVM用途和创建

理论基础 Linux文件系统建立在逻辑卷上&#xff0c;逻辑卷建立在物理卷上。 物理卷处于LVM中的最底层&#xff0c;可以将其理解为物理硬盘、硬盘分区或者RAID磁盘阵列&#xff0c;这都可以。卷组建立在物理卷之上&#xff0c;一个卷组可以包含多个物理卷&#xff0c;而且在卷组…

新手小白如何租用GPU云服务器跑深度学习

最近刚学深度学习&#xff0c;自己电脑的cpu版本的pytorch最多跑个LexNet&#xff0c;AlexNet直接就跑不动了&#xff0c;但是作业不能不写&#xff0c;实验不能不做。无奈之下&#xff0c;上网发现还可以租服务器这种操作&#xff0c;我租的服务器每小时0.78人民币&#xff0c…

Linux驱动——Tiny4412芯片_Source Insight的下载+Linux3.5内核下工程的创建

文章目录 前言Source Insight的下载1.下载地址2.下载步骤 linux3.5内核下工程的创建 前言 本博客仅作为笔记总结&#xff0c;以及帮助有需要的人&#xff0c;不作权威解释。 Source Insight的下载 1.下载地址 官网&#xff1a;https://www.sourceinsight.com/ 另外可以选择…

【计算机网络】一文带你弄懂DNS解析过程(最强详解!!)

目录 首先了解一下什么是DNS协议吧 域名的结构 顶级域名 二级域名 根域名 DNS的查询方式 递归查询 迭代查询 完整域名解析系统 首先了解一下什么是DNS协议吧 DNS&#xff08;Domain Name System&#xff09;是一个用于将域名&#xff08;例如www.example.com&#xff09;…

BTC价格预测:灰度突如其来的胜利是否会打破“九月魔咒”?

加密市场即将进入第三季度交易的最后阶段&#xff0c;由于9月份被视为是比特币的下跌时期&#xff0c;大多数投资者都预测加密货币之王将会进一步下跌。然而&#xff0c;事情却发生了逆转&#xff0c;灰度突如其来的胜利是否会打破“九月魔咒”&#xff1f; 受该事件影响&#…

15.坐标添加带箭头的线

ol的官网示例中有绘制带箭头的线的demo&#xff0c;那个是交互式绘制&#xff0c;而不是根据经纬度坐标添加&#xff0c;在其基础上稍作修改&#xff0c;即可转为通过经纬度添加带箭头的线的功能&#xff0c;线和箭头的粗细大小样式都可以自定义 代码如下 <!DOCTYPE HTML P…