Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Поляков_ Программирование на языке Си / К.Поляков Программирование на языке Си.doc
Скачиваний:
137
Добавлен:
17.03.2018
Размер:
470.02 Кб
Скачать

I. Введение в программирование © к. Поляков, 1995-2009

http://kpolyakov.narod.ru

12

printf("[%6d]", 1234); [ 1234] 6 позиций, выравнивание вправо.

printf("[%-6d]", 1234); [1234 ] 6 позиций, выравнивание влево.

printf("[%2d]", 1234); [1234]

Число не помещается в заданные 2

позиции, поэтому область вывода

расширяется.

Для вывода символов используются такие же приемы форматирования, но формат %d заменяет-

ся на %c.

􀀗 Вещественные числа

Для вывода (и для ввода) вещественных чисел могут использоваться три формата: %f,

%e и %g. В таблице показаны примеры использования формата %f.

Пример вывода Результат Комментарий

printf("[%f]", 123.45); [123.450000] Минимально возможное поле,

6 Знаков в дробной части.

printf("[%9.3f]", 123.45); [ 123.450]

Всего 9 позиций, из них 3 – для

дробной части, выравнивание

вправо.

printf("[%-9.3f]", 123.45); [123.450 ]

Всего 9 позиций, из них 3 – для

дробной части, выравнивание

влево.

printf("[%6.4f]", 123.45); [123.4500]

Число не помещается в заданные

6 Позиций (4 цифры в дробной

части), поэтому область вывода

расширяется.

Формат %e применяется в научных расчетах для вывода очень больших или очень ма-

леньких чисел, например, размера атома или расстояния до Солнца. С представлением числа в

так называемом стандартном виде (с выделенной мантиссой и порядком). Например, число

123.45 может быть записано в стандартном виде как 123.45 = 1.2345×102 . Здесь 1.2345

мантисса (она всегда находится в интервале от 1 до 10), а 2 – порядок (мантисса умножается на

10 В этой степени). При выводе по u1092 формату %e также можно задать число позиций, которые

отводятся для вывода числа, и число цифр в дробной части мантиссы. Порядок всегда указыва-

ется в виде двух цифр, перед которыми стоит буква e и знак порядка (плюс или минус).

Пример вывода Результат Комментарий

printf("[%e]", 123.45); [1.234500e+02]

Минимально возможное по-

ле, 6 знаков в дробной части

мантиссы.

printf("[%12.3e]", 123.45); [ 1.234e+02]

Всего 12 позиций, из них 3 –

для дробной части мантис-

сы, выравнивание вправо.

printf("[%-12.3e]", 123.45); [1.234e+02 ]

Всего 12 позиций, из них 3 –

для дробной части мантис-

сы, выравнивание влево.

Программирование на языке Си. © К. Поляков, 1995-2009

http://kpolyakov.narod.ru

13

printf("[%6.2e]", 123.45); [1.23e+02]

Число не помещается в за-

данные 6 позиций (2 цифры

в дробной части мантиссы),

поэтому область вывода

расширяется.

Формат %g применяется для того, чтобы удалить лишние нули в конце дробной части

числа и автоматически выбрать формат (в стандартном виде или с фиксированной точкой). Для

очень больших или очень маленьких чисел выбирается формат с плавающей точкой (в стан-

дартном виде). В этом формате можно задать общее число позиций на число и количество зна-

чащих цифр.

Пример вывода Результат Комментарий

printf("[%g]", 12345);

printf("[%g]", 123.45);

printf("[%g]", 0.000012345);

[12345]

[123.45]

[1.2345e-05]

Минимально возможное

поле, не более 6 значащих

цифр.

printf("[%10.3g]", 12345);

printf("[%10.3g]", 123.45);

printf("[%10.3g]",0.000012345);

[ 1.23e+04]

[ 123]

[ 1.23e-05]

Всего 10 позиций, из них 3

значащие цифры, выравни-

вание вправо. Чтобы сде-

лать выравнивание влево,

используют формат

"%-10.3g".