"c语言本身没有输入输出语句,输入输出操作是由调用系统提供的输入输出函数来完成的"怎么理解!

我可以这么理解么,是我的电脑中没有装 C的编译器,我电脑里其实也有scanf和printf,只是没有被编译器使用。 还是说C编译器会中的某些函数使用了系统调用函数。其实我是小白,求大神解释。。。

C语言本身并不提供输入输出语句,输入和输出操作是由函数来实现的,解释如下:

一、在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。在使用他们时,千万不要误认为他们是C语言提供的“输入输出语句”,printf和scanf不是C语言的关键字,而只是函数的名字。

二、C提供的函数以库的形式存放在系统中,它们不是C语言文本中的组成部分。不把输入输出作为C语言提供的语句的目的是使C语言编译系统简单,因为将语句翻译成二进制的指令是在编译阶段完成的,没有输入输出语句可以避免在编译阶段处理与硬件有关的问题,可以使编译系统简化,而且通用性强,可移植性好,对各种型号的计算机都适用,便于在各种计算机上实现。

三、各种版本的C语言函数库是各计算机厂商针对某一类型计算机的情况编写的,并且已编译成目标文件(.obj文件)。它们在连接阶段与源程序经编译而得到的目标文件相连接,生成一个可执行的目标程序。如果在源程序中有printf函数,在编译时并不把它翻译成目标指令,而是在执行阶段调用已被连接的函数库中的printf函数

扩展资料:

C语言文件mode参数:

1.r 以只读方式打开文件,该文件必须存在。

2.r+ 以可读写方式打开文件,该文件必须存在。

3.rb+ 读写打开一个二进制文件,允许读写数据。

4.rw+ 读写打开一个文本文件,允许读和写。

5.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

6.w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

7.a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

8.wb 只写打开或新建一个二进制文件;只允许写数据。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-09

不是,使用C语言编写程序时,C语言程序库内包含了printf和scanf这两个函数,当你需要输入输出时,就要输入这两个函数,编译时C语言程序库则调用这两个函数,所以C语言本身是不能输入输出的。

c语言本身只是一个框架,说的调用系统提供的函数,也就是通过头文件做的引用;添加了头文件,头文件内包含的函数,c语言就能调用了。

扩展资料:

文件输入/输出

在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。

标准输入/输出

有三个标准输入/输出是标准I/O库预先定义的:

一、stdin标准输入

二、stdout标准输出

三、stderr输入输出错误。

参考资料来源:百度百科-c语言

本回答被网友采纳
第2个回答  推荐于2017-11-26
不是,使用C语言编写程序时,C语言程序库内包含了printf和scanf这两个函数,当你需要输入输出时,就要输入这两个函数,编译时C语言程序库则调用这两个函数,所以C语言本身是不能输入输出的。就像你要写字,你是不能直接用手写的,而要借用一直笔才能达到目的。懂了吗?欢迎追问,如果好请采纳。追问

谢谢。请问,C语言程序库是否属于c语言,程序调用了函数库内的函数进行输入输出,所调用的函数是否是由系统提供的?。讲解得越详细越好,谢谢。

追答

是的,C语言程序库属于C语言,进行输入输出的时候由系统调用输入输出函数进行输入输出操作。

本回答被提问者采纳
第3个回答  2013-10-11
这是谈 C 语言的 语法,句法。
C 语言 中 有 赋值语句,条件语句,循环语句,开关语句,转向语句 等语句,但是没有 一种
语句 叫 “输入语句”“输出语句”。
那么 遇到输入输出怎么办 呢? C 语言 用的是 函数调用的方法 -- 调用 输入输出函数。用这个方法来完成。追问

谢谢,您让我清晰地明白了“c语言本身没有输入输出语句”。就还有个问题,可以再解释下后面一句么——“输入输出操作是由调用系统提供的输入输出函数“么?

追答

——“输入输出操作是由调用系统提供的输入输出函数:
当你用C语言写程序时,要输入输出时,可根据自己需要,用系统提供的输入输出函数。
例如 写:
scanf(...), printf(...)
getc() , getchar(), gets(),
fgetc(), fputc(), fread(),fwrite(),
sscanf(),sprintf(),
vscanf(),vprintf(),
.....
很多很多。这里不可能一一细说。慢慢学吧,不要着急。

追问

突然发现,我采纳错了。不好意思。谢谢

追答

没有关系,回答 能对你有帮助就好。

第4个回答  2013-10-11
不是,scanf和printf是C里面的函数
这句话的意思是这两个函数并不是直接就将数据输入输出,而是使用这两个函数时,这两个函数再调用系统内部函数执行输入输出追问

谢谢。我比较赞同你的说法!

相似回答