一. 格式:

   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. 原始套接字--traceroute

    traceroute, 也就是 trace route,跟踪路由.这个程序最早是Van Jacobson实现的.源码在网上可以找到,不过我还没有去找.是IP路由过程中对数据包TTL(Time to L ...

  2. 系统编程--文件IO

    1.文件描述符 文件描述符是一个非负整数,当打开一个现有文件或创建一个新文件时候,内核向进程返回一个文件描述符,新打开文件返回文件描述符表中未使用的最小文件描述符.Unix系统shell使用文件描述符 ...

  3. [部署开发环境]部署django的生成环境nginx+uwsgi+django

    #教程 # ubuntu部署django项目 # 部署准备 - ubuntu操作系统 -- vagrant虚拟 - Nginx服务器 -- 安装在ubuntu的web服务器 - uWSGI应用协议服务 ...

  4. zabbixproxy安装

    目录 1     zabbix3.2安装.... 1 2     安装proxy. 1 2.1      安装zabbix-proxy. 1 2.1.1 配置zabbix yum源.... 1 2.1 ...

  5. thinkphp3.2 学习笔记 基础篇

    环境要求:PHP5.3以上版本注意:PHP5.3DEV和php6不支持 目录结构 www WEB部署目录(或者子目录)├─index.php 入口文件├─README.md README文件├─App ...

  6. HTML5 localStorage与document.domain设置问题

    localStorage的写入和读取,不能跨子域,否则在一些移动端浏览器上,会出现读取不到的情况. 最近开发一个移动端的播放记录功能,在pc端和android版的chrome测试很顺利通过了,但后来进 ...

  7. 在Android和iOS中集成flutter

    flutter可能是未来跨平台开发的又一技术框架,那么对于一个app,我们不可能完全用flutter来开发,那么就意味着我们需要在已有的Android和iOS代码中去集成flutter.目前这一技术还 ...

  8. BZOJ1086 [SCOI2005]王室联邦 【dfs + 贪心】

    题目 "余"人国的国王想重新编制他的国家.他想把他的国家划分成若干个省,每个省都由他们王室联邦的一个成 员来管理.他的国家有n个城市,编号为1..n.一些城市之间有道路相连,任意两 ...

  9. ubuntu启动报错 Errors were found while checking the disk-drive for /

    开机报这个错误,主要原因是硬盘检测不通过导致的,下面介绍两种方法规避该问题: 修改grub 这个方法网上比较多,直接贴过来: 进入Ubuntu启动菜单时,光标选中 *Ubuntu 后,按键盘上的 e ...

  10. spring in action学习笔记十五:配置DispatcherServlet和ContextLoaderListener的几种方式。

    在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的 ...