Prozessortechnik Test 2
Prozessortechnik an der hftm
Prozessortechnik an der hftm
-
- 1 / 100
-
Flashcards
Beschreibe die generelle Funktionsweise von impliziter Type conversion.
Der Compiler castet [implizit] bei der Verarbeitung von mehreren Variablen in den jeweils
grössten Datentypen.So wird aus beispielsweise bei der Multiplikation eines Integers und eines Long Integers der
Integer in einen Long Integer gecastet.
Wenn eine unsigned integer Variable benötigt wird, die genau 32 Bit gross sein soll - und dies
Plattformunabhängig - wie kann diese Variable deklariert werden?
uint32_t my32BitVariable;
Wie kann eine Boolean Variable seit C23 deklariert werden, so dass der Header stdbool.h nicht mehr
nötig ist?
bool myBooleanVariable = true;
Welche Integer Datentypen haben mehr Platz (oder mindestens nicht weniger) als int?
Bei welchem Datentyp ist als einziges die Grösse bekannt, aber unbekannt ob signed oder unsigned?
Wie wird auf eine char Variable das Zeichen j gesetzt?
char myCharVariable = 'j';
Wie sieht der Dezimale Wert 8 als Literal aus in den Typen
int, long, unsigned int, float, als octal, als
hex, als binary?
int: 8
long: 8L (oder 8l)
unsigned int: 8u (oder 8U)
float: 8.0f
octal: 10
hex: 0x8
0b1000
Wie können drei Variablen gleichen Typs deklariert und zugleich initialisiert werden, ohne dass der
Datentyp wiederholt werden muss?
Wie wird eine Integer Variable nur deklariert, ohne initialisiert zu werden?
int variableNotInitialized;
Wie viele bytes hat der folgende Datentyp typischerweise?
Long double
Wie viele bytes hat der folgende Datentyp typischerweise?
Double
Wie viele Bytes hat der folgende Datentyp?
Float
Wie viele bytes hat der folgende Datentyp?
Int
Wie viele bytes hat der folgende Datentyp?
Char
Welche Variablennamen sind nicht möglich?
Welche Variablennamen sind möglich?
Literals
Um welches Literal handelt es sich?
0b0101
int, represented in binary
Literals
Um welches Literal handelt es sich?
0x1F
int, represented in hex
Literals
Um welches Literal handelt es sich?
"Hello world"
String literal
Literals
Um welches Literal handelt es sich?
3.14
double
Literals
Um welches Literal handelt es sich?
69L
long
I (lkleines L)
Literals
Um welches Literal handelt es sich?
420
int
Was ist eine Variable?
Eine Variable ist ein Platzhalter für Werte, die sich [meist] ändern können. Variablen können im Sourcecode
festgelegte Werte - sogenannte Literals - zugewiesen werden. Die Werte könnten aber auch zur Laufzeit von
einer Benutzereingabe oder aus einer Verarbeitung/Berechnung kommen.
Welche Datei erstellt der Linker?
Welche Datei erstellt der Assembler?
Welche Datei erstellt der Compiler?
Welche Datei erstellt der Preprozessor?
Wie können Kommentare in den Sourcecode eingefügt werden?
Welcher Vorteil hat es, wenn Verarbeitungen zur Compilierungszeit und nicht zur Laufzeit (runtime) durchgeführt werden?
Es benötigt keine Ressourcen während das Programm lädt / läuft.
Dies trägt massiv zur Geschwindigkeit des Programms bei und spart kosten.
Welcher Prozess erstellt schlussendlich ein ausführbares File?
Linker
Welcher Prozess entfernt Kommentare?
preprozess
Was ist die Aufgabe vom Linker?
Führt alles zusammen und erstellt eine ausführbare datei
In welchem Prozess würde ein Syntax Fehler erkannt werden?
Beim compilieren (Der compilier)
Wie ist der Prozess des „Compilierens“, bzw. welche Schritte werden durchlaufen, wenn wir von „Compilieren“ sprechen?
Wenn vom Compilieren gesprochen wird, ist der Buildprozess mit allen zwischenschritten gemeint. Es "übersetzt" die, für uns verständliche, C sprache zu einer Ausführbaren Datei.
Zum Buildprozess gehören folgende Schritte
Preprozessor
Compiler
Assembler
Linker
Was bedeutet es, wenn eine Funktion bei der Definition deklariert wird?
Die Funktion steht oberhalb ihres Aufrufs im Code. Dadurch ist kein separater Prototyp notwendig, auch wenn es Best Practice ist.
Warum ist extern bei Variablen nötig, bei Funktionen aber nicht?
Funktionen können durch ihre Syntax von Definitionen unterschieden werden, Variablen nicht.
Ist folgender Prototyp korrekt?
void calculateSomething(int, float, int, double, bool);
Ja, Variablennamen sind optional.
Ist es ein Problem, wenn eine Deklaration mehrfach enthalten ist?
Nein, da Deklarationen keinen Speicher reservieren.
Welcher Teil verarbeitet Include Guards und warum?
Der Preprocessor. Sie verhindern, dass ein Headerfile mehrfach inkludiert wird.
Worauf muss man bei rekursiven Funktionen achten?
Eine erreichbare Abbruchbedingung muss vorhanden sein.