Programmavertakkingen en dataconversie Flashcards
Welk teken mag je niet gebruiken in een if - else constructie?
de ; (punt komma)
Waarom levert de deling 10/3 de wiskundige waarde 3 op, ook als de toewijzing plaatsvindt aan een variabele van het type float?
Bij een deling van twee int waarden is dus ook het resultaat van het type int. Bij toewijzing van de waarde float worden alleen de decimale punt en een paar nullen toegevoegd.
Welke datatypen worden in C intern geconverteerd?
char wordt short (regel 1)
float wordt double (regel 4)
variabele char wordt vermenigvuldigd met variabele float. Het resultaat wordt toegewezen aan variabele int. Welke dataconversie vind plaats?
De char wordt een short (regel 1), maar is kleiner dan een float waarin gerekend gaat worden. (regel 3). Bij toekenning aan int zat er afgekapt worden (regel 2)
Hoe luidt regel 1 bij conversie van datatypen? (Conversie)
Er wordt altijd met tenminste 2 bytes gerekend. 1 byte datatypen worden omgezet in 2 byte datatype. (het type char wordt dus altijd short.
Hoe luidt regel 2 bij conversie van datatypen? (Toekenning)
Als het type links van = niet gelijk is aan dat van rechts van = , dan wordt er geconverteerd naar links van het = teken. (de ontvanger).
Hoe luidt regel 3 bij conversie van datatypen? (Binaire operatoren)
Bij binaire operatie, vind conversie plaats wanneer er sprake is van twee verschillende datatypes. Het kleinste wordt overgezet naar het grootste.
Hoe luidt regel 4 bij conversie van datatypen? (Drijvende komma)
Als er twee getallen met een drijvende komma wordt gebruikt in een programma, wordt er altijd in het type double gerekend. Wordt de uitkomst toegekend aan een float dan wordt er afgerond. Wordt de uitkomst toegekend aan een int, dan wordt er afgekapt.
Hoe luidt regel 5 bij conversie van datatypen?
Indien één van de operanden van het type unsigned is, wordt de andere type ook unsigned.
Wat is een cast?
Een cast is een tussen haakjes gezette typeaanduiding, die voor een expressie wordt gezet. Daardoor kunnen datatypen worden gewijzigd.
printf (“%f”,( float ) getal_1 / getal_2);
- Onder het nesten van if‐statements verstaan we het onderbrengen van een compound statement binnen een if‐statement.
- Een compound statement mag geen if‐statement bevatten. Welke beweringen zijn juist?
a. Alleen de eerste.
b. Alleen de tweede.
c. Beide.
d. Geen van beide.
D. Een compound statement is een groep statements beginnend en eindigend met { }.
Onder het nesten van statements verstaan wij het onderbrengen van if-statement binnen een if-statement.
Een compound statement kan wel if-statements bevatten.
- In elke if‐constructie komt een booleaanse expressie voor.
- In elke if‐else constructie komt een booleaanse expressie voor (een booleaanse expressie is een logische expressie). Welke beweringen zijn juist?
a. Alleen de eerste.
b. Alleen de tweede.
c. Beide.
d. Geen van beide.
C. Elke if-statement als if else-statement wordt gevolgd door een logische expressie.
Welke 2 geheugenklassen zijn er?
extern en static. extern is standaard.
static zorgt dat de functies alleen binnen de sourcefile geldt.
extern zorg dat de functies bereikbaar zijn in alle sourcefiles.
Welke geheugenklassen van variabelen zijn er?
- auto: default
- register: hier worden variabelen in een vrij register van de processor opgeslagen = sneller
- static: vermijd het wissen van een variabele. in plaats van in een stack wordt de variabele opgeslagen daar waar ook globale variabelen staan.
- extern: wordt alleen gebruikt als er met modules wordt gewerkt.
Beschrijf het LIFO principe
Last In First Out, de waarde die het laatst werd opgeslagen, moet er als eerste uit.