【摘要】:cout执行输出操作后,数据并非立刻传到输出设备,而是先进入一个缓冲区,等时机适当时再由缓冲区传入,而printf函数是直接打印到屏幕上,举例如下:与表面上看,这两条语句都是在屏幕上打印“我看C语言”并且换行,但是这两句话是有区别的:1)<<endl相当于<<"\n"<<flush,flush就是将缓冲区的内容强制写到屏幕上。
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中,调用格式为:
图3-15 直接响应命令
图3-16 回车符滞留问题
函数可以简单地理解为由输入到输出的一系列运算或操作(如把结果显示到屏幕上)。程序中的cout虽然看起来像C语言的关键字,但它并不是一个关键字。cout是一个iostream类的对象,它有一个成员运算符函数operator<<,调用时会向输出设备输出,它的本质还是函数(类和运算符重载将在C++课程中学习,这里可以简单地把类理解成包含,把运算符重载理解成重新定义了一个运算符<<),因此:
相当于:
或更简洁:(www.xing528.com)
这里可以连起来写的原因是cout.operator<<()函数的返回值是它自己,所以可以连续调用。
此外,使用printf函数进行显示需要用%d、%f说明格式来指定数据类型,而cout却不用,这是因为函数cout.operator<<()使用了函数重载技术(在C++课程中讲解,这里可以简单地理解为C语言能够自己根据输入的数据类型自动进行相应的处理)。
cout执行输出操作后,数据并非立刻传到输出设备,而是先进入一个缓冲区,等时机适当时(如设备空闲)再由缓冲区传入,而printf函数是直接打印到屏幕上,举例如下:
与
表面上看,这两条语句都是在屏幕上打印“我看C语言”并且换行,但是这两句话是有区别的:
1)<<endl相当于<<"\n"<<flush,flush就是将缓冲区的内容强制写到屏幕上。
2)flush、endl都叫cout操纵符(还有其他操纵符,用时再另行介绍)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。