Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
П_лаб1_2_3_new1прав.doc
Скачиваний:
31
Добавлен:
18.11.2019
Размер:
1.17 Mб
Скачать

Ввод – вывод данных

Для ввода данных с клавиатуры и вывода данных на экран можно воспользоваться следующими средствами:

- использовать функции форматного ввода/вывода для работы со стандартными потоками, по умолчанию стандартные потоки связаны с клавиатурой и экраном дисплея:

scanf()– функция ввода данных из стандартного потока (stdin).

Аргументами функции scanf() являются список адресов переменных в ОП, значения которых должны быть введены из стандартного входного потока, но первым параметром функции является строка с форматами ввода, которые позволяют интерпретировать вводимые значения в соответствии с типами переменных;

printf() – функция вывода данных в стандартный поток (stdout).

Аргументами функции printf() являются список выражений, значения которых вычисляются и выводятся в стандартный выходной поток (на экран), а первым аргументом - строка форматов для интерпретации выводимых значений. Пример:

int i, k; float x;

scanf(“%d%d%f”, &i, &k, &x); //&-операция взятия адреса

printf(“i = %d k = %d x = %f ” , i , k , x);

Описания (прототипы) этих функций находятся в заголовочном файле stdio.h, который необходимо подключить к программе директивой:

#include <stdio.h>;

- использовать непосредственно входные и выходные потоки из библиотеки классов входных и выходных потоков, описания которых находятся в заголовочном файле iostream.h.

Препроцессорная директива: #include <iostream.h> подключает к программе средства библиотеки ввода/вывода, построенной на основе механизма классов.

Поток – это обмениваемая последовательность байт. Обмен данными производится между оперативной памятью и внешними устройствами (файл на диске, принтер, клавиатура, дисплей, стример и т.п.) или между различными участками оперативной памяти.

cin – имя стандартного входного потока (по умолчанию связанного с клавиатурой);

cout – имя стандартного выходного потока (по умолчанию связанный с экраном дисплея);

>> - операция извлечения данных из потока или операция ввода;

<< - операция вставки данных в поток или операция вывода.

Операции извлечения данных из потока и вставки данных в поток являются основой для операторов ввода-вывода данных.

Оператор ввода (ввод данных с внешнего устройства в оп):

cin >> L-значение;

L-значение – это обращение к именованному участку оперативной памяти, значение которого можно изменять, частный случай – имя переменной. В последнем случае формат оператора ввода таков:

cin >> имя переменной;

Из потока cin (с клавиатуры) извлекается значение и помещается в участок оперативной памяти данной переменной.

Но не так все просто. Визуальное представление данных не является формой хранения данных в ЭВМ. Внутри ЭВМ данные хранятся в виде двоичных кодов, которые регламентированы для каждого типа данных. При вводе выполняется преобразование символов из потока (с клавиатуры) в двоичные коды внутреннего представления данных, при этом происходит автоматическое распознавание типов вводимых данных. При использовании потока cin не надо указывать правила преобразования данных (в отличие от функции scanf).