临近高考,c语言格式化输入输出的秘密你知道吗?

临近高考,c语言格式化输入输出的秘密你知道吗?_第1张图片

许多职高的学生也要高考了,但是你们从一开始让程序输出 Hello word 到现在已经3年了,但是你们可能还是不知道它都秘密。下面为你们解开这层纱,让你了解格式化输入输出真正的用法。有时候,从键盘输入的内容,或者将要输出到显示器上的内容,会暂时进入缓冲区,待时机成熟,再一股脑将缓冲区中的所有内容“倒出”,我们才能看到变量的值被刷新,或者屏幕产生变化。缓冲区是输入输出的关键所在,只有学习缓冲区,才能解开一些平时碰到的的问题。缓冲区是治愈与输入输出有关的大部分疑难杂症的良药,它能使你对输入输出的认识上升到一个更高的层次。缓冲区又称为缓存,是内存空间的一部分。也就是说,计算机在内存中预留了一定的存储空间,用来暂时保存输入或输出的数据,这部分预留的空间就叫做缓冲区(缓存)。它用在硬件设备和用户程序之间,用来缓存数据,目的是让快速的 CPU 不必等待慢速的输入输出设备,同时减少操作硬件的次数。

缓冲区的类型有下面3种

全缓存

在这种情况下,当缓冲区被填满以后才进行真正的输入输出操作。缓冲区的大小都有限制的,比如 1KB、4MB 等,数据量达到最大值时就清空缓冲区。

很多时候将数据写入文件的时候不会马上看到,需要清空缓冲区。 一般文件的读写就是这种情况

行缓存

这种情况是需要遇见换行符时,才执行输入输出,而我们的printf()带有行缓存。

scanf()也同样。

不缓存

这种情况下 ,数据不会存入缓冲区,直接执行,典型例子有getche()、getch()

虽然讲的比较浅显,但也大概告诉了你们一个框架,接下来需要你们在代码里面自己去验证这些东西。

如果还有不明白可以关注我,然后私信。

另外祝你们高考顺利。

你可能感兴趣的