Lektion 6 - Statiska språk (11/12)

Den här lektionen ägnade vi åt motsatsen till de dynamiska språken, något vi kallar statiska språk. Termen har vi hittat på själva, språken vi menar är de där:

  • Man måste deklarera typen på variabler
  • Program blir snabba
  • Koden blir lång
  • Man måste kompilera innan man kan köra
Under lektionen så lärde vi oss om och laborerade med det klassiska programspråket C. Här ska vi gå igenom ett litet exempel:

#include <stdio.h>

int main (int argv, char *argc[])
{
  printf("Hej världen");
  return 0;
}
Vi börjar med att testa att få det här programmet att fungera, sen ska vi titta på varje rad för att förstå vad som händer. Så: ta all kod ovan och lägg den i en fil som du kan kalla t.ex. "program.c". Stå sedan i din terminal och skriv:
gcc program.c
Detta kompilerar programmet, förhoppningsvis säger gcc ingenting, annars finns det fel i koden. Det gcc har gjort är att den har skapat ett program som den kallat för "a.out" där den har översatt c-koden till maskinkod (maskinkoden varierar mellan olika datorer). För att köra programmet skriver du:
./a.out
Om du inte vill att ditt program ska heta a.out så kan du antingen:
mv a.out mittProgram
eller sätta namnet direkt vid kompilering:
gcc program.c -o mittProgram
Nu har vi lärt oss hur man kompilerar sina c-program! Nu ska vi titta lite mer på koden:
#include <stdio.h>

int main (int argc, char *argv[])
{
  printf("Hej världen");
  return 0;
}
Den första raden inkluderar ett biliotek till programmet. I det biblioteket finns en hög med bra funktioner som man då kan använda i sitt program, t.ex. funktionen printf. Sen kommer vi till funktionen main. Den börjar såhär:
int main (int argc, char *argv[])
Den är den mest komplicerade raden i programmet. Men när man väl lärt sig den så blir alla funktioner en barnlek! Först kommer ordet "int". Det betyder att funktionen returnerar ett heltal (efter att funktionen är klar så ska den skicka ut ett tal). Sen kommer namnet på funtionen, "main". Alla program i c måste ha en funktion som heter main, det är i den som hela programmet börjar.

Sen kommer en parantes, i den skriver man alla de saker som funktionen tar som argument. Funktionen "main" tar alltid dessa två argument, man brukar kalla dem "argv" och "argc". Det är överkurs att kunna använda dessa, men vi kan kort säga att: argc är antalet argument programmet fått från terminalen och argv är argumenten programmet fått från terminalen. Men som sagt, överkurs.

Om vi fortsätter i programmet så ser vi att funktionen "main" använder sig av måsvingar, { }, för att markera var funktionen börjar och var den slutar. Nu kommer vi till själva utskriften:

printf("Hej världen");
Denna rad anropar funktionen "printf" som skriver ut saker på skärmen. "printf" tar en text-sträng som argument, glöm inte dubbelfnuttarna! Anrop av funktioner som vi gör här avslutar man alltid med semikolon ;

Funktionen avslutas nu av raden:

return 0;
Det gör att programmet avslutas och siffran 0 skickas ut. Siffran 0 innebär att programmet avslutats på ett bra sätt.

För att se presentationen som vi hade på lektionen kan du klicka här.


Sally har bunkrat upp med termos och kakor!
Lussebulle!
Mums!
Alla samlas runt n900:an.
Labben startar.
The source will be with you, always...
Labben är i full gång!
Pontus snor resten av lussebullarna!
Skön arbetsställning
FireFly kodar på
XP på hög nivå
Två personer per tangentbord, inte fyra!
Flitig klass!

_allmänt_ _nyheter_ _aktiviteter_ _kontakt_