Int printf(char*, ...);
из файла stdio.h. Обязательным параметром функции служит адрес строковой константы, называемая строкой форматирования. Многоточие означает, что кроме обязательного параметра типа char* у функции могут быть и другие параметры. Этими параметрами являются отображаемые на экране объекты. Они перечисляются через запятую. В строковой константе содержатся указания о способе представления выводимых объектов на экране дисплея. Для каждого выводимого объекта в строке форматирования должно присутствовать отдельное указание, называемое спецификацией или командой форматирования.
Каждая команда форматирования начинается с символа % (процент) и содержит кроме него один обязательный символ. Он называется символом форматирования и задает способ представления отображаемого объекта. Соответствие между символами форматирования и способом представления выводимых объектов приведено в таблице 3.1.
Таблица 3.1 - Примеры символов форматирования функции printf()
Тип выводимого объекта |
Символ форматирования |
Способ представления выводимого объекта |
int |
d или i |
в десятичной системе |
o |
в восьмеричной системе |
|
x или X |
в шестнадцатеричной системе |
|
float или double |
f или F |
в виде десятичной дроби; количество цифр после запятой задается программистом (по умолчанию - шесть) |
e или E |
в экспоненциальной форме; количество цифр после запятой задается программистом (по умолчанию - шесть) |
|
char |
c |
в виде ASCII-символа |
char* (строковая константа) |
s |
в виде последовательности ASCII-символов без завершающего ‘\0’-символа |
void* |
p |
вид определяется типом компилятора |
При выводе каждый объект представляется в виде последовательности символов из алфавита языка Си. Место, занимаемой этой последовательностью, на экране дисплея называется полем вывода. Программист может задать в команде форматирования длину поля для выводимого объекта. Она является целым числом, обозначающим количество символов, которые могут разместиться в поле вывода. Длина поля вывода помещается непосредственно за символом “%”. Если при выводе заданной программистом длины поля оказалось недостаточно, то оно (поле) увеличивается до необходимых размеров.
Для объекта с плавающей точкой в команде форматирования можно указать количество цифр дробной части, которые должны присутствовать в его представлении на носителе информации. Это указание состоит из точки и следующего за ней целого числа. Оно размещается в команде форматирования перед символом форматирования.
Для повышения наглядности вывода программист может размещать в строке форматирования между командами форматирования любые символы. В ходе вывода они отображаются на носителе. Возвращаемым значением функции printf() является количество выведенных символов.
Для ввода с клавиатуры объектов основных типов данных в основную память служит стандартная функция scanf() с прототипом