小朋友学C语言(22):循环

C语言有三种循环方式,除了前面讲过的for循环外,还有while和do while两种形式。

(一)while循环

#include <stdio.h>

int main()
{
    int i = 3;
    while(i > 0) 
    {
        i--;
        printf("Excute loop! After decrementing, i = %d\n", i);
}

return 0;
}

运行结果:

Excute loop! After decrementing, i = 2
Excute loop! After decrementing, i = 1
Excute loop! After decrementing, i = 0

(二)do while循环

#include <stdio.h>

int main()
{
    int i = 3;
    do
    {
        i--;
        printf("Excute loop! After decrementing, i = %d\n", i);
} while(i > 0);

return 0;
}

运行结果:

Excute loop! After decrementing, i = 2
Excute loop! After decrementing, i = 1
Excute loop! After decrementing, i = 0

(三)二者的区别

1 do while

#include <stdio.h>

int main()
{
    int i = 0;
    do
    {
        i--;
        printf("Excute loop! After decrementing, i = %d\n", i);
    } while(i > 0);

    printf("Porgram end!");

    return 0;
}

运行结果:

Excute loop! After decrementing, i = -1
Program end!

2 while

#include <stdio.h>

int main()
{
    int i = 0;
    while(i > 0)
    {
        i--;
        printf("Excute loop! After decrementing, i = %d\n", i);
    } 

    printf("Porgram end!");

    return 0;
}

运行结果:

Porgram end!

从以上两个程序可以看出,while是先判断条件,再执行循环里的语句。而do while是先执行循环里的语句,再判断循环条件。 do while至少会执行一次循环;而while若第一次判断条件不成立时,一次循环都不会执行。

原文发布于微信公众号 - 海天一树(gh_de7b45c40e8b)

原文发表时间:2017-11-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开发与安全

从零开始学C++之STL(二):实现简单容器模板类Vec(vector capacity 增长问题、allocator 内存分配器)

首先,vector 在VC 2008 中的实现比较复杂,虽然vector 的声明跟VC6.0 是一致的,如下: template < class _Ty, cl...

35300
来自专栏C语言及其他语言

【每日一题】问题 1117: K-进制数

考虑包含N位数字的K-进制数. 定义一个数有效, 如果其K-进制表示不包含两连续的0.

11720
来自专栏数据处理

python中的字符数字之间的转换函数

17680
来自专栏WD学习记录

C#学习笔记(四)

2. 对象之间的包含关系:一个类包含另外一个类。这类似于继承关系,但包含类可以控制对被包含类的成员的访问,甚至在使用被包含类的成员进行其他处理。

12620
来自专栏待你如初见

Day08

13130
来自专栏互联网杂技

简单理解通过原型继承

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head>...

32550
来自专栏开发与安全

面向对象编程风格 VS 基于对象编程风格(boost::bind/function)

本文主要通过实现Thread 类来展现两种编程风格的不同点。 很多人没有区分“面向对象”和“基于对象”两个不同的概念。面向对象的三大特点(封装,继承,多态)缺...

25300
来自专栏PHP在线

php数组和字符串操作

抽象类 1.抽象类不能实例化 2.抽象方法必须被子类重写的方法 3.如果类中包含抽象方法,那么类就必须定义为抽象类,不论是否包含其他一般方法。 抽象类通常代表一...

35670
来自专栏Golang语言社区

【Golang语言社区】前端编程-javascript使用闭包模拟私有属性和方法

最近因为做了一个项目,其中涉及到了js私有方法,这个概念在其语言里面是很常见的,很多语言都有private这个关键字,只要在一个类的前面加上private就表示...

32090
来自专栏程序生活

Java学习(二)Static关键字的理解

在讲Static之前,引入一个小题 ? 答案为“c” ? 运行结果 Cannot make a static reference to the non-stat...

39680

扫码关注云+社区

领取腾讯云代金券