Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Операции и выражения присваивания





 

Такие выражения, как

 

I = I + 2

 

в которых левая часть повторяется в правой части могут быть

записаны в сжатой форме

 

I += 2

 

используя операцию присваивания вида +=.

Большинству бинарных операций (операций подобных +, ко-

торые имеют левый и правый операнд) соответствует операция

присваивания вида оп=, где оп - одна из операций

 

+ - * / % << >> & \^ \!

 

Если е1 и е2 - выражения, то

е1 оп= е2

 

эквивалентно

 

е1 = (е1) оп (е2)

 

за исключением того, что выражение е1 вычисляется только

один раз. Обратите внимание на круглые скобки вокруг е2:

 

X *= Y + 1

 

то

 

X = X * (Y + 1)

 

не

 

X = X * Y + 1

 

В качестве примера приведем функцию BITCOUNT, которая

подсчитывает число равных 1 битов у целого аргумента.

 

 

BITCOUNT(N) /* COUNT 1 BITS IN N */

UNSIGNED N;

(

INT B;

FOR (B = 0; N!= 0; N >>= 1)

IF (N & 01)

B++;

RETURN(B);

)

 

Не говоря уже о краткости, такие операторы приваивания

имеют то преимущество, что они лучше соответствуют образу

человеческого мышления. Мы говорим: "прибавить 2 к I" или

"увеличить I на 2", но не "взять I, прибавить 2 и поместить

результат опять в I". Итак, I += 2. Кроме того, в громоздких

выражениях, подобных

 

YYVAL[YYPV[P3+P4] + YYPV[P1+P2]] += 2

 

Tакая операция присваивания облегчает понимание программы,

так как читатель не должен скрупулезно проверять, являются

ли два длинных выражения действительно одинаковыми, или за-

думываться, почему они не совпадают. Такая операция присваи-

вания может даже помочь компилятору получить более эффектив-

ную программу.

Мы уже использовали тот факт, что операция присваивания

имеет некоторое значение и может входить в выражения; самый

типичный пример

WHILE ((C = GETCHAR())!= EOF)

 

присваивания, использующие другие операции присваивания (+=,

-= и т.д.) также могут входить в выражения, хотя это случа-

ется реже.

Типом выражения присваивания является тип его левого

операнда.

 

Date: 2015-09-17; view: 355; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию