Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Ввод – вывод значений переменных




Значение переменной может быть указано при описании, а может быть введено с клавиатуры. Рассмотрим, как происходит ввод – вывод значений переменных в языке С++.

Для ввода значений переменных с клавиатуры используется выражение

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

где cin – имя объекта-потока, описание которого содержится в заголовочном файле iosteam.h, операция >> - операция извлечения из потока, заключающаяся в преобразовании символов входного потока в значение типизированного объекта, частным случаем которого является переменная основного типа.

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

cout << имя_переменной (константы);

Часто для ввода и вывода применяют последовательные операции, которые также называют “цепочками” операций ввода и вывода. Например, для переменной int x=2 результатом выполнения оператора

cout << “\nx*3=”<<x*3<< “, x*4=”<<x*4; // * - операция умножения

будет следующая строка на экране: x*3=6, x*4=8.

Как видно из данного примера, в качестве выражения для вывода может быть взят результат некоторой операции.

Приведем пример использования “цепочек” операций при вводе данных. Для переменных int i, j, k оператор

cin>> i>>j>>k;

обеспечивает ввод последовательности целых значений переменных i, j, k. Элементы этой последовательности во входном потоке должны разделяться обобщенными пробельными символами (пробелами, знаками табуляции, символами перевода строки). Причем исходные данные можно ввести, размещая их либо в одну строку и только после этого нажимая клавишу Enter, либо помещая каждое значение на отдельной строке, то есть нажимая клавишу Enter после каждого введенного значения. Причем в первом случае количество чисел, набранных в строке, может превышать количество операций извлечения >>. При этом “лишние ” (последние) числа игнорируются.

Потоковые объекты cin и cout построены таким образом, что ввод и вывод выполняются по-разному в зависимости от типов правого операнда операций включения << и извлечения >>. При вводе данных, например, операция извлечения >> реализует по сути три операции: для целых чисел, для вещественных чисел и для строк.

При вводе целого значения его можно набирать на клавиатуре в десятичном, восьмеричном (начиная с символа 0) или шестнадцатеричном (начиная с символов 0x) виде, соблюдая ограничения на длину внешнего и внутреннего представления чисел для данного типа данных.

При вводе вещественных чисел допустимы все формы их записи. Например, при вводе значения переменной float pi можно использовать следующие наборы символов 3.141593, 3.141593e0, +3.141593, 0.3141593e+1.

Обычно значение вещественной переменной выводится на экран в форме с фиксированной точкой, однако, если его значащая часть выходит за разрядную сетку, то вывод происходит в форме с плавающей точкой. Например, при вводе с клавиатуры значения 0.00000000000000000000001 на экран будет выдано 1e‑23.

При вводе с клавиатуры выборка из входного потока прекращается как только очередной символ окажется недоступным для переменной определенного типа. Например, для операторов

int k; float e;

cin >> k>>e;

cout << “k = ” <<k<< “ e= ” <<e;

набрав на клавиатуре

1234.567 89 <Enter>

получим следующие значения переменных:

k= 1234 e=0.567.

Здесь точка является недопустимым символом для переменной k, но корректно воспринята при вводе значения e. Символы 89 из входного потока проигнорированы, так как извлечение данных закончилось при достижении пробела, а операция >> больше не применяется.

Ввод - вывод массив и символьных массивов строк – это различные процедуры. Для операторов

char H1[]= “Это строка”;

int H2[]={1,2,3};

char H3 [255];

int H4 [5];

cout << “\n”<<H1;

cout << “\n”<<H2;

будет выведен текст Это строка и на следующей строке только адрес первого элемента массива, так как имя массива воспринимается как указатель со значением адреса начала массива. Чтобы вывести значения элементов массива, их надо явно обозначить с помощью индексов:

cout << H2[0]<< “ ”<< H2[1]<< “ ”<< H2[2];

Используя операторы

cin >> H3; cout << H3;

при вводе с клавиатуры текста Это строка, получим на экране текст Это, так как извлечение из входного потока происходит до ближайшего пробела, а остальные символы игнорируются.

При попытке ввести значения элементов массива с помощью оператора cin >> H4; получим сообщение об ошибке на этапе компиляции.




Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 779; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.