Чтение онлайн

ЖАНРЫ

Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:

2. Введите одну или две вступительные фразы, например “Как дела? У меня все хорошо. Я скучаю по тебе”. Убедитесь, что первая строка отделена от других. Добавьте еще несколько строк по своему усмотрению — это же ваше письмо.

3. Предложите пользователю ввести имя другого приятеля и сохраните его в переменной

friend_name
. Добавьте в ваше письмо следующую строку: “Видел ли ты
friend_name
недавно?”.

4. Объявите переменную типа

char
с именем
friend_sex
и инициализируйте его нулем. Предложите пользователю ввести значение
m
,
если ваш друг — мужчина, и
f
— если женщина. Присвойте переменной
friend_sex
введенное значение. Затем с помощью двух инструкций
if
запишите следующее. Если друг — мужчина, то напишите строку: “Если ты увидишь
friend_name
, пожалуйста, попроси его позвонить мне”. Если друг — женщина, то напишите строку: “Если ты увидишь
friend_name
, пожалуйста, попроси ее позвонить мне”.

5. Предложите пользователю ввести возраст адресата и присвойте его переменной

age
, имеющей тип
int
. Ваша программа должна вывести на экран строку: “Я слышал, ты только что отметил день рождения и тебе исполнилось
age
лет”. Если значение переменной
age
меньше или равно 0 или больше или равно 110, выведите на экран строку
simple_error("ты шутишь!")
, используя функцию
simple_error
из заголовочного файла
std_lib_facilities.h
.

6. Добавьте в ваше письмо следующие строки Если вашему другу меньше 12 лет, напишите: “На следующий год тебе исполнится

age+1
лет”. Если вашему другу 18 лет, напишите: “На следующий год ты сможешь голосовать”. Если вашему другу больше 60 лет, напишите: “Я надеюсь, что ты не скучаешь на пенсии”. Убедитесь, что ваша программа правильно обрабатывает каждое из этих значений.

7. Добавьте строку “Искренне твой,” затем введите две пустые строки для подписи и укажите свое имя.

Контрольные вопросы

1. Что подразумевается под приглашением?

2. Какой оператор используется для ввода переменной?

3. Какие две строки следует добавить в программу, чтобы предложить пользователю ввести значение в вашу программу, если хотите, чтобы он ввел целое значение для переменной с именем

number
?

4. Как называется символ

\n
и для чего он предназначен?

5. Что является признаком конца строки?

6. Как прекращается ввод значения в целочисленную переменную?

7. Как записать

cout << "Hello, ";

cout << first_name;

cout << "!\n";

в одной строке?

8. Что такое объект?

9. Что такое литерал?

10. Какие существуют виды литералов?

11. Что такое переменная?

12. Назовите типичные размеры переменных типов

char
,
int
и
double
?

13. В каких единицах измеряется объем памяти, занимаемой небольшими переменными, например объектами типов

int
и
string
?

14. В чем заключается разница между операторами

=
и
==
?

15. Что такое определение?

16.

Что такое инициализация и чем она отличается от присваивания?

17. Что такое конкатенация строк и как она выполняется в языке С++?

18. Какие из следующих имен являются допустимыми в языке С++? Если имя является недопустимым, то укажите, по какой причине.

This_little_pig This_1_is fine 2_For_1_special

latest thing the_$12_method _this_is_ok

MiniMineMine number correct?

19. Приведите пять примеров допустимых имен, которые вы не стали бы использовать, чтобы не создавать недоразумений.

20. Сформулируйте разумные правила для выбора имен.

21. Что такое типовая безопасность и почему она так важна?

22. Почему преобразование типа

double
в тип
int
может привести к неверным результатам?

23. Сформулируйте правило, помогающее выявить безопасные и опасные преобразования типов.

Термины

Упражнения

1. Выполните задание из раздела ПОПРОБУЙТЕ, если вы не сделали его раньше.

2. Напишите программу на языке C++, которая преобразует мили в километры. Ваша программа должна содержать понятное приглашение пользователю ввести количество миль. Подсказка: в одной миле 1,609 км.

3. Напишите программу, которая ничего не делает, а просто объявляет переменные с допустимыми и недопустимыми именами (например,

int double = 0;
), и посмотрите на реакцию компилятора.

4. Напишите программу, предлагающую пользователю ввести два целых числа. Запишите эти значения в переменные типа

int
с именами
val1
и
val2
. Напишите программу, определяющую наименьшее и наибольшее значение, а также сумму, разность, произведение и частное этих значений.

5. Измените программу так, чтобы пользователь вводил числа с плавающей точкой и сохранял их в переменных типа

double
. Сравните результаты работы этих двух программ на нескольких вариантах. Совпадают ли эти результаты? Должны ли они совпадать? Чем они отличаются?

6. Напишите программу, предлагающую пользователю ввести три целых числа, а затем вывести их в порядке возрастания, разделяя запятыми. Например, если пользователь вводит числа 10 4 6, то программа должна вывести на экран числа 4, 6, 10. Если два числа совпадают, то они должны быть упорядочены одновременно. Например, если пользователь вводит числа 4 5 4, то программа должна вывести на экран числа 4, 4, 5.

7. Выполните упр. 6 для трех строковых значений. Так, если пользователь вводит значения "

Steinbeck
", "
Hemingway
", "
Fitzgerald
", то программа должна вывести на экран строку "
Fitzgerald, Hemingway, Steinbeck
".

8. Напишите программу, проверяющую четность или нечетность целого числа. Как всегда, убедитесь, что результат ясен и полон. Иначе говоря, не следует ограничиваться простой констатацией вроде “да” или “нет”. Вывод должен быть информативным, например “Число 4 является четным”. Подсказка: см. оператор вычисления остатка в разделе 3.4.

Поделиться с друзьями: