Функция 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>.
|