循环语句while

       在实际编程中,仅仅掌握分支语句当然是不足的,当处理一个比较复杂且需要循环往复的去处理一件事的时候使用循环语句是比较好的选择。一般常用的循环语句有三种:while,for以及do while  

(1).while语句的语法形式:

while(判断表达式)
{
  循环语句;
}

(2).例子: 

       打印1~10:

#include<stdio.h>
int main()
{
  int i = 0;
  while(i<=10)     //只要满足该表达式就会执行一次程序
  {
    printf("%d\n",i);
    i++;
  }
  return 0;
}

3).break语句和continue语句在while语句中的用法

  1.当使用break语句的时候就会直接跳出整个循环,将不再执行整个while语句。

  2.continue语句则是跳过之后的语句再一次从开始执行while语句。与break语句是有差异的。   

(4).延伸:使用while语句来清理缓冲区中不需要的字符

       1.  在学习该代码之前我们首先来了解一下什么是缓冲区。

       在C语言中,一般可以通过 scanf 和 getchar 来输入数据,但 scanf 和 getchar 并不是直接从键盘获取字符的。当键盘输入字符的时候,先会存储到缓冲区,然后被 scanf 和 getchar 提取。如下

在键盘输入上图的数据后,scanf 和 getchar 就会对应的去提取出数据

实例:让用户输入密码然后确认,(输入Y的时候显示正确,输入N的时候显示错误)

#include <stdio.h>
int main()
{
 
 char password[20]={0}; //先定义一个数组来存放密码
 printf{"请输入密码:"}; //输入一串密码
 scanf_s("%s",password);//当键盘输入一串字符的时候scanf会拿走,但输入“\n”不会被拿走,还在缓冲区
 
 int t = 0;
 while((t = getchar())!='\n') //该循环的作用就是拿走密码输入后的“/n”,防止被后面的getchar拿走
 {
   ;
 }
 printf("请确认密码(Y正确/N失败)")
 int ch = getchar(); //此时的缓冲区应该是空的
 if(ch > 'Y')
   printf("正确\n");
 else
   printf("失败\n");
 return 0;
}

上述代码如果没有while循环去清理缓冲区,那当用户输入一串密码并且回车后,缓冲区就会保留回车键并将其当作一个字符存储下来,然后就会被后面的getchar直接提取,从而无论用户输入什么密码只要回车就会打印出失败。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值