while(表达式)语句

其中的“语句”就是循环体。循环体只能是一个语句,可以是一个简单的语句,还可以是复合语句(用花括号括起来的若干语句)。执行循环体的次数是由循环条件控制的,这个循环条件就是上面一般形式中的“表达式”,它也称为循环条件表达式。当此表达式的值为“真”(以非0值表示)时,就执行循环体语句;为“假”(以0表示)时,就不执行循环体语句。例如“i<=50”是一个循环条件表达式,它是一个关系表达式。它的值只能是“真”或“假”。在执行while语句时,先检查循环条件表达式的值,当为非0值(真)时,就执行while语句中的循环体语句;当表达式为0(假)时,不执行循环体语句。我们重点讲while语句和for语句。
while语句可简单地记为:只要当循环条件表达式为真(即给定的条件成立),就执行循环语录
下面是用while编写的简单例题
例题:求1+2+3+4+…+100的累加和是多少

 #include <stdio.h>
int main()
{int i=1,sum=0;      //定义变量i的值为1,sum的初值为0while(i<=100)       //当i>100,条件表达式i<=100的值为假,不执行循环体{                   //循环体开始
sum=sum+i;              //第一次累加后,sum的值为1
i++;                    //加完后,i的值加1,为下次累加做准备}                   //循环体结束
printf("sum=%d\n",sum); //输出1+2+3+4+...+100的累加和
return 0;               //返回值
}

运行结果
sum=5050

for语句

除了可以用while语句和do…while语句实现循环外,C语言还提供了for语句实现循环,而且for语句更为灵活,不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。
例如:for (i=1;i<=100;i++) //控制循环次数,i由1变到100,共循环100次printf("%d",i); //执行循环体,输出i的当前值
它的作用是:输出1~100,共100个整数。
for语句的一般形式为
for(表达式1;表达式2;表达式3)
语句
括号中3个表达式的主要作用是:
**表达式1:**设置初始条件,只执行一次。可以为零个、一个或多个
变量设置初值
**表达式2:**是循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环。
**表达式3:**作为循环的调整,例如使循环变量增值,它是在执行完循环体后才进行的。
最常用的for语句形式是:
for(循环变量赋初值;循环条件;循环变量增值)
for语句的一般形式如下:
for(表达式1;表达式2;表达式3)语句
可以改写为while循环的形式
表达式1;
while表达式2

语句
表达3


二者条件等价

下面给大家编写两个关于循环语句的经典例题大家可以敲敲试试
例一::编写代码,演示服多个字符从两端移动,向中间汇聚。
代码如下

  #include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
int main()
{char arr1[] = "welcome to huaxing";char arr2[] = "##################";int left = 0;int right = strlen(arr1)-1;while(left<=right){arr2[left] = arr1[left];arr2[right] = arr1[right];
printf("%s\n",arr2);//休息一秒
Sleep(1000);
system("cls");//执行系统命令的一个函数-cls-清空屏幕
left++;
right--;}printf("%s\n",arr2);return 0;
}

运行结果为动态图,无法截屏,大家可以自己编写代码看看运行结果

例二::编写代码实现,模拟用户登录情景,并且只能登录三次,(只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序)
代码如下

