C programmering for nybegyndere

Variabler og konstanter

Du vil lære at gemme og hente værdier ved at bruge det som kaldes variabler og definere konstanter med faste værdier. Du får introduktion til simple regneoperationer. Og så udvider vi kendskabet til printf.

Når du skal bruge variabler i C skal de erklæres før de kan bruges. C afsætter memory til variabler før de bruges, dvs. det rent faktisk planlægges medens programmet oversættes, det skyldes at C ønsker en stram styring med hvor variabler er placeret. Det princip er der andre sprog der afviger fra, hvor man ikke behøver at erklære dem før de bruges, men i C skal man. Det er til gengæld en del af svaret på hvorfor C programmer kører suverænt hurtigt, den skal aldrig lede efter en variabel, den ved nøgagtigt på hvilken adresse i memory'en den findes. En anden del af C's hastighed ligger i dens tilpasning til processorarkitekturen, hvor 16-bit processorer havde heltals variabler med 16-bits størrelse, har 32-bit processorer heltals variabler af 32-bits størrelse.

Kig på dette eksempel:

/* variabler.c - brug af variabler */ #include <stdio.h> #include <limits.h> main() { #define TRE 3 int a; //en integer a int b,c; //to integer b og c int d=2; //en integer med værdi int e=INT_MAX; a=TRE; //a tildeles værdien 3 b=a+2; //b tildeles a plus 2 er 5 c=b*2; //c tildeles b gange 2 er 10 printf("a = %d\n",a); printf("b = %d\n",b); printf("c = %d\n",c); printf("d = %d\n",d); printf("e = %d\n",e); }
variabler.c

 

  • indtast programmet og gem på filen variabler.c
  • compiler og kør programmet med:
# gcc variabler.c
# ./a.out
a = 3
b = 5
c = 10
d = 2
e = 2147483647
#

 

I programmet variabler.c er indlagt kommentarer, der er brugt to former, den første er formen

/* teksten kan løbe over flere linier og
afsluttes med */

start med /* og afslut med */ den kan du bruge når kommentaren skal køre over flere linier eller indsat i en linie. Kommentarer i programmet oversættes ikke af compileren, det eneste sted den figurerer er i kildeteksten.

Den anden for har kun en startmarkering med //, et linieskift afslutter kommentaren og derfor kan den ikke løbe over flere linier.

En konstant er alle værdier som 2, men kan også defineres med reference til navne her defineres konstanten 3 med reference til navnet TRE

#define TRE 3

TRE anvendes senere i kodelinien

     a=TRE; //a tildeles værdien 3

Normalt skrives navngivne konstanter med store bogstaver, det er et noget krav bare en kotume i C-programmer.

En variabel erklæres ved at angive typen af variablen, int erklærer en heltalsvariabel (eng. integer), som kun kan indeholde hele tal, ingen decimaler.

    int a; //en integer a
    int b,c; //to integer b og c
    int d=2; //en integer med værdi
    int e=INT_MAX; //en integer med max værdi for et heltal

Her erklæres varibler med navnene a,b,c,d og e som integers. Du kan erklære én variabel som ved a eller to af samme type som ved b og c, og du kan tildele en værdi sammen med erklæringen som ved d eller med navngiven konstant INT_MAX der findes defineret i inkludefilen limits.h. Variabelnavnene kan skrives med store eller små bogstaver, men når variablen er erklæret med en bestemt anvendelse af store og små bogstaver skal du bruge den samme måde når du bruger variablen senere i programmet. Dvs. hvis du erklærer en variabel med navnet antal kan du ikke bruge navnet Antal eller ANTAL, det vil compileren opfatte som 3 forskellige variabelnavne.

Du tildeler værdi ved at bruge = til højre for variabels navn

    a=TRE; //a tildeles værdien 3
    b=a+2; //b tildeles a plus 2 er 5
    c=b*2; //c tildeles b gange 2 er 10

det der står til højre for = kaldes et udtryk (eng. expression). Med et udtryk, kan du lave mange ting, vi starter simpelt med at vise nogle eksempler, der kan lede dig til ideen om hvad det går ud på. a+2 vil sige at a's værdi plus 2 bliver resultatet af udtrykket og dermed det resultat der tildeles variabelen b.

Udskriften af resultatet, printf som vi tidligere anvendte til udskrift af tekst, blev brugt dengang med kun en parameter. Den bruges nu til at udskrive en tekst sammen med en talværdi og bruger nu to paramatre. De to parametre adskilles med komma, der deler den i det der kaldes formateringstrengen og værdier.

    printf("a = %d\n",a);

I den første parameter, formateringsstrengen "a = %d\n" angiver med %d i strengen, at der ønskes udskrevet et heltal på den position som den optræder i formateringsstrengen, værdien af heltallet kommer i den næste parameter. De fire linier som vi bruger til at udskrive alle variablerne a,b,c og d kan godt udskrives i én sætning med printf, den ville se således ud:

Som du ser er der nu fire forekomster af %d i formateringsstrengen og tilsvarende flere antal parametre efter denne. Læg også mærke til \n, som laver linieskift ikke behøver at stå sidst på linien.

 

Ordforklaringer
Memory er betegnelsen for et lager i computeren hvor tilgangen er hurtig. Det ligger i RAM-chips og indholdet forsvinder når strømmen tages fra computeren.
Parameter

en værdi der overføres til en funktion. Står placeret mellem paranteser efter funktionsnavnet. F.eks. har følgende funktion printf 2 parametre:

printf("a = %d\n",a);

Processor er CPU. Det er en chip der er hjertet i computeren, det er den der udfører alle beregninger og styrer alle andre enheder.

 

 

 

 

 

Produkter Webdesign Få et professionelt webdesign til dine hjemmesider. Bliv fundet Optimér dine hjemmesider til søgemaskiner. Søgeord Find de rigtige søgeord til dine hjemmesider. Visitkort Start din præsentation på Internet med et visitkort. Styr selv Styr selv indholdet på dine hjemmesider med Content Management System. HelpdeskEffektiviser din support-organisation med et Helpdesksystem. Fjern tidrøvere der forhindrer fokus på problemløsning. Bookingsystem System for reservation af lokaler, udstyr, personale. Udskriver arbejdsplaner og ugeskema for opslag.
Citat Husk på at stor kærlighed og store bedrifter kræver store risici.

Dalai Lama



Professionelle løsninger til Internettet. Webdesign, e-handel, cms, søgeoptimering, webhotel, analyse, Intranet mm.