Московский государственный технический университет
имени Н. Э. Баумана
М. Ю. Барышникова, А. В. Силантьева
ОСНОВЫ ПРОГРАММИРОВАНИЯ
НА С/С++
Рекомендовано редсоветом МГТУ им. Н. Э. Баумана
в качестве учебного пособия
по курсу «Язык программирования С»
Часть 2
Москва
Издательство МГТУ им. Н. Э. Баумана
2007
УДК 004. 43(075. 8)
ББК 32. 973. 26–018. 1
Б26
Рецензенты: Г. С. Иванова, К. А. Милорадов
Барышникова М. Ю. , Силантьева А. В. Б26 Основы программирования на С/С++: Учеб. пособие. –
Ч. 2. – М. : Изд-во МГТУ им. Н. Э.
Баумана, 2007. – 70 с. : ил. ISBN 978-5-7038-2939-4
Учебное пособие представляет собой краткое изложение лекци-
онного курса «Программирование на языке С», читаемого для студен-
тов ГУИМЦ. Изложены основные концепции программирования на
языке С/С++, рассмотрены особенности реализации классических ал-
горитмов программирования на этом языке, приведены примеры ис-
пользования С/С++ для решения конкретных задач с использованием
различных типов и структур данных. Для студентов 3-го курса ГУИМЦ. Также может быть использо-
вано при изучении курса «Основы информатики» студентами 1-го кур-
са факультета РК. Табл. 1. Ил. 9. Библиогр. 8 назв. УДК 004. 43(075. 8)
ББК 32. 973. 26–018. 1
ISBN 978-5-7038-2939-4 © МГТУ им. Н. Э. Баумана, 2007
1. ПОТОКОВЫЙ ВВОД-ВЫВОД
В языке С++ предусмотрена возможность ввода-вывода пото-
ков байтов. Поток рассматривается просто как последовательность
байтов и с программной точки зрения не зависит от тех конкрет-
ных устройств, с которыми ведется обмен данными. При этом
очень важно, что никакой связи значений этих байтов с кодами
какого-либо алфавита не устанавливается. В то же время в языке
С++ каждая операция ввода-вывода осуществляется способом, оп-
ределяемым типом данных. Это достигается за счет того, что для
реализации потокового ввода-вывода используются средства объ-
ектно-ориентированного программирования и библиотека потоко-
вого ввода-вывода С++ является библиотекой не функций, а клас-
сов, она содержит не только описания типов, но свои методы
(функции) обработки для каждого типа адресованного этому клас-
су обращения. Используемые в программах потоки логически делятся на три
типа:
– входные, из которых читается информация в память;
– выходные, в которые вводятся данные из памяти;
– двунаправленные, допускающие как чтение, так и запись. В операциях ввода байты пересылаются от устройства ввода
(например, клавиатуры, дисковода или соединения сети) в опера-
тивную память, а при выводе – из оперативной памяти на устройст-
ва вывода, например на экран дисплея, дисковод или принтер. При
этом для ускорения процессов обмена данными с потоком часто ис-
пользуется участок основной памяти – буфер потока.