C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。各种版本的C语言函数库是各计算机厂商针对某一类型计算机的情况编写的,并且已编译成目标文件(.obj文件)。它们在连接阶段与源程序经编译而得到的目标文件相连接,生成一个可执行的目标程序。如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而是在执行阶段调用已被连接的函数库中的printf函数
比如编译代码后有a.exe这个程序 在控制台下直接敲a.exe会从你的键盘接收数据 在屏幕输出 但你敲a.exe>& 的话 它就会从data这个文本中接收数据 而不是键盘 同理 你用<<的话 屏幕就没有任何显示了 这是因为你把输出输入流重定向到了文件中 这相当于简单的FILE指针
再来说函数这个东西 在Linux这个系统中 你可以在HOME下到Dev这个文件夹 里面是你的硬件端口 想要使用外接的屏幕或者什么的 直接使用就可以了 而C中没有 都是调用Stdio.h中的方法 即自定义的函数 只不过这里它已经写好了 你直接调用就好了
这也是为什么C程序需要头文件 而在Linux下需要写的是文件路径的原因.
>c语言库函数
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论