В С++ предусмотрены специальные составные операторы присваивания. Для многих двоичных операторов, т.е. операторов требующих наличия двух операндов, существуют отдельные составные операторы присваивания.
Общая форма операторов:
Var1 op= expression;
где Var1 – переменная; op – арифметический или логический оператор, применяемый вместе с оператором присваивания.
Составные операторы присваивания:
+= -= *= /+ %= &= != ^=
Пример 3_9. Использование составных операторов присваивания.
#include "stdafx.h"
using namespace System;
int main()
{
int a=4, b=7, c=10, d=15, f=14;
a += 2;
b -= 3;
c *= 2;
d /= 4;
f %= 5;
Console::WriteLine("a={0}, b={1}, c={2}, d={3}" +
", f={4}", a,b,c,d,f);
Console::ReadLine();
return 0;
}
Результат работы программы:
a=6, b=4, c=20, d=3, f=4
Оператор условия ? :
Данный оператор представляет собой условный оператор.
Общая форма оператора:
Cond_expression ?TRUE_statement :FALSE_statement;
При выполнении оператора условия сначала вычисляется значение логического выражения Cond_expression. Если оно – ИСТИНА, результатом оператора условия является результат выражения TRUE_statement, если ЛОЖЬ, - результат выражения FALSE_statement.
Пример 3_10. Демонстрация оператора условия
#include "stdafx.h"
using namespace System;
int main()
{
int x = 3, y = 2, z;
z = x >y ?x * x : y * y;
Console::WriteLine("z={0}", z);
Console::ReadLine();
return 0;
}
Результат работы программы:
z=9