ОПЕРАТОР ВЫВОДА (ПЕЧАТИ)
printf("текст");
Печатает на экран текст.
printf("текст\n");
Печатает на экран текст и переходит к новой строке.
printf("слово1 слово2 "); printf("слово3\n");
печатает
слово1 слово2 слово3 и переходит на новую строку.
Если переход на новую строку не задан явно, символом \n, то текст продолжает печататься в текущей строке.
printf("%d", x);
Печатает в текстовом виде ЗНАЧЕНИЕ переменной x. Специальная конструкция %d означает "взять переменную из списка после запятой и напечатать ее значение в ивде целого числа".
printf("икс равен %d - ого-го\n", x);
Печатает сначала текст
икс равен
затем значение переменной x как целое число, затем текст - ого-го
и переходит на новую строку (поскольку указан символ \n).
Этот оператор может печатать и несколько значений переменных:
int x, y;
x = 12; y = 15; printf("икс есть %d, игрек есть %d, все.\n", x, y); ~~~~~~
Данный оператор работает так. Строка "икс есть %d, игрек есть %d\n" называется ФОРМАТОМ. Компьютер читает формат слева направо и печатает текст до тех пор, пока не встретит символ %d. Курсор изображен символом _
икс есть _
Далее он берет ПЕРВУЮ переменную из списка ~~~~ и печатает ее как целое число.
икс есть 12_
далее он снова печатает текст пока не встретит %d
икс есть 12, игрек есть _
Теперь он берет ВТОРУЮ переменную из списка и печатает ее:
икс есть 12, игрек есть 15_
Снова печатает текст, включая перевод строки \n. Как только строка формата кончилась, оператор printf завершен.
икс есть 12, игрек есть 15, все. _
Печатать можно не только значения переменных, но и значения арифметических выражений:
printf("равно: %d\n", 12 + 3 * 5);
Контрольный вопрос, что печатается:
int x, y, z;
x = 13; y = 23; z = 34;
printf("x=%d xx=%d\nzzz=%d\n", x, y - 1, z * 2 + 1);
Тут в формате есть ДВА перевода строки, поэтому будет напечатано:
x=13 xx=22 zzz=69 _
Заметьте, что перед тем как быть напечатанными, выражения в списке после формата ВЫЧИСЛЯЮТСЯ.
Что напечатает
printf("x=%d\n y=%d\n", x, y);
x=13 y=23 _
Пробел перед y возник потому, что он СОДЕРЖИТСЯ в строке формата после символа \n !!! Будьте внимательны.