Input/output is used for interfacing with outside world. Every programming language must provide a means to input some data into a program. This can be achieved by reading some input device, file, network, and so on. Similarly, every programming language must provide a means to output some data of a program onto screen, printer, file, and so on. However, C language does not provide any built-in input-output statements as part of its syntax. Therefore, programmers rely extensively on libraries for support in developing the user interface for a program. These libraries contain functions to perform I/O and thus a call to some specific I/O function is made within the main C program to accomplish I/O.
In fact, the header file stdio.h defines the standard input and output operations. This file forms part of the larger C standard library defined in the ANSI standard for the language. The standard input/output library is, by its very nature, standard and must therefore be suited to any hardware platform. Consequently the functions that it provides do not support color monitors because one cannot guarantee that the hardware platform has a color monitor. Similarly, the functions do not support mouse input, high resolution graphics output, or other “non-standard” input and output devices.
Nevertheless, the I/O functionality provided by stdio.h is standard, well documented, reliable and widely used. There are generally two classes of input/output functions provided by stdio.h header file. These include formatted I/O and non-formatted I/O functions. This is worth mentioning here that to fully understand the functions within formatted and non-formatted class.