Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
Podstawoweelementyikonstrukcje
Napiszespacjami
LiczbazΠakowwstalejΠapis.4
RozmiarstalejΠapis.5
25
Pierwszainstrukcjacout<<NAPIS;wyświetlizdefiniowanąprzez#definestałąNAPIS
wpoluoszerokości17znaków(tylejestznakówwnapisie"Napiszespacjami"),poczym
ustawikursornanastępnym(18.)znakuwtymsamymwierszu.Następnainstrukcjawyjścia
„dodrukuje”tensamciągznaków„Napiszespacjami”wtymsamymwierszu,poczymprze-
niesiekursordopierwszegoznakunastępnegowiersza.Kolejnainstrukcjawyjścianakazuje
równieżwypisaćłańcuchznaków,któryjestwartościąstałejNAPIS,aletymrazempolewy-
drukumamiećszerokość25znaków,ałańcuchznakówmabyćdosuniętydoprawegokrańca
polawydruku(jesttodomyślnysposóbwyjustowaniałańcuchaznakówwpoluwydruku;
justowaniedolewegokrańcapolamoglibyśmyustawićinstrukcjącout.setf(ios::left)).Przed-
ostatniainstrukcjawyjściadrukujetekst"Liczbaznakowwstalejnapis:",anastępnieliczbę
znakówstałejnapisowejnapis,czylicztery.Zauważmy,żeliczbęznakówwyliczafunkcja
bibliotecznastrlen,zadeklarowanawplikunagłówkowymstring.h.Funkcjastrlennie
uwzględniawobliczeniachznakuzerowego(ć\0’),któryjestdodawanyprzezkompilator,ale
niejestznakiemdrukowalnym.Znakzerowyuwzględniaostatniainstrukcjawyjścia,która
drukujetekst"Rozmiarstalejnapis:",anastępniepełnyrozmiarstałejnapis,obliczonyprzez
operatorsizeof.
1.7.
Operatory,wyrażenia,instrukcje
Operatorwjęzykuprogramowaniatosymbol,któryreprezentujepewnepredefiniowane
działanie.Dlauzyskaniawymaganegodziałaniaoperatormusizostaćprzyłożonydoobiektu
nazywanegooperandemlubargumentemalbomusiwiązaćzesobądwaargumenty(wyjątko-
wotrzy).Wpierwszymwypadkumamyoperatorunarny(jednoargumentowy),wdrugimzaś
binarny(dwuargumentowy).
1.7.1.
Operatory
JęzykC++mabogatyzbióroperatorówzarównounarnych,jakibinarnych.Poniżej
opisanokilkaznich;pozostałeopisyznajdziemywdalszychpartiachtekstu.
Operatoryarytmetyczne:+,–,*,/orazoperatorresztyzdzielenia%(tylkodlazmien-
nychcałkowitych).Przydzieleniuliczbcałkowitychczęśćułamkowajestodrzucana;np.
iloraz18/5wynosi3,ailoraz5/18wynosi0.Natomiastwwynikuoperacjidzielenia
18.0/5.0otrzymamy3.6.
Operatoryrelacji:<,<=,>,>=,==,!=.
Operatorylogiczne:koniunkcja&&,alternatywa||,negacja!.
Bitoweoperatorylogiczne:bitowakoniunkcja&,bitowaalternatywa|,bitowaróżnica
symetryczna^,przesunięciewlewo<<,przesunięciewprawo>>,dopełnieniejedyn-
kowe~.Operatorybitowetraktująargument(y)jakouporządkowanyciągbitów.Każdy
bitmożeprzyjmowaćwartość1lub0.Bitowyoperatorkoniunkcji&stosujesięczęstodo
„zasłaniania”(maskowania)pewnegozbiorubitów;np.instrukcjan=n&0177;zeruje
wszystkieopróczsiedmiunajniższychbitówzmiennejn.Bitowyoperatoralternatywy|
stosujesiędo„ustawiania”bitów;np.dlazmiennychnorazMASKtypuintprzypisanie
n=n|MASKustawiajedynkinatychbitachzmiennejn,którewMASKrówne1.Bi-
towyoperatorróżnicysymetrycznej^(ang.exclusiveOR)ustawiajedynkęnakażdejpo-
zycji,naktórejjegoargumentysięróżnią(np.0i1lub1i0)izerotam,gdzietakie