C语言while循环和do while循环

JSON 2024-04-08 16:02:39 194

C语言中最基本的循环是while循环,它的用途是重复一段代码。while循环有一个控制表达式(特定条件),只要给定的表达式为真,就会执行。do...while 循环与 while 循环几乎相同,除了条件是在循环结束时而不是在开始时检查。因此,do-while 循环中的代码将始终至少执行一次,语法如下:

C语言while循环

句法:

while (condition)
{ 
 statement(s);
 }  

在 while 循环中,首先测试条件(布尔表达式);如果为 false,则循环结束而不执行语句。如果条件为真,则执行语句,并且循环不断执行,直到条件为假。

如果只有一条语句,大括号可以省略;然而,最好始终包含大括号。

参见流程图:


一个简单的 While 循环

示例 -1

以下程序打印 n 个星号。


示例 - 2:

以下程序打印两个数字。

#include <stdio.h>
main()
{
int m = 5;
int n = 0;
while (m > n)
{
printf("m = %d n = %d\n",m,n );
m--;
n++;
}
}

输出:

m = 5 n = 0 
  m = 4 n = 1 
  m = 3 n = 2

解释

当 m 等于或小于 n 时,循环将终止,因此 m <= n 是 while 循环的终止条件。

循环已执行3次。

条件 m>n 已检查 4 次。

第一次:m = 5且n = 0,这次条件为真,因此执行循环。

第二次:m = 4,n = 1。条件再次为真,因此执行循环。

第三次:m = 3 且 n = 2。条件再次为真,因此执行循环。

第四次:m = 2 且 n = 3。现在条件为 false,因此不执行循环。

因此,这是程序中最后一次检查条件 m>n。

这是上面程序的流程图


C语言do while循环

操作顺序如下:

1.执行大括号内的代码

2. 检查条件(布尔表达式),如果为真,则转到步骤 1 并重复

3. 重复此操作,直到条件(布尔表达式)计算结果为 false。

参见流程图:


嵌套do while循环

下面的程序将打印出数字 1,2,…,n 的乘法表。外部 do-while 循环是负责迭代乘法表的行的循环。对于 colnm 的每个值,内部循环将打印 colnm 乘以 rownm 对应的行。这里我们在 printf() 函数中使用特殊的“\t”字符来获得清晰的输出。

#include <stdio.h>
main()
{
int rownm,nrow,colnm;
rownm=1;
colnm=1;
printf("Input number of rows for the table : ");
scanf("%d",&nrow);
 do
 {
  colnm=1;
  do
    {
	printf("%d\t",rownm*colnm);
	  colnm++;
   	}
  while(colnm<=nrow);
rownm++;
printf("\n");
 }
 while(rownm<=nrow);
}

输出:



版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/519.html

转载时必须以链接形式注明原始出处及本声明。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
C语言的变量常量
C语言的变量常量
for循环的 i++ ++i 的区别
HTMLJSON如何互转
ip子网掩码怎么运算
md5base64的区别
Maven的MirrorRepository 的详细讲解
md5base64的区别
oracle数据库sql server的区别
对Log4j 日志工具类的封装,java LoggerUtils查看下载
最新文章
Linux I/O重定向 1767
Ruby 循环 - while、for、until、break、redo 和 retry 711
Node.js:全局对象 517
如何使用终端检查Linux上的内存使用情况 635
JavaScript对象详细剖析 300
Python print() 函数 409
PHP if/else/elseif 语句 407
HTML5 Canvas弧线教程 387
Java赋值运算符 431
XML内部实体和外部实体 464
最热文章
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 686836
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 675081
免费天气API,天气JSON API,不限次数获取十五天的天气预报 615785
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 611117
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 555623
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 510028
Elasticsearch教程(四) elasticsearch head 插件安装和使用 481399
Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ... 269208
Java 信任所有SSL证书,HTTPS请求抛错,忽略证书请求完美解决 244787
Elasticsearch教程(一),全程直播(小白级别) 227489
支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...