- •Обзорные лекции по курсу
- •Арифметические операции
- •Int main()
- •Int main ()
- •Логические операции
- •Операторы сравнения
- •Int main ()
- •If(проверяемое_условие)
- •Int main ()
- •Int main()
- •If(проверяемое_условие)
- •Int main()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main()
- •Int.Main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main ()
- •Int main()
- •If(проверяемое_условие)
- •Int main ()
- •If(проверяемое_условие)
- •If(проверяемое_условие)
Int main ()
{
int x = 0, у = 0;
int a = 3, b = 34, с = 82;
х = а * b + с;
у = (а * (b + с) ) ;
cout « "х = " « х « '\n';
cout « "у = " « у « '\n';
return 0;
}
При вычислении значения переменной х сначала будет произведена операция умножения а на b с последующим сложением с переменной с, тогда как вычисление значения переменной у начнется со сложения переменных b и с с последующим умножением полученной суммы на величину переменной а.
Результат работы программы:
х = 184
у = 348
Условные операторы
Язык C++ обладает исчерпывающим набором конструкций, позволяющим управлять порядком выполнения отдельно взятых ветвей программы. Например, вы можете передать управление в ту или иную часть программы в зависимости от результата проверки некоторого условия. Для осуществления ветвления используются условные операторы.
Операторы if
Оператор if производит ветвление программы в зависимости от результата проверки некоторого условия на истинность:
If(проверяемое_условие)
оператор1;
оператор2;
Проверяемое условие может быть любым выражением, но чаще всего оно содержит операторы сравнения.
Если проверяемое_условие принимает истинное значение (true), выполняется оператор1. В противном случае (false) выполнение программы переходит к оператору2.
В конструкциях языка C++ операторы могут быть блочными, т.е. выполняется не один, а целый блок операторов.
Блок начинается с открывающейся фигурной скобки { и заканчивается закрывающейся фигурной скобкой }. Все содержимое блока рассматривается компилятором как единый оператор.
Следующий пример иллюстрирует использование оператора if.
#include <iostream.h>
Int main ()
{
int b;
if(b > 0)
{
// Если условие b > 0 выполнено
cout « "b - положительное" ;
}
if(b < 0)
cout « "b - отрицательное";
return 0;
}
В приведенном фрагменте объявляется целочисленная переменная b, а затем следует сравнение ее значения с нулем. Если величина b больше нуля, выводится сообщение "b -положительное", а если b меньше нуля - сообщение "b -отрицательное".
Одной из типичных ошибок при использовании оператора if является пропуск фигурных скобок для обозначения блока выполняемых операторов:
#include <iostream.h>
Int main()
{
int x = 0;
int у = 8;
int z = 0;
if(x != 0)
z++;
у /= x; // Ошибка! Деление на 0
cout « "x = " << x << endl;
return 0;
}
В этом примере следует проверка значения переменной х на неравенство нулю. Если значение х отлично от нуля, производится увеличение на единицу значения переменной z. Однако далее осуществляется действие вида у = у / х, независимо от того, какое значение имеет переменная х.
Если правильно определить блок исполняемых операторов, как показано ниже, вычисления выполнятся корректно:
if(х != 0)
{
z++;
y /= х;
cout « "x = " << x << endl;
}
В данном варианте вычисление выражения у = у / х будет производиться только для х, значение которого отлично от нуля.
Операторы if-else
Оператор if с ключевым словом else имеет следующий вид:
If(проверяемое_условие)
предложение1;
else
предложение2;
предложение3;
Если проверяемое_условие выполняется, осуществляется переход к предложению1 с последующим переходом к предложению3. В случае, когда проверяемое_условие принимает ложное значение, программа выполнит ветвь, содержащую предложение2, а затем перейдет к предложению3.
Следует отметить, что комбинация if-else позволяет значительно упростить код программы.
Для примера решим квадратное уравнение вида х2 + 2х - 3 = 0. Для решения поставленной задачи воспользуемся методом вычисления детерминанта вида D = (b2 - 4 * а * с) с последующим сравнением полученного результата с нулем:
#include <iostream.h>
#include <math.h>