Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
14
JęzykC++.StandardISOwpraktyce
mainikojarzoneodpowiedniozklawiaturą(strumieńwejściowycin)orazzekranemmonitora
(strumieniewyjściowecout,cerr,clog).
Instrukcjewykonywaneprzezfunkcjęmain(atakżeprzezkażdąinnąfunkcję)umieszcza
sięmiędzynawiasamiklamrowymi{}.Naszafunkcjamainzawierakilkainstrukcjiwyjścia,
jednąinstrukcjęwejściaorazjednąinstrukcjęreturn.
Instrukcjewyjściawywołaniamioperatorówwstawiania<<;argumentytychope-
ratorówwstawianedostandardowegostrumieniawyjściowegocout.Wkolejnychinstruk-
cjachargumentaminapisy(nazywaneteżłańcuchamilubtablicamiznaków),np."Pierwszy
wiersztekstu",wyświetlanenaekranie.Wnapisie"ijegokontynuacja\n"łańcuch"\n"oznacza
koniecwierszaipowodujeprzejściekursoradopierwszejkolumnynastępnegowierszana
ekranie.Podobnąfunkcjępełnisymbolendl,którydodatkowoopróżniabuforstrumieniawyj-
ściowego(Buforjesttutajpewnymobszarempamięci,służącymdochwilowegoprzechowywa-
niaciąguznaków).
Programwyświetlinaekraniemonitoranapisy:
PierwszywiersztekstuijegokoΠtyΠuacja
Aotodrugiwiersztekstu
NacisΠijklawisz<EΠter!.B
Nakońcupierwszegowierszainstrukcjiwyprowadzaniatekstunaekrannapisaliśmyznak
\(ukośniklewy,popularnienazywanybackslashem),któryzasygnalizowałkompilatorowi,że
wnastępnymwierszuzostanienapisanyciągdalszytekstu.Wdrugiejinstrukcjiwyświetlania
tekstbyłkrótszyijużniepotrzebowaliśmyznakuprzedłużenia,tj.ukośnikalewego.
Dlazatrzymaniawyświetlonychnapisównaekraniemonitora,wprogramiejestwywo-
ływanafunkcjastandardowaget(),która„przechwytuje”naciśnięcieklawisza<Enter>.Funk-
cjęwywołujesięnaobiekciecinklasyistream,ponieważjestonatzw.funkcjąskładowątej
klasy.Składniawywołania:
ciΠ.get()
mówiotym,żefunkcjęget()wywołujemynaobiekciecin;kropkamiędzynazwąobiektucin
anazwąfunkcjiget()jestwymaganymprzezskładnięjęzykasposobemodwołaniasiędo
funkcjiskładowej.
Ponaciśnięciuklawisza,tutaj<Enter>,zostaniewykonanaostatniainstrukcja,return0,
któraprzekażewartośćzerodootoczenia(środowiskawykonawczego),wktórymwykonujesię
program.Przekazaniewartości0dośrodowiskawykonawczegooznaczazwykłezakończenie
działaniafunkcjimain;wartościróżneodzerasygnalizująwyjątkowelubbłędneokoliczności
zakończeniaprogramu.
1.4.
Jednostkileksykalneprogramu
Jednostkąleksykalną(leksemem)nazywamydającysięwyodrębnićfragmenttekstupro-
gramu.WjęzykuC++czteryrodzajejednostekleksykalnych:identyfikatory,słowaklu−
czowe,stałe,napisyorazróżneseparatory.Spacje,znakitabulacjipoziomejipionowej,znaki
nowegowierszainowejstronyorazkomentarze(nazywanełączniebiałymiznakami)
wogólnościignorowane,chybażesłużądoseparacji(rozdzielenia)jednostekleksykalnych.
Wtrakciekompilacjiprogramujednostkileksykalnewyodrębniane(ang.parsing)ztekstu
programuwtensposób,żejakonastępnąjednostkębierzesięnajdłuższyciągznakówpo
białymznakulubposekwencjitakichznaków.