"C语言本身没有输入输出语句”这句话对吗?

 我来答
仁昌爱娱乐
高粉答主

2020-01-08 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459811

向TA提问 私信TA
展开全部

"C语言本身没有输入输出语句”这句话对。

在C语言中,没有输入输出语句,对文件的读写都是用库函数来实现的。ANSI规定了标准输入输出函数,用它们对文件进行读写。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分,是经过模板化了的原有标准库中的iostream部分。

扩展资料:

不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用。

标准输入输出函数有fopen、fread、fwrite、fclose、fflush、fseek、fgetc、getc、getchar、fputc、putc、putchar、fgets、gets、printf、fprintf、sprintf、scanf、fscanf、sscanf、fgetops、fsetops、ftell、rewind、freopen、setvbuf、remove、fileno、fdopen等。

zclltl
2012-04-13 · TA获得超过194个赞
知道答主
回答量:57
采纳率:100%
帮助的人:10.9万
展开全部
C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。各种版本的C语言函数库是各计算机厂商针对某一类型计算机的情况编写的,并且已编译成目标文件(.obj文件)。它们在连接阶段与源程序经编译而得到的目标文件相连接,生成一个可执行的目标程序。如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而是在执行阶段调用已被连接的函数库中的printf函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
limmea
2017-07-25 · TA获得超过229个赞
知道小有建树答主
回答量:150
采纳率:100%
帮助的人:74.3万
展开全部
对的 这是个很经典的论题 记住C本身不提供输入输出 而是通过函数来实现
先说printf 这个本就不是输出函数 而是打印 只是因为默认的输出流是你的电脑屏幕 同样输出 scanf也是一样的 输入流默认在键盘 你不妨看一下重定向
比如编译代码后有a.exe这个程序 在控制台下直接敲a.exe会从你的键盘接收数据 在屏幕输出 但你敲a.exe>>data.txt 的话 它就会从data这个文本中接收数据 而不是键盘 同理 你用<<的话 屏幕就没有任何显示了 这是因为你把输出输入流重定向到了文件中 这相当于简单的FILE指针
再来说函数这个东西 在Linux这个系统中 你可以在HOME下找到Dev这个文件夹 里面是你的硬件端口 想要使用外接的屏幕或者什么的 直接使用就可以了 而C中没有 都是调用Stdio.h中的方法 即自定义的函数 只不过这里它已经写好了 你直接调用就好了
这也是为什么C程序需要头文件 而在Linux下需要写的是文件路径的原因
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9a6c085
2012-03-19 · TA获得超过116个赞
知道答主
回答量:54
采纳率:0%
帮助的人:16.3万
展开全部
C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”。printf和scanf不是C语言的关键字,而只是函数的名字。C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。各种版本的C语言函数库是各计算机厂商针对某一类型计算机的情况编写的,并且已编译成目标文件(.obj文件)。它们在连接阶段与源程序经编译而得到的目标文件相连接,生成一个可执行的目标程序。
如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而是在执行阶段调用已被连接的函数库中的printf函数。

来自本条问题的评论者:350211054,感谢这位评论者,这个才是正确的答案,满意答案是错误的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lency_cn
推荐于2018-02-28 · TA获得超过287个赞
知道答主
回答量:229
采纳率:100%
帮助的人:168万
展开全部
对啊
printf和scanf都是库里实现的,并不是C语法里面规定的,不是C的关键字
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式