Skip to content

Оператор вывода printf

Функция printf в языке C является мощным инструментом для форматированного вывода текста в стандартный поток вывода с помощью спецификатора преобразования. Она поддерживает множество возможностей для вывода данных различных типов, форматирования и управления отображением.

Спецификатор преобразования - специальный символ, начинающийся со знака %, который определяет, как будет интерпретирован вывод данных.

Основные вариации использования printf

  1. Простой текстовый вывод:

    c
    printf("Hello, World!\n");
  2. Вывод целых чисел:

    • Десятичное представление:
      c
      int num = 42;
      printf("Number: %d\n", num);
    • Шестнадцатеричное представление:
      c
      printf("Hexadecimal: %x\n", num);
    • Восьмеричное представление:
      c
      printf("Octal: %o\n", num);
    • Вывод результат ф-й strlen и sizeof:
      c
      int num = 42;
      printf("Number size: %zd\n", sizeof num);
  3. Вывод чисел с плавающей точкой:

    • Вывод в шестнацатеричном формате:

      c
      float f = 5.444;
      printf("specificator a = %a\n", f); // specificator a = 0x1.5c6a7ep+2
    • Обычный формат:

      c
      float pi = 3.14159;
      printf("Pi: %f\n", pi);
    • Научный формат:

      c
      printf("Pi (scientific): %e\n", pi);
  4. Вывод символов:

    c
    char ch = 'A';
    printf("Character: %c\n", ch);
  5. Вывод строк:

    c
    char *str = "Hello, C!";
    printf("String: %s\n", str);
  6. Форматирование вывода:

    • Минимальная ширина:
      c
      printf("Width: %10d\n", num);
    • Выравнивание по левому краю:
      c
      printf("Left align: %-10d\n", num);
    • Указание точности для чисел с плавающей точкой:
      c
      printf("Pi: %.2f\n", pi);
  7. Вывод указателей:

    c
    int *ptr = #
    printf("Pointer: %p\n", (void*)ptr);
  8. Комбинированный вывод:

    c
    printf("Integer: %d, Float: %.2f, String: %s\n", num, pi, str);
  9. Вывод с управляющими символами:

    • Новая строка:
      c
      printf("Line 1\nLine 2\n");
    • Табуляция:
      c
      printf("Col1\tCol2\n");
  10. Обработка длинных чисел:

    • Длинные целые:
      c
      long num = 1234567890;
      printf("Long: %ld\n", num);
    • Длинные числа с плавающей точкой:
      c
      double d = 123.456;
      printf("Double: %lf\n", d);
  11. Вывод знаковых чисел:

    c
    printf("Signed: %+d\n", num);
  12. Дополнение нулями:

    c
    printf("Padded: %05d\n", num);
  13. Обработка ширины и точности через параметры:

    c
    int width = 10, precision = 3;
    printf("Dynamic: %*.*f\n", width, precision, pi);

Примеры полезного использования

  1. Логирование:

    c
    printf("[INFO] Variable value: %d\n", num);
  2. Форматирование таблиц:

    c
    printf("%-10s %-10s\n", "Name", "Score");
    printf("%-10s %-10d\n", "Alice", 100);
  3. Отладочный вывод:

    c
    printf("Debug: var1 = %d, var2 = %f\n", var1, var2);

printf остаётся одним из самых универсальных инструментов в C для работы с форматированным выводом. При использовании важно учитывать спецификаторы формата, чтобы избежать ошибок и добиться корректного вывода данных.