前言:
在学习循环语句时,有几个例子:1.多组输入;2.清理缓冲区。希望能够将while循环与实际问题进行结合。
一、多组输入:
1.1 scanf函数的一些见解:
在进行多组输入的讲解前,我们需要进行介绍scanf函数,在下面的链接上有详细的介绍。https://legacy.cplusplus.com/reference/cstdio/scanf/?kw=scanf,下面是小编我自己的见解:
1.scanf函数的返回值是int类型的,返回的是读取数据的个数,下面用代码进行证明:
2.scanf函数在读取字符串时,遇到空格就不在读取了。
总结:scanf函数是从缓冲区中的数据读取的,读取成功后,返回读取数据的个数;读取失败后,返回EOF(-1);其次在读取字符串时,遇到空格就不在读取了。
1.2 多组输入:
下面进行一个简单的题目:
二、清理缓冲区:
2.1 什么是缓冲区:
缓冲区是内存空间的一部分。也就是说,在内存空间中预留了一定的存储空间,这些存储空间用来缓冲输入或输出的数据,这部分预留的空间就叫做缓冲区。缓冲区根据其对应的是输入设备还是输出设备,分为输入缓冲区和输出缓冲区。
2.2 为什么要引入缓冲区?
在以前的时期,我们要用磁盘进行储存信息,我们可以先将数据放在缓冲区,等缓冲区的数据读取完后,再去磁盘中进行读取。这样减少磁盘的读写次数,再加上计算机对缓冲区的操作大大快于对磁盘的操作,故应用缓冲区可大大提高计算机的运行速度。
2.3 介绍getchar函数:
顾名思义,getchar()函数的功能是获取一个字符,而putchar()函数的功能是输出一个字符。
下面,进行具体的getchar()函数的功能介绍:在下面的链接上有详细的介绍。https://legacy.cplusplus.com/reference/cstdio/getchar/?kw=getchar。getchar()函数,读取成功后,返回读取到字符的ASCII值;读取失败后或遇到文件末尾时,返回EOF(-1)。
2.4 模拟环境进行缓冲区的清理:
利用循环进行缓冲区的清理,这样如果有特殊情况,我们也可以进行清空缓冲区。
while ((ch = getchar()) != '\n') ;
总结:
小编认为这两个小步骤有可能会成为某个问题的一个步骤,还是要进行学习的,其次通过这个问题可以进一步的了解缓冲区的概念。希望大佬们可以进行点评。