Решение самой простой задачи на ЭВМ не обходится без операций ввода и вывода информации. Ввод данных – это передача информации от внешнего носителя в оперативную память для последующей обработки с преобразованием ее в двоичный код. Внешним носителем информации при вводе может быть клавиатура, гибкий или жесткий магнитный диск и другие устройства. Вывод – обратный процесс, когда данные передаются после обработки из оперативной памяти на внешний носитель с преобразованием ее из двоичного кода в вид, понятный пользователю. Внешним носителем при выводе может служить дисплей, печатающее устройство, гибкий или жесткий магнитный диск или другие устройства.
В языке С нет встроенных в язык средств ввода и вывода. Все действия, связанные с вводом и выводом, выполняются с помощью функций библиотеки языка С.
С не предусматривает никаких предопределенных структур файлов: файлы рассматриваются как последовательности байтов.
Функции ввода и вывода библиотеки языка С позволяют читать данные из файлов и с устройств и писать данные в файлы и на устройства. Библиотека языка С поддерживает следующие три уровня ввода-вывода: ввод-вывод потока, ввод-вывод нижнего уровня и ввод-вывод для консоли и порта.