Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proga_shpory.docx
Скачиваний:
44
Добавлен:
25.03.2015
Размер:
102.57 Кб
Скачать

14) Форматный ввод-вывод. Функции ввода и вывода;

Форматный ввод-вывод:

Нет операторов ввода-вывода, а используются специальные библиотечные функции, описанные в <stdio.h>

Для вывода используется функция

printf (“управляющая строка”, список вывода);

прототип функции

int printf(const char* format. ... );

Список вывода состоит из имён переменных, констант и выражений. Управляющая строка содержит символы, задающие поясняющий текст, спецификации преобразования, каждая из которых вызывает вывод на экран значения очередного аргумента из списка вывода (начинается с %).

Ввод осуществляется с помощью функции

scanf(“управляющая строка”, список ввода).

Прототип функции

int scanf (const char* format. ... ):

Список ввода – представляет собой список адресов вводимых переменных, т.е. перечень имён со знаком &(амперсант). Управляющая строка для ввода содержит спецификации преобразования и управляющие символы.

15) Управляющая строка: управляющие символьные константы, поясняющий текст, спецификации преобразования (флаги, ширина, точность, модификаторы, типы преобразования).

Спецификация преобразования:

Начинается со знака %.

Формат:

% [флаги] [ширина] [.] [точность] [модификаторы] тип преобразования

Флаги:

0 – печать незначащих нулей

- выравнивание числа влево

+ - задают вывод «-» или «+»

# - вывод идентификатора системы счисления

Ширина – определяет минимальную ширину поля для размещения выводимого значения, если ширина больше чем нужно, то лишние заполняются слева пробелами, если недостаточно, то выводится столько символов, сколько есть.

Точность – определяет количество выводимых цифр в дробной части числа, точность может быть равна нулю.

Модификаторы:

L – используется для вывода long double,

l – используется для вывода long int,

h – используется для вывода short int,

u – используется для вывода unsigned.

Примеры:

%ld %lu %Lf

Тип преобразования:

c – для символьного типа, аргумент рассматривается как отдельный символ,

d, i – для целого типа, аргумент преобразуется к десятичному виду,

e, E, f, F, g, G – для вещественного типа (float,double),

для e, E аргумент, рассматриваемый как переменная типа float или double, преобразуется в десятичную форму в виде [-]m.nnnnnne[+-]xx, где длина строки из п определяется указанной точностью. Точность по умолчанию равна 6,

для f, F аргумент, рассматриваемый как переменная типа float или double, преобразуется в десятичную форму в виде [-]mmm.nnnnn, где длина строки из п определяется указанной точностью. Точность по умолчанию равна 6,

для g, G используется формат или %f, который короче; незначащие нули не печатаются,

o – для восьмеричных данных, аргумент преобразуется в беззнаковую восьмеричную форму (без лидирующего нуля),

s – для строковых данных, аргумент является строкой: символы строки печатаются до тех пор, пока не будет достигнут нулевой символ или не будет напечатано количество символов, указанное в спецификации точности,

u – для десятеричной системы, аргумент преобразуется в беззнаковую десятичную форму,

X,x – для шестнадцатеричной системы, аргумент преобразуется в беззнаковую шестнадцатеричную форму (без лидирующих Ох),

P, p – для вывода указателей, вывод указателя в шестнадцатеричном формате (эта спецификация не входит в стандарт, но она существует практически во всех реализациях)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]