Оператор вывода printf
Функция printf
в языке C является мощным инструментом для форматированного вывода текста в стандартный поток вывода с помощью спецификатора преобразования
. Она поддерживает множество возможностей для вывода данных различных типов, форматирования и управления отображением.
Спецификатор преобразования - специальный символ, начинающийся со знака %
, который определяет, как будет интерпретирован вывод данных.
Основные вариации использования printf
Простой текстовый вывод:
cprintf("Hello, World!\n");
Вывод целых чисел:
- Десятичное представление:c
int num = 42; printf("Number: %d\n", num);
- Шестнадцатеричное представление:c
printf("Hexadecimal: %x\n", num);
- Восьмеричное представление:c
printf("Octal: %o\n", num);
- Вывод результат ф-й
strlen
иsizeof
:cint num = 42; printf("Number size: %zd\n", sizeof num);
- Десятичное представление:
Вывод чисел с плавающей точкой:
Вывод в шестнацатеричном формате:
cfloat f = 5.444; printf("specificator a = %a\n", f); // specificator a = 0x1.5c6a7ep+2
Обычный формат:
cfloat pi = 3.14159; printf("Pi: %f\n", pi);
Научный формат:
cprintf("Pi (scientific): %e\n", pi);
Вывод символов:
cchar ch = 'A'; printf("Character: %c\n", ch);
Вывод строк:
cchar *str = "Hello, C!"; printf("String: %s\n", str);
Форматирование вывода:
- Минимальная ширина:c
printf("Width: %10d\n", num);
- Выравнивание по левому краю:c
printf("Left align: %-10d\n", num);
- Указание точности для чисел с плавающей точкой:c
printf("Pi: %.2f\n", pi);
- Минимальная ширина:
Вывод указателей:
cint *ptr = # printf("Pointer: %p\n", (void*)ptr);
Комбинированный вывод:
cprintf("Integer: %d, Float: %.2f, String: %s\n", num, pi, str);
Вывод с управляющими символами:
- Новая строка:c
printf("Line 1\nLine 2\n");
- Табуляция:c
printf("Col1\tCol2\n");
- Новая строка:
Обработка длинных чисел:
- Длинные целые:c
long num = 1234567890; printf("Long: %ld\n", num);
- Длинные числа с плавающей точкой:c
double d = 123.456; printf("Double: %lf\n", d);
- Длинные целые:
Вывод знаковых чисел:
cprintf("Signed: %+d\n", num);
Дополнение нулями:
cprintf("Padded: %05d\n", num);
Обработка ширины и точности через параметры:
cint width = 10, precision = 3; printf("Dynamic: %*.*f\n", width, precision, pi);
Примеры полезного использования
Логирование:
cprintf("[INFO] Variable value: %d\n", num);
Форматирование таблиц:
cprintf("%-10s %-10s\n", "Name", "Score"); printf("%-10s %-10d\n", "Alice", 100);
Отладочный вывод:
cprintf("Debug: var1 = %d, var2 = %f\n", var1, var2);
printf
остаётся одним из самых универсальных инструментов в C для работы с форматированным выводом. При использовании важно учитывать спецификаторы формата, чтобы избежать ошибок и добиться корректного вывода данных.