Использование чисел для определения истины и лжи
План лекции
Лекция 4.2. Логические операторы и выражения.
Ошибки времени выполнения (на примере деления на 0)
При делении на 0 возникает ошибка времени выполнения (run time error).
// Пример 4.1.14
// Деление на 0
#include <iostream>
using namespace std;
void main() {
setlocale( LC_ALL, "Russian"); // для вывода на экран русского текста
int a=1, b=0, c=0;
cout << "a=" << a << " b=" << b << " c=" << c << endl;
cin.get();
// run time error
c=a/b; // деление на 0
cout << "a=" << a << " b=" << b << " c=" << c << endl;
cin.get();
if (b == 0) {
cout << "Деление на 0!!!" << endl;
cin.get();
return;
}
else c=a/b;
cout << "a=" << a << " b=" << b << " c=" << c << endl;
cin.get();
}
1. Использование чисел для определения истины и лжи
2. Использование перечисления BOOL для определения истины и лжи
3. Использование типа bool
4. Операция = и операция = =
5. Реализации ветвлений
6. Технология абзацных отступов.
7. Логические операторы И, ИЛИ, НЕ
8. Сложные логические выражения
9. Особенности записи логических выражений в С++
10. Условная тройная операция
В C/С++ целое число 0 рассматривается как «ложь» (false), а все иные значения считаются «истиной» (true). Обычно истина представляется 1.
// Пример 4.2.1
// Логические выражения языка С
#include <iostream>
using namespace std;
int main() {
setlocale( LC_ALL, "Russian"); // для вывода на экран русского текста
const char s1[]="Введите два числа чере пробел\n"; // строковая константа
double TestA, TestB; // два числа
int LogicResult; // результат логического выражения
// ввод числовых значений с клавиатуры
cout << s1;
cin >> TestA >> TestB;
cout << "TestA=" << TestA << "\t\t" << "TestB=" << TestB << endl;
// Логическое выражение : проверка на равенство
// Всегда создается временная ячейка целого типа (int temp;)
// Результат логического выражения 0-ложь; 1 (не 0) - истина.
LogicResult = TestA == TestB;
// вывод результата логического выражения на экран
cout << "temp = " << (TestA == TestB) << endl;
cout << "LogicResult = " << LogicResult << endl;
// использование результата логического выражения в операторе if
//if (LogicResult)
if (TestA == TestB) cout << "Равны!" << endl;
else cout << "Не равны!" << endl;
cin.get(); cin.get();
return 0;
}