Для вывода информации в языке С используются следующие функции:
Функция putchar() обеспечивает вывод одиночного символа без перехода на новую строку.
Функция puts() используется для вывода строки символов с переходом на начало новой строки.
Функция printf() предназначена для форматированного вывода данных. Ее формат:
рrintf (<управляющая строка>, <список аргументов>);
Управляющая строка заключается в кавычки и указывает компилятору вид выводимой информации. Она может включать спецификации преобразования и управляющие символы.
Спецификация преобразования имеет вид:
% < флаг > < размер поля. точность > спецификация
где флаг может принимать следующие значения:
- выравнивание влево выводимого числа (по умолчанию выполняется выравнивание
вправо);
+ выводится знак положительного числа;
размер поля – задает минимальную ширину поля, т.е. длину числа. При недостаточной ширине поля выполняется автоматическое расширение;
точность – задает точность числа, т. е. количество цифр в его дробной части;
спецификация указывает вид выводимой информации. Ниже приведены основные форматы функции печати:
Таблица 2
Формат | Тип выводимой информации |
%d | десятичное целое число |
%c | один символ |
%s | строка символов |
%e | число с плавающей точкой (экспоненциальная запись) |
%f | число с плавающей точкой (десятичная запись) |
%u | десятичное число без знака |
%o | восьмеричное число без знака |
%x | шестнадцатеричное число без знака |
Для длинных чисел (long, double) – используется дополнительный формат l.
Например: % ld - длинное целое, % lf – вещественное число с удвоенной точностью.
При необходимости вывода управляющих символов (% \ и т.п.) их нужно указать 2 раза.
Например: printf("Только %d%% предприятий не работало.\n",5);
Получим: Только 5% предприятий не работало.
Управляющая строка может содержать следующие управляющие символы:
\n – переход на новую строку;
\t – горизонтальная и \v – вертикальная табуляция;
\b – возврат назад на один символ;
\r – возврат в начало строки;
\f – прогон бумаги до начала новой страницы;
\a – звуковой сигнал;
\ddd – 8-ричный ASCII-код;
\xhhh – 16-ричный- -код;
\? – знак вопроса.
Список аргументов - печатаемые объекты (константы, переменные или выражения), вычисляемые перед выводом. Количество аргументов и их типы должны соответствовать спецификациям преобразования в управляющей строке.
Пример:
#include <stdio.h>
#define PI 3.1415926
void main()
{
int number =5, cost=11000, s=-777;
float bat =255, x=12.345;
printf ("%d студентов съели %f бутербродов.\n", number, bat);
printf ("Значение числа pi равно%f.\n", pi);
printf ("Любовь и голод правят миром.\n");
printf ("Стоимость этой вещи %d%s.\n", cost,"Руб.");
printf ("x=%-8.4f s=%5d%8.2f ", x, s, x);
}
В результате выполнения последней функции printf () на экране будет выведено:
х=12.3450 s= -777 12.34