while循环

只要给定的条件为真,C 语言中的 while 循环语句会重复执行一个目标语句。


一、格式

while(condition)
{statement(s);
}
  • 其中表达式代表了循环条件,整个statements为循环体。
  • 条件为true时执行循环
  • 条件为false时,退出循环,执行while循环后的语句

while语句规范:
1:{和}自成一行
2:statements自动缩进

二、流程图

入口条件循环

  • while 循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。
  • 使用while(true)的时候,需要在合适的时候,用break退出,不然就是死循环。

三、经典例题

输入一个数,判断它是几位数

#include <stdio.h>int main( void )
{int num;int count = 1;scanf("%d",&num);while(1){if(num/10 != 0){num = num/10;count++;}else{printf("你输入的数是%d位数",count);break;}}
}

输入一个数,判断它是素数

#include <stdio.h>int main()
{int n,i;scanf("%d", &n ); //输入一个数i=2;while( i<n ) //从2到n检查是否有因数{if ( n%i == 0 ) //如果有因数则退出循环break ;i++;}if ( i>=n ) //如果循环完整了,从2到n无因数,则是素数printf("%d是素数\n", n );elseprintf("%d不是素数\n", n ); //提前退出循环,i一定小于nreturn 0;
}

四、嵌套的while循环

while(condition)
{statement(s);while(condition){statement(s);}
}

do…while循环

do…while 循环在循环的尾部检查它的条件,do…while 循环会确保至少执行一次循环。


一、格式

do
{statement(s);
}
while( condition );
  • 先执行一次指定的循环体语句,然后判别表达式,当表达式的值为真(非0)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。其特点是:先执行循环体,然后判断循环条件是否成立
  • 循环中的 statement(s) 会在条件被测试之前至少执行一次。

二、流程图

出口条件循环

这个过程会不断重复,直到给定条件变为假为止。

三、经典例题

1-100数之和

#include <stdio.h>
void main()
{int i,sum=0;i=1;do{sum=sum+i;i++;}while(i<=100);printf("%d\n",sum);
}

猜数字

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main()
{srand(time(0));int number = rand()%100+1;    //设出一个100以内的数int count = 0;int a = 0;printf("我已经想好了一个1到100之间的数。");do{printf("猜猜这个数是什么:");scanf("%d", &a);count ++;if(a > number){printf("你猜的数大了。\n");}else if(a < number){printf("你猜的数小了。\n");}} while (a != number);printf("太棒了,你只用了%d次就猜对了。 \n",count);return 0;
}

四、嵌套的do…while循环

  1. 格式

    do
    {statement(s);do{statement(s);... ... ...}while (condition2);... ... ...
    }while (condition1);
    
  2. 例题
    #include <stdio.h>
    int main()
    {int i=1,j;do{j=1;do{printf("*");j++;}while(j <= i);i++;printf("\n");}while(i <= 5);return 0;
    }
    

