C语言基础--while循环

while循环格式:  

   while (条件表达式)  
    {
       语句;
       ...
   }  

执行说明:

while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判断条件表达式, 如果满足会再次执行while后面大括号中的内容(循环体), 直到条件表达式不满足为止

应用场景:

当我们需要一次又一次的执行相同的代码块的时候就可以使用while

步骤:

     0.先将while的格式写好

     1.找到需要重复执行的代码, 将需要重复执行的代码放到循环体中

     2.确定结束条件(确定条件表达式)

 

使用举例:

    // 1.提示用户输入一个整数
    printf("请输入一个整数
");

    // 2.定义变量保存用户输入的整数
    int number = -1;

    // 3.接收用户输入的整数
    scanf("%i", &number);

    // 4.安全校验
    /*
    if (number <= 0) {
        return 0; // 结束函数
      // break; // 注意: break只能用在switch和循环结构中, 离开这两个东西没有任何效果
    }
     */
    while (number <= 0) {
        // 1.提示用户输入一个整数
        printf("请输入一个整数
");

        // 3.接收用户输入的整数
        scanf("%i", &number);
    }

    // 5.根据用户输入的整数计算结果
    int sum = 0;
    int count = 1;
    while (count <= number) {
//      int sum = 0; // 注意, 不能写到这个地方, 因为写到这里是一个局部变量, 作用域是从定义的这一行开始, 一直到循环体结束, 每次进来都会重新定义一个
//      int count = 1;

        printf("%i + %i
", sum , count);
        sum = sum + count;
        count++;
    }

    printf("sum = %i
", sum); 

  示例2:  

 // 获取1~100之间 7的倍数的个数并打印,并统计个数
    int number = 0;
    int count = 0;
    while (number <= 100) {
        printf("%i
", number);
        if (number % 7 == 0) {
            // 证明当前的数是7的倍数
            count++;
            printf("7的倍数是 %i
", number);
        }
        number++;
    }
    printf("sum = %i
", count); 

还有哪些可以用循环呢

  什么密码输入错了3次后就给你锁了

  QQ加好友加几个就要验证码了

    …..

 

你猜我多大了???

#include <stdio.h>
#include <stdlib.h> 

int main(int argc, const char * argv[]) { 

   // 去和美女搭讪,美女要求猜出她的年龄她就和你交往
    // 美女给你3次机会猜她的年龄
    // 让用户输入一个年龄(代表着用户猜的年龄)
    // 让电脑随机产生一个年龄(代表美女的年龄)   

    int count = 3;
    // 随机生成美女的年龄
    int girl = -1;
    // 生成一个0~19岁的年龄
    girl = arc4random_uniform(20);
    //printf("girl = %d", girl);
    while (count > 0) {
        //    1.提示用户猜年龄
        printf("猜猜姐的年龄
");
        system("say age 
");
        //    2.接收用户输入的年龄
        int age = -1;
        scanf("%d", &age);
        //    4.判断是否猜中
        if (age > girl) {
            printf("姐有那么老吗?姐很生气!
");
            system("say no 
");
        }
        else if (age < girl)
        {
            printf("姐太开心了?但是还是不对哦!
");
            system("say no 
");
        }
        else
        {
            printf("你就是我的死冤家
");
            system("say yes 
");
            break;
        }
        count--;
    }    

    printf("注定孤独一生
");
    system("say fuck 
");    

    return 0;
}                

break     continue:

  break用于跳出整个循环

  continue用于跳出本次循环   直接进入下一次循环的条件判断

do while 格式:

do
 {
    语句;
    ...
 }while (条件表达式); 

与while的区别:

   while如果条件表达式一开始就不满足, 那么循环体永远不会被执行

   do while如果条件表达式一开始就不满足, 同样会执行一次循环体

   也就是说: 无论条件表达式是否满足, do while始终会执行一次循环体,先干一次再说

 

 

原文地址:https://www.cnblogs.com/dx-230/p/4753601.html