- •Предисловие
- •Глава 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. Стандартная библиотека шаблонов
- •Литература
- •Предметный указатель
|
Операторы. Ключевые слова 61 |
int k = 0; |
|
{ |
// Внутренний блок |
int i; |
// i локализована во внутреннем блоке |
i = k; |
// Допустимо, k здесь доступна |
cout << ”i = ” << i; |
// Будет напечатано i = 0 |
int k = 1; |
// Внутреннее k затеняет внешнее k |
i = k; |
// Используется «внутреннее» k |
cout << ”i = ” << i; |
// Будет напечатано i = 1 |
} |
// Конец внутреннего блока |
k = i + 1; |
// Ошибка, i недоступна вне своего блока |
::k = 0; |
// Обращение к внешней переменной k |
}
Переменные, используемые в качестве параметров цикла, можно определять непосредственно в заголовке цикла с необходимой инициализацией. Стандарт устанавливает областью действия таких переменных цикл. Например, в следующем фрагменте находится сумма первых 100 натуральных чисел.
int s = 0; |
|
for(int i = 1; i <= 100; i++) |
// Зона действия i – цикл |
s += i; |
|
cout << i; |
// Ошибка, i недоступна |
В Turbo C++ переменная, объявленная в заголовке цикла, существует не только в цикле, но до конца блока, поэтому приведенный выше фрагмент будет выполняться без ошибок.
4.5. Константы
Константы – это объекты, которые нельзя изменить. Константы объявляются с добавлением ключевого слова const. При определении констант их следует инициализировать. Например,
int main() |
|
{ |
|
const int model = 90; |
// model является константой |
const int x; |
// Ошибка, нет инициализации |
model = 200; |
// Попытка изменить константу, ошибка |
return 0; |
|
} |
|
Задачи - . Простейшие вычисления
При решении задач из данного раздела нужно научиться: определять переменные нужных числовых типов: целых и с
плавающей точкой;
62 4
использовать арифметические операторы для составления выражений, реализующих вычисления по формулам;
вызывать библиотечные функции; использовать оператор присваивания; вводить и выводить данные числовых типов.
1.По аналогии с программой 4 напишите программу, печатающую значения логических выражений из табл. 14.
2.Напишите программу, выводящую значения тех выражений из табл.25, для которых в таблице приведено их значение.
3.Напишите программу, выводящую значения выражений из
табл.26
4.Напишите программу, выводящую значения выражений из третьего столбца табл.19.
5.Напишите программу, которая по двум сторонам треугольника и углу между ними вычисляет третью сторону и остальные два угла.
6.Даны длины a, b, c сторон некоторого треугольника. Найти медианы треугольника, сторонами которого являются медианы исходного треугольника. Замечание. Длина медианы, проведенной к стороне a, равна
0.52b2 + 2c2 − a2
7.Напишите программу для перевода угла, заданного в градусах,
врадианы.
8.Напишите программу, переводящую угол из радианов в
градусы.
9.Напишите программу, переводящую полярные координаты r,
ϕточек на плоскости в декартовы x, y. Декартовы координаты выражаются через полярные по формулам:
x = r cos ϕ, y = r sinϕ .
10. Напишите программу, переводящую декартовы координаты x, y точек на плоскости в полярные r, ϕ . Полярные координаты выражаются через декартовы по формулам:
|
|
|
y |
|
|
r = x2 + y2 , ϕ = arctg |
|||||
x . |
|||||
|
|
|
11.Напишите программу решения квадратного уравнения.
12.Напишите программу вычисления координат вершины параболы
y =ax 2 +bx +c .
Операторы. Ключевые слова 63
13.Пусть в банке взята в кредит на 1 год сумма P под r процентов годовых. Возврат кредита (основного долга и процентов) производится
вконце срока. Рассчитайте сумму, которую должен вернуть заемщик банку.
14.Пусть в банке взята в кредит сумма P под r процентов годовых на N месяцев. Возврат кредита (основного долга и процентов) производится путем возврата банку ежемесячно одинаковой суммы x, величина которой находится по формуле
x = P |
æ |
|
|
|
r |
öN |
|
r |
æ |
æ |
|
|
|
r |
öN |
ö |
ç |
1 |
+ |
|
|
÷ |
|
|
ç |
ç |
1 |
+ |
|
|
÷ |
- 1÷ |
|
|
|
|
|
|
|
|||||||||||
|
|
|
1200 |
1200 |
ç |
|
|
1200 |
÷ |
|||||||
|
è |
|
|
ø |
è |
è |
|
|
ø |
ø . |
15.Напишите программу, вычисляющую размер выплат x в зависимости от P, r и N
16.Напишите программу, подсчитывающую общую сумму процентных выплат по кредиту, взятому на условиях, рассмотренных в предыдущей задаче.
17.Банк принимает вклады сроком на 1 год с ежемесячным начислением r процентов. Проценты включаются в остаток вклада. Рассчитайте сумму, которую получит вкладчик через 1 год.