- •Р. Лафоре
- •Глава 1. Общие сведения 32
- •Глава 3. Циклы и ветвления 92
- •Глава 4. Структуры 142
- •Глава 5. Функции 168
- •Глава 6. Объекты и классы 217
- •Глава 7. Массивы и строки 261
- •Глава 8. Перегрузка операций 312
- •Глава 9. Наследование 361
- •Глава 10. Указатели 411
- •Глава 11. Виртуальные функции 476
- •Глава 12. Потоки и файлы 536
- •Глава 13. Многофайловые программы 596
- •Глава 14. Шаблоны и исключения 640
- •Глава 15. Стандартная библиотека шаблонов (stl) 681
- •Глава 16. Разработка объектно-ориентированного по 752
- •Глава 1 «Общие сведения» включает список тем, касающихся uml, с указа- нием их расположения в книге.
- •Глава 1
- •Глава 2
- •Глава 3
- •If внутри циклов
- •If и else во вложенных ветвлениях
- •Глава 4
- •Глава 5 Функции
- •Глава 6
- •Глава 7
- •123456. Россия
- •123456. Россия
- •Глава 8
- •Глава 9
- •Глава 10 Указатели
- •Main() передает адрес переменной var в ptrd в centimize()
- •Centimize() использует этот адрес для доступа к var
- •Глава 11
- •Глава 12
- •Тип:менеджер Фамилия: Александров Номер:1111
- •Тип:Ученый Фамилия: Лебедев Номер:2222
- •Тип:рабочий Фамилия:Шевелев Номер:3333
- •Глава 13
- •Глава 14
- •Много объектов разных классов в памяти Рис. 14.2. Шаблон класса
- •Алгоритмы используют итераторы для работы с объектами контейнеров. Рис. 15.1. Контейнеры, алгоритмы и итераторы
- •Глава 16
- •Глава 1
- •Глава 2
- •Глава 3
- •Глава 4
- •Глава 5
- •Глава 6
- •Глава 7
- •Глава 8
- •Глава 9
- •Глава 10 Ответы на вопросы
- •Глава 11
- •Глава 12 Ответы на вопросы
- •Глава 13 Ответы на вопросы
- •Глава 14 Ответы на вопросы
- •Глава 15 Ответы на вопросы
- •Глава 16
Глава 1
Ответы на вопросы
Процедурными, объектно-ориентированными.
б.
Данные; совершают действия над ними.
а.
Сокрытием данных.
а, г.
Объекты.
Ложно; организационные принципы различаются.
Инкапсуляция.
г.
Ложно; большинство строк кода на C++ ничем не отличаются от кода на С.
Полиморфизмом.
г.
б.
б, г.
Глава 2
Ответы на вопросы
б, в.
Круглые скобки.
Фигурные скобки { }.
Это
первая функция, вызываемая при запуске
программы.
Выражением.
Правильный
ответ:
//
Это комментарий
/*Это
тоже комментарий*/
а,
г.
а)
4;
б)
10;
в) 4;
г) 4.
Ложно.
а)
целочисленная константа;
б) символьная
константа;
в) константа
в формате с плавающей запятой;
г) имя
переменное или идентификатор;
д) имя
функции.
Правильный
ответ:
а) cout
<< 'x';
б) cout
<< "Jim";
в) cout
<< 509;
Ложно;
они не равны, пока не выполнится
оператор.
cout
<< setw(10)
<<
george;
IOSTREAM
Правильный
ответ:
cin
>>
temp;
IOMANIP
Строковые
константы, директивы препроцессора.
Истинно.
2.
Присваивание
(=)
и арифметические (типа
+
и *).
Правильный
ответ:
temp
+=
23;
temp
= temp
+23;
1.
2020.
Для
обеспечения объявлений и других данных
библиотечных функций,
перегружаемых
операций и объектов.
Библиотечных.
Решения
упражнений
Верное
решение:
//
еx2_1.cpp
//
переводит галлоны в кубические футы
#include
<iostream>
using
namespace std;
int
main()
{
float
gallons,
cufeet;
cout
<< "\nВведите
количество в галлонах:";
cin
>>
gallons;
cufeet
= gallons
/ 7.481;
cout
<< "Значение
в кубических футах: "
<< cufeet
<< endl;
return
0;
}
Верное
решение:
//
ex2_2.cpp
//
generates table
#include
<iostream>
#include
<iomanip>
using
namespace std;
int
main()
{
cout
<< 1990 << setw(8)
<< 135 << endl
<<
1991 << setw(8)
<< 7290 << endl
<<
1992 << setw(8)
<< 11300 << endl
<<
1993 << setw(8)
<< 16200 << endl;
return
0;
}
Верное
решение:
//
ex2_3.cpp
//
арифметическое присваивание и
декремент
#include
<iostream>
using
namespace
std;
int
main()
{
int
var
= 10;
cout
<< var
<< endl;
//
переменная равна 10
var
*= 2; //
ее
значение стало 20
cout
<< var--<<
endl;
//
выводит и декрементирует перем.
cout
<< var
<< endl;
//
переменная равна 19
return
0;
}
Ответы
на вопросы
б,
в
Правильный
ответ:
george
!= sally
Глава 3
-1
— истинно; только 0 — ложно.
Выражение
инициализации инициализирует
циклическую переменную,
выражение
опроса переменной тестирует ее, а
выражение инкремента —
изменяет.
в,
г.
Истинно.
Правильный
ответ:
For(int
j = 00; j <= 110; j++)
cout
<< endl
<< j;
Фигурными
скобками.
в.
Правильный
ответ:
int
j = 100;
while(J
<=
110)
cout
<< endl
<< j++;
Ложно.
По
крайней мере, один раз.
Правильный
ответ:
int
j = 100;
do
cout
<< endl
<< j++;
while(j
<=
110);
Правильный
ответ:
if(age
>
21)
cout
<< "Yes
";
г.
Правильный
ответ:
if(age
>
21)
cout
<< "Yes
";
else
cout
<< "No
";
17
а, в.
'\r'.
Предшествующему,
заключен в скобки.
Переформатирования.
Правильный
ответ:
switch(ch)
{
case
'y':
cout
<< "Да
";
break;
case
'n':
cout
<< "Нет
";
break;
default:
cout
<< "Неизвестный
ответ ";
}
Правильный
ответ:
ticket
=(speed
>
55)
?
1
:
0;
г.
Правильный
ответ:
limit
==
55
&&
speed
>
55
Унарные,
арифметические, отношения, логические,
условные, присваи-
вание.
г.
В
начало цикла.
б.
Решения
упражнений
Верное
решение:
//
ex3_1.cpp
//
выводит произведения чисел
#include
<iostream>
#include
<iomanip> //
для setw()
using
namespace std;
int
main()
{
unsigned
long
n; //
число
cout
<< "\nВведите
число:";
cin
>>
n;
//
получить число
for(int
j
= 1; j
<= 200; j++)
//
цикл от 1 до 200
{
cout
<< setw(5)
<< j*n
<< "
";//
вывести произведение
if(j
% 10 == 0) //
через каждые 10 чисел
cout
<< endl;
//
начинать новую строку
}
return
0;
}
Верное
решение:
//
ex3_2.cpp
//
переводит фаренгейты в градусы и
обратно
#include
<iostream>
using
namespace std;
int
main()
{
int
response;
double
temper;
cout
<< "\nНажмите
1 для перевода из Фаренгейта в градусы
Цельсия,"
<<
"\n
2 для обратного перевода:";
cin
>>
response;
if(response
== 1)
{
cout
<< "Введите
температуру (в Фаренгейтах):";
cin
>>
temper;
cout
<< "В
градусах Цельсия это "
<< 5.0 / 9.0 * (temper
- 32.0);
}
else
{
cout
<< "Введите
температуру в гр. Цельсия:";
cin
>>
temper;
cout
<< "В
градусах Фаренгейта это "
<< 9.0 / 5.0 * temper
+ 32.0;
}
cout
<< endl;
return
0;
}
3.
Верное решение:
//
ex3_3.cpp
//
Создает число из отдельных цифр
#include
<iostream>
using
namespace std;
#include
<conio.h> //
для getche()
int
main()
{
char
ch;
unsigned
long
total = 0; //
в
этой
переменной
— число
cout
<< "\nВведите
число:";
while((ch
= getche())!='\r')
//
выход по нажатию Enter
total
= total*10+ch-'0';
//
прибавить
число
к
total*10
cout
<< "\nПолучилось
число:"
<< total
<< endl;
return
0;
}
4.
Верное решение:
//
ex3_4.cpp
//
Моделирует калькулятор с 4-мя функциями
#include
<iostream>
using
namespace std;
int
main()
{
double
n1, n2, ans;
char
oper,
ch;
do
{
cout
<< "\nВведите
первый операнд, операцию, второй
операнд:";
cin
>>
n1 >> oper >> n2;
switch(oper)
{
case
'+':ans
= n1 + n2;break;
case
'-':ans
= n1 - n2;break;
case
'*':ans
= n1 * n2;break;
case
'/':ans
= n1 / n2;break;
default:ans
= 0;
}
cout
<< "Ответ
="
<< ans;
cout
<< "\nПродолжать
(Введите 'y'
или 'n')?";
cin
>>
ch;
}
while(ch
!= 'n');
return
0;
}
