Глава 6. ВВОД – ВЫВОД данных
Ввод–вывод – это передача данных между переменными программы(ОП) и внешней памятью(ВП).
В Си предусмотрен только форматный обмен.
<stdio.h> – файл прототипа.
Ввод:
Вывод:
Буфер имеет конечный размер и считывание из него происходит только после нажатия клавиши <Enter>.
Формат основных функций
{scanf | printf}(<управляющая строка>[, <список_данных>] );
<управляющая строка> := “[<произвольный текст>][<спецификации>]”
<список_данных> := <имя_переменной> [ , <имя_переменной> [, …] ]
Элементы списка данных scanf( ) – адреса переменных, значения которых задаются, поэтому необходимо использовать операцию &(нахождение адреса).
Возвращаемые значения: printf ( )– число выводимых символов (байтов), scanf( ) – число введенных скалярных значений.
6.1 Управляющая строка
Содержит спецификации для функций ввода-вывода.
ФорматОДНОЙ спецификации
% [ <флаги> ] [W] [. D] [l] <тип>
% [признаки] [ширина_поля] [ .точность ] [модификатор] с_n.
Флаги для printf (для scanf не используются):
– данное прижимается к левой границе поля вывода;
+ число ВСЕГДА со знаком (актуально для положительных данных, в которых по умолчанию знак опускают, отрицательные всегда изображаются со знаком).
W – размер поля данного в символах (байтах).
D – обычно характеризует точность представления значения при выводе, ПРИ ВВОДЕ НЕ ИСПОЛЬЗУЕТСЯ (количество цифр, которые необходимо вывести справа от десятичной точки для типов float и double).
Модификаторы:
l – модификатор "длинных"(long для целых, double для чисел с плавающей точкой), указывает, что соответствующий элемент имеет тип long.
h – модификатор “коротких”, указывает, что соответствующий элемент имеет тип short int.
6.1.1 Спецификация d (целые десятичные цифры)
ВВОД Формат спецификации
% [W] [l] d
W – максимальное число считываемых символов.
l – модификатор для long.
Пример.
Внешнее представление | Спецификация | Значение в памяти |
165<пробел> | d | |
+165<Enter> | d | |
2 d | ||
1 d | ||
l d | ||
– 431921 | 4 l d | – 431 |
+ 431921<пробел> | 10 l d |
ВЫВОД Форматспецификации
% [<флаги>] [W] [ .D] [l] d
D – минимальное число выводимых символов.
Пример.
Значение в памяти | Спецификация | Внешнее представление |
d | ||
+ d | + 2475 | |
<пробел> d | <пробел> 2475 | |
– 2475 | d | –2475 |
– 2475 | +d | –2475 |
–2475 | <пробел>d | –2475 |
–2475 | 3d | –2475 |
10d | _ _ _ _ _ _ 2475 | |
+10d | _ _ _ _ _+2475 | |
–10d | 2475_ _ _ _ _ _ | |
–+10d | +2475_ _ _ _ _ | |
10.5d | – – – – – 02475 | |
–24 | 10.5d | _ _ _ _ – 00012 |
–24 | .5d | –00024 |
5.0d | _ _ _ _ 3 | |
–478126 | 10ld | _ _ _–478126 |
–478126 | –10ld | –478126_ _ _ |
+–10ld | +478126_ _ _ |
6.1.2. Спецификация f (вещественные числа с плавающей точкой)
ВВОД Форматспецификации
% [W] [l] f
l – для double.
Дата добавления: 2015-06-10; просмотров: 718;