Урок №19 Секреты печати в консоль
# План видео-урока: «Спецификаторы формата в Си: как выводить данные в консоль» 1. Введение: Зачем нужны спецификаторы? * Функция `printf()`: Напомним, что эта функция из библиотеки `stdio.h` используется для вывода данных в стандартный поток (консоль). * Суть спецификатора: Это специальный код с префиксом `%`, который говорит программе: «На этом месте должно стоять значение переменной такого-то типа». * Механика: Значение переменной форматируется (преобразуется) в текстовый вид согласно указанному спецификатору. 2. Базовые спецификаторы для целых чисел * `%d` или `%i`: Вывод знаковых десятичных целых чисел (тип `int`). * `%u`: Вывод беззнаковых десятичных чисел (тип `unsigned int`). * Другие системы счисления: * `%o`: Беззнаковое восьмеричное число. * `%x` / `%X`: Беззнаковое шестнадцатеричное число (строчные/заглавные буквы). 3. Спецификаторы для чисел с плавающей точкой * `%f` / `%F`: Десятичное число с точкой (тип `double` или `float`). По умолчанию выводится 6 знаков после точки. * `%e` / `%E`: Экспоненциальная (научная) форма записи (например, `1.23e+02`). * `%g` / `%G`: Автоматический выбор между `%f` и `%e` в зависимости от того, какой вариант короче и нагляднее. 4. Символы и строки * `%c`: Один символ (тип `char`). Напоминаем зрителю: одиночные символы в коде пишутся в одинарных кавычках `' '`. * `%s`: Строка (массив символов). Строки в Си всегда заканчиваются невидимым символом-терминатором `\0`. * `%%`: Как напечатать сам символ процента? Нужно написать его дважды. ### 5. Управление внешним видом (Ширина и Точность) * Ширина поля (`%7d`): Указывает минимальное количество позиций для вывода. По умолчанию число выравнивается по правому краю. * Выравнивание влево (`%-7d`): Флаг «минус» сдвигает текст к левому краю поля. * Ведущие нули (`%07d`): Если число короче поля, пустые места заполняются нулями. * Точность (`%.2f`): Указывает количество знаков после десятичной точки. Важно: при ограничении точности значение округляется, а не просто обрезается. 6. Модификаторы длины (Как не потерять байты) Для типов данных большего или меньшего размера перед основным спецификатором добавляется модификатор: * `h`: Для `short` (например, `%hd`). * `l`: Для `long` (например, `%ld`). * `ll`: Для `long long` (например, `%lld`). * `zu`: Рекомендуемый стандарт для типа `size_t` (размеры объектов). * `p`: Специальный спецификатор для вывода адресов (указателей) в шестнадцатеричном формате. 7. Практический нюанс: `long double` в Windows * Проблема: В некоторых версиях компилятора GCC (MinGW) обычный `%Lf` может работать некорректно (выдавать одинаковые значения для минимума и максимума). * Решение: Для корректного вывода 128-битных чисел следует использовать спецификатор `%Le` или `%LG`, а в начале кода добавить макрос `#define _USE_MINGW_ANSI_STDIO 1`. 8. Оформление вывода (Управляющие символы) Спецификаторы часто используются вместе с «пробельными» символами для красоты: * `\n` — новая строка. * `\t` — горизонтальная табуляция (удобно для создания ровных колонок/таблиц). --- Домашнее задание: Напишите программу, которая выводит число `3.14159265` тремя способами: с 2 знаками после точки, с 5 знаками и в экспоненциальной форме. Проверьте результат в консоли. Спецификаторы форматированной печати - или просто спецификаторы формата, позволяют отображать в консоли числа в виде специально отформатированных(преобразованных) в вид понятный человеку. Таких спецификаторов создано в С столько, чтобы удобно было отображать все его Типы. Но кроме спецификаторов формата, есть ещё и модификаторы печати. Спецификатор говорит ЧТО печатать, а модификатор КАК. Переменные после их объявления можно инициализировать значениями передаваемых в виде чисел в Десятичной, Шестнадцатеричной, Восьмеричной и Двоичной системах исчисления. В зависимости от типа ЭВМ с которой вы работаете и в каком виде вам удобнее работать с числами, в С уже всё для этого есть. Далее мы будем активнее использовать спецификаторы и модификаторы в наших программах. А в следующем уроке мы познакомимся с Циклами(for, while, do/while). --- В учебнике я описываю подробно все спецификаторы и модификаторы печати https://6767864766974.blacksea.in.ua/l/ml --- #программированиенаСиснуля #лучшийкурспоСи #какработаетпамятьвСи #программирование #языкСи #СиСНуля #программированиеДляНачинающих #урокиСи #обучениеIT #разработкаПО #языкПрограммированияСи #визуальноеОбучение
Название:
Урок №19 Секреты печати в консоль
Категория:
Разное