Syntax för vanliga satskonstruktioner


Variabeldefinition

typ namn;

Fältdefinition

typ namn[storlek];

Fältinitiering

typ namn[storlek] = {v1, v2,};

if-satsen

if (uttryck){
satser
}

if else-satsen

if (uttryck){
satser
}
else{
satser
}

if else if-satsen

if (uttryck_1){
satser
}
else if (uttryck_2){
satser
}

else{
satser
}

switch case-satsen

switch (heltalsuttryck){
case konstant_1:
     satser
     break;
case konstant_2:
     satser
     break;

default:
     satser
}


Villkorsoperatorn ?:

uttryck_1 ? uttryck_2 : uttryck_3

for-satsen

for (uttryck_1; uttryck_2; uttryck_3){
satser
}

Ex: for (int i = 0; i < 10; i++)

while-satsen

while (uttryck){
satser
}

do while-satsen

do{
satser
}while (uttryck);

Funktionsprototyp

returtyp namn(typ p1, typ p2, …);

p1, p2 o.s.v. är parameternamn

Funktionsdefinition

returtyp namn(typ p1, typ p2, …)
{
     satser
}

p1, p2 o.s.v. är parameternamn

Funktionsanrop

namn(v1, v2, …)

v1, v2 o.s.v. är variabelvärden eller referenser


Syntax för fält, strängar, strukturer, filhantering m.m.


Fälthantering

typ namn[storlek];

Definition av ett fält med storlek positioner.

Enstaka fältvärden erhålles med namn[n], där n är ett tal mellan 0 och storlek-1.

 

char namn[] = "sträng";

Initiering av nollterminerad sträng.

 

Inläsningar från tangentbordet

cin >> namn;

Inläsning till sträng utan blanktecken.

 

cin.get(namn, storlek);

Inläsning till sträng.

 

cin.ignore(antal, tecken);

Plockar bort alla tecken från inbufferten t.o.m. första förekomsten av tecken, dock högst antal.

 

getline(cin, s);

Läser data från tangentbordet till en string s.

 

string-klassen

s.at(pos)

Ger tillgång till position pos i s.

 

s.length() eller s.size()

Ger antalet tecken i strängen s.

 

s1+s2

Innehållet i två strängar sätts samman.

 

s1 == s2

Innehållet i två strängar jämförs och om de är lika returneras true, annars false.

På samma sätt kan !=, <, <=, > och >= användas.

 

s.find(tecken, start)

Returnerar positionen för tecknet tecken i s. Sökningen börjar i position start.

Om tecknet inte hittas blir returvärdet –1.

 

s.find(strang, start)

Returnerar positionen för det första tecknet hos strängen strang i s.

Sökningen börjar i position start. Om strängen inte hittas returneras –1.

 

s.substr(start, langd)

Tar ut en delsträng med början i position start med längden langd.


Strukturer

struct Strukturnamn{
                   typ datamedlem1;
typ datamedlem2;
...
};

En struktur deklareras.

Strukturnamn namn;

Strukturvariabeln namn skapas.

namn.datamedlem

Datamedlemmen datamedlem hos strukturvariabeln namn nås genom användningen av punktoperatorn.

 

Filhantering

ofstream utFil;

Ett objekt av typen ofstream skapas för att skriva till fil.

 

ifstream inFil;

Ett objekt av typen ifstream skapas för att läsa från fil.

 

fil.open("namn");

Objektet fil kopplas till en fil med namnet namn och filen öppnas för skrivning eller

 läsning beroende på om fil tillhör ofstream eller ifstream.

 

utFil.open("namn", ios::app);

Ny information läggs till befintlig i filen namn.

 

fil.close();

Filen kopplad till fil stängs.

 

utFil << namn;

skriver till fil.

 

inFil >> namn;

Inläsning till sträng utan blanktecken.

 

inFil.get(namn, storlek);

Inläsning till sträng.

 

inFil.ignore(antal, tecken);

Hoppar över alla tecken från filen t.o.m. första förekomsten av tecken, dock högst antal.

 

getline(inFil, s);

läser data från en fil till en string s.


Funktionerna i vektor, kö, lista och stack


Vektorer

v.assign(antal, varde)

Position 0 till antal–1 fylls med värdet varde.

 

v.at(pos)

Ger tillgång till elementet på position pos i vektorn.

 

v.begin()

Ger platsen för det första elementet i vektorn.

 

v.clear()

Tömmer vektorn på dess innehåll.

 

v.empty()

Returnerar true om vektorn är tom, annars false.

 

v.end()

Ger platsen omedelbart efter det sista elementet i vektorn

 

v.erase(it)

Tar bort elementet på den plats som anges av it.

 

v.erase(start, stopp)

Tar bort alla element som befinner sig i intervallet start till platsen före stopp.

 

v.insert(it, element)

Infogar element på den plats som anges av it.

 

v.push_back(element)

Lägger till element sist i vektorn.

 

v.size()

Returnerar antalet element i vektorn.

 

Köer

q.back()

Det sista elementet i kön returneras.

 

q.empty()

Returnerar true om kön är tom, annars false.

 

q.front()

Det första elementet i kön returneras.

 

q.pop()

Det första elementet i kön tas bort.

 

q.push(element)

Ett nytt element placeras sist i kön.

 

q.size()

Returnerar antalet element i kön.


Listor

l.begin()

Ger platsen för det första elementet i listan.

 

l.clear()

Tömmer listan på dess innehåll.

 

l.empty()

Returnerar true om listan är tom, annars false.

 

l.end()

Ger platsen omedelbart efter det sista elementet i listan.

 

l.erase(it)

Tar bort elementet på den plats som anges av it.

 

l.erase(start, stopp)

Tar bort alla element som befinner sig i intervallet start till platsen före stopp.

 

l.insert(it, element)

Infogar element på den plats som anges av it.

 

l.push_back(element)

Lägger till element sist i listan.

 

l.push_front(element)

Lägger till element först i listan.

 

l.reverse()

Vänder ordningsföljden på elementen i listan.

 

l.size()

Returnerar antalet element i listan.

 

l.sort()

Sorterar listan stigande.

 

Stackar

s.empty()

Returnerar true om stacken är tom, annars false.

 

s.pop()

Tar bort elementet som ligger på toppen.

 

s.push(element)

Lägger till ett element på toppen av stacken.

 

s.size()

Returnerar antalet element i stacken.

 

s.top()

Läser det översta elementet.