头图

C/C++while与do while及常见的for语句格式

1、循环结构

介绍

循环结构基本条件:

(1)循环结构有初始值-----飞车开始第1圈转动
(2)循环结构有酒环体-----飞车重复撞击小平果
(3)循环结构最终结束-----飞车转动笔4圈结束

循环结构基本原理

(1)先赋初始值第1置:
(2)判断是否小于等于第4圈;
(3)如果小于等于第4圈,飞车撞击小苹果,重复执行第2步;
(4)如果大于第4圈,停止转动;

2、while与do while语句

while语句格式

while(表达式)
{
循环体;
}

其中"表达式"是循环条件,可以是任意类型的表达式,常用的是关系表达式或逻辑表达式,循环体由一条或者多条语句组成。

执行描述:

(1)计算while后面的表达式值,如果值为真,则执行步骤(2),否则跳出循环体,继续执行该结构后面的语句。
(2) 执行循环体语句。
(3)重复执行步骤(1)。

流程图:

注意说明:

(1)循环的结束由while后面的表达式控制,循环体中必须有改变循环控制变量值的语句,使循环倾向于结束,否则出现死循环,无法结束。
(2)循环体如果有一条以上的语句,应该用大括号括起来,如果只有一条语句,大括号可以省略。
(3)循环四要素:循环控制变量初始值、循环条件的设置,福环语句的编写和循环控制变量的变化。

例题:

用while语句编写程序实现求1~100的累计和。
算法设计:
1.定义两个整型变量
2.两个变量初始化(循环控制变量初始值)
3.while语句(设置循环条件)
4.求和(循环体语句编写)
5.被加数变化(循环控制变量的变化)
6.输出总和
流程图:


语句编写:

#include<stdio.h>
int main()
{
    int sum,i;
    sum=0;i=1;
    while(i<=100)
    {
       sum=sum+i;
       i++;
    }
    printf("sum=%d\n",sum);
    return 0;
}

运行结果:

微信图片_20230205190424.jpgdo while语句格式

do
{
循环体;
} while (表达式);

流程图:

执行描述:

(1)执行循环体语句。
(2)计算while后面的表达式值,如果值为真,则执行步霍(2),否则跳出循环体,继续执行该结构后面的语句。
(3)重复执行步骤(1)。
例题:
用do while语句编写程序实现求1~100的累计和。

流程图:


语句编写:

#include<stdio.h>
int main()
{
    int sum,i;
    sum=0;i=1;
    do
    {
       sum=sum+i;
       i++;
    }while(i<=100);
    printf("sum=%d\n",sum);
    return 0;
}

运行结果:

微信图片_20230205190424.jpg

3、for语句的格式

for(初始值; 条件; 增量)
{
循环体;
}

执行描述:

(1)计算初始值(只执行一次)。
(2)判断条件,如果值为真,则执行步骤(3),否则跳出循环体,继续执行该结构后面的语句。
(3)执行循环体语句。
(4)计算增量;
(5)重复执行步骤(2)。

流程图

注意说明:

(1)循环体如果有一条以上的语句,应该用大括号括起来,如果只有一条语句,大括号可以省略。
(2)for语句中的表达式可以省略任意一个,也可以都省略,但";"不能省略。

例题

用for语句编程实现求1~100的累计和
算法设计:
(1)定义两个整型变量
(2)求和变量初始化
(3)for语句(设置初始值,条件和增量)
(4)求和(循环体语句的编写)
(5)输出总和
流程图

语句编写:

#include<stdio.h>
int main()
{
    int sum,i;
    sum=0;
    for(i=1;i<=100;i++)
        sum=sum+i;
    printf("sum=%d\n",sum);
    return 0;
}

运行结果
微信图片_20230205190424.jpg

C/C++ 领域资深者

1 声望
0 粉丝
0 条评论
推荐阅读
最好用的 python 库合集
🎈 分词 - jieba优秀的中文分词库,依靠中文词库,利用词库确定汉子之间关联的概率,形成分词结果 {代码...} 🎈 词云库 - wordcloud对数据中出现频率较高的 关键词 生成的一幅图像,予以视觉上的突出 {代码...} 🎈 ...

tiny极客11阅读 3.4k评论 2

封面图
花了几个月时间把 MySQL 重新巩固了一遍,梳理了一篇几万字 “超硬核” 的保姆式学习教程!(持续更新中~)
MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。

民工哥14阅读 1.9k

封面图
算法可视化:一文弄懂 10 大排序算法
在本文中,我们将通过动图可视化加文字的形式,循序渐进全面介绍不同类型的算法及其用途(包括原理、优缺点及使用场景)并提供 Python 和 JavaScript 两种语言的示例代码。除此之外,每个算法都会附有一些技术说...

破晓L7阅读 851

封面图
「刷起来」Go必看的进阶面试题详解
逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。

王中阳Go4阅读 1.9k评论 1

封面图
架构设计-高性能篇
大家好,我是易安!今天我们谈一谈架构设计中的高性能架构涉及到的底层思想。本文分为缓存架构,单服务器高性能模型,集群下的高性能模型三个部分,内容很干,希望你仔细阅读。

架构狂人4阅读 753

简历上的项目,需要这样描述才有亮点!
每每准备面试,总有些小伙子甩出自己的豆包项目,不是Xxx管理系统,就是某某自动化平台。就像这几年自己的经历都放在 CRUD 编写上了,走的那是加班的道,干的都是体力的活。

小傅哥4阅读 1.1k

封面图
我试图通过这篇文章告诉你,这行源码有多牛逼。
你好呀,我是歪歪。这次给你盘一个特别有意思的源码,正如我标题说的那样:看懂这行源码之后,我不禁鼓起掌来,直呼祖师爷牛逼。这行源码是这样的:java.util.concurrent.LinkedBlockingQueue#dequeueh.next = h...

why技术4阅读 629评论 1

封面图

C/C++ 领域资深者

1 声望
0 粉丝
宣传栏