C while 循环

作者: 2010jing | 来源:发表于2016-06-15 22:25 被阅读27次

循环(Loop),在C语言中,是对相同的逻辑做重复的操作,也就是重复地执行相同的一段代码。
while循环
while循环的一般形式为:

  while(表达式){
        语句块
    }

其中表达式称为循环条件,语句块称为循环体。
解释:
首先计算表达式的值,如果为真(非 0),则执行循环体内的语句;执行完循环体内的语句后,再次计算表达式,如果为真(非 0),则执行循环体内的语句;
...
这个过程会一直重复,直到表达的值为假(即 0),就会跳出循环体,不再执行循环体内的语句,退出循环体

1.gif

我们来练习一下小学都做过的一道数学题:
求 1 + 2 + 3 +...+ 99 + 100 = ?

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

运行结果:

5050

代码分析:

  1. 程序运行到while语句时,因为 i=1,i<=100 的值为真,所以执行循环体;执行结束后 i 的值变为 2,sum 的值变为 1。

  2. 接下来会继续判断 i<=100是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i 的值变为 3,sum 的值变为3。

  3. 重复执行步骤 2)。

  4. 当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。

例子:用户输入一行字符,计算一共输入多少个。

#include <stdio.h>
int main(){
    int n=0;
    printf("Input a string:");
    while(getchar()!='\n') n++;
    printf("Number of characters: %d\n", n);
    return 0;
}

运行结果:

Input a string:crabshell.sinaapp.com↙
Number of characters: 21

getchar() 之前篇幅有介绍过是用于输入一个字符, getchar() != "\n",表示只要键盘输入的不是回车就会继续执行循环。
do while循环
do-while循环的一般形式为:

do{
    语句块
}while(表达式);

do while循环 和 while循环 区别于:
它首先会执行循环体,然后再判断表达式是否为真;
如果为真,则继续循环;如果为假,则终止循环。
所以 do while循环 无论如何都会至少执行一次循环体。

2.gif

用do while 来重写 求 1 + 2 + 3 +...+ 99 + 100 = ?

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

运行结果:

5050

最后值得注意的是:while(i<=100);最后的分号** ;**,这个必须要有。

相关文章

  • C++循环

    C++中的循环主要包含while循环、for循环、do…while循环以及嵌套循环,while循环就是当给定条件为...

  • Python_循环

    Python 常见的两种循环:while、for 一、while 注:ctrl + c,终止运行while 死循环...

  • 02-C语言流程控制-循环结构

    循环结构 C语言中提供了三大循环结构,分别是while, do - while 和 for; while循环 特点...

  • C语言-基础篇

    目的 掌握c语言基础,main 函数,编译过程,变量,if语句,for循环,while循环,do while循环 ...

  • 【编程】python入门---while循环01

    while循环 语法: Ctrl + C: 强制结束死循环 for 循环:输出1到10 一、利用while循环输出...

  • C语言-循环语句 选择语句

    今天学习了C语言的循环语句,C语言中循环语句有for, while ,do while ,语句。 条件语句if ...

  • C while 循环

    循环(Loop),在C语言中,是对相同的逻辑做重复的操作,也就是重复地执行相同的一段代码。while循环while...

  • 06-循环结构

    循环结构:同样的代码被执行多次,称为循环。 C#中有三种主要的循环结构: while 循环 do…while 循环...

  • 第五章 循环和关系表达式(3)do while循环和基于范围的f

    (三)do while循环和基于范围的for循环 1.do while循环 第3种 C++循环是 do whil...

  • 7.Swift学习之循环

    循环的介绍 在开发中经常会用到循环 常见C/OC的循环有:for/while/do while. Swift中对应...

网友评论

    本文标题:C while 循环

    本文链接:https://www.haomeiwen.com/subject/wsopdttx.html