Link Search Menu Expand Document

1. C++ ohjelma

Ensimmäinen C++ -ohjelmamme näyttää siis seuraavalta:

C++ ohjelman rakenne koostuu seuraavista osista

Materiaalin osa Tarkoitus Esimerkki
Avainsanat Sanat, joilla on erityinen merkitys kääntäjälle int, float, if, float
Tunnisteet Sanat jotka eivät ole rakennettu kieleen cout, std, x, funktio
Literaalit Sanat, jotka suoraan koodissa määrittivät arvon “Hello, world!”, 24.3, 0, ’c’
Operaattori Matemaattiset tai loogiset operaatiot +, -, &&, %, «
Välimerkit / Erottimet Merkit jotka luovat rakennetta { } ( ) , ;
Tyhjät merkit Tyhjät merkit, joilla ei ole kääntäjälle merkitystä Välit, tab-merkit, rivinvaihto

Esimerkki-ohjelman selitys rivi-riviltä

  1. Rivit jotka alkavat # merkillä ovat niin sanottuja esikääntäjän komentoja, ne muuttavat kirjoitettua lähdekoodia joka välitetään varsinaiselle kääntäjälle. #include komento kertoo esikääntäjälle, että tähän kohtaan sisällytetään sen tiedoston sisältö joka < >-merkkien sisään on kirjoitettu. Esimerkissä käytämme iostream tiedostoa joka antaa käyttöömme C++:sen syöte / tulostusfunktiot. #include-komennolla voidaan hakea tiedostoja joko käyttäjän/projektin omista poluista käyttämällä lainausmerkkejä esim. #include ”oma_header.h” tai sitten järjestelmänpoluista käyttämällä nuolimerkkejä kuten esimerkissä.
  2. using namespace std; , C++:ssa funktioita voidaan kasata osaksi nimiavaruuksia (namespace), jotta niiden hallinta ja erottelu olisi helpompaa. Tätä käsitellään myöhemmin kurssilla. Nyt riittää tietää, että komennolla määritellään, että tässä koodissa käytetään std-nimiavaruuden funktioita/muuttujia. Nämä funktiot tulevat edellä mainitusta iostream-tiedostosta.
  3. Jokainen C++ ohjelma sisältää yhden int main() -funktion, tämä on ohjelman kohta, josta kaikki ohjelman suoritus alkaa. Funktio palauttaa kokonaismuuttuja tyyppisen arvon (int) sille ohjelmalle, joka on ohjelmamme on käynnistänyt. Yleensä tämä arvo on 0, jos ohjelma on suoriutunut onnistuneesti. Muut arvot kuvaavat virhetilanteita ohjelmassa. main()-funktion sisältö on rajattu lohkoksi {…}-merkein.
  4. cout « “Hello World!” « endl;:
    • **cout « **, kertoo kääntäjälle että haluamma tulostaa ruudulle jotain, tämä jotain seuraa « -merkin jälkeen.
    • “Hello World!”, määrittää tähän kohtaan tekstityyppisen literaalin
    • « endl;, yhdistää seuraavaksi tulostukseen endl; avainsanan, joka tarkoittaa rivinvaihtoa
  5. _**main-funktion **_lopussa on edellä mainittu ohjelman lopetus, tämä lopetus palauttaa 0 arvon.

Oppimistehtäviä:

  • Koeta kopioida rivi cout « “Hello World!” « endl; ja liittää se olemassa olevan rivin alle. Muuta rivin sisältöä, niin että se tulostaa oman nimesi.

  • Muuta return 0; -> return 1; , tapahtuuko mitään?

  • Entä jos poistat { -merkin, millaisia virheitä saat?, palauta nyt { -merkki

  • Lisää \n sanan Hello jälkeen, mitä tapahtuu? Testaa myös seuraavat \t, \\, \”

Jos kirjoitat koodia joka ei ole kelvollinen C++ -kääntäjälle, QtCreator ilmoittaa siitä virheellä: Näet miltä riviltä virhe löytyy sekä minkälainen virhe on kyseessä. Tuplaklikkaa riviä ja IDE avaa sinulle sen rivin jolla virhe on.