一. 格式:

   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. hnust py road

    问题 C: Py Road 时间限制: 1 Sec  内存限制: 128 MB提交: 125  解决: 34[提交][状态][讨论版] 题目描述 Life is short,you need Pyth ...

  2. Linux 内核数据结构bitmap

    #include <stdio.h> #include <stdlib.h> #define MAX_PRIO 10000 #define BITS_PER_LONG 32 # ...

  3. SVN基本介绍

    SVN是一种项目合作开发的软件,参与项目的人员可以在不同的地方实现文件和目录的超时空共享. 两个重要的概念: 1.配置库(Repository) SVN的核心是配置库,储存所有的数据,配置库按照文件树 ...

  4. PHP上传多文件

    知识点: 一.$_FILES数组 ①.$_FILES['filename']['name']上传文件原名 ②.$_FILES['filename']['tmp_name']上传成功后的缓存文件名 ③. ...

  5. weex 开发 (已放弃了)

    关于weex 开发 本菜已放弃使用了,当初选择使用weex 是为了同时支持h5 和 android / ios  三端:想法很不错,深入之后 突然发现,开发起来并没有很轻松,因为weex 中有些方法, ...

  6. Struts1 Spring2 iBatis2 框架的集成

    这个是属于比较老的框架了,奈何现在公司用的产品就是如此,闲来就搭一个集成框架吧 依赖jar包 antlr-.jar aspectj-.jar aspectjrt.jar aspectjweaver-. ...

  7. Codeforces Round #522 (Div. 2) C. Playing Piano

    C. Playing Piano 题目链接:https://codeforces.com/contest/1079/problem/C 题意: 给出数列{an},现在要求你给出一个数列{bn},满足: ...

  8. js函数的参数

    js函数的参数: js是弱类型的编程语言,调用函数时既不在乎函数的参数,也不在意参数的类型 即便你定义的函数值接受两个参数,在调用这个函数时也未必一定要是两个参数.可以传递一个.三个甚至不传递参数,而 ...

  9. 百度之星复赛T6&&hd6149 ——Valley Numer II

    Problem Description 众所周知,度度熊非常喜欢图. 它最近发现了图中也是可以出现 valley —— 山谷的,像下面这张图. 为了形成山谷,首先要将一个图的顶点标记为高点或者低点.标 ...

  10. ajax+json模态框中分页(spring+struts+mybatis+easyui分页插件)

    0.业务需求: 点击每个数字的时候可以显示每个对应的详细记录.也就是得点击11的时候拿着开采部与C级去查询.