Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Порядок: ß
Правило записи: e 1[< op >]= e 2
Здесь e 1 - переменная (простая или с индексами), которой задается значение e 2. e 2 - выражение. e 2 преобразуется к типу e 1 (если возможно). Запись < op > является необязательной и означает выполнение указанной операции над "старым" значением e 1 (в качестве второго операнда выступает e 2), а затем присваивание полученного "нового" значения переменной e 1. Допустимыми операциями являются: + - сложение, - – вычитание, * – умножение, / – деление, % – остаток, >>, << – сдвиг вправо или влево, &, ^, | – поразрядные операторы.
Пример.
a*=5; // Это эквивалентно a=a*5;
Замечание. Выражение x*=y+1 означает x=x*(y+1), а не x=x*y+1, поскольку уровень оператора *= ниже уровня оператора +.
В комбинированных операциях значение e 1 вычисляется 1 раз, т.е. выражение a[i++]*=n; эквивалентно a[i]=a[i]*n; i=i+1; (постфиксный оператор ++), а выражение a[++i]*=n; - выражению i=i+1; a[i]=a[i]*n; (префиксный оператор ++).
Оператор = может входить в состав выражения.
Пример.
while ((c= getchar ())!= EOF){// Это означает посимвольное чтение текстового
// файла до его окончания
EOF ( End Of File ) – символическая константа, означающая конец файла и определенная в файле stdio.h.
Переменная e 1 может быть указателем.
Пример.
int *x;
.......
x+=2; // Изменяет значение x на 4 байта.
Замечание. Не увлекайтесь сложными выражениями, пишите проще!
11.12. Уровень 15 (оператор ',' - запятая)
Порядок:à
Формат: e 1[, e 2]..., где e 1, e 2 - выражения.
Результат имеет тип и значение самого правого выражения списка. Как правило, используется с выражениями, содержащими оператор присваивания. Весьма удобен при достаточно сложных инструкциях цикла.
Пример.
for (i=0, j=N-1; i<j; i++, j--){ // Одновременное изменение в одном цикле переменных i
// и j в разных направлениях
Дата публикования: 2014-11-02; Прочитано: 186 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!