Функция форматированного вывода printf
Функция printf() является функцией стандартного вывода. С помощью этой функции можно вывести на экран монитора строку символов, число, значение переменной...
Функция printf() имеет прототип в файле stdio.h
int printf(char *управляющая строка, ...);
В случае успеха функция printf() возвращает число выведенных символов.
Управляющая строка содержит два типа информации: символы, которые непосредственно выводятся на экран, и спецификаторы формата, определяющие, как выводить аргументы.
Функция printf() это функция форматированного вывода. Это означает, что в параметрах функции необходимо указать формат данных, которые будут выводиться. Формат данных указывается спецификаторами формата. Спецификатор формата начинается с символа % за которым следует код формата.
Спецификаторы формата:
| %с | символ |
| %d | целое десятичное число |
| %i | целое десятичное число |
| %e | десятичное число в виде x.xx e+xx |
| %E | десятичное число в виде x.xx E+xx |
| %f | десятичное число с плавающей запятой xx.xxxx |
| %F | десятичное число с плавающей запятой xx.xxxx |
| %g | %f или %e, что короче |
| %G | %F или %E, что короче |
| %o | восьмеричное число |
| %s | строка символов |
| %u | беззнаковое десятичное число |
| %x | шестнадцатеричное число |
| %X | шестнадцатеричное число |
| %% | символ % |
| %p | указатель |
| %n | указатель |
Кроме того, к командам формата могут быть применены модификаторы l и h.
| %ld | печать long int |
| %hu | печать short unsigned |
| %Lf | печать long double |
В спецификаторе формата, после символа % может быть указана точность (число цифр после запятой). Точность задаётся следующим образом: %.n<код формата>. Где n - число цифр после запятой, а <код формата> - один из кодов приведённых выше.
Например, если у нас есть переменная x=10.3563 типа float и мы хотим вывести её значение с точностью до 3-х цифр после запятой, то мы должны написать:
printf("Переменная x = %.3f",x);
Результат:
Переменная x = 10.356
Вы также можете указать минимальную ширину поля отводимого для печати. Если строка или число больше указанной ширины поля, то строка или число печатается полностью.
Например, если вы напишите:
printf("%5d",20);
то результат будет следующим:
20
Обратите внимание на то, что число 20 напечаталось не с самого начала строки. Если вы хотите чтобы неиспользованные места поля заполнялись нулями, то нужно поставить перед шириной поля символ 0.
Например:
printf("%05d",20);
Результат:
00020
Кроме спецификаторов формата данных в управляющей строке могут находиться управляющие символы:
| \b | BS, забой |
| \f | Новая страница, перевод страницы |
| \n | Новая строка, перевод строки |
| \r | Возврат каретки |
| \t | Горизонтальная табуляция |
| \v | Вертикальная табуляция |
| \" | Двойная кавычка |
| \' | Апостроф |
| \\ | Обратная косая черта |
| \0 | Нулевой символ, нулевой байт |
| \a | Сигнал |
| \N | Восьмеричная константа |
| \xN | Шестнадцатеричная константа |
| \? | Знак вопроса |
Чаще всего вы будете использовать символ \n. С помощью этого управляющего символа вы сможете переходить на новую строку. Посмотрите примеры программ и вы всё поймёте.
Примеры программ.
/* Пример 1 */
#include <stdio.h>
void main(void)
{
int a,b,c; // Объявление переменных a,b,c
a=5;
b=6;
c=9;
printf("a=%d, b=%d, c=%d",a,b,c);
}
Результат работы программы:
a=5, b=6, c=9
/* Пример 2 */
#include <stdio.h>
void main(void)
{
float x,y,z;
x=10.5;
y=130.67;
z=54;
printf("Координаты объекта: x:%.2f, y:%.2f, z:%.2f", x, y, z);
}
Результат работы программы:
Координаты объекта: x:10.50, y:130.67, z:54.00
Дата добавления: 2016-04-14; просмотров: 593;
