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 }
     
     
  • 相关阅读:
    LightOJ 1132 Summing up Powers(矩阵快速幂)
    hdu 3804 Query on a tree (树链剖分+线段树)
    LightOJ 1052 String Growth && uva 12045 Fun with Strings (矩阵快速幂)
    uva 12304 2D Geometry 110 in 1! (Geometry)
    LA 3263 That Nice Euler Circuit (2D Geometry)
    2013 SCAUCPC Summary
    poj 3321 Apple Tree (Binary Index Tree)
    uva 11796 Dog Distance (几何+模拟)
    uva 11178 Morley's Theorem (2D Geometry)
    动手动脑
  • 原文地址:https://www.cnblogs.com/dssf/p/4570036.html
Copyright © 2011-2022 走看看