- •1. Введение.
- •2. Общие положения.
- •3. Форматирование ввода-вывода средствами языка с
- •4. Функция printf()
- •6. Оператор printf - вывод целых чисел в восьмиричном и
- •10. Оператор printf - вывод значений типа char
- •11. Оператор printf - вывод чисел с плавающей точкой в
- •12. Оператор printf - вывод чисел с плавающей точкой в
- •13. Оператор printf - вывод текстовых строк
- •15. Оператор printf - вывод значений со знаком
- •16. Оператор printf - форматирование вывода целого значения
- •18. Оператор printf - вывод префикса перед восьмиричными и
- •19 . Оператор printf - форматирование чисел с плавающей точкой
- •20. Оператор printf - форматирование экспоненциального представления
- •21. Оператор printf - вывод с выравниванием слева
- •22. Оператор printf - комбинирование спецификаторов формата
- •23. Оператор printf - перенос символьной строки
- •24. Оператор printf - вывод текстовых строк по near- и far-указателям
- •25. Оператор printf - работа с Esc-символами
- •26. Оператор printf - определение количества выводимых символов
- •27. Оператор printf - использование возвращаемого значения
- •28. Ansi-драйвер
- •29. Использование ansi-драйвера для очистки экрана
- •30. Использование ansi-драйвера для управления цветом на экране
- •31. Использование ansi-драйвера для позиционирования курсора
- •33.Ввод и вывод одного символа
- •35.Буферы
- •36. Чтение одной строки
- •37. Функции ввода-вывода символов
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