Entry Point of a C++ Program
Pyyhkäise näyttääksesi valikon
Jokaisessa C++-ohjelmassa täytyy olla main()-funktio. Se toimii ohjelman aloituspisteenä. Ilman main()-funktiota kääntäjä ei tietäisi mistä ohjelman suoritus aloitetaan. Sen nimi on varattu, mikä tarkoittaa, että funktion nimeä main() ei voi muuttaa, ja sen täytyy noudattaa tiettyä määrittelyä, jotta ohjelma toimii oikein.
main.cpp
1234int main() { return 0; }
int main(): ohjelman aloituspiste. Tätä kutsutaan pääfunktioksi, ja tässä ohjelman suoritus alkaa;{ }: aaltosulkeet määrittelevät koodilohkon. Kaikki näiden sulkujen sisällä kuuluu pääfunktioon ja on osa ohjelman logiikkaa;return 0;: merkitsee ohjelman loppua ja osoittaa, että suoritus onnistui. Nolla tarkoittaa, että kaikki meni hyvin. Jos ongelmia ilmeni, tämä arvo voi olla eri tulosteessa.
Lause return 0; on valinnainen main-funktion lopussa. Jos se jätetään pois, kääntäjä lisää sen automaattisesti. Kuitenkin main()-funktion palautustyypin on aina oltava int.
main()-funktion sisällä voit aloittaa koodin kirjoittamisen. Jokainen lause päättyy ;-merkkiin, jotta ohjelma ymmärtää, milloin yksi komento päättyy ja seuraava alkaa.
main.cpp
1234int main() { 5 + 5; }
Yllä näet yksinkertaisen lausekkeen. Lausekkeet muodostavat lauseiden rakennuspalikat ja määrittävät, miten arvoja lasketaan tai käsitellään ohjelmassa. Yllä oleva ei sisällä muuttujia, sisäänrakennettuja komentoja tai mitään monimutkaista, mutta tulevaisuudessa käytämme näitä kaikkia.
main.cpp
123456int main() { 5 + 5; 1 - 8; 9 / 3; }
Voit kirjoittaa niin monta lauseketta kuin haluat, mutta jokainen niistä täytyy päättää ;-merkkiin. Jos poistat puolipisteen 5+5;-lausekkeesta, C++ tulkitsee lausekkeen 5 + 5 1 - 8;, mikä ei ole sille ymmärrettävää ja aiheuttaa virheen. Voit kuitenkin halutessasi kirjoittaa kaiken koodisi yhdelle riville.
main.cpp
1234int main() { 5 + 5; 1 - 8; 9 / 3; }
Jos suoritat yllä olevan koodin, mitään ei näy konsolissa. Tämä johtuu siitä, että C++ saattaa ohittaa laskutoimituksen, jos se toteaa tuloksen olevan käyttämätön. Lisäksi ei ole komentoa tuloksen näyttämiseksi tai tallentamiseksi.
1. Mikä seuraavista väitteistä main()-funktiosta on false?
2. Mitä return 0; -lauseen käyttö main()-funktion lopussa auttaa tunnistamaan?
3. Mitä tapahtuu, jos jätät puolipisteet pois lauseiden lopusta main()-funktion sisällä?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme