FOT mehjlparinn: Fyrsta C forriti

Fyrsta C forriti

N styttist um a vi getum skrifa fullgilt C forrit og lti andann ba til keyrsluskr r v. Vi kunnum a ba til breytur, reikna, skja inntak og skila ttaki. a eina sem vantar eru rf formsatrii, rttara sagt tv formsatrii.

Fyrra formsatrii hefur me keyrslusafni a gera. keyrslusafninu eru nokkurhundru undirforrit. Vlamlsulan fyrir au er mrghundru K (klbti) a str. a er augljst a vi viljum ekki lta allt keyrslusafni inn hvert einasta forrit v yru au grarlega str og miklu plssi vri sa. ess sta byrjum vi me engin keyrslusafnsfll forritinu en tiltkum hvaa fll vi viljum nota. annig fum vi bara au fll sem vi raunverulega krum okkur um.

Reyndar urfum vi ekki a tiltaka nkvmlega niur fall hvaa fll vi tlum a nota. Skyld keyrslusafnsfll koma mrg saman einskonar pakka. Vi urfum bara a segja hvaa pakka vi viljum og getum vi nota ll fllin r eim pakka. Vi fum meira a segja bara au fll r pakkanum sem vi raunverulega notum, annig a engu plssi er sa.

Til a tilkynna a vi tlum a nota keyrslusafnspakka notum vi skipun sem ltur einhvernveginn svona t:

#include <pakki>
Taktu eftir v a a er ekki semkoma eftir skipuninni. #include er nefnilega svolti srstk skipun.

Milli oddklofanna (< og > ) kemur nafn pakkans sem vi viljum nota. Hr er dmi um nokkra pakka sem eru llum C keyrslusfnum:

   stdio.h    mis algeng fll fyrir inntak, ttak og fleira (scanf, printf...)
   math.h     mis strfrifll (sin, cos, exp ...)
   complex.h  Fll fyrir treikninga me tvinntlum.
   string.h   Fll fyrir mehndlun strengja.
   malloc.h   Fll fyrir mehndlun minnis.
Nfnin pkkunum eru raun nfn textaskrm me skilgreiningunum fllunum. #include skipunin segir raun: taktu essa skr og stingdu henni inn forriti mitt einmitt hrna". essar pakkaskrr" eru kallaar hausaskrr (header files). Vi munum kynnast eim betur sar egar vi frum a ba til okkar eigin fll og hausaskrr.

Seinna formsatrii hefur me fll a gera. veist nna hvernig C forrit eru brotin upp fjlmrg fll sem hvert jnar snu hlutverki. C er liti svo a sjlft aalforriti sem skrifar s fall lka. a er bara srstakt fall sem sjlfkrafa er kalla egar forriti er keyrt. Til a ekkja etta aalfall fr rum fllum forritinu, annig a aalfalli en ekki eitthvert hinna s keyrt upphafi, hefur a srstakt nafn. Aalfalli heitir alltaf main. kynni g til sgunnar C forrit, sem les inn tvr heiltlur fr lyklaborinu, leggur r saman og birtir niurstuna.

   #include <stdio.h>

   int main ()
   {
      int a, b;

      scanf ("%i", & a);    /* lesa inn gildi  fyrri breytuna */
      scanf ("%i", & b);    /* lesa inn gildi  seinni breytuna */

      printf ("Svari er: %i", a + b);

      return 0;    /* skilar gildi t r fallinu main */
   }
etta er fullgilt C forrit sem getur lti C andann inn a og san keyrt. Eins og ur sagi eru til margir mismunandi endur sem notair eru mismunandi htt. verur v vntanlega a f asto fr einhverjum rum vi a a forriti og keyra a.

eftir main koma tveir svigar sem gefa til kynna a main s fall en ekki breyta. int ir a main skili int gildi en ekki hugsa um a bili. nstu lnu fyrir nean kemur slaufusvigi { sem opnast. Hann gefur til kynna a hr byrji falli (forriti). egar C andinn rekst slaufusviga sem lokast }, aftast forritinu, veit hann a ar endar main falli. return skipunin nest endar keyrslu forritsins. Hafu ekki hyggjur af henni bili, lttu bara return sem tfraulu sem veri a koma aftast C forritum. Allt anna forritinu ttir a skilja.

Verkefni 10: Breyttu forritinu annig a a prenti slu inn rjr tlur" skjinn ur en a biur um tlurnar, spyrji svo um tlurnar rjr og birti summu eirra.

Verkefni 11: Bu til C forrit sem spyr um hitastig grum Celsus og skrifar t sama hitastig sem grur Fahrenheit annarsvegar en grur Kelvin hinsvegar (K = C + 273). Lttu forriti prenta t eitthva lkingu vi slu inn hitastig grum Celsus" og Hitastigi er x grur Fahrenheit en y grur Kelvin". arft a sjlfsgu a nota fleytitlubreytur (t.d. double) sta int breyta.

Flest forritanna sem birtast han fr eru stubbar, a er a segja a vantar umgjrina kringum au. sr um a setja #include, int main () o.s.frv. fyrir framan og slaufusviga fyrir aftan.

Ef ert ekki viss um strirnar gagnatgunum tlvunni inni getur keyrt etta forrit (bttu haus og hala a)

   printf ("Strirnar char, int, long eru: %i, %i, %i",
      sizeof(char), sizeof(int), sizeof(long));
N hefur veri fari allhratt yfir sgu og sumt tskrt fljtheitum. etta var gert til a gtir strax fari a skrifa forrit og prfa ig fram, frekar en a urfa a lesa nr allan textann og geta svo loks fari a forrita. munt skilja margt betur egar hefur lesi lengra.


Efnisyfirlit, Nsti kafli