Лекции по C++ для начинающих. Сергей Николаевич Талипов
Чтение книги онлайн.

Читать онлайн книгу Лекции по C++ для начинающих - Сергей Николаевич Талипов страница 3

СКАЧАТЬ КОДЫ КОМАНДЫ ФОРМАТА:

      1. d – значением аргумента является десятичное целое число;

      2. с – значением аргумента является символ;

      3. s – значением аргумента является строка символов:

      4. f – значением аргумента является вещественное число с плавающей точкой;

      5. р – значением аргумента является указатель (адрес).

      Функция printf использует управляющую строку, чтобы определить, сколько всего аргументов и каковы их типы. Например, в результате работы программы получена переменная i, имеющая значение 100, и переменная j, имеющая значение 25. Обе переменные целого типа. Для вывода этих переменных на экран в виде

      int i = 100;

      int j = 25;

      необходимо применить функцию

      printf("i = %d j = %d", i , j);

      Как было описано выше, в кавычках задается формат вывода, перед знаком % записываются символы, которые будут непосредственно выданы на экран. После знака % применена спецификация d, т.к. переменные i и j имеют целый тип. Сами i и j приведены через запятую в списке аргументов.

      Если после знака % стоит цифра, то она задает поле, в котором будет выполнен вывод числа. Приведем несколько функций printf, которые будут обеспечивать вывод одной и той же переменной S целого типа, имеющей значение 336.

      Вызов функции printf("%2d", S);

      Вывод: 336

      В этом примере ширина поля (она равна двум) меньше, чем число цифр в числе 336, поэтому поле автоматически расширяется до необходимого размера.

      Вызов функции printf("%6d", S)

      Вывод: _ _ _336 (6 позиций)

      То есть, в результате работы функции число сдвинуто к правому краю поля, а лишние позиции перед числом заполнены пробелами.

      Вызов функции printf("%-6d", S);

      Вывод: 336_ _ _ (6 позиций)

      Знак «минус» перед спецификацией приводит к сдвигу числа к левому краю поля.

      Рассмотрим вывод вещественных чисел. Если перед спецификацией f ничего не указано, то выводится число с шестью знаками после запятой, при печати числа с плавающей точкой перед спецификацией f тоже могут находиться цифры.

      %6f – печать числа с плавающей точкой в поле из шести позиции;

      %.2f – печать числа с плавающей точкой с двумя цифрами после десятичной точки;

      %6.2f- печать числа с плавающей точкой в поле из шести позиций и двумя цифрами после десятичной точки.

      Примеры:

      float а = 3,687;

      float b = 10,17;

      Вызов функции printf("%7f %8f", a, b);

      Вывод: _ _3.687_ _ _ _ 10.17

      Как видно из примера, лишние позиции заполняются пробелами.

      Вызов функции printf("%.2f %.2f", а, b);

      Вывод: 3.69 10.17

      В первом числе третья цифра после десятичной точки отброшена с округлением, т.к. указан формат числа с двумя цифрами после десятичной точки.

      Вызов функции printf("%7.2f %e", a, b);

      Вывод: _ _ _3.68 1.017000е+01

      Поскольку для вывода значения переменной b применена спецификация е, то результат выдан в экспоненциальной форме. СКАЧАТЬ