КАТЕГОРИИ: Архитектура-(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) |
Функции форматного вывода и ввода printf и scanf
Функция printf стандартной библиотеки предназначена для форматного вывода данных и имеет следующий прототип: int printf (char *format, arg1, arg2,...); Функция printf преобразует, форматирует и печатает свои аргументы arg1, arg2 и т.д. в стандартном выводе (обычно на экране) в соответствии с информацией, заданной аргументом format, и возвращает количество напечатанных символов. Форматная строка format содержит два вида объектов: обычные символы, которые непосредственно копируются в выходной поток, и спецификации преобразования, каждая из которых вызывает преобразование и печать очередного аргумента функции printf. Любая спецификация преобразования начинается знаком % и заканчивается символом-спецификатором. Между знаком % и символом-спецификатором могут быть расположены (в указанном ниже порядке) следующие элементы: · Знак минус, предписывающий «прижать» преобразованный аргумент к левому краю поля. · Число, задающее минимальную ширину поля. Преобразованный аргумент будет занимать поле по крайней мере указанной ширины. При необходимости лишние позиции слева (или справа при левостороннем выравнивании) будут заполнены пробелами. · Точка, отделяющая ширину поля от величины, устанавливающей точность. · Число (точность), задающее максимальное количество печатаемых символов строки, или количество цифр после десятичной точки – для плавающего значения, или минимальное количество цифр – для целого значения. · Буква h, если печатаемое целое должно рассматриваться как short, или l (латинская буква «эль»), если целое должно рассматриваться как long.
Перечень символов-спецификаторов и задаваемые ими преобразования вывода
Функция scanf стандартной библиотеки предназначена для форматного ввода данных и имеет следующий прототип: int scanf (char *format, arg1, arg2,...); Функция scanf читает символы из стандартного входного потока (обычно с клавиатуры), интерпретирует их согласно спецификациям строки format и рассылает результаты в свои аргументы arg1, arg2 и т.д. Эти аргументы, каждый из которых должен быть указателем, определяют, где будут запоминаться должным образом преобразованные данные. Функция scanf прекращает работу, когда оказывается, что исчерпался формат или вводимая величина не соответствует управляющей спецификации. В качестве результата scanf возвращает количество успешно введенных элементов данных. Каждое очередное обращение к scanf продолжает ввод с символа, следующего сразу за последним обработанным. При необходимости можно очистить входной поток от содержащихся в нем данных с помощью оператора: fflush(stdin); Строка format, управляющая преобразованиями ввода, может включать в себя следующие элементы: · Пробелы или табуляции, которые игнорируются.
· Обычные литеры (исключая %), которые, как ожидается, совпадут с очередными непробельными символами входного потока. · Спецификации преобразования, каждая из которых начинается со знака % и завершается символом-спецификатором типа преобразования. В промежутке между ними могут располагаться, причем в указанном здесь порядке: знак * (признак подавления присваивания); число, определяющее ширину поля; буква h, l или L, указывающая на размер получаемого значения.
Перечень символов-спецификаторов и задаваемые ими преобразования ввода
Перед символами-спецификаторами d, i, o, u, x может стоять буква h, указывающая на то, что соответствующий аргумент должен иметь тип short * (а не int *), или l (латинская «эль»), указывающая на тип long *. Аналогично, перед символами-спецификаторами e, f, g может стоять буква l, указывающая, что тип аргумента – double * (а не float *).
Дата добавления: 2014-01-20; Просмотров: 531; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |