Вывод информации на экран (точнее, в терминал) является одной из основных функций приложения с интерфейсом командной строки. Для этой цели используется функция printf, например:
printf("Hello, World!");
Вы наверняка обратили внимание на то, что после запуска программы и вывода строки «Hello World!» терминал ожидает ввода пользовательской команды в той же строке. Да, упомянутая функция не добавляет к выводимой строке символа перехода на новую строку, поэтому терминал и не перемещает курсор на новую строку. По этой причине разработчик должен сам добавлять символы перехода на новые строки n при использовании функции printf, например:
printf("Hello, World!n");
Также вы можете использовать символ табуляции t для разделения вывода на столбцы, например:
printf("Hello,tWorld!");
В большинстве случаев разработчику приходится выводить с помощью функции printf не обычные строки, а строки со значениями переменных. Для этого используются строки форматирования со спецификаторами, автоматически заменяемыми на значения указанных переменных.
printf("Привет, %s!", name);
В рамках одной строки форматирования может использоваться множество спецификаторов. Важно помнить о том, что количество переменных должно равняться количеству спецификаторов, причем тип каждой переменной должен соответствовать ее спецификатору.
printf("Числа: %i %i %i", n1, n2, n3);
А это список наиболее часто используемых спецификаторов:
Спецификатор | Тип переменной |
%s |
Строка (char *) |
%i |
Целочисленное значение (int) |
%d |
Целочисленное значение (int) |
%f |
Значение с плавающей точкой двойной точности (double) |
%с |
Символ (char) |
%hi |
Короткое целочисленное значение (short) |
%hu |
Короткое беззнаковое целочисленное значение (unsigned short) |
%u |
Беззнаковое целочисленное значение (unsigned int) |
%li |
Длинное целочисленное значение (long) |
%lu |
Длинное беззнаковое челочисленное значение (unsigned long) |
%lli |
Расширенное длинное целочисленное значение (long long) |
%llu |
Расширенное длинное беззнаковое целочисленное значение (long long) |
%lf |
Расширенное значение с плавающей точкой двойной точности (long double) |