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

на главную - закладки

Жанры

Освой самостоятельно С++ за 21 день.

Либерти Джесс

Шрифт:

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

5. Как влияет на работу программы "хорошее" или "плохое" имя переменной? Хорошее имя переменной говорит о назначении этой переменной; плохое не несет никакой информации.

Например, MyAge (МойВозраст) и PeopleOnTheBus (Пассажиров в автобусе) — это хорошие имена переменных, а в таких именах, как xjk и prndl, вероятно, мало пользы.

6. Если перечисление (enum) заданно таким образом, то каково значение его члена Blue?

enum COLOR { WHITE, BLACK = 100, RE0, BLUE, GREEN = 300 }; BLUE = 102

7. Какие из следующих имен переменных являются хорошими, плохими и вообще недопустимыми?

а) Age — хорошее имя;

б) !ex — недопустимое имя;

в) R79J — допустимое, но неудачное имя;

г) TotalIncome — хорошее имя;

д) _Invalid — допустимое, но неудачное имя.

Упражнения

1. Какой тип переменной был бы правильным для хранения следующей информации?

• Ваш возраст.

Unsigned short integer

• Площадь вашего заднего двора. Unsigned long integer или unsigned float

• Количество звезд в галактике. Unsigned double

• Средний уровень выпадения осадков за январь месяц. Unsigned short integer

2. Создайте подходящие имена переменных для хранения этой информации.

а) myAge (МойВозраст)

б) backYardArea (ПлощадьЗаднегоДвора)

в) StarsInGalaxy (ЗвездВГалактике)

г) averageRainFall (СреднемесячныйУровеньОсадков)

3. Объявите константу для числа pi, равного 3.14159.

const float pi = 3.14159;

4. Объявите переменную типа float и инициализируйте ее, используя константу pi.

float myPi = PI;

День 4 

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

 1. Что такое выражение?

Это любой набор операторов, возвращаюший значение.

2. Является ли запись x = 5 + 7 выражением? Каково его значение?

Да, является и возвращает значение 12.

3. Каково значение выражения 201 / 4?

50

4. Каково значение выражения 201 % 4?

1

5. Если переменные myAge, а и b имеют тип int, то каковы будут их значения после выполнения выражения:

myAge = 39;

а = myAge++;

b = ++myAge;

myAge: 41, а: 39, b: 41

6. Каково значение выражения 8+2*3?

14

7. Какая разница между выражениями if(x = 3) и if(x == 3)?

Первое выражение присваивает

переменной x значение 3 и возвращает TRUE. Второе выражение проверяет, равно ли значение переменной x числу 3, и возвращает TRUE, если значение переменной x равно 3, и FALSE в противном случае.

8. Будут ли следующие выражения возвращать true или false?

а) 0

FALSE

б) 1

TRUE

в) -1

TRUE

г) x = 0

FALSE

д) x == 0 // предположим, что x имеет значение 0

TRUE

Упражнения 

 1. Напишите один оператор if, который проверяет две целочисленные переменные и присваивает переменной с большим значением меньшее значение, используя только один дополнительный оператор else.

if (x > у) x = у;

else // у > x || у == x

У = x;

2. Проанализируйте следующую программу. Представьте, что вы ввели три значения. Какой результат вы ожидаете получить?

1: #include <iostream.h>

2: int main

3: {

4: int а, Ь, с;

5: cout << "Please enter three numbers\n";

6: cout << "а: ";

7: cin >> а;

8: cout << "\nb: ";

9: cin >> b;

10: cout << "\nc: ";

11: cin >> с;

12:

13: if (с = (a-b))

14: { cout << "а: ";

15: cout << а;

16: cout << "minus b: ";

17: cout << b;

18: cout << "equals с: ";

19: cout << с << endl; >

20: else

21: cout << "a-b does not equal с: " << endl;

22: return 0;

23: }

3. Введите программу из упражнения 2; скомпилируйте, скомпонуйте и выполните ее. Введите числа 20, 10 и 50. Вы получали результат, который и ожидали? Почему нет?

Введите числа 20, 10, 50. А вот результат:

а: 20 minus

b: 10 equals

с: 10

Неожиданный результат? Дело в том, что в строке 13 выполняется присваивание, а не проверка равенства.

4. Проанализируйте эту программу и спрогнозируйте результат:

1: #include<iostream.h>

2: int main

3: {

4: int а = 1, b = 1, с;

5: if (с = (a-b))

6: cout << "The value of c is: " << c;

7: return 0;

8: }

5. Введите, скомпилируйте, скомпонуйте и выполните программу из упражнения 4. Каков был результат? Почему?

6. Поскольку в строке 5 переменной с присваивается значение а - b, то значение присваивания выражения а (1) минус b (1) равно 0. Поскольку 0 означает false (ложь), то выходит, что условие проверки не выполняется и поэтому ничего не выводится.

Поделиться:
Популярные книги

Адвокат империи

Карелин Сергей Витальевич
1. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
фэнтези
5.75
рейтинг книги
Адвокат империи

Ваше Сиятельство 5

Моури Эрли
5. Ваше Сиятельство
Фантастика:
городское фэнтези
аниме
5.00
рейтинг книги
Ваше Сиятельство 5

Я все еще князь. Книга XXI

Дрейк Сириус
21. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще князь. Книга XXI

Курсант: назад в СССР 2

Дамиров Рафаэль
2. Курсант
Фантастика:
попаданцы
альтернативная история
6.33
рейтинг книги
Курсант: назад в СССР 2

Начальник милиции. Книга 4

Дамиров Рафаэль
4. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 4

Неудержимый. Книга XXII

Боярский Андрей
22. Неудержимый
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Неудержимый. Книга XXII

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Отмороженный 6.0

Гарцевич Евгений Александрович
6. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 6.0

Начальник милиции. Книга 6

Дамиров Рафаэль
6. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 6

Род Корневых будет жить!

Кун Антон
1. Тайны рода
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Род Корневых будет жить!

Восход. Солнцев. Книга I

Скабер Артемий
1. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга I

Возвышение Меркурия. Книга 8

Кронос Александр
8. Меркурий
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 8

Ваше Сиятельство 11

Моури Эрли
11. Ваше Сиятельство
Фантастика:
технофэнтези
аниме
фэнтези
5.00
рейтинг книги
Ваше Сиятельство 11

Если твой босс... монстр!

Райская Ольга
Любовные романы:
любовно-фантастические романы
5.50
рейтинг книги
Если твой босс... монстр!