while循环格式:  

   while (条件表达式)  
{
  语句;
  ...
  }  

执行说明:

while是对给定的条件进行判断, 如果条件满足, 就执行while后面大括号中的内容, 执行完毕之后会再次判断条件表达式, 如果满足会再次执行while后面大括号中的内容(循环体), 直到条件表达式不满足为止

应用场景:

当我们需要一次又一次的执行相同的代码块的时候就可以使用while

步骤:

0.先将while的格式写好

1.找到需要重复执行的代码, 将需要重复执行的代码放到循环体中

2.确定结束条件(确定条件表达式)

使用举例:

    // 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 2.定义变量保存用户输入的整数
int number = -; // 3.接收用户输入的整数
scanf("%i", &number); // 4.安全校验
/*
if (number <= 0) {
return 0; // 结束函数
// break; // 注意: break只能用在switch和循环结构中, 离开这两个东西没有任何效果
}
*/
while (number <= ) {
// 1.提示用户输入一个整数
printf("请输入一个整数\n"); // 3.接收用户输入的整数
scanf("%i", &number);
} // 5.根据用户输入的整数计算结果
int sum = ;
int count = ;
while (count <= number) {
// int sum = 0; // 注意, 不能写到这个地方, 因为写到这里是一个局部变量, 作用域是从定义的这一行开始, 一直到循环体结束, 每次进来都会重新定义一个
// int count = 1; printf("%i + %i\n", sum , count);
sum = sum + count;
count++;
} printf("sum = %i\n", sum);

示例2:

 // 获取1~100之间 7的倍数的个数并打印,并统计个数
int number = ;
int count = ;
while (number <= ) {
printf("%i\n", number);
if (number % == ) {
// 证明当前的数是7的倍数
count++;
printf("7的倍数是 %i\n", number);
}
number++;
}
printf("sum = %i\n", count);

还有哪些可以用循环呢

  什么密码输入错了3次后就给你锁了

  QQ加好友加几个就要验证码了

    …..

你猜我多大了???

#include <stdio.h>
#include <stdlib.h> int main(int argc, const char * argv[]) { // 去和美女搭讪,美女要求猜出她的年龄她就和你交往
// 美女给你3次机会猜她的年龄
// 让用户输入一个年龄(代表着用户猜的年龄)
// 让电脑随机产生一个年龄(代表美女的年龄) int count = ;
// 随机生成美女的年龄
int girl = -;
// 生成一个0~19岁的年龄
girl = arc4random_uniform();
//printf("girl = %d", girl);
while (count > ) {
// 1.提示用户猜年龄
printf("猜猜姐的年龄\n");
system("say age \n");
// 2.接收用户输入的年龄
int age = -;
scanf("%d", &age);
// 4.判断是否猜中
if (age > girl) {
printf("姐有那么老吗?姐很生气!\n");
system("say no \n");
}
else if (age < girl)
{
printf("姐太开心了?但是还是不对哦!\n");
system("say no \n");
}
else
{
printf("你就是我的死冤家\n");
system("say yes \n");
break;
}
count--;
} printf("注定孤独一生\n");
system("say fuck \n"); return ;
}

break     continue:

  break用于跳出整个循环

  continue用于跳出本次循环   直接进入下一次循环的条件判断

do while 格式:

do
{
语句;
...
}while (条件表达式);

与while的区别:

   while如果条件表达式一开始就不满足, 那么循环体永远不会被执行

  do while如果条件表达式一开始就不满足, 同样会执行一次循环体

  也就是说: 无论条件表达式是否满足, do while始终会执行一次循环体,先干一次再说

C语言基础--while循环的更多相关文章

  1. [08 Go语言基础-for循环]

    [08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...

  2. 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题

    写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...

  3. C语言基础--for循环

    for循环格式: for (初始化表达式;条件表达式;循环后增量表达式) { 语句; ... } 条件表达式: 和while, dowhile一样, 只有条件满足才会执行循环体 初始化表达式: 在整个 ...

  4. C语言基础知识-循环结构

    用while打印出1~100之间7的倍数    int i = 1;     while循环是当条件表达式的结果为真时,执行大括号里面的循环体,重复执行直到条件表达式的结果为假时结束循环.     w ...

  5. 【C语言基础】循环体系

    1.For循环结构: For循环的一般形式为: for (表达式1 初始化:判断条件:自增自减) { 语句块 } 2.while循环结构: while循环的一般的形式为: 表达式1 初始化 while ...

  6. C语言基础:常见循环语句 分类: iOS学习 c语言基础 2015-06-10 21:46 13人阅读 评论(0) 收藏

    for语句 for( 初始化表达式; 循环判断条件  ;增量表达式); while(条件表达式){ 循环体; } 先判断条件表达式,如果为真就执行循环体,执行完再去判断条件表达式 do{ 循环体; } ...

  7. Java入门 - 语言基础 - 09.循环结构

    原文地址:http://www.work100.net/training/java-loop.html 更多教程:光束云 - 免费课程 循环结构 序号 文内章节 视频 1 概述 2 while循环 3 ...

  8. 【C语言基础】unsigned short类型用于循环的一个难点

    我在我的知识星球:“C语言解惑课堂”里的第一篇提出一个问题:[第1篇][C语言基础][unsigned short类型用于循环的一个难点]要查看更多的C语言难点解析或者需要提问的同学,微信扫扫文末我的 ...

  9. C语言基础回顾

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

随机推荐

  1. TortoiseSVN文档

    https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html TortoiseSVN 针对 Windows 平台的 Subvers ...

  2. /dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY

    系统强制断电后,出现以下错误: /dev/sda3: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY 启动系统后在字符界面有两个选项,输入root密码进入维护模 ...

  3. Java多线程同步的方法

    一 synchronized关键字 1.synchronized实现原理: ---基于对象监视器(锁) java中所有对象都自动含有单一的锁,JVM负责跟踪对象被加锁的次数.如果一个对象被解锁,其计数 ...

  4. AngularJS的directive(指令)配置选项说明

    js代码如下: var appModule = angular.module("appModule", []); appModule.controller("Ctrl&q ...

  5. Selenium解决页面元素不在视野范围内的问题

    当需要使用滚动条才能使页面元素显示在视野范围内时,必须用代码处理下,才能对其进行操作. 处理其实也很简单,就是调用JS函数. driver.executeScript("arguments[ ...

  6. 有关mipmaps

    Mipmaps的作用是什么,仅仅是为了使屏幕三角形和纹理三角形的差异变小?有没有以空间换时间的理念? Mipmaps在生成一系列小的纹理样本时, 是如何从原始纹理采样的?即如何生成这些小的纹理样本.

  7. base(C# 参考)

    原文地址:https://msdn.microsoft.com/zh-cn/library/hfw7t1ce.aspx base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法 ...

  8. 简单的Hibernate入门简介

    其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持.然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西, ...

  9. ubuntu14.04LS中安装SSH

    我只能说: 蛋疼了 因为 1.曾经12.04和13.10的源已经不能使用了(PS毕竟支持的时间到了) 2网上有好多说是更新源的 , 打开etc/...文件 ,然后粘贴一下他们给的源的地址 或许有些是可 ...

  10. 集成 Apple Pay

    作者感言 在中秋过后终于把国内的三大支付平台SDK集成都搞定了, 现在我们终于可以来研究Apple自家的支付Apple Pay最后:如果你有更好的建议或者对这篇文章有不满的地方, 请联系我, 我会参考 ...