Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс ПЯВУ 2 сем / Лекции 2 сем / Л№33 ФорматировВвод / Лекция № 31. Форматированный Ввод вывод .odt
Скачиваний:
16
Добавлен:
17.04.2015
Размер:
50.53 Кб
Скачать

19 . Оператор printf - форматирование чисел с плавающей точкой

Вышебыл представлен способ форматирования целых значений при выводе с помощью функции printf. Этот способ заключается в задания минимального размера поля вывода в спецификаторе формата %d непосредственно после знака %. Используя аналогичную технику, можно посредством printf форматировать также и вывод значений с плавающей точкой. Для этого в спецификаторе формата следует указать два значения. Первое значение определяет минимальное число символов,которое требуется отобразить. Второе значение определяет число цифр, которое должно отображаться справа от десятичной точки. В следующей программе FLT_FMT.C демонстрируется форматирование значений с плавающей точкой при использовании функции printf:

#include <stdio.h>

void main()

{

float value = 1.23456;

printf ("%8.1f\n", value);

printf ("%8.3f\n", value);

printf ("%8.5f\n", value);

}

После компиляции и выполнения программы на экран выводится:

1.235

1.23456

20. Оператор printf - форматирование экспоненциального представления

В С68 был представлен способ форматирования значений с плавающей точкой с помощью спецификатора формата %f. Применяя аналогичную технику, можно форматировать значения с плавающей точкой, выводимые в экспоненциальной форме. Следующая программа EXP_FMT.C демонстрирует форматирование экспоненциального вывода:

#include <stdio.h>

void main()

{

float value = 1.23456;

printf ("%12.1e\n", value);

printf ("%12.3e\n", value);

printf ("%12.5e\n",value);

}

После компиляции и выполнения программы на экран выводится:

С:\>EXP_FMT <ENTER>

1.2е+00

1.235е+00

1.23456е+00

21. Оператор printf - вывод с выравниванием слева

Если вывод осуществляется с помощью форматных спецификаторов функции printf, то по умолчанию функция выравнивает отображаемый текст по правому краю. Возникают случаи, когда требуется выравнивать текст по левому краю. Для этого следует поместить знак минус (-) в спецификатор формата непосредственно после %. В следующей программе LEFTJUST.C демонстрируется использование знака минус для выравнивания вывода по левому краю:

#include <stdio.h>

void main ()

{

int int_value=5;

float flt_value = 3.33;

printf ("Выравнивание значения %5d вправо\n ",int_value);

printf ("Выравнивание значения %-5d влево\n",int_value);

printf ("Выравнивание значения %7.2f вправо\n ",flt_value);

printf ("Выравнивание значения %-7.2f влево\n ",flt_value);

}

После компиляции и запуска этой программы на экран выводится:

Выравнивание значения 5 вправо

Выравнивание значения 5 влево

Выравнивание значения 3.33 вправо

Выравнивание значения 3.33 влево

22. Оператор printf - комбинирование спецификаторов формата

В предшествующих советах этого раздела были представлены различные форматные спецификаторы функции printf. При их использовании может возникнуть необходимость применения сразу двух или большего числа спецификаторов для описания представления одного значения. Например, может потребоваться отобразить некоторое шестнадцатиричное значение с выравниванием по левому краю и содержащим префикс Ох. В таких случаях следует просто поместить каждый из спецификаторов после символа %. Следующая программа FULL_FMT.C демонстрирует использование нескольких спецификаторов формата для описания представления одного значения:

#include<stdio.h>

void main()

{

int int_value = 5;

printf("Выравнено влево и со знаком %-+3d\n ", int_value);

}

После компиляции и запуска этой программы на экран выводится:

С:\> FULL_FMT <ENTER>

Выровнено влево и со знаком +5