Программирование с C++ Builder



Функция printf



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

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

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

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

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

В табл. 7.1 приведены наиболее часто используемые спецификаторы формата. Необязательный параметр л, вместо которого надо подставить десятичное число, задает размер поля вывода; параметр 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ШестнадцатеричноеЧисло

Выводит символ, код которого указан


Для вывода на экран сообщений часто используют функцию puts, которая, в отличие от printf, после вывода автоматически переводит курсор в начало следующей строки. У функции puts один параметр — сообщение. В простейшем случае в качестве параметра функции puts используется строковая константа. Например, функция

puts("У лукоморья дуб зеленый,ХпЗлатая цепь на дубе том.")

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

Чтобы вывести цветной текст, надо использовать функции cprintf и cputs. Они ничем не отличаются от рассмотренных ранее printf и puts, за исключением того, что цвет символов, выводимых этими функциями, можно задать, вызвав функцию textcolor, а цвет фона — textbackground.

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

textcolor(Цвет) ; 
textbackground(Цвет) ;

Параметр цвет — параметр целого типа, в качестве которого обычно используют одну из именованных констант (табл. 7.3).

Таблица 7.3. Константы, в качестве параметра цвет


Цвет

Константа

Значение константы

Черный

BLACK

0

Синий

BLUE

1

Зеленый

GREEN

2

Бирюзовый

CYAN

3

Красный

RED

4

Сиреневый

MAGENTA

5

Коричневый

BROWN

6

Светло-серый

LIGHTGRAY

7

Серый

DARKGRAY

8

Голубой

LIGHTBLUE

9

Светло-зеленый

LIGHTGREEN

10

Светло-бирюзовый

LIGHTCYAN

11

Алый

LIGHTRED

12

Светло-сиреневый

LIGHTMAGENTA

13

Желтый

YELLOW

14

Белый (яркий)

WHITE

15


Следует обратить внимание на то, что в качестве параметра функции textcolor можно использовать символьные константы со значением от О до 15, а в качестве параметра функции textbackground — только от 0 до 7.

При выводе на экран весьма полезна функция cirscr, которая очищает экран, закрашивая его цветом фона, установленным функцией textbackground.

Функции textcolor, textbackground, cirscr и приведенные выше константы объявлены в файле conio.h, поэтому, чтобы они были доступны, в текст

Программы нужно включить директиву #include <conio.h>.


Книжный магазин