zoukankan      html  css  js  c++  java
  • 【学习笔记】【C语言】循环结构-while

    1. 简单使用

    while ( 条件 )
    {
        语句1;
        语句2;
        ....
    }

    如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环

    while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行.

    可以省略大括号{},但是只会影响到while后面的第一条语句。不建议省略大括号。

    while ( 条件 ) 
    语句1;

    2.代码
     1 #include <stdio.h>
     2 
     3 /*
     4  if (条件)
     5  {
     6  
     7  }
     8  
     9  while (条件)
    10  {
    11     循环体
    12  }
    13  
    14  运行原理
    15  1.如果一开始条件就不成立,永远不会执行循环体
    16  2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......
    17  
    18  break
    19  直接结束整个while循环
    20  
    21  continue
    22  结束当前的循环体,进入下一次循环体的执行
    23  
    24  */
    25 
    26 int main()
    27 {
    28     // 1.先确定需要重复执行的操作
    29     
    30     // 2.再确定约束条件
    31     
    32     // 定义一个变量记录做的次数
    33     int count = 0;
    34     
    35     /*
    36     while (count<50)
    37     {
    38         ++count;
    39         
    40         if (count%10 != 0)
    41         {
    42             printf("做第%d次俯卧撑
    ", count);
    43         }
    44     }*/
    45     
    46     /*
    47     while (count<50)
    48     {
    49         ++count;
    50         
    51         if (count%10 == 0)
    52         {
    53             // 直接结束这一次循环体,进入下一次循环
    54             continue;
    55         }
    56         
    57         printf("做第%d次俯卧撑
    ", count);
    58     }*/
    59     
    60     while (count < 50)
    61     {
    62         ++count;
    63         
    64         printf("做第%d次俯卧撑
    ", count);
    65         
    66         if (count == 20)
    67         {
    68             break;
    69         }
    70     }
    71     
    72     
    73     return 0;
    74 }

    练习

     1 /*
     2  提示用户输入一个正整数n,计算1+2+3+…+n的和
     3  */
     4 
     5 #include <stdio.h>
     6 
     7 int main()
     8 {
     9     // 1.提示输入
    10     printf("请输入一个正整数:
    ");
    11     
    12     // 2.接收输入
    13     // 定义变量保存用户输入的整数
    14     int n;
    15     scanf("%d", &n);
    16     
    17     if (n<=0)
    18     {
    19         printf("非法输入
    ");
    20         return 0;
    21     }
    22     
    23     // 3.计算
    24     // (1 + n) * n / 2;
    25     // 定义变量保存和
    26     int sum = 0;
    27     int number = 0; // 默认被加的数值
    28     
    29     while (number < n)
    30     {
    31         number++;
    32         sum += number; // 累加
    33     }
    34     
    35     printf("%d
    ", sum);
    36     
    37     return 0;
    38 }
     1 /*
     2 题目:计算1~100中所有3的倍数的个数
     3 */
     4 
     5 #include <stdio.h>
     6 
     7 int main()
     8 {
     9     // 记录3的倍数的个数
    10     int count = 0;
    11     
    12     // 记录当前检查的数值
    13     int number = 0;
    14     
    15     while (number < 100)
    16     {
    17         number++;
    18         
    19         // 说明number是3的倍数
    20         if (number%3 == 0)
    21         {
    22             count++;
    23         }
    24     }
    25     
    26     printf("1~100内3的倍数的个数:%d
    ", count);
    27 }

    3.注意点

     1 #include <stdio.h>
     2 
     3 int main()
     4 {
     5     /*
     6     while (10)
     7     {
     8         printf("哈哈哈哈
    ");
     9     }*/
    10     
    11     /*
    12     int a = 10;
    13     // while (a>0); 死循环
    14     while (a>0)
    15     {
    16         a--;
    17         printf("哈哈哈
    ");
    18     }*/
    19     
    20     // 最简单的死循环
    21     //while(1);
    22     
    23     return 0;
    24 }
     
     
  • 相关阅读:
    BZOJ 5059: 前鬼后鬼的守护 可并堆 左偏树 数学
    BZOJ 1975: [Sdoi2010]魔法猪学院 大水题 第k短路 spfa
    BZOJ 4003: [JLOI2015]城池攻占 左偏树 可并堆
    BZOJ 3091: 城市旅行 lct 期望 splay
    2018/3/27 省选模拟赛 140分
    BZOJ 2959: 长跑 lct 双联通分量 并查集 splay
    2018/3/26 省选模拟赛 60分
    快速排序
    插入排序法
    快速排序的两种方法
  • 原文地址:https://www.cnblogs.com/dssf/p/4570036.html
Copyright © 2011-2022 走看看