Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Исходный оператор объединенный оператор




a = a + 5; a+=5;

a = a – 3; a-=3;

a = a * 4; a*=4;

a = a / 6; a/=6;

a = a % 2; a%=2;

a = a + b / c; a+=b/c;

a = a & 3; a&=3;

a = a | 2; a|=2;

a = a * b / c; a*=b/c;

a = a * (b + c); a*=b+c;

Эти операции, как и сама операция присваивания, имеют самый низкий приоритет и выполняются в выражениях последними справа налево, поэтому, например, замена

a = a / b * c; на a /= b * c;

будет неверна – получаются различные выражения.

В операторах присваивания могут использоваться операции инкремента++ и декремента--. Знаки инкремента и декремента могут стоять в выражениях как перед переменной (префиксная запись), так и после нее (постфиксная запись). При этом выражения будут вычисляться по-разному:

при префиксной записи (знак перед переменной) сначала изменяется значение этой переменной, а затем выполняются другие операции, и последней – операция присваивания:

a = 4;

b = ++a; a = 5, b = 5

c = ++b/2; b = 6, c = 3

d = ++a/2; a = 6, d = 3

при постфиксной записи (знак после переменной) сначала вычисляется значение выражения со старыми значениями переменных, выполняется операция присваивания, после чего выполняются операции инкремента или декремента:

a = 4;

b = a++; b = 4, a = 5

c = b++/2; c = 2, b = 5

d = a++/2; d = 2, a = 6

В Си приветствуется присваивание начальных значений переменным при их описании – инициализация переменных:

int i=5;

float x=3.1415;

char c=’A’;

Инициализировать переменные можно и выражениями, операндами которых являются константы:

int k=117*16;

float x= 3.1415*2.0e-3;

Если значения переменных целого или вещественного типов явно не заданы при их описании, то они автоматически инициализируются нулями.

Примеры записи операторов присваивания:

1.

int a=1;

int b=2;

int c=3;

float x=2.0;

a+= ++a / b++ % (c-= ceil(sqrt(x))); a=2 b=3 c=1

b+= (a | c++) - ++a % (int) floor(sqrt(x)); a=3 b=6 c=2

c|= --b % a--; a=2 b=5 c=2

2.

int a=3;

int b=2;

int c=1;

c+= --a / b++ + a % b; a=2 b=3 c=2

b|= ++a / (c+= b++, b+= a % c); a=3 b=7 c=5

a%= --a - ++b; a=2 b=5 c=8

3.

int a=0;

int b=0;

int c=0;

c+= b++; a=0 b=1 c=0

b+= ++c % ('A' / '1' + 'A' % '1' % 5); a=0 b=2 c=1

a-= ++b - c++; a=-2 b=3 c=2






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных