
- •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. Функции ввода-вывода символов
10. Оператор printf - вывод значений типа char
Функция printf поддерживает спецификаторы формата, обеспечивающие ее информацией о типах параметров (таких как int, char и т.д.). Для отображения с помощью printf значении типа char следует использовать спецификатор формата %с. Следующая программа CHAR_OUT.C использует спецификатор формата %с для вывода на экран буквы А:
#include <stdio.h>
void main()
{
printf("Буква %c\n ", 'A');
printf("Буква %c\n ", 65);
}
Как можно видеть, программа дважды выводит букву А, которая задается по-разному в каждом вызове функции printf - первый раз с помощью символьной константы, второй раз путем указания ASCII-кода (65). После компиляции и выполнения программы на экран будет выведено:
Буква А
Буква А
11. Оператор printf - вывод чисел с плавающей точкой в
экспоненциальном формате
Функция printf поддерживает спецификаторы формата, обеспечивающие ее информацией о типах параметров (таких как int, char и т.д.). Как известно из С58, спецификатор формата %f предназначен для вывода значений с плавающей точкой. В некоторых случаях в программе может потребоваться вывод значений с плавающей точкой в экспоненциальной форме. Для выполнения такого вывода используются спецификаторы формата %е и %Е. Различие между %е и %Е заключается в том, что спецификатор формата %Е вызывает использование при выводе прописной буквы Е (для обозначения порядка), в то время как для спецификатора %е используется строчная. Следующая программа EXP_OUT.C демонстрирует применение спецификаторов формата %е и %Е для вывода значений с плавающей точкой в экспоненциальной форме:
#include <stdio.h>
void main()
{
float pi = 3.14159;
float radius = 2.0031;
printf("Площадь окружности равна %e\n ",2 * pi * radius);
printf("Площадь окружности равна %E\n ", 2 * pi * radius);
}
После компиляции и выполнения программы на экран будет выведено:
Площадь окружности равна 1.258584е01
Площадь окружности равна 1.258584Е01
Как можно заметить, по умолчанию спецификаторы формата %е и %Е обеспечивают форматирование вывода в минимальном объеме. Описание дополнительных возможностей по форматированию вывода с помощью функции printf приводится в последующих советах.
12. Оператор printf - вывод чисел с плавающей точкой в
десятичном или экспоненциальном формате
Согласно изложенному в С58, с помощью спецификатора формата %f функции printf можно отображать вещественные значения в формате с десятичный точкой. Известно также (С58), что применение спецификаторов формата %е и %Е обеспечивает вывод значений с плавающей точкой в экспоненциальной форме. Еще одна возможность, обеспечиваемая функцией printf,-форматные спецификаторы %g и %G, позволяющие представлять выводимые значения как в формате с десятичной точкой, так и в экспоненциальной форме. При применении этих спецификаторов функция prinlf сама решает, какая из форм (%f или %е) вывода наиболее информативна и должна быть использована. Следующая программа FLT_PT.C демонстрирует использование спецификатора формата %g:
#include <stdio.h>
void main()
{
printf("Отображение 0.1234 дает %g\n ",0.1234);
printf("Отображение 0.00001234 дает %g\n ",0.00001234);
}
После компиляции и выполнения программы на экран будет выведено:
Отображение 0.1234 дает 0.1234
Отображение 0.00001234 дает 1.234е-5