Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
40
ROZDZIAŁ4.OPERATORYIWYRAŻENIA
Wszystkieoperatoryrelacyjnemająpriorytetniższyodoperatorówarytmetycz-
nych,dziękiczemuwyrażenie:
x<1y+1
jestobliczanejakox<=(y+1),niezaśjako(x<=y)+1.
Trzebapodkreślić,żeoperatoremrelacjirównościjestoperator==,anieopera-
tor=,tj.operatorprzypisania(omówionyponiżej).Konsekwencjątegojestbardzo
częstowystępującapostaćinstrukcjiwarunkowej,np.:
if(x111)
gdziewystępujezazwyczajpodwójnyznakrównościoznaczającychęćsprawdze-
nia,czywartośćzmiennejjestrównapewnejwartości(wtymwypadku1).Gdyby
wwyrażeniutympojawiłsiępojedynczyznakrówności(operatorprzypisania),
kompilatorniezasygnalizowałbybłęduskładni1,czyliwyrażeniex=1jestfor-
malniepoprawne.Oznaczaononatomiastprzypisaniezmiennejxwartościrównej
1,ajegowartością,zpunktuwidzeniarelacji,jestzawszeprawda.
4.5
Operatorylogiczne
Operatorylogicznetodwuargumentoweoperatoryiloczynulogicznego&&isumy
logicznej||,orazjednoargumentowyoperatornegacji!.Wyrażeniapołączoneope-
ratoramidwuargumentowymiobliczaneodlewejdoprawejstrony,aobliczanie
kończysięzchwiląwykryciaprawdziwościlubfałszuwyrażenia.Priorytetdwuargu-
mentowychoperatorówlogicznychjestniższyniżoperatorówrelacyjnychioperato-
raprzypisania,przyczymoperator&&(iloczynu)mapriorytetwyższyniżoperator
||(sumy).Dziękitemuwwyrażeniuwarunkowym:
if(x>0&&x<1100)
dodatkowenawiasyniekonieczne.
WjęzykuCwartośćliczbowaprzypisanarelacjilubwyrażeniulogicznemuwy-
nosi1,jeśliwyrażenietojestprawdziwe,oraz0,jeśliwyrażeniejestfałszywe.Jed-
noargumentowyoperatorlogiczny!(operatornegacji)służydonegowaniawartości
wyrażenialogicznego,azatemzmieniawartośćnumerycznąprzypisanąwyrażeniu
logicznemuz0na1iodwrotnie.Wkonsekwencjibardzoczęstospotykanywarunek:
if(x110)
możnazapisaćwbardziejskrótowej,leczniecomniejczytelnejformie:
if(!x)
Operatornegacji!jestoperatoremobardzowysokimpriorytecie,równymope-
ratorominkrementacjiidekrementacji,awyższymodpodstawowychoperatorów
arytmetycznych.
1Niektórekompilatoryzasygnalizująostrzeżenie.