С++: Логический тип
Начиная с 11 стандарта в С++ был добавлен новый для этого языка тип по имени bool. Он назван в честь английского математика Джорджа Буля, разработавшего математическое представление законов логики.
Булевская переменная может принимать два значения: true (истина) или false (ложь). Для хранения булевской переменной выделяется один байт:
bool is_even;
std::cout sizeof(is_even); // => 1В ранних версиях языка С++ булевский тип отсутствовал. В место этого С++ интерпретировал ненулевые значения как true, а нулевые как false.
Литералы true и false могут быть преобразованы в тип int, причем истинна будет преобразована в единицу, а ложь в ноль:
int is_even { true };
int promise { false };
std::cout << is_even; // => 1
std::cout << promise; // => 0Кроме того, любое числовое значение может быть преобразовано неявно в значение bool:
bool is_even { 0 }; // false
bool promise { 1 }; // true
false == 0; // trueБулевский тип часто используется, например, при сравнении значений. Для сравнения числовых значений используются следующие операторы:
1 == 2; // проверяет числа на равенство, возвращает false
1 != 2; // проверяет, что числа не равны, возвращает true
1 > 2; // проверяет, что число слева больше числа справа, возвращает false
1 < 2; // проверяет, что число слева меньше числа справа, возвращает trueОператоры "больше или равно" (>=) и "меньше или равно" (<=) возвращают true, если число слева больше (или меньше) числа справа или равно ему:
2 >= 1; // true
2 >= 2; // true, причем 2 > 2 возвращает false
1 <= 2; // true
2 <= 2; // true, причем 2 < 2 возвращает falseЗадание
Допишите программу, которая принимает в качестве аргумента командной строки число и определяет его четность. Результат сохраните в переменной типа bool и выведите на экран.
Полезное
С++: Логический тип
Начиная с 11 стандарта в С++ был добавлен новый для этого языка тип по имени bool. Он назван в честь английского математика Джорджа Буля, разработавшего математическое представление законов логики.
Булевская переменная может принимать два значения: true (истина) или false (ложь). Для хранения булевской переменной выделяется один байт:
bool is_even;
std::cout sizeof(is_even); // => 1В ранних версиях языка С++ булевский тип отсутствовал. В место этого С++ интерпретировал ненулевые значения как true, а нулевые как false.
Литералы true и false могут быть преобразованы в тип int, причем истинна будет преобразована в единицу, а ложь в ноль:
int is_even { true };
int promise { false };
std::cout << is_even; // => 1
std::cout << promise; // => 0Кроме того, любое числовое значение может быть преобразовано неявно в значение bool:
bool is_even { 0 }; // false
bool promise { 1 }; // true
false == 0; // trueБулевский тип часто используется, например, при сравнении значений. Для сравнения числовых значений используются следующие операторы:
1 == 2; // проверяет числа на равенство, возвращает false
1 != 2; // проверяет, что числа не равны, возвращает true
1 > 2; // проверяет, что число слева больше числа справа, возвращает false
1 < 2; // проверяет, что число слева меньше числа справа, возвращает trueОператоры "больше или равно" (>=) и "меньше или равно" (<=) возвращают true, если число слева больше (или меньше) числа справа или равно ему:
2 >= 1; // true
2 >= 2; // true, причем 2 > 2 возвращает false
1 <= 2; // true
2 <= 2; // true, причем 2 < 2 возвращает falseЗадание
Допишите программу, которая принимает в качестве аргумента командной строки число и определяет его четность. Результат сохраните в переменной типа bool и выведите на экран.
Полезное
Ваше упражнение проверяется по этим тестам
#include "test_helper.h"
TEST_CASE("testing solution") {
std::string expected = "1\n";
std::string actual = get_output(sizeof(expected), "4");
CHECK(actual == expected);
}Решение учителя откроется через:
20:00
