C语言while循环

C语言随笔 专栏收录该内容
46 篇文章 19 订阅

1、while循环介绍

while循环的一般形式为:

  while (表达式)
  {
    语句块
  }

意思是,先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值为假,就不再执行语句块。

循环也常常出现在我们的生活中,以超女选秀为例。

  // 超女已准备出场

  while (是否有未出场的超女)
  {
    // 判断超女的年龄
    // 判断超女的身材
    // 判断超女的颜值
    // 送往后宫
  }

超女选秀就是一个循环,是否有未出场的超女是循环首部要判断的条件,它的取值会随着循环次数的增加而改变,判断超女的年龄、判断超女的身材、判断超女的颜值、送往后宫是循环体,随着循环次数的增加,全部的超女已出场,循环体不再执行。

2、循环的跳转

continue和break两个关键字用在循环体中,用于控制循环体代码的执行流程。

continue跳转到循环的首部。

break跳出循环。

以超女选秀为例:

  // 超女已准备出场

  while (是否有未出场的超女)
  {
    // 判断超女的年龄
    if (年龄小于16) continue;
    // 判断超女的身材
    if (身材不火辣) continue;
    // 判断超女的颜值
    if (颜值不漂亮) continue;
    // 判断已选出的超女数量,如果已经有10位了,就不要再选了
    if (已选出的超女数量等于10) break;
  }

  // 送往后宫

超女出场后,先看看身份证上的年龄,如果不够16岁,没到法定年龄,评委就会说直接下一个,即continue,这个不够16岁的小姑娘直接回家。

如果本次选秀的任务是选出10位超女,如果选出的超女已经有10位了,活动结束,即break,没选上的和没出场的直接回家。

3、while循环的应用

利用一个循环,把用户每次从键盘输入的数据累加起来,如果总和超过了5000,循环结束。

/*
 *  程序名:book31.c,此程序用于演示while循环 
 *  作者:C语言技术网(www.freecplus.net) 日期:20190525
*/
#include <stdio.h>

int main()
{
  int times=0;   // 记录用户输入数据的次数
  int value=0;   // 用户每次从键盘输入的数据
  int sum=0;     // 记录用户输入数据的和

  while (sum<5000)  // 如果sum的值小于5000,进入循环
  {
    printf("请输入数字:");    // 提示用户输入
    scanf("%d",&value);        // 接受用户从键盘输入的数据

    times++;                   // 用户输入数据的次数自增1
    sum=sum+value;             // 记录用户输入数据的和
  }

  printf("您一共输入了%d个数据,和为%d。\n",times,sum);
}

运行效果
在这里插入图片描述

4、do while循环

do while循环的一般形式为:

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

do while先执行一次循环,然后再判断表达式的值,如果为真,再执行一次循环体,如此重复下去。

在实际开发中,几乎不用 do while,所以就不讲它了。

4、获取视频教程

百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
https://edu.csdn.net/course/play/29402

5、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

来源:C语言技术网(www.freecplus.net

作者:码农有道

如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

  • 15
    点赞
  • 4
    评论
  • 44
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值