C语言——while循环相关推荐

  1. Java语言的循环控制结构

    Java语言的循环控制结构 循环控制结构:是在一定条件下,反复执行某段程序的流程结构,被反复执行的程序称为循环体.循环控制结构是程序中非常重要和基本的一种结构,它是由循环语句来实现的. Java 的循 ...

  2. c语言for循环的第三句,for循环语句的用法

    for循环有三种结构:列表for循环,不带列表for循环和类C风格for循环. do和done之间的命令成为循环体,执行次数和list列表中常熟或字符串的个数相同.for循环,首相是将in后list的 ...

  3. c语言for循环说课稿,C语言FOR循环说课稿.docx

    C语言FOR循环说课稿 各位评委老师上午好,我今天说课的内容是"FOR循环"(板书),下面我将从教材的地位及作用.学生学情.教学目标.教学重难点.教法.学法.教学过程.教学效果的预 ...

  4. c语言 程序循环,C语言程序设计-循环例子

    <C语言程序设计-循环例子>由会员分享,可在线阅读,更多相关<C语言程序设计-循环例子(28页珍藏版)>请在人人文库网上搜索. 1.C 语言程序设计基础篇,第 7 章 简单程序 ...

  5. 《零基础看得懂的C语言入门教程 》——(七)C语言的循环分分钟上手

    一.学习目标 了解循环的使用方法 目录 C语言真的很难吗?那是你没看这张图,化整为零轻松学习C语言. 第一篇:(一)脱离学习误区 第二篇:(二)C语言没那么难简单开发带你了解流程 第三篇:(三)轻轻松 ...

  6. c语言 char c1,c2; for (c1='0',C语言-5循环结构(PPT)复习课程.ppt

    C语言-5循环结构(PPT)复习课程.ppt 第五章 循环结构程序设计;课程引入;第五章 循环结构程序设计;5.1 while 语句;例1:求;1. do-while循环语句的形式 do 循环体 wh ...

  7. C语言for循环的嵌套例题,c语言 for循环的嵌套(含答案)

    c语言 for循环的嵌套(含答案) 第 33.34 课时 for 循环的嵌套实验题一:1.下面程序的功能是计算:至 50 中是 7 的倍数的数值之和,请选择填空.D#include main() in ...

  8. C语言 while 循环 - C语言零基础入门教程

    目录 一.while 循环简介 1.while 循环语法 2.while 使用 二.while 循环中使用 break 三.while 循环中使用 continue 四.猜你喜欢 零基础 C/C++ ...

  9. C语言 for 循环 - C语言零基础入门教程

    目录 一.for 循环简介 1.for 循环语法简介 2.for 循环代码执行步骤 3.for 循环适用场景 4.for 循环嵌套 二.for 循环实战 1.简单的 for 循环实现累计求和:1+2+ ...

  10. c语言for循环++_C ++程序使用循环查找数字的幂

    c语言for循环++ Here, we are going to calculate the value of Nth power of a number without using pow func ...

最新文章

  1. python大神-Python代码怎么写,听听顶尖Python大神的建议
  2. docker 常用命令(1)
  3. android tablerow 间隔,android-如何使TableRow从右到左
  4. 物联网、工业互联网大数据的特点
  5. HTML文字阴影荧光,小编,文章里的“发光”文字怎么做的?
  6. Centos7 Kubernetes(k8s) 开发服务器(单服务器)部署 sentinel 哨兵熔断限流断路器
  7. cadence基础学习
  8. ISO27001风险评估实施流程(详细版)
  9. mtk手机的联机方法
  10. 网络协议和标准——IEEE802
  11. Promise初步详解(resolve,reject,catch)
  12. 神武3很遗憾未能链接服务器,12月8日神武3维护解读 wuli滔滔进驻新服!
  13. 求求你别再写上千行的类了,试试 IDEA 这些牛逼的重构技巧吧
  14. java计算机毕业设计再生产公益管理系统设计与实现MyBatis+系统+LW文档+源码+调试部署
  15. TEM TE TM模的区别和电磁波模式
  16. 数据库笔记——Mysql、Oracle、Sqlserver || Redis、Memcached、mongoDB环境搭建
  17. java与JSON语法及解析
  18. 如何转换.CR2格式的图片
  19. WINPE WIN10 测试i9-9900k+2080TI\i9-9980XE+P5000\i7-8086k+titanX\E5-2678+128G跑分
  20. PCIe协议总结1-TLP(1)

热门文章

  1. pc端网易云音乐可自定义背景插件。
  2. Foobar 和 Fubar
  3. 图像离散余弦变换(含python代码)
  4. Python实现管理员权限运行CMD指令
  5. sublime Text3 格式化json
  6. 微信红包雨怎么抢_1月26日晚8点微信红包雨发放时间表 怎么抢红包全攻略
  7. 多个pdf怎么合并成一个文件,用这个方法最快速
  8. bootstrap select二级联动
  9. 如何用PHP给上传的文件改名?
  10. nvm安装与常用命令