Читать онлайн «Основы программирования на С/С++: Учеб. пособие. – Часть 2.»

Автор Барышникова М.Ю.

Московский государственный технический университет имени Н. Э. Баумана М. Ю. Барышникова, А. В. Силантьева ОСНОВЫ ПРОГРАММИРОВАНИЯ НА С/С++ Рекомендовано редсоветом МГТУ им. Н. Э. Баумана в качестве учебного пособия по курсу «Язык программирования С» Часть 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. ПОТОКОВЫЙ ВВОД-ВЫВОД В языке С++ предусмотрена возможность ввода-вывода пото- ков байтов. Поток рассматривается просто как последовательность байтов и с программной точки зрения не зависит от тех конкрет- ных устройств, с которыми ведется обмен данными. При этом очень важно, что никакой связи значений этих байтов с кодами какого-либо алфавита не устанавливается. В то же время в языке С++ каждая операция ввода-вывода осуществляется способом, оп- ределяемым типом данных. Это достигается за счет того, что для реализации потокового ввода-вывода используются средства объ- ектно-ориентированного программирования и библиотека потоко- вого ввода-вывода С++ является библиотекой не функций, а клас- сов, она содержит не только описания типов, но свои методы (функции) обработки для каждого типа адресованного этому клас- су обращения. Используемые в программах потоки логически делятся на три типа: – входные, из которых читается информация в память; – выходные, в которые вводятся данные из памяти; – двунаправленные, допускающие как чтение, так и запись. В операциях ввода байты пересылаются от устройства ввода (например, клавиатуры, дисковода или соединения сети) в опера- тивную память, а при выводе – из оперативной памяти на устройст- ва вывода, например на экран дисплея, дисковод или принтер. При этом для ускорения процессов обмена данными с потоком часто ис- пользуется участок основной памяти – буфер потока.