- •Предисловие
- •Глава 1. Основные понятия
- •1.1. Элементы языка программирования
- •1.2. Процесс создания программы
- •1.3. Первая программа
- •1.4. Состав программы
- •Глава 2. Средства разработки на C++
- •2.1. Системы Turbo C++ 3.0/Borland C++ 3.1
- •2.2. Система C++ Builder
- •Глава 3. Работа с числовыми данными
- •3.1. Целые типы
- •3.2. Числа с плавающей точкой
- •3.3. Ввод и вывод чисел
- •3.4. Логический тип и логические операции
- •3.5. Математические функции
- •Глава 4. Операторы. Ключевые слова
- •4.1. Операторы
- •4.2. Приоритеты операторов
- •4.3. Ключевые слова
- •4.4. Структура программы
- •4.5. Константы
- •Задачи - . Простейшие вычисления
- •Глава 5. Управление и циклы
- •5.1. Условный оператор
- •5.2. Операторы цикла
- •5.3. Переключатель
- •5.4. Операторы break и continue
- •Задачи -. Выбор и циклы
- •Глава 6. Массивы
- •6.1. Одномерные массивы
- •6.2. Двумерные массивы
- •Задачи -. Одно- и двумерные массивы
- •Глава 7. Функции
- •7.1. Определение функции
- •7.2. Формальные параметры и фактические аргументы
- •7.3. Автоматические и статические переменные
- •7.4. Прототипы функций
- •7.5. Массивы как аргументы функций
- •7.6. Внешние переменные
- •7.7. Рекурсия
- •7.8. Перегруженные имена функций
- •7.9. Аргументы функций по умолчанию
- •Задачи -. Функции
- •Глава 8. Символы и строки
- •8.1. Символы
- •8.2. Строки символов
- •Задачи -. Символы и строки
- •Глава 9. Препроцессор
- •9.1. Директивы препроцессора
- •9.2. Макросы
- •Задачи -. Макросы
- •Глава 10. Указатели и ссылки
- •10.1. Указатели и адреса
- •10.2. Указатели и массивы
- •10.3. Адресная арифметика
- •10.4. Символьные указатели
- •10.5. Массивы указателей
- •10.6. Указатели на функции
- •10.7. Ссылки
- •10.8. Операторы new и delete
- •Задачи -. Указатели и ссылки
- •Глава 11. О файлах и командной строке
- •11.1. Знакомство с файлами
- •11.2. Командная строка
- •11.3. Перенаправление стандартного ввода и вывода на файл
- •11.4. Аргументы командной строки
- •Задачи -. Файлы и командная строка
- •Глава 12. Работа с экраном дисплея
- •12.1. Текстовый режим
- •12.2. Графический режим
- •Задачи -. Работа с экраном
- •Глава 13. Внутреннее представление чисел
- •13.1. Двоичная система счисления
- •13.2. Беззнаковые целые
- •13.3. Двоичный дополнительный код
- •13.4. Двоичный код с избытком
- •13.5. Побитовые операторы
- •13.6. Дробные числа в двоичной системе
- •13.7. Внутреннее представление плавающих типов
- •13.8. Преобразование типов
- •Задачи -. Побитовые операторы
- •Глава 14. Структуры, перечисления, объединения
- •14.1. Объявление структур
- •14.2. Структуры и функции
- •14.3. Указатели на структуры
- •14.4. Массивы структур
- •14.5. Перечисления
- •14.6. Объединения
- •14.7. Битовые поля
- •14.8. О бинарных файлах
- •Задачи -. Структуры
- •Глава 15. Классы
- •15.1. Структуры в C++. Инкапсуляция
- •15.2. Встроенные функции
- •15.3. Классы. Скрытие данных
- •15.4. Конструкторы
- •15.5. Статические члены класса
- •15.6. Друзья класса
- •15.7. Копирование объектов класса
- •15.8. Управление доступом
- •15.9. Ссылка на себя
- •15.10. Деструкторы
- •Задачи -. Работа с классами
- •Глава 16. Программы из нескольких файлов
- •16.1. Работа с проектами
- •16.2. Область действия имен
- •16.3. Заголовочные файлы
- •16.4. Пространства имен
- •Задачи -. Работа со стеком
- •Глава 17. Перегрузка операторов
- •17.1. Правила перегрузки операторов
- •Задачи -. Перегрузка операторов
- •Глава 18. Конструктор копирования и оператор присваивания
- •18.1. Проблемы при копировании
- •Задачи -. Конструктор копирования
- •Глава 19. Ввод и вывод
- •19.1. Вывод
- •19.2. Ввод
- •19.3. Ввод и вывод определяемых пользователем типов
- •19.4. Работа с файлами
- •Глава 20. Взаимоотношения классов
- •20.1. Объекты как члены класса
- •20.2. Конструкторы встроенных типов
- •20.3. Наследование
- •20.4. Виртуальные функции
- •20.5. Абстрактные классы
- •20.6. Совместимость типов
- •20.7. Множественное наследование
- •Задачи -. Наследование классов
- •Глава 21. Шаблоны, исключения
- •21.1. Шаблоны
- •21.2. Шаблоны функций
- •21.3. Классы и шаблоны
- •21.4. Обработка исключений
- •21.5. Стандартная библиотека шаблонов
- •Литература
- •Предметный указатель
320
Литература
5.Керниган Б., Ритчи Д. Язык программирования Си.– СПб.: «Невский Диалект», 2001.– 352 с.
6.Страуструп Б. Язык программирования C++. – СПб.; М.: «Невский Диалект» – «Издательство БИНОМ», 1999.– 991 с.
7.Шилдт Г. Справочник программиста по C/C++.– М.: Издательский дом «Вильямс», 2000.– 448 с.
8.Павловская Т.А. C/C++. Программирование на языке высокого уровня.– СПб.: Питер, 2003.– 461 с.
9.Подбельский В.В. Язык Си++.– М.: Финансы и статистика, 1996.– 560 с.
10.Прата С. Язык программирования C++. Лекции и упражнения.– Киев: Издательство «ДиаСофт», 2001.–656 с.
11.Уинер Р. Язык Турбо Си. – М.: Мир, 1991. – 380 с.
12.Тондо К. Гимпел С. Язык Си. Книга ответов.– М.: Финансы и статистика, 1994. – 160 с.
13.Тарасов В.Л. Упражнения по языку Си.– Н. Новгород: Изд-во ННГУ, 1996. – 178 с.
14.Культин Н.Б. C/C++ в задачах и примерах.–СПб.: БХВ-Петербург, 2001.–288 с.
15.Лафоре Р. Объектно-ориентированное программирование в C++.– СПб.: Питер, 2003.– 928 с.
16.Архангельский А.Я. Программирование в C++Builder 5.– М.: ЗАО «Издательство БИНОМ», 2000– 1152 с.
321
Предметный указатель
acos............................................ |
51 |
asin............................................ |
51 |
atan............................................ |
51 |
atan2........................................ |
248 |
atof........................................... |
170 |
atoi........................................... |
170 |
atol........................................... |
170 |
begin()..................................... |
318 |
bool............................................ |
49 |
break.......................................... |
72 |
catch........................................ |
314 |
char.................................... |
43, 169 |
CharToOem............................... |
41 |
circle........................................ |
151 |
class......................................... |
203 |
closegraph............................... |
150 |
clrscr........................................ |
145 |
conio.h..................................... |
225 |
const.......................................... |
61 |
cos............................................. |
51 |
cosh........................................... |
51 |
count()..................................... |
317 |
cout.......................................... |
265 |
default........................................ |
71 |
delete....................................... |
128 |
DETECT................................. |
149 |
DOS......................................... |
135 |
dos.h........................................ |
207 |
double........................................ |
46 |
empty().................................... |
317 |
end()........................................ |
318 |
endl.......................................... |
166 |
equal()..................................... |
317 |
Errors......................................... |
32 |
exp............................................. |
51 |
fabs............................................ |
70 |
false........................................... |
49 |
find()........................................ |
317 |
float................................... |
46, 168 |
for.............................................. |
67 |
fstream..................................... |
267 |
getbkcolor................................ |
150 |
getch................................ |
146, 225 |
getcolor.................................... |
150 |
getdate..................................... |
208 |
getmaxx................................... |
151 |
getmaxy................................... |
151 |
good......................................... |
270 |
gotoxy.............................. |
145, 146 |
graphresult............................... |
150 |
if 64 |
|
ifstream............................ |
133, 267 |
initgraph.................................. |
149 |
int............................................... |
43 |
ios\................................................. |
|
\ |
|
app................................... |
268 |
binary............................... |
194 |
in 194, 268 |
|
out............................ |
194, 268 |
iostream................................... |
264 |
iostream.h................................ |
264 |
isalnum.................................... |
171 |
isalpha..................................... |
171 |
isapper..................................... |
171 |
isdigit....................................... |
171 |
isspace..................................... |
171 |
istream..................................... |
264 |
iterator..................................... |
317 |
leapyear................................... |
210 |
LIFO........................................ |
235 |
line........................................... |
151 |
log.............................................. |
51 |
long............................................ |
43 |
322 Указатель
long double................................ |
46 |
lower........................................ |
170 |
ltoa........................................... |
222 |
main........................................... |
19 |
math.h........................................ |
51 |
max_size()............................... |
317 |
namespace............................... |
239 |
new.......................................... |
128 |
ofstream................................... |
267 |
og10........................................... |
51 |
operator <<.............................. |
265 |
ostream.................................... |
264 |
outtextxy.................................. |
221 |
pop........................................... |
236 |
pow............................................ |
51 |
pragma..................................... |
113 |
pragma argused......................... |
40 |
pragma hdrstop.......................... |
40 |
public....................................... |
204 |
push......................................... |
236 |
putpixel.................................... |
150 |
rand............................................ |
92 |
RAND_MAX............................ |
92 |
random..................................... |
221 |
randomize.................................. |
92 |
read.......................................... |
194 |
resize()..................................... |
317 |
return......................................... |
19 |
Rus............................................. |
41 |
search().................................... |
317 |
seek_dir................................... |
195 |
seekg........................................ |
195 |
seekp........................................ |
195 |
setbkcolor................................ |
150 |
setcolor.................................... |
150 |
sin.............................................. |
51 |
sinh............................................ |
51 |
size_t....................................... |
106 |
size()........................................ |
317 |
sizeof....................................... |
210 |
sort()........................................ |
317 |
sqrt............................................. |
51 |
srand........................................ |
313 |
std............................................ |
|
240 |
stdio.h...................................... |
|
264 |
stdlib.h....................................... |
|
92 |
STL.......................................... |
|
316 |
strcmp...................................... |
|
107 |
strlen........................................ |
|
107 |
strrev........................................ |
|
164 |
struct date................................ |
|
207 |
switch........................................ |
|
71 |
tan.............................................. |
|
51 |
tanh............................................ |
|
51 |
textbackground........................ |
|
146 |
textcolor................................... |
|
146 |
this........................................... |
|
215 |
throw....................................... |
|
314 |
time.......................................... |
|
313 |
tolower..................................... |
|
171 |
toupper..................................... |
|
171 |
true............................................. |
|
49 |
try............................................ |
|
314 |
typedef............................. |
106, 164 |
|
unsigned.................................... |
|
43 |
unsigned........................................ |
|
|
char........................................ |
|
43 |
int........................................... |
|
43 |
long........................................ |
|
43 |
using........................................ |
|
240 |
using namespace...................... |
|
240 |
Warnings................................... |
|
32 |
wherex............................. |
193, 270 |
|
wherey..................................... |
|
193 |
while.......................................... |
|
65 |
window.................................... |
|
146 |
windows.h................................. |
|
41 |
write......................................... |
|
194 |
константа..................................... |
|
|
строковая ........................... |
|
106 |
переменные................................. |
|
|
автоматические.................... |
|
88 |
внешние................................ |
|
91 |
статические.......................... |
|
88 |
адрес....................................... |
|
118 |
аргументы по умолчанию....... |
97 |
Указатель 323
бинарный поиск..................... |
187 |
виртуальные функции........... |
285 |
восьмеричные константы....... |
44 |
встроенные функции............. |
202 |
глобальная переменная...59, 229 двоичный дополнительный код
............................................. |
158 |
двоичный код с избытком.... |
161 |
деструктор.............................. |
218 |
десятичные константы............ |
44 |
директива using...................... |
240 |
директивы препроцессора.... |
112 |
драйвер......................................... |
|
графический....................... |
148 |
друзья класса......................... |
210 |
заголовочные файлы............. |
234 |
зона видимости...................... |
229 |
идентификатор......................... |
15 |
инициализация объектов...... |
213 |
инкапсуляция......................... |
200 |
инструкция............................... |
60 |
исключение............................ |
314 |
итератор.................................. |
317 |
класс....................................... |
200 |
базовый............................... |
279 |
инкапсуляция..................... |
200 |
производный...................... |
279 |
ключевые слова....................... |
56 |
командная строка.................. |
136 |
компилятор.............................. |
18 |
компиляция.............................. |
32 |
константа...................................... |
|
символьная......................... |
103 |
константная функция............ |
294 |
константы................................. |
61 |
конструктор копирования... |
256, |
258 |
|
конструктор по умолчанию..206
конструкторы......................... |
206 |
конструкторы встроенных |
|
типов................................... |
273 |
контейнер............................... |
316 |
лексема..................................... |
14 |
макрос..................................... |
|
113 |
манипулятор.......................... |
|
166 |
dec....................................... |
|
193 |
hex....................................... |
|
193 |
мантисса........................... |
|
47, 168 |
массив..................................... |
|
121 |
динамический.................... |
|
128 |
указателей.......................... |
|
123 |
массивы.................................... |
|
77 |
мвссивы........................................ |
|
|
двумерные............................ |
|
79 |
метод....................................... |
|
201 |
множественное наследование |
||
............................................. |
|
293 |
модуль............................ |
236, 246 |
|
20.3.наследование.................. |
|
279 |
множественное.................. |
|
280 |
объявление............................... |
|
60 |
функции................................ |
|
90 |
объявление using................... |
|
240 |
оператор....................................... |
|
|
delete................................... |
|
128 |
new...................................... |
|
128 |
оператор \....................... |
177, 179 |
|
оператор запятая...................... |
|
53 |
оператор присваивания......... |
|
259 |
оператор разрешения зоны |
||
видимости.......................... |
|
230 |
операторы................................. |
|
52 |
бинарные.............................. |
|
52 |
унарные................................ |
|
52 |
операторы присваивания........ |
54 |
|
определение............................. |
|
60 |
отладка...................................... |
|
31 |
ошибка усечения..................... |
|
48 |
перегрузка.................................... |
|
|
операторов......................... |
|
243 |
операторов ввода/вывода. 266 |
||
функций................................ |
|
96 |
переключатель......................... |
|
71 |
переменные.............................. |
|
16 |
перенаправление ввода/вывода |
||
............................................. |
|
137 |
324 Указатель
пиксель................................... |
148 |
побитовое..................................... |
|
И 162 |
|
ИЛИ.................................... |
162 |
исключающее ИЛИ........... |
162 |
отрицание........................... |
163 |
побитовые операторы........... |
161 |
порядок................................... |
168 |
порядок числа.......................... |
47 |
поток............................... |
132, 264 |
поток............................................. |
|
бинарный............................ |
132 |
текстовый........................... |
132 |
правила доступа..................... |
214 |
препроцессор................... |
17, 112 |
признак конца строки........... |
106 |
приоритеты операторов.......... |
55 |
проект....................................... |
39 |
проекты.................................. |
227 |
пространство имен................ |
238 |
прототип функции................... |
90 |
процедурное |
|
программирование............ |
200 |
размер........................................... |
|
класса.................................. |
209 |
объекта класса................... |
209 |
реверсирование...................... |
107 |
редактор связей....................... |
18 |
рекурсия................................... |
94 |
свойства.................................. |
201 |
сдвиг влево............................. |
163 |
сдвиг вправо........................... |
164 |
симмвольная константа........ |
102 |
сортировка............................... |
92 |
ссылка..................................... |
126 |
ссылка на себя....................... |
215 |
стандартное пространство имен |
|
............................................. |
240 |
статические имена................. |
|
230 |
15.5.статические члены......... |
|
209 |
объявление......................... |
|
210 |
определение....................... |
|
212 |
статическое связывание........ |
|
286 |
стек.......................................... |
|
235 |
страж включения................... |
|
235 |
строки..................................... |
|
105 |
строковая константа.............. |
|
106 |
текстовый режим................... |
|
144 |
текущий каталог...................... |
|
29 |
точность числа......................... |
|
47 |
трассировка........................ |
34, 39 |
|
указатель................................ |
|
118 |
указатель на функцию.......... |
|
124 |
условное выражение............... |
|
54 |
условный оператор.................. |
|
64 |
утечка памяти........................ |
|
255 |
фактические аргументы.......... |
|
85 |
формальные параметры.......... |
|
85 |
функции-члены...................... |
|
204 |
функция.................................... |
|
84 |
определение......................... |
|
84 |
цветовые константы.............. |
|
145 |
цикл............................................... |
|
|
do-while................................. |
|
69 |
for.......................................... |
|
67 |
while...................................... |
|
65 |
с постусловием.................... |
|
69 |
с предусловием.................... |
|
65 |
числа с плавающей точкой..... |
46 |
|
21.1.шаблон............................ |
|
309 |
векторов.............................. |
|
311 |
динамичеких массивов..... |
312 |
|
класса.................................. |
|
311 |
функции...................... |
309, 310 |
|
шестнадцатеричные константы |
||
............................................... |
|
44 |
325
Владимир Леонидович Тарасов
Программирование на C++
Учебное пособие
Формат 60×84 1/16. Бумага офсетная. Печать офсетная. Усл. печ. л. 17,9. Уч.-изд. л. 22,8
Тираж 1000 экз. Заказ
Издательство Нижегородского госуниверситета им. Н.И. Лобачевского
603950, Н. Новгород, пр. Гагарина, 23
Типография Нижегородского госуниверситета. Лицензия ПД №18-0099 от 04.05.2001 603000, Н. Новгород, ул. Б. Покровская, 37.