一. 格式:

   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. ironic state information

    参考: http://blog.csdn.net/zhonglinzhang/article/details/74202562 http://blog.csdn.net/wanghuiict/arti ...

  2. CI框架入门

    本人最近在学习CI框架,网上找到一些个人觉得入门比较好的资料,记录一下: 兄弟连的CI框架入门系类: [军哥谈CI框架]之入门教程之第一讲:codeigniter的介绍和安装配置:http://bbs ...

  3. 架构师入门ing

    算法竞赛水平一般,算法工程师估计遥遥无期,准备开始架构方面的学习. 单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流. 在一个团队里,架构师充当了技 ...

  4. hadoop 客户的的使用

    ${HADOOP_HOME}/bin/hadoop job Usage: JobClient <command> <args> [-submit <job-file> ...

  5. 从 C10K 到 C500K

    国外的 Urban Airship 公司的工程师在其官方网志上发文章介绍他们在产品环境中做到 50 万并发客户端,Java + Pure NIO 的实现,最近又有文章介绍针对 Linux Kernel ...

  6. EXTJS4.0 显示图片 动态图片

    在网上找了好久没有好的解决方法 都是用 'box' 什么的组件 改写的 autoEl 好麻烦,修改 好的属性都不能用.弄了好久没弄成 最后: 用panel  显示 html 文本 追加 ‘'<i ...

  7. @Transactional(rollbackFor=Exception.class)的作用

    在项目中,@Transactional(rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方 法抛出异常,就会回滚,数据库里面的数据也会回滚. 这种设置是因 ...

  8. 转:Java NIO(2)

    java.nio包是Java在1.4之后增加的,用来提高I/O操作的效率.在nio包中主要包括以下几个类或接口: * Buffer:缓冲区,用来临时存放输入或输出数据. * Charset:用来把Un ...

  9. 洛谷T8116 密码

    T8116 密码 题目描述 YJC把核弹发射密码忘掉了……其实是密码被加密了,但是YJC不会解密.密码由n个数字组成,第i个数字被加密成了如下形式:第k小的满足(2^L)|(P-1)且P为质数的P.Y ...

  10. API函数的学习与运用

    1.窗口 1.获取最前方的窗口句柄 GetForegroundWindow() 返回值:HWND类型. 调用方式:HWND hwnd=GetForegroundWindow();即hwnd就存着你的窗 ...