2022-02-01
Max. 30 points
Name:
Task | Max. | Achieved |
---|---|---|
1 | 2 | |
2 | 10 | |
3 | 8 | |
4 | 6 | |
5 | 4 | |
Sum | 30 |
Aussage | Wahr | Falsch |
---|---|---|
Mit fopen(.) können Dateien zum Lesen,
Schreiben oder Anfügen geöffnet werden. | ||
Der Rückgabewert von fopen ist
ein Pointer zu FILE . | ||
Ein Pointer kann nicht auf einen anderen Pointer zeigen. | ||
Erst mit Hilfe von Pointern können Datenstrukturen wie Linked Lists implementiert werden. |
int main()
ausgeführt und
alle notwendigen #include
s sind vorhanden.
Wenn das Snippet nicht kompilierbar ist oder zu einem Absturz führen würde,
so ist das Wort “ERROR” als Antwort zu geben.
Erzeugt das Snippet keinen Output (wenn beispielsweise kein
printf
oder dergleichen aufgerufen wird), so ist "-" als
richtige Antwort zu verwenden.
int a = 5;
int* ptr = &a;
*ptr += 5;
printf("%d\n", a);
int a = 5;
int* ptr = &a;
int** p = &ptr;
**p *= **p;
printf("%d\n", a);
int array[] = {1, 2, 3, 4};
int* array_ptr = array;
int count = sizeof(array) / sizeof(int);
int value = 0;
while (count--) {
value += *array_ptr++;
}
printf("%d\n", value);
char name[] = "Chris";
char* name_ptr = name;
while (*name_ptr) { // string ends with the `\0` character
*name_ptr = toupper(*name_ptr); // return upper case character
name_ptr++;
}
printf("%s\n", name);
typedef struct {int year; int month; int day;} IsoDate;
IsoDate date = {2022, 2, 1};
printf("%s\n", date);
bool has_upper(char* string)
welche true
zurück gibt, wenn mindestens ein Großbuchstabe darin vorkommt.
Verwende dazu die Funktion int isupper(.)
welche ein
Zeichen als Argument nimmt und 0
zurück gibt, wenn das Argument kein Großbuchstabe ist, sonst wird
>0.
bool has_upper(char* string) {
while (*string) {
if (isupper(*string)) {
return true;
}
string++;
}
return false;
}
void printDate(IsoDate* d)
welche das Übergebene Datum im ISO 8601 Format ('yyyy-mm-dd') auf
stdout
ausgibt. Die Datenstruktur Date ist definiert als
typedef struct {int year; int month; int day;} IsoDate;
1 Punkt für die Funktionssignatur; 2 Punkte für den Format String;
3 Punkte für Lesen der Werte des Structs.
void print_date(const IsoDate* d) {
printf("%04d-%02d-%02d\n", d->year, d->month, d->day);
}
Node
mit dem Variablen eines
structs namens node_struct
deklariert werden können.struct node_struct
, welcher eine Zahl
value
sowie zwei Node Pointer mit den Namen
prev
und next
speichert.
1 Punkt für das Erstellen des Datentypen; 3 Punkte für die korrekten
Deklaration des struct
.
typedef struct node_struct Node;
struct node_struct {
int value;
Node* prev;
Node* next;
};