"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 只写打开或新建一个二进制文件;只允许写数据。
不是,使用C语言编写程序时,C语言程序库内包含了printf和scanf这两个函数,当你需要输入输出时,就要输入这两个函数,编译时C语言程序库则调用这两个函数,所以C语言本身是不能输入输出的。
c语言本身只是一个框架,说的调用系统提供的函数,也就是通过头文件做的引用;添加了头文件,头文件内包含的函数,c语言就能调用了。
扩展资料:
文件输入/输出
在C语言中,输入和输出是经由标准库中的一组函数来实现的。在ANSI C中,这些函数被定义在头文件<stdio.h>;中。
标准输入/输出
有三个标准输入/输出是标准I/O库预先定义的:
一、stdin标准输入
二、stdout标准输出
三、stderr输入输出错误。
参考资料来源:百度百科-c语言
谢谢。请问,C语言程序库是否属于c语言,程序调用了函数库内的函数进行输入输出,所调用的函数是否是由系统提供的?。讲解得越详细越好,谢谢。
是的,C语言程序库属于C语言,进行输入输出的时候由系统调用输入输出函数进行输入输出操作。
C 语言 中 有 赋值语句,条件语句,循环语句,开关语句,转向语句 等语句,但是没有 一种
语句 叫 “输入语句”“输出语句”。
那么 遇到输入输出怎么办 呢? C 语言 用的是 函数调用的方法 -- 调用 输入输出函数。用这个方法来完成。
谢谢,您让我清晰地明白了“c语言本身没有输入输出语句”。就还有个问题,可以再解释下后面一句么——“输入输出操作是由调用系统提供的输入输出函数“么?
——“输入输出操作是由调用系统提供的输入输出函数:
当你用C语言写程序时,要输入输出时,可根据自己需要,用系统提供的输入输出函数。
例如 写:
scanf(...), printf(...)
getc() , getchar(), gets(),
fgetc(), fputc(), fread(),fwrite(),
sscanf(),sprintf(),
vscanf(),vprintf(),
.....
很多很多。这里不可能一一细说。慢慢学吧,不要着急。
2013-10-11
这句话的意思是这两个函数并不是直接就将数据输入输出,而是使用这两个函数时,这两个函数再调用系统内部函数执行输入输出
谢谢。我比较赞同你的说法!