ANSI C 6

ANSI C 6



DODATEK A PRZEWODNIK JĘZYKA C_____

Wynikiem tej operacji jest bitowa różnica symetryczna argumentów; argumenty podlegają zwykłym przekształceniom arytmetycznym. Operator odnosi się tylko do argumentów całkowitych.

A7.13 Bitowy operator alternatywy (OR)

wyraienie-OR:

wyraienie-XOR

wyraienie-OR \ wyraienie-XOR

Wynikiem tej operacji jest bitowa alternatywa argumentów; argumenty podlegają zwykłym przekształceniom arytmetycznym. Operator odnosi się tylko do argumentów całkowitych.

A7.14 Operator iloczynu logicznego (logiczne AND)

logiczne-wyraienie-AND:

wyraienie-OR

logiczne-wyraienie-AND && wyraienie-OR

Operator && jest lewostronnie łączny. Wynik jest równy 1, jeżeli oba argumenty są różne od zera; w pozostałych przypadkach jest równy 0. W odróżnieniu od operatora & operator && gwarantuje obliczanie argumentów od lewej strony do prawej: najpierw oblicza się lewy argument, włączając w to wszystkie efekty uboczne, i jeśli jego wartość jest równa zero, to wartością wyrażenia jest 0. W przeciwnym przypadku oblicza się drugi argument i jeśli jego wartość jest równa zero, to wartością wyrażenia jest 0; w przeciwnym przypadku wartością jest 1.

Argumenty nie muszą być tego samego typu, ale muszą mieć typy arytmetyczne lub być wskaźnikami. Wynik jest typu int.

A7.15 Operator sumy logicznej (logiczne OR)

logiczne-wyraienie-OR:

logiczne-wyraienie-AND

logiczne-wyraienie-OR || logiczne-wyraienie-AND

Operator 11 jest lewostronnie łączny. Wynik jest równy l, jeżeli którykolwiek z argumentów jest różny od zera; w przeciwnym przypadku jest równy 0. W odróżnieniu od operatora | operator || gwarantuje obliczanie argumentów od lewej strony do prawej: najpierw oblicza się lewy argument, włączając w to wszystkie efekty uboczne, i jeśli jego wartość jest różna od zera, to wartością wyrażenia jest 1. W przeciwnym przy-

A7 WYRAŻENIA


padku oblicza się drugi argument i jeśli jego wartość jest wyrażenia jest 1; w przeciwnym przypadku wartością jest 0.

Argumenty nie muszą być tego samego typu, ale muszą mieć typy arytmetyczne lub być wskaźnikami. Wynik jest typu int.

A7.16 Operator warunkowy

wyraienie-warunkowe:

logiczne-wyraienie-OR

logiczne-wyraienie-OR ? wyraienie : wyraienie-warunkowe

Najpierw oblicza się pierwsze wyrażenie, włączając w to wszystkie efekty uboczne. Jeśli wartość tego wyrażenia jest różna od zera, to wynikiem jest wartość drugiego wyrażenia, a w przeciwnym przypadku trzeciego. Spośród wyrażeń drugiego i trzeciego oblicza się tylko jedno. Jeśli wyrażenia drugie i trzecie mają typy arytmetyczne, to podlegają zwykłym przekształceniom arytmetycznym do wspólnego typu i taki jest typ wyniku. Jeśli oba są typu void albo są strukturami lub uniami tego samego typu, albo są wskaźnikami do tego samego typu, to typem wyniku jest wspólny typ tych wyrażeń. Jeśli jedno jest wskaźnikiem, a drugie stałą 0, to 0 jest przekształcane do typu wskaźnika i taki jest typ wyniku. Jeśli jedno jest wskaźnikiem do void, a drugie innym wskaźnikiem, to ten inny wskaźnik jest przekształcany na wskaźnik do void i taki jest typ wyniku.

Przy rozpatrywaniu typów wskaźników kwalifikatory typu (p. A8.2) obiektów wskazywanych przez te wskaźniki nie odgrywają roli, ale typ wyniku dziedziczy kwalifikatory z obu części wyrażenia warunkowego.

A7.17 Wyrażenia przypisania

Istnieje kilka operatorów przypisania. Wszystkie są prawostronnie łączne.

wyraienie-przypisania:

wyraienie-warunkowe

wyraienie-jednoargumentowe operator-przypisania wyraienie-przypisania

operator-przypisania: (jeden z)

= *= /= %= += -= «= »= &= ~= | =

Dla wszystkich operatorów przypisania lewy argument musi być l-wartością i ta l-wartość musi być modyfikowalna: nie może być tablicą, nie może mieć niekomplet-nego typu i nie może być funkcją. Jej typ nie może być też kwalifikowany słowem kluczowym const; jeśli 1-wartość jest strukturą lub unią, to żadna z jej składowych i,

275


Wyszukiwarka

Podobne podstrony:
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C_____.____A2.5.2 Stałe znakowe Stała znakowa jest ciągiem zł
ANSI C 4 DODATEK A PRZEWODNIK JĘZYKA C_______ wynikiem jest 1; jeśli odnosi się do tablicy, to wyn
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA ______ o nieokreślonej liczbie elementów całkowitych”, „funkc
ANSI C 6 DODATEK A PRZEWODNIK JĘZYKA C struktura-unia: jeden z struct union lista-deklaracji-skład
ANSI C 9 DODATEK A PRZEWODNIK JĘZYKA C_______—- Gdy wartość całkowita jest przekształcana do typu
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA C_________A2.1 Jednostki leksykalne Istnieje sześć klas jedno
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C------- czaj umieszczane w oddzielnych wierszach; w kilku pr
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA C_________ Wszystkie z typów zmiennopozycyjnych: pojedynczej
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C_________ Obiekt typu całkowitego można jawnie przekształcić
ANSI C 1 DODATEK A PRZEWODNIK JĘZYKA C Implementacje różnią się reakcjami na dzielenie przez zero
ANSI C 2 DODATEK A PRZEWODNIK JĘZYKA C W pierwszym wydaniu książki typ wyrażenia przyrostkowego by
ANSI C 5 DODATEK A PRZEWODNIK JĘZYKA CA7.8 Operatory przesunięcia Operatory przesunięcia « i » są
ANSI C 7 DODATEK A PRZEWODNIK JĘZYKA C__________ rekurencyjnie, podskładowych nie może być kwalifi
ANSI C 8 DODATEK A PRZEWODNIK JĘZYKA
ANSI C 9 DODATEK A PRZEWODNIK JĘZYKA C________■ Kwalifikatory typu wskazują specjalne właściwości
ANSI C 0 DODATEK A PRZEWODNIK JĘZYKA C ___——- łujących się do samych siebie: struktura lub unia mo
ANSI C 1 DODATEK A PRZEWODNIK JĘZYKA C union { struct { int type; ł n; struct { int type
ANSI C 2 DODATEK A PRZEWODNIK JĘZYKA CA8.6 Znaczenie deklaratorów Lista deklaratorów pojawia się p
ANSI C 3 DODATEK A PRZEWODNIK JĘZYKA C____- tablicą o pięciu elementach, z których każdy jest tabl

więcej podobnych podstron