一. 格式:

   1:  while (条件)
   2:   
   3:  {
   4:   
   5:  循环体
   6:   
   7:  }
   8:   

二.运行原理

1.如果一开始条件就不成立,永远不会执行循环体

2.如果条件成立,就会执行一次循环体,执行完毕,再次判断条件是否成立......

三.while常用的两个语句:break和continue

   1:  int count = 0;
   2:   
   3:  while (count<50)
   4:   
   5:  {
   6:   
   7:  ++count;
   8:   
   9:  if (count%10 != 0)
  10:   
  11:  {
  12:   
  13:  printf("做第%d次俯卧撑\n", count);
  14:   
  15:  }
  16:   
  17:  }
  18:   

1.break,直接结束整个while循环

   1:  int count=0;
   2:   
   3:  while (count < 50)
   4:   
   5:  {
   6:   
   7:  ++count;
   8:   
   9:  printf("做第%d次俯卧撑\n", count);
  10:   
  11:  if (count == 20)
  12:   
  13:  {
  14:   
  15:  break;
  16:   
  17:  }
  18:   
  19:  }
  20:   
  21:  return 0;
  22:   
  23:  }
  24:   

2.continue,结束当前的循环体,进入下一次循环体的执行

   1:  int count=0;
   2:   
   3:  while (count<50)
   4:   
   5:  {
   6:   
   7:  ++count;
   8:   
   9:  if (count%10 == 0)
  10:   
  11:  {
  12:   
  13:  // 直接结束这一次循环体,进入下一次循环
  14:   
  15:  continue;
  16:   
  17:  }
  18:   
  19:  printf("做第%d次俯卧撑\n", count);
  20:   
  21:  }
  22:   

四.while语句常见死循环

1.最简单的死循环

   1:  while(1);

2. 永无止境的”哈哈哈”

   1:  while (10)
   2:   
   3:  {
   4:   
   5:  printf("哈哈哈哈\n");
   6:   
   7:  }
   8:   

五.while应用小例子

   1:  /*
   2:  
   3:  提示用户输入一个正整数n,计算1+2+3+…+n的和
   4:  
   5:  */
   6:   
   7:  #include <stdio.h>
   8:   
   9:  int main()
  10:   
  11:  {
  12:   
  13:  // 1.提示输入
  14:   
  15:  printf("请输入一个正整数:\n");
  16:   
  17:  // 2.接收输入
  18:   
  19:  // 定义变量保存用户输入的整数
  20:   
  21:  int n;
  22:   
  23:  scanf("%d", &n);
  24:   
  25:  if (n<=0)
  26:   
  27:  {
  28:   
  29:  printf("非法输入\n");
  30:   
  31:  return 0;
  32:   
  33:  }
  34:   
  35:  // 3.计算
  36:   
  37:  // (1 + n) * n / 2;
  38:   
  39:  // 定义变量保存和
  40:   
  41:  int sum = 0;
  42:   
  43:  int number = 0; // 默认被加的数值
  44:   
  45:  while (number < n)
  46:   
  47:  {
  48:   
  49:  number++;
  50:   
  51:  sum += number; // 累加
  52:   
  53:  }
  54:   
  55:  printf("%d\n", sum);
  56:   
  57:  return 0;
  58:   
  59:  }
  60:   

C语言基础之while的使用的更多相关文章

  1. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  2. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(上)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 一.SQL Server体系结构 1.1 数据库 ...

  3. C#语言基础

    第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...

  4. C语言基础回顾

    第一章 C语言基础 1.  C语言编译过程 预处理:宏替换.条件编译.头文件包含.特殊符号 编译.优化:翻译并优化成等价的中间代码表示或汇编代码 汇编:生成目标文件,及与源程序等效的目标的机器语言代码 ...

  5. 黑马程序员_ C语言基础(二)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概览 今天基础知识分为以下几点内容(注意:循环.条件语句在此不再赘述):   1.Hello W ...

  6. C#语言基础— 输入与输出

    C#语言基础— 输入与输出 1.1函数的四要素:名称.输入.输出.加工 1.2主函数:输出语句.输入语句: Static viod Main(string[] stgs)//下划线部分可以自己指定 { ...

  7. 【GoLang】GO语言系列--002.GO语言基础

    002.GO语言基础 1 参考资料 1.1 http://www.cnblogs.com/vimsk/archive/2012/11/03/2736179.html 1.2 https://githu ...

  8. R语言基础:数组&列表&向量&矩阵&因子&数据框

    R语言基础:数组和列表 数组(array) 一维数据是向量,二维数据是矩阵,数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的. 数组函数是array(),语法是:array(dadta, d ...

  9. OC语言基础知识

    OC语言基础知识 一.面向对象 OC语言是面向对象的,c语言是面向过程的,面向对象和面向过程只是解决问题的两种思考方式,面向过程关注的是解决问题涉及的步骤,面向对象关注的是设计能够实现解决问题所需功能 ...

  10. Java学习总结(二)----Java语言基础

    1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,i ...

随机推荐

  1. Day2 Activity生命周期/启动模式/最佳实践

    Android是使用任务(Task)来管理活动的,这个栈被称作返回栈(Back Stack). Activity类中定义了7个回调方法: onCreate().在活动第一次被创建时调用,应该在这个方法 ...

  2. 实用JS系列——事件类型

    事件就是用户对窗口上各种组件的操作.JS中的事件中的事件即由访问Web页面的用户引起的一系列的操作.一般用于浏览器和用户操作进行交互,例如:用户的单击事件等. 类型分为: 内联模型.脚本模型和DOM2 ...

  3. 【bzoj5017】[Snoi2017]炸弹 线段树优化建图+Tarjan+拓扑排序

    题目描述 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸时,如果另一个炸弹所在位置 Xj 满足:  Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被引爆.  现在 ...

  4. P1194 买礼物

    题目描述 又到了一年一度的明明生日了,明明想要买B样东西,巧的是,这B样东西价格都是A元. 但是,商店老板说最近有促销活动,也就是: 如果你买了第I样东西,再买第J样,那么就可以只花K[I,J]元,更 ...

  5. PHP高级——抽象类与接口的区别

    在学习PHP面向对象时,都会在抽象类与接口上迷惑,作用差不多为什么还那么容易混淆,何不留一去一?但是事实上两者的区别还是很大的,如果能够很好地运用PHP的两个方法,面向对象的程序设计将会更加合理.清晰 ...

  6. html li css选中状态切换

    思路:点击当前li元素后是用removeClass()删除所有兄弟元素(使用siblings()获取)的class样式,然后使用addClass()为当前li添加class. 具体演示如下: 1.HT ...

  7. DB2设置code page(日文943)

    为了便于 DB2 在执行 DB2 命令或语句之后显示错误.警告和指示性消息,必须安装您期望使用的语言的 DB2 消息文件集.因为 DB2 有基于语言分组的不同分发版,您必须验证安装 CD-ROM 上有 ...

  8. Codeforces Round #324 (Div. 2) A

    A. Olesya and Rodion time limit per test 1 second memory limit per test 256 megabytes input standard ...

  9. 2016"百度之星" - 初赛(Astar Round2A)HDU 5695 拓扑排序+优先队列

    Gym Class Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  10. MAP的get与containskey

    前提是:Map可以出现在k与v的映射中,v为null的情况, 所以containsKey出现更加必要. map.get(key)是得到的key所对应的value值. map.contains(key) ...