Спецификации

Управляющие последовательности

Стандартные функции форматированного ввода и вывода

 

Для использования этих функций в начало программы нужно поставить директиву препроцессора #include <stdio.h>.Она включает содержимое файла в текст программы. Этот файл содержит описание стандартных типов и функций для работы со стандартными файлами.

 

Форматный вывод – функция PRINTF().

 

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

Int printf(форматная строка,[список элементов ввода])

Первый параметр этой функции имеет тип: char *форматная строка. Она выводит значения аргументов в соответствии с заданной форматной строкой.

Строка формата определяет, какой вид должны иметь выводимые данные. Строка содержит следующие компоненты:

  • Текстовые строки (отображаются в таком виде, в каком стоят в строке формата);
  • Управляющие последовательности(специальные символы, предназначенные для управления выводом);
  • Спецификации вывода состоят из знака % и символа.

 

 

Последовательность Значение
a Звуковой сигнал
 Возврат на 1 символ назад
f Прогон страницы
Перевод строки
Возврат каретки
Горизонтальная табуляция
v Вертикальная табуляция
\ Обратная косая черта
? Знак вопроса
Одинарная кавычка
Двойная кавычка

 

Строка формата должна содержать по одной спецификации вывода для каждой выводимой переменной. Функция printf() отображает значение каждой переменной в таком виде, какой указан соответствующей спецификацией.

 

 

Спецификация Тип переменной
%c Char
%d Int, Short
%ld Long
%f Float, Double
%s Массивы типа Char(строки символов)
%u Unsigned Int, Unsigned Short
%lu Unsigned Long

 

Все элементы строки формата, не являющиеся спецификациями или управляющими последовательностями, воспроизводятся так, как текстовые строки и отображаются так, как написаны, включая пробелы.

В одной строке можно вывести любое количество значений переменных, но строка формата обязательно должна содержать по одной спецификации для каждого значения.

 

Printf(“a=%f, b=%d”,a,b);

Printf(“%d”, x+y);

 

Между аргументами и спецификациями устанавливается взаимнооднозначное соответствие в порядке их следования слева на право.

Любая спецификация в форматной строке имеет следующий общий вид:

% [выравнивание] [ширина (или * )] [ дополнительные признаки] символ преобразования

Выравнивание при выводе значения осуществляется в право по умолчанию, т.е. если под выводимое значение отводится большее число позиций чем нужно, то лишние позиции слева заполняются пробелами. Если место символа выравнивания поставить « - »то выравнивание будет осуществляться влево (т.е. значения будут прижиматься к левой границе).

Ширина определяет количество позиций, необходимых при выводе значения, если она отсутствует, то под значение будет отводиться стандартное число позиций. Если *, то количество позиций будет соответствовать выводимому значению.