Базовый ввод-вывод в С

Язык С минималистичен, поэтому в нем нет встроенных в язык функций ввода и вывода. В частности, поэтому даже в самой примитивной программе Hello, World присутствует директива подключения библиотеки:

#include <stdio.h>

Библиотека ввода-вывода stdio не относится к синтаксису языка, однако является стандартной, поэтому присутствует в любых компиляторах и на любых операционных системах.

Базовый ввод-вывод работает при помощи функций printf() и scanf().

Первый аргумент этих функций -- строка формата. В функции scanf() она может включать только закодированные специальным образом типы считываемых значений, а в функции printf() включает также выводимые символы.

Пример считывания и вывода целочисленного значения типа int:

scanf("%d", &x);
printf("У меня %d яблок", x);

Функции scanf() подаются не сами ячейки памяти (их значения), а адреса, из-за чего при вызове используется операция взятия адреса &. Значение этой операции будет объяснено позже при разборе темы указателей, пока это нужно запомнить просто как необходимость.