#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <stdlib.h>
int main()
{int i=0;char password[20] = {0};for(i=0;i<3;i++){printf("请输入密码:>");scanf("%s",password);if(strcmp(password,"123456") == 0)//==不能用来比较两个字符串是否相等,应该使用一个库函数-strcmp{printf("登录成功\n");break;}else{printf("密码错误\n");}}if(i==3)printf("三次密码均错误,退出程序\n");return 0;
}

运行结果如下图

第一次写博客,肯定有很多瑕疵的地方,希望大家可以提出错误

循环while和for语句相关推荐

  1. for循环递减_判断语句_循环语句

    创建时间:20200418 修改时间:20200629 1. if 判断语句 1.1 if...elif...else...语句格式 Python 中 if 语句的一般形式如下所示: if 如果 &q ...

  2. python中break可以用在for和if中吗_Python的for和break循环结构中使用else语句的技巧...

    在Python中的while或者for循环之后还可以有else子句,作用是for循环中if条件一直不满足,则最后就执行else语句. for i in range(5): if i == 1: pri ...

  3. php如何避免在循环中使用sql语句

    一.背景 众所周知的,在循环语句中执行数据库操作,对数据库来说负担很大. 举个例子: for(int I=0;I<500;I++){查询语句} 这样你的这个查询语句会执行500次,稍极端一点,忽 ...

  4. python if else break_Python的for和break循环结构中使用else语句的技巧

    在Python中的while或者for循环之后还可以有else子句,作用是for循环中if条件一直不满足,则最后就执行else语句. for i in range(5): if i == 1: pri ...

  5. 汇编语言-008(条件跳转应用 、loopnz 条件循环指令使用 、loopz 条件循环指令使用 、 if语句编写汇编时 、while语句编写汇编时 、循环内的if语句嵌套)

    1: 条件跳转应用,三个数中最小数 .386 .model flat,stdcall.stack 4096 ExitProcess PROTO,dwExitCode:DWORD.data V1 WOR ...

  6. break后面的语句还执行吗_12.python之配合循环的四种语句

    上节课讲了配合循环语句使用的布尔值和布尔运算,为了能够更好地使用循环语句,本节课会讲述四种能够配合循环语句使用的语句,分别是break语句.continue语句.pass语句.else语句. 一.br ...

  7. 避免在for循环中使用sql语句

    文章目录 for循环中使用sql语句 一个大sql实现功能 2个for循环用java遍历 用sql搞崩一个项目 这是个基本常识额,在这里再赘述一下. 例如一个大sql查出100条结果,现在每条记录要关 ...

  8. Python 6 循环break,continu语句pass,else

    break语句: 在这里,if...break的意思是如果满足了某一个条件,就提前结束循环.记住,这个只能在循环内部使用. while True:password=input('请用户输入密码:')i ...

  9. JAVA键盘录入 分支结构if swtich语句+循环结构for while语句 练习

    JAVA键盘录入 分支结构if swtich语句+循环结构for while语句 练习 今天学习的三个点,键盘录入 分支结构和循环结构.感觉这些还是得通过实操大量题目后才便于理解,前期只听教师讲解和死 ...

  10. python只能在循环体内使用break语句_在Python的循环体中使用else语句的方法

    本文讨论Python的for-else和while-else语法,这是Python中最不常用.最为误解的语法特性之一. Python中的for.while循环都有一个可选的else分支(类似if语句和 ...

最新文章

  1. JS-JavaScript String 对象-string对象方法1:fromCharCode()、charCodeAt()
  2. linux中通常使用 键来终止命令运行,【单选题】Linux中通常使用( )键来终止命令运行A. Ctrl+c B. Ctrl+d C. Ctrl+k D. Ctrl+f...
  3. php 补足字符串,php 数目字或者字符串补全
  4. SQL HAVING 子句
  5. 程序员面试金典 - 面试题 17.23. 最大黑方阵(DP)
  6. python入门难?几个练习实例 全会就入门了
  7. 华为SDN+VxLAN学习小记
  8. C#中的@符号的使用
  9. 《版式设计——日本平面设计师参考手册》—第1章段落样式和字符样式的基础知识...
  10. 软件测试程序员每天的工作都是做什么的?有哪些是必须要做的?
  11. 做系统ghost步骤图解_两台电脑硬盘对拷图解
  12. android通过Canvas和Paint截取无锯齿圆形图片
  13. 10 Linux之yum源码安装
  14. [label][responsive-web-design]网页响应测试各种尺寸的工具
  15. 使用接口接收json数据
  16. 电源管理模块设计 - 线性电源和开关电源的区别
  17. Amcharts 入门教程
  18. 丧尸的世界·《丧尸西游》
  19. 在Groovy中使用字符串
  20. 时间序列分析(1)-移动平均法

热门文章

  1. bs公式matlab画图,[讨论]BS公式....matlab 计算
  2. 休闲赛车游戏 android,致命赛车竞速
  3. 数据结构:堆的实现与建堆时间复杂度分析
  4. Spring框架面试题详解
  5. Spring MVC面试常问
  6. API hook原理和实例快速入门(inline hook),以dll线程注入方式使用(win7-64bit)
  7. double的精度与范围
  8. 怎样在线做动图?一招教你快速完成gif动画制作
  9. 1.USB详解(简介)
  10. 【品牌营销推广公司】奇龙十三哥分析如何做好品牌推广运营