ПОТОКОВЫЙ ВВОД-ВЫВОД В языке С++ предусмотрена возможность ввода-вывода потоков байтов. <...> Это достигается за счет того, что для реализации потокового ввода-вывода используются средства объектно-ориентированного программирования и библиотека потокового ввода-вывода С++ является библиотекой не функций, а классов, она содержит не только описания типов, но свои методы (функции) обработки для каждого типа адресованного этому классу обращения. <...> Чтобы воспользоваться функциями потокового ввода-вывода, необходимо включить в программу заголовочный файл <iostream.h> (он описывает класс двунаправленных потоков ввода-вывода). <...> Пример: … int x; float y; . cin >> x; cin >> y; /* Можно сформировать цепочку операций обмена с потоком при вводе данных: */ cin >> x >>y; Исходные данные здесь можно ввести с клавиатуры либо в одну строку, разделяя их пробелом, либо помещая каждое значение на отдельной строке. <...> Вывод потоков Он описывается следующим образом: cout << <выражение_ базового_типа>; Выполняется с помощью операции << «поместить в поток». <...> Пример: int x,y; cout << "Значение х= "<< х; cout << "Значение y= "<< y; //поместить в поток значение x //поместить в поток значение y cout << "Значение суммы= "<< x+y; При выводе в поток значений выражений надо следить за приоритетом операций. <...> Например, в результате выполнения операции cout << 2+3+4; на экран будет выведено значение 9 (так как приоритет арифметических операций выше, чем приоритет операции <<). <...> Чтобы вывести в поток значение выражения, содержащего операции более низкого приоритета, чем <<, требуется применить скобки (например, cout << (a+b<c);). <...> Например, манипуляторами без параметров являются манипуляторы потоков, задающие основание системы счисления для целых значений: – dec – десятичная система счисления (по умолчанию); – oct – восьмеричная система счисления; – hex – шестнадцатеричная система счисления; 6 Пример: … int x=20; cout<< "В десятичном формате"<<x; cout << "В восьмеричном формате:"<< oct << x; //20 //24 cout << "В шестнадцатеричном формате:"<< hex << x <...>
Основы_программирования_на_СС++.pdf
УДК 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
Стр.2
ОГЛАВЛЕНИЕ
1. Потоковый ввод-вывод .................................................................. 3
1.1. Ввод потоков .......................................................................... 3
1.2. Вывод потоков ........................................................................ 5
1.3. Форматирование данных при обмене с потоками ................ 5
2. Файлы .............................................................................................. 9
2.1. Свойства и назначения файлов ............................................. 9
2.2. Работа с файлами в программах........................................... 10
2.3. Текстовые файлы. Форматный ввод-вывод в файлах ........ 12
2.4. Текстовые файлы и структуры ............................................ 13
2.5. Работа со строками в файлах .............................................. 15
2.6. Бинарные файлы ................................................................... 17
2.7. Работа с файловым указателем .............................................. 21
3. Динамические структуры данных .............................................. 23
3.1. Способы организации данных ............................................ 23
3.2. Списки ................................................................................... 24
3.3. Стеки .......................................................................................... 31
3.4. Очереди .................................................................................. 34
4. Классы памяти .............................................................................. 37
5. Область действия переменных ................................................... 44
6. Рекурсия ........................................................................................ 49
7. Встраиваемые (inline) функции .................................................. 54
8. Указатели на функции ................................................................. 56
9. Перегрузка функций .................................................................... 57
10. Шаблоны функций ..................................................................... 59
11. Функция main() и ее параметры ............................................... 63
Варианты контрольных задач ......................................................... 65
Задачи первого рубежного контроля .......................................... 65
Задачи второго рубежного контроля ......................................... 66
Список рекомендуемой литературы ................................................ 68
69
Стр.69