Иллюстрированный самоучитель по C++ Builder

Функция printf

В общем виде инструкция вызова функции printf выглядит так:

printf(УправляющаяСтрока, СписокПеременных)

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

Параметр Списокпеременных не является обязательным и представляет собой последовательность разделенных запятыми имен переменных, значения которых должны быть выведены.

Спецификатор формата задает вид вывода. Например, значение переменной типа float можно вывести как десятичное число с точкой (%f) или как число в формате с плавающей точкой (%е). В спецификаторе формата можно задать размер поля вывода (количество позиций экрана), а для формата f – размер поля для вывода целой и дробной частей числа. Если во время работы программы окажется, что выводимое значение не умещается в поле, указанном в спецификации, то для его вывода будет использовано столько позиций, сколько необходимо.

В табл. 7.1 приведены наиболее часто используемые спецификаторы формата. Необязательный параметр n, вместо которого надо подставить десятичное число, задает размер поля вывода; параметр m – размер поля для вывода цифр дробной части.

Таблица 7.1. Спецификаторы формата.

Спецификатор Тип переменной Форма вывода
%nd int Десятичное со знаком
%n.mf float или double Дробное с десятичной точкой
%ne float или double Дробное в виде числа с плавающей точкой
%nc char Символ
%ns   Строка

При выводе одной инструкцией значений нескольких переменных значение первой переменной выводится в соответствии с первым по порядку спецификатором формата из управляющей строки, второй со вторым и т. д.

Следует обратить внимание на то, что компилятор не проверяет, соответствует ли количество переменных, значения которых должны быть выведены, количеству спецификаторов в управляющей строке, а также соответствие типа переменной – спецификатору. Например, если переменная х объявлена как float, то в инструкции printf ("x=%i", x) компилятор не обнаружит ошибку.

Если надо вывести символ, который не может быть помещен в строку вывода обычным образом путем набора на клавиатуре, – например, символ новой строки или двойная кавычка, которая в языке C/C++ используется для ограничения в тексте программы строк, – то вместо этого символа применяется специальная последовательность символов. Специальная (управляющая) последовательность начинается символом обратной наклонной черты. Во время работы программы символы специальной последовательности на экран не выводятся, а выполняется действие, обозначаемое этой последовательностью. В табл. 7.2 приведены наиболее часто используемые управляющие последовательности.

Таблица 7.2. Управляющие последовательности.

Последовательность Действие
\n Переводит курсор в начало следующей строки
\r Переводит курсор на следующую строку текущей колонки
\t Переводит курсор в следующую позицию табуляции
\ Выводит двойную кавычку
\\ Выводит обратную наклонную черту
\0x ШестнадцатеричноеЧисло Выводит символ, код которого указан
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.