printf scanf.md 2.8 KB

~={green}printf=~

~={yellow}Общий вид позиции для форматной вставки:=~

%Флаги Ширина полня "." Точность Модификатор Спецификатор

~={magenta}Спецификаторы:=~

  • s - строка символов
  • c - символ по однобайтовому коду символа
  • d - число со знаком в десятичной системе счисления
  • u - число без знака в десятичной системе счисления
  • x - шестнадцатеричное число без знака, нижний регистр
  • X - шестнадцатеричное число без знака, верхний регистр
  • o - восьмеричное число без знака
  • f - вещественное число

~={magenta}Флаги:=~

  • минус - "прижать" вывод к левой границе отведенного поля
  • пробел - выводить пробел перед положительными числами
  • плюс - выводить знак плюс перед положительными десятичными числами
  • ноль - заполнить свободное пространство слева от 16-ричных и 8-ричных значений нулями
  • решетка - выводить префикс для 8-ричный и 16-ричных чисел

~={magenta}Модификтор=~ - определяет размер выводимого аргумента в байтах

  • h - short - вывод 2 байтового значения
  • l - long - вывод 4 байтового значения
  • ll - long long - вывод 8 байтового значения

~={green}scanf=~

~={yellow}Общий вид форматной спецификации ожидаемых вводных данных:=~

%* Ширина поля Модификатор Спецификатор

В начале - символ % Обязательным является только спецификатор

Ширина поля - сколько байтов будет считано

* - данные считываем, но не сохраняем

~={magenta}Спецификаторы=~

  • [символы] - считывание символов, пока встречаются символы из списка
  • [^символы] - считывание символов, пока не встретиться символ из списка
  • c - один символ
  • d - число со знаком в десятичной системе счисления
  • u - число без знака в десятичной системе счисления
  • x - шестнадцатеричное число
  • o - восьмеричное число
  • f - вещественное число