zoukankan      html  css  js  c++  java
  • 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始终会执行一次循环体,先干一次再说

     

     

  • 相关阅读:
    SL复习笔记之平稳转型——基础篇(二、控件和数据访问)
    UML之用例图和类图
    SL复习笔记之平稳转型——基础篇(四、多媒体,工具提示和右键菜单)
    SL复习笔记之平稳转型——基础篇(一)
    SL复习笔记之平稳转型——基础篇(三、SL安装检测和用“刷子”刷出背景)
    平稳转型WP系列之在Windows Phone中谈“委托”、“事件”和“接口”(一、深入理解)
    UML建模之活动图和StarUML使用
    SL复习笔记之平稳转型——基础篇(五、数据绑定)
    使用html parser
    设计模式工厂模式
  • 原文地址:https://www.cnblogs.com/dx-230/p/4753601.html
Copyright © 2011-2022 走看看