首页 > 编程语言 >循环结构程序设计(1)——while语句和do-while语句

循环结构程序设计(1)——while语句和do-while语句

时间:2024-10-30 23:45:15浏览次数:3  
标签:语句 do while 循环 执行 表达式

一、while语句

1.基本格式

    while语句是当型循环控制语句,一般格式为:

while(表达式)

   语句;

其中while语句的要求如下:

  • while后面的括号不能省略
  • while后面的表达式可以是任意类型的表达式,但是一般是条件表达式或逻辑表达式,用于控制循环
  • 语句部分称为循环体,当需要执行多条语句时,要加大括号{}

例1:用while语句求和

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

如图:

每次执行while语句时,会先判定是否符合while后面表达式的条件,因为 i 的初始值为1,故可以执行。先求和,然后让 i 自加,重新判断是否符合,再执行,直到 i 自加到不符合时,由此实现求和。修改while语句后面的表达式,可以控制求和到第几个项。


2.注意事项

(1)while语句是先判断后执行,只有当表达式的值为真(1)才会开始执行,否则结束循环

(2)除了表达式判断为假(0)会结束循环外,使用break,return或goto语句也可以结束while语句循环。

break语句:结束所在的一层while语句循环;

return语句:退出循环,并终止return后面的语句的执行,将该循环所在的函数返回;

goto语句:强制跳转到目的语句继续执行; 

(3)通常情况下,程序会利用一个变量奶控制while语句的表达式的值,称为循环控制变量。在执行while语句前,需要对循环控制变量初始化,否则执行结果将不可预知

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

拿上面那个程序为例,将赋予 i 的初始值 1 去掉,那么运行结果就不可知了

(4)要在while语句的某处(表达式或循环体内)改变循环控制变量的值,否则就会死循环,让程序一直循环执行,上例中的“i++”就是起到这个改变循环控制变量的值的作用。

(5)while语句允许嵌套:

i=1;
while(i<=9)
{
 j=1;
 while(j<=9)
 {
   printf("%d*%d=%d\n",i,j,i*j);
   j++
 }
 i++;
}


二、do-while语句

1.基本格式

do-while是一种直到型循环的语句,它的基本格式如下:

do

   语句;

while(表达式);

其中,do-while语句的要求如下:

  • while后面的括号()不能省略
  • while最后面的分号;不能省略
  • while后面的表达式可以是任意类型的表达式,但是一般是条件表达式或逻辑表达式,用于控制循环
  • 语句部分称为循环体,当需要执行多条语句时,要加大括号{}

值得注意的是,不同于while是先判断后执行,do-while是会先起码执行一次,再将执行结果与while后面的表达式对照看符不符合条件,若为真(1)则继续循环执行。

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


2.注意事项

(1)类似于while语句,do-while语句也要初始化循环控制变量,改变循环控制变量的值以防止死循环出现,也可以嵌套循环

(2)do-while语句的while表达式后面的分号;不能省略,否则会编译错误


标签:语句,do,while,循环,执行,表达式
From: https://blog.csdn.net/2402_88427700/article/details/143376942

相关文章

  • docker部署手册(离线)
    文章目录一、下载地址二、部署环境三、安装部署3.1上传安装包3.2解压3.3创建docker.service3.4创建daemon.json文件3.5授权3.6启动3.7查看信息3.8设置开机启动3.9允许远程连接到docker方法一:修改docker.service方法二:修改daemon.json3.10处理报错docker.ser......
  • 深入理解 C/C++ 中的 do-while 语句及其应用
    在C/C++编程中,do-while语句是一个重要的控制结构。它的独特之处在于,无论条件是否满足,循环体至少会执行一次。尽管do-while的基本用途是循环,但它在其他编程场合中同样具有非常巧妙和实用的应用。本文将探讨do-while语句的基本用法及其在宏定义和函数中的应用,提供高效......
  • ubuntu-安装docker、中间件
    1、基本命令#查看ubuntu版本lsb_release-a#修改密码sudopasswdubuntu#修改远程端口vim/etc/ssh/sshd_configsudoservicesshrestart#基础软件安装sudoaptinstalliputils-ping-ysudoaptinstallnet-tools-ysudoaptinstallvim-ysudoaptinstallufw-y 2、......
  • Docker:存储原理
    Docker:存储原理镜像联合文件系统overlay镜像存储结构容器存储结构存储卷绑定挂载存储卷结构镜像联合文件系统联合文件系统UnionFileSystem是一种分层,轻量且高效的文件系统。其将整个文件系统分为多个层,层与层之间进行覆盖,并对外表现为一个一致的文件系统。......
  • Docker:存储卷
    Docker:存储卷存储卷命令dockervolumelsdockervolumecreatedockervolumeinspectdockervolumermdockervolumeprune分类数据卷绑定卷临时卷存储卷在Docker中,容器的文件存储结构如下:容器时基于镜像产生的,一个镜像可以实例化出多个容器,为了节省镜像的存储......
  • DBeave如何查看数据库表的DDL创建语句
    前言我们在使用DBeave时,有时候是需要看一下某个表的创建语句的,这样方便我们在其他数据库创建该表。那么,我们呢应该如何查看表的创建语句呢?如何查看DDL首先,我们选择我们要查看的数据库表,然后鼠标双击下该表。然后,我们点击下上方的属性,然后在下面再点下DDL选项。然后,我们就......
  • Docker 自建 Registry
    如果你需要保存自己的镜像,但又不想直接公开出来,那么可以选择自建Registry.如果想要加速国内访问,可以选择自建DockerProxy,或者使用https://dockerproxy.net.本文发表于https://clouder0.com/zh-cn/posts/docker-registry-self-host/.需要把我自己打包的image部署出来,自......
  • DBeaver如何生成select,update,delete,insert语句
    前言我们在使用DBeaver时,经常是需要查看数据库表的。有时候,我们需要用DBeaver生成select,update,delete,insert等语句,这样可以使我们方便的开发代码,那么应该怎么生成呢?如何生成语句首先,我们点击下我们要生成语句的表,右键点击。然后,我们点击下生成SQL选项,在展开的选项中,可以选择s......
  • 一些常见的dos命令
    盘符命令改变当前路径:cd+"/d"+路径返回上一级:cd+..查看当前文件夹的所有文件dir清理屏幕cls退出终端exit查看电脑ipipconfig打开应用calc计算器mspaint绘图notepad记事本ping命令(获得ip地址,测试网络)pingwww.baidu.com文件操作md创建一个目......
  • 不使用docker-compose不使用zookeeper启动ApacheKafka3.8.0单机运行KRAFT模式
    dockerrun-d-v/kafka_data:/opt/kafka-logs-eKAFKA_ENABLE_KRAFT=yes-eKAFKA_PROCESS_ROLES=broker,controller-eKAFKANODEID=1-eKAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093-eKAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.1......