一. 格式:

   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. android系统联系人分组特效实现(1)---分组导航和挤压动画

    1.打开activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andr ...

  2. Qt编程的一些技巧

    1.Qt程序在运行过程中,调用函数(如lcdNumber->display(num))显示数据到界面上时,并不会马上刷新屏幕显示,而是要等主程序运行到函数a.exec()时,才刷新屏幕,如下 因 ...

  3. Java性能监控之Instrumentation

    注:网上摘取的资料整理出来,供大家学习理解,希望有所帮助. 1.1.      Instrumentation 简介 利用 Java 代码,即 java.lang.instrument 做动态 Ins ...

  4. 【距离GDKOI:44天&GDOI:107天】【BZOJ1040】[ZJOI2008] 骑士 (环套树DP)

    其实已经准备退役了,但GDOI之前还是会继续学下去的!!当成兴趣在学,已经对竞赛失去信心了的样子,我还是回去跪跪文化课吧QAQ 第一道环套树DP...其实思想挺简单的,就把环拆开,分类处理.若拆成开的 ...

  5. 在Android和iOS中集成flutter

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

  6. 论文笔记《Deep Hand: How to Train a CNN on 1 Million Hand Images When Your Data Is Continuous and Weakly Labelled》

    一.概述 这个是最近的核心工作了,基本上都是靠着这篇paper的model过日子了啊.. 论文主要讲的是hand gesture recognition,实际上是用googlenet做的一个class ...

  7. Class-dump

    What is class-dump? This is a command-line utility for examining the Objective-C runtime information ...

  8. 使用jdbc连接oracle数据库时遇到的一些问题

    第一个问题:驱动名称错误 错误截图如下: 从错误提示可以看出,oracle少写了一个'a',手误对程序员来说是经常发生的事,有时能够及时发现纠错,有时就容易忽略. 建议大家将写好的测试无误的保存起来, ...

  9. linux下有的目录有可执行权限

    在linux里面,目录也是一个文件.权限设置方法与普通文件一样.目录的可执行权限:目录无所谓执行不执行,目录只能否被开启(也称作“遍历”或“搜索”)对目录的执行权限不仅意味着查看目录下文件名还允许查看 ...

  10. 控制属性为multiple的select

    需求:实现点击查询,搜索对应渠道已投放.未投放批次.如图: html: <div class="form-inline margin-top-20"> <div ...