Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Форматный ввод / вывод на консоль

Читайте также:
  1. I. Дискенезия желче-выводящих путей.
  2. III. ВЫВОДЫ
  3. VI. Дальнейшие выводы для анализа и политики
  4. Английская классическая политическая экономия: основные представители и выводы
  5. Базовая система ввода-вывода (BIOS). Понятие CMOS RAM
  6. Билет 13. Английская классическая политическая экономия: основные представители и выводы.
  7. Билет 17. Тип множество: описание, ввод, вывод, операции над множествами
  8. В заключении не забыть сформулировать вывод, обобщающий свою точку зрения.
  9. ВВОД И ВЫВОД
  10. Ввод и вывод информации

Функции printf() и scanf() выполняют форматный ввод и вывод, то есть они могут читать и писать данные в разных форматах. Данные на консоль выводит printf(). А ее "дополнение", функция scanf(), наоборот — считывает данные с клавиатуры. Обе функции могут работать с любым встроенным типом данных, а также с символьными строками, которые завершаются символом конца строки ('0').

printf()

Вот прототип функции printf():

int printf(const char * управляющая_строка,...);

Функция printf() возвращает число выведенных символов или отрицательное значение в случае ошибки.

Управляющая_строка состоит из элементов двух видов. Первый из них — это символы, которые предстоит вывести на экран; второй — это спецификаторы преобразования, которые определяют способ вывода стоящих за ними аргументов. Каждый такой спецификатор начинается со знака процента, за которым следует код формата. Аргументов должно быть ровно столько, сколько и спецификаторов, причем спецификаторы преобразования и аргументы должны попарно соответствовать друг другу в направлении слева направо.

Спецификаторы преобразования для функции printf()

Код Формат
%a Шестнадцатеричное в виде 0xh.hhhhp+d (только С99)
%A Шестнадцатеричное в виде 0Xh.hhhhP+d (только С99)
%c Символ
%d Десятичное целое со знаком
%i Десятичное целое со знаком
%e Экспоненциальное представление ('е' на нижнем регистре)
%E Экспоненциальное представление ('Е' на верхнем регистре)
%f Десятичное с плавающей точкой
%g В зависимости от того, какой вывод будет короче, используется %е или %f
%G В зависимости от того, какой вывод будет короче, используется %Е или %F
%o Восьмеричное без знака
%s Строка символов
%u Десятичное целое без знака
%x Шестнадцатеричное без знака (буквы на нижнем регистре)
%X Шестнадцатеричное без знака (буквы на верхнем регистре)
%p Выводит указатель
%n Аргумент, соответствующий этому спецификатору, должен быть указателем на целочисленную переменную. Спецификатор позволяет сохранить в этой переменной количество записанных символов (записанных до того места, в котором находится код %n)
%% Выводит знак %

 

scanf()

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

int scanf(const char * управляющая_строка,...);

Эта функция возвращает количество тех элементов данных, которым было успешно присвоено значение. В случае ошибки scanf() возвращает EOF, управляющая_строка определяет преобразование считываемых значений при записи их переменные, на которые указывают элементы списка аргументов.

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

Теперь поговорим о каждом из этих видов.




Дата добавления: 2015-02-16; просмотров: 64 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав