Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функции форматированного ввода-вывода




Формат основных функций ввода-вывода, унаследованных из языка С:

 

int scanf (управляющая_строка, список адресов вводимых величин) // вводint printf(управляющая_строка, список выводимых величин) // вывод

 

ПРИМЕЧАНИЕ

Функция scanf возвращает количество успешно введенных и преобразованных значений. Функция printf возвращает количество символов, записанных в выходной поток.

Функции выполняют форматированный ввод и вывод произвольного количества величин в соответствии с управляющей строкой, которая определяет формат ввода или вывода данных. Она может содержать управляющие последовательности (или Escape-последовательности), символы, которые копируются на экран при выводе, и спецификации преобразования, начинающиеся со знака %, которые при вводе и выводе заменяются конкретными величинами. Каждой величине из списка ввода или вывода должна соответствовать своя спецификация.

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

 

Таблица 1.3 – Управляющие последовательности
Последовательность Действие
\a Звуковой сигнал
\b Удаление предыдущего символа
\n Новая строка
\r Возврат в начало строки
\t Горизонтальная табуляция
\' Апостроф
\" Кавычки
\? Вопросительный знак
\\ Обратный слеш
\0ddd Восьмеричный код символа
\0xdd Шестнадцатеричный код символа

 

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

 

%[флаги] [ширина] [.точность] [{h | l | L | I64}] тип

 

Некоторые из флагов представлены в таблице 1.4.

 

Таблица 1.4 –Флаги, используемые в спецификациях формата
Флаг Значение По умолчанию
- Выравнивание по левому краю Выравнивание по правому краю
+ Добавление знака + или – перед числами Знак добавляется только перед отрицательными числами
  Добавление нулей перед выводимым значением. Если одновременно используются флаги – и 0, то флаг 0 игнорируется Добавление пробелов
пробел Добавление пробела перед положительным числом. Если одновременно используются флаги пробел и +, пробел игнорируется Пробел не добавляется

 

Поле ширина содержит минимальное количество выводимых символов – неотрицательное целое число. Если выводимое значение содержит меньше символов, то оно расширяется пробелами (если не задан флаг 0).

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

Дополнительные префиксы h, l и L и задают «размер» аргумента – short или long, в зависимости от спецификации типа, которую они модифицируют.

Обязательное поле тип задаёт тип выводимого значения. Некоторые символы, используемые для задания типа значения, представлены в таблице 1.5.

 

Таблица 1.5 – Символы, используемые для задания типа значения
Символ Тип Формат вывода
c char При использовании с функцией printf определяет однобайтовый символ
d int Знаковое десятичное целое
i int Знаковое десятичное целое
o int Беззнаковое восьмеричное целое
u int Беззнаковое десятичное целое
x int Беззнаковое шестнадцатеричное целое с использованием символов «abcdef»
X int Беззнаковое шестнадцатеричное целое с использованием символов «ABCDEF»
e double Знаковое число в форме [ – ]d.dddd e [знак]ddd, где d есть одна десятичная цифра, dddd – одна или более десятичных цифр, ddd – три десятичные цифры и знак есть + или –
E double Идентичен формату e, за исключением того, что символ E, а не e вводит экспоненту
f double Знаковое число в форме [ – ]dddd.dddd, где dddd есть одна или более десятичных цифр. Количество цифр перед десятичной точкой зависит от величины числа, а количество цифр после десятичной точки – от требуемой точности
g double Знаковое число в формате f или e, в зависимости от того, какой формат более компактен для заданного значения и точности
G double Идентичен формату g, за исключением того, что символ E, а не e вводит экспоненту
s char Задаёт строку однобайтовых символов. Символы печатаются до достижения признака конца строки

 

Спецификация %d означает целое десятичное число, %f используется для величин типа float, %ld – для величин типа long int, %lf – для величин типа double, а %Lf – для величин типа long double.

Формат %e применяется в научных расчетах для вывода очень больших или очень маленьких чисел c представлением числа в так называемом стандартном виде (с выделенной мантиссой и порядком). Например, число 123.45 может быть записано в стандартном виде как 123.45 = 1.2345×102. Здесь 1.2345 – мантисса (она всегда находится в интервале от 1 до 10), а 2 – порядок (мантисса умножается на 10 в этой степени). При выводе по формату %e также можно задать число позиций, которые отводятся для вывода числа, и число цифр в дробной части мантиссы. Порядок всегда указывается в виде двух цифр, перед которыми стоит буква e и знак порядка (плюс или минус).

Формат %g применяется для того, чтобы автоматически выбрать формат (с плавающей или с фиксированной точкой). Для очень больших или очень маленьких чисел выбирается формат с плавающей точкой (в стандартном виде).

 




Поделиться с друзьями:


Дата добавления: 2015-04-30; Просмотров: 359; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.