C-Programmering Flashcards
(39 cards)
Vad är/gör funktioner ?
Skall lösa en specifik uppgift
Ska vara lätt att förbättra
Man ska kunna skriva gränssnittet för funktioner på ett tydligt sätt
Den ska vara tillräckligt generell så man ska kunna återanvända den
Vad är en pekare ?
Är en variabel som innehåller minnesadress till en plats i primärminnet
Vad har pekare för användningsområden för pekare ?
Referensanrop- som gör så att man kan ändra på ett värde på en variabel på en funktion.
Dynamisk minnesallokering- Hantera minne utan att deklarera variabel med namn
Åtkomst av variablens minnesadress
Effektivare minneshantering genom att skicka pekare till en funktion
Generell pekare
Kan användas som ett mellanresultat när man vill göra omvandlingar mellan olika pekartyper
Lokala Variabler
Deklareras inuti funktion. Existerar inte när exekveringen av programmet lämnar koden
Globala Variabler
Deklareras utanför alla funktioner & main-funktionen. Existerar i alla kodblock
Vad är enum ?
Enum används för att skapa datatyp som kan användas för att gruppera objekt med fasta värden(konstanter)
Vad är struct ?
Struct används för att skapa datatyp som kan användas för att gruppera objekt med variabler(värden som kan ändras)
Nämn några fördelar med enum
Lätt att utvidga och ändra vad enum representerar vid en uppdatering av koden
Den ger programmeraren och den som läser koden en bra vägledning om hur siffervärden skall tolkas
Nämn några fördelar med struct
Skicka innehållet i en struct som parametrar till en funktion
Får man klistra och klippa kod från internet och använda den i programmet som man själv gör publikt tillgängligt ?
Ja, om koden inte kan anses ha verkshöjd
Nej, såvida det inte finns en licens som säger att det är okej
FOSS, Fri Programvara, Öppen Källkod, Free Software, Öppna Programvaror, FLOSS & Open Source är alla namn på mjukvara som är släppta under en licens som tillåter dig att vadå ?
Köra mjukvaran som du vill
Lära dig hur programmet fungerar
Distribuera mjukvaran
Förbättra programvaran/mjukvaran och tillåter dig distribuera denna
Skapade verk skyddas av vadå ?
Upphovsrätten
Om man skall använda en textfil för att lagra data från ett program, vilka steg är nödvändiga för att hantera filen ?
Skapa ett filhandtag
Öppna filen och kontrollera att öppningen lyckades
Skriv till filen
Stäng filen om öppningen gick bra
Implicit typkonvertering
Regler i språkspecifikationen styr hur datatypskonflikter i beräkningsuttryck löses
Explicit typkonvertering
Programmeraren styr hur datatypskonflikter i beräkningsuttryck löses
Vad innebär “loop and a half” problemet ?
Att det värde som skall testas i villkoret uppkommer i mitten av loopen
Hur man kan lösa “loop and a half” problemet ?
Det kan lösas på två sätt:
- Genom att inför en selektionssats i mitten av loopen som bryter loopen med en break-sats
- Read - Ahead tekniken: Läser in ett värden före loopen och gör en motsvarande inläsning i slutet på loopen.
Vad är ett värde anrop/call by value ?
Vid värdeanrop kopieras innehållet i den variabel som användas vid anropet till den variabel som skapas i själva metoden.
Vad är ett referens anrop/call by reference ?
Vid referensanrop kommer variabeln som används i parameterlistan att “peka på” minnesarean för variabeln som används vid anropet.
Vad är ett sentinel-värde?
Ett särskilt värde som inmatas för att avsluta en iteration
Vad viktigt för ett bra gränssnitt för funktionerna i ett bibliotek?
En utökning av biblioteket med ytterligare funktioner är OK
Gränssnittet skall hållas intakt även om implementationen ändras
Gränssnittet skall vara tydligt, dvs det skall klart framgå vad funktionerna gör och hur deras resultat och argument ser ut
Beskriv tre viktiga egenskaper för en konstant i C
Placeras med fördel globalt
Initieras vid definitionen/deklarationen
Kan inte ändras i koden
Vilket feltyp innebär att programmet ser ut att fungera men ger sporadiskt felaktiga beräkningar?
Ett logiskt fel