Функция форматированного вывода 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; просмотров: 527;