C语言do...while 语句的基本格式是什么?

一、问题

        C语⾔中有三种循环语句,do...while 语句是其中的⼀个,它的基本格式是怎样的呢?

二、解答

do...while 语句的⼀般形式为:

do语句;while(表达式);

其中语句是循环体,表达式是循环条件。

        do...while 语句是这样执⾏的:⾸先执⾏⼀次循环体语句中的内容,然后判断表达式。 当表达式的值为真时,返回重新执⾏循环体语句。循环执⾏,直到表达式的判断为假时⽌,此时循环结束。

例如:

do
i++;
while(i<=100);

        在上⾯的代码中,⾸先执⾏ i++的操作,也就是不管 i 是否⼩于 100 都会执⾏⼀次循环体中的内容。然后判断 while 后括号中的内容,如果i⼩于100,则再次执⾏循环语句块中的内容。为假条件时,执⾏下⾯的程序操作。

  •  注意:

        在使⽤ do...while 语句时,条件要放在 while 关键字后⾯的括号⾥,最后必须加上⼀ 个分号。

while 语句和 do...while 语句⼀般都可以相互改写。例如下⾯的代码。

#include <stdio.h>
int mian()
{int a = 0, n;printf("Input n:\n");scanf("%d", &n);while (n--){printf("%d ", a++ * 2);}
}

转换成 do...while 的形式是:

#include <stdio.h>
int mian()
{int a = 0, n;printf("Input n:\n");scanf("%d", &n);do{printf("%d ", a++ * 2);} while (--n);
}

        从代码中可以看出,只是将循环条件改变了,由 n--改为--n,如不改则多执⾏⼀次循环,这是由 do...while 的特点——先执⾏后判断造成的。

三、总结

从上⾯的内容可以了解到 do...while 的基本格式和含义,但对于 do...while 语句还应注意以下⼏点:

(1) do...while 语句也可以组成多重循环,⽽且也可以和 while 语句相互嵌套。

(2)在do 和 while 之间的循环体由多个语句组成时,也必须⽤ { } 括起来,组成⼀个复合语句。

(3) do...while 和 while 语句相互替换时,要注意修改循环控制条件。先执⾏⼀次循环体,再判断条件。

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

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

相关文章

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的口罩识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发口罩识别系统对于提升公共卫生安全和疫情防控具有重要意义。本篇博客详细介绍了如何利用深度学习构建一个口罩识别系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并结合了YOLOv7、YOLOv6、YOLOv5的对比&#xff0c;给出…

攻略 | 如何通过数据解析,优化知识库以满足用户需求

在日常生活和工作中&#xff0c;一个高效且实用的知识库已成为我们的得力助手。但如何确保它不仅仅是信息的堆砌&#xff0c;真正为用户创造价值与效益&#xff1f;接下来&#xff0c;我们将深入探讨这一问题&#xff0c;并借助HelpLook知识库的数据分析功能&#xff0c;带您全…

修改一个教材上的网站源码使它能在www服务器子目录上正常运行

修改一个教材上的网站源码&#xff0c;使它能在www服务器子目录上正常运行。 该网站源码是教材《PHPMySQL网站开发项目式教程》上带的网站源码。该源码是用 php html 写的。该源码包含对mysql数据库进行操作的php代码。以前该网站源码只能在www服务器的根目录上正常运行&…

计算机设计大赛 深度学习机器视觉车道线识别与检测 -自动驾驶

文章目录 1 前言2 先上成果3 车道线4 问题抽象(建立模型)5 帧掩码(Frame Mask)6 车道检测的图像预处理7 图像阈值化8 霍夫线变换9 实现车道检测9.1 帧掩码创建9.2 图像预处理9.2.1 图像阈值化9.2.2 霍夫线变换 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分…

代码随想录 二叉树第三周

目录 404.左叶子之和 513.找树左下角的值 112.路径总和 106.从中序与后序遍历构造二叉树 105.从前序与中序遍历序列构造二叉树 654.最大二叉树 404.左叶子之和 404. 左叶子之和 简单 给定二叉树的根节点 root &#xff0c;返回所有左叶子之和。 示例 1&#xff1a; 输…

Tomcat负载均衡、动静分离

目录 引言 实验图解 1.实验环境搭建 2.部署Nginx服务器及配置静态页面Web服务 3.部署Tomcat服务及配置动态页面Web服务 4.实验验收 动态页面 静态页面 引言 tomcat服务既可以处理动态页面&#xff0c;也可以处理静态页面&#xff1b;但其处理静态页面的速度远远不如…

您的计算机已被pings勒索病毒感染?恢复您的数据的方法在这里!

导言&#xff1a; 在数字时代&#xff0c;数据是企业和个人生活中不可或缺的一部分。然而&#xff0c;随着勒索病毒的不断进化和传播&#xff0c;我们的数据面临着前所未有的威胁。其中&#xff0c;.pings 勒索病毒是最新一轮威胁之一&#xff0c;它以其独特的加密算法和无情的…

LeetCode 刷题 [C++] 第45题.跳跃游戏 II

题目描述 给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说&#xff0c;如果你在 nums[i] 处&#xff0c;你可以跳转到任意 nums[i j] 处: 0 < j < nums[i]i j < n 返回到达 nums[n …

Maven【5】在IDEA环境中配置和使用Maven

文章目录 【1】创建父工程1.创建 Project2.开启自动导入 【2】配置 Maven 信息【3】创建 Java 模块工程1.创建2.maven命令操作 【4】创建 Web 模块工程1.创建模块2.Web设定 【1】创建父工程 1.创建 Project 按照idea工程的布局&#xff0c;project相当于父工程&#xff0c;里…

力扣hot100题解(python版44-47题)

44、二叉搜索树中第K小的元素 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &#xff0c;请你设计一个算法查找其中第 k 个最小元素&#xff08;从 1 开始计数&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,1,4,null,2], k 1 输出&#xff1a;…

【UEFI实战】BIOS中的openssl

BIOS中的openssl openssl是一个密码库或者密码工具&#xff0c;在密码学基础_hex string is too short, padding with zero bytes t-CSDN博客介绍了基本的密码学概念已经openssl工具的使用&#xff0c;而这里将介绍BIOS下如何使用openssl。 在开源的BIOS代码库EDK中包含一个C…

(一)Python数据分析体系--九五小庞

课程地址&#xff1a;https://space.bilibili.com/387143299/channel/collectiondetail?sid554734 主要内容 知识体系 分析什么样的数据 为什么使用Python做数据分析 Python近几年的发展势头是有目共睹的&#xff0c;尤其是在科学计算&#xff0c;数据处理&#xff0c;A方面…