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ściasąwywołaniamioperatorówwstawiania<<;argumentytychope-
ratorówsąwstawianedostandardowegostrumieniawyjściowegocout.Wkolejnychinstruk-
cjachargumentamisąnapisy(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ętę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++sączteryrodzajejednostekleksykalnych:identyfikatory,słowaklu−
czowe,stałe,napisyorazróżneseparatory.Spacje,znakitabulacjipoziomejipionowej,znaki
nowegowierszainowejstronyorazkomentarze(nazywanełączniebiałymiznakami)są
wogólnościignorowane,chybażesłużądoseparacji(rozdzielenia)jednostekleksykalnych.
Wtrakciekompilacjiprogramujednostkileksykalnesąwyodrębniane(ang.parsing)ztekstu
programuwtensposób,żejakonastępnąjednostkębierzesięnajdłuższyciągznakówpo
białymznakulubposekwencjitakichznaków.