C-Programmierung: Übungen zu Arrays, Zeigern und Strukturen

Informatik2,97 KB

1. Struktur für Autodaten definieren

Definieren Sie eine Struktur für die folgenden Angaben eines Autos: Marke, Kategorie (Kompakt/Familie), Modell, Hubraum und Baujahr.

Antwort:

struct Datos_auto {
    char marke[30];
    char modell[10];
    char kategorie[30];
    int jahr;
    int hubraum;
};

4. Array-Indexüberschreitung

Was passiert, wenn Sie einem Element eines Arrays einen Wert zuweisen, dessen Index die definierte Größe überschreitet?

Antwort: Daten werden überschrieben (Speicherzugriffsfehler oder undefiniertes Verhalten).

5. Bedeutung des Array-Namens

Wenn ein Array wie folgt deklariert ist: int liste[12];, was stellt liste dar?

Antwort: Der Name des Arrays (entspricht der Speicheradresse des ersten Elements).

6. Definition eines Strings in C

Was ist ein String in C?

Antwort: Ein String ist ein zusammengesetzter Datentyp, ein Array von Zeichen, das durch ein Null-Zeichen ('\0') abgeschlossen wird.

7. Zugriff auf Teilstrings

Gegeben sei: char str[] = "Montenegro";. Schreiben Sie den Code, um die letzten 5 Buchstaben auszugeben.

Antwort:

int i;
for (i = 5; i <= 9; i++) {
    printf("%c", str[i]);
}

8. Was ist ein Zeiger?

Antwort: Ein Zeiger ist eine Variable, die die Speicheradresse einer anderen Variablen enthält. Er ermöglicht den direkten Zugriff auf Speicherbereiche.

9. Gründe für die Verwendung von Zeigern

Nennen Sie zwei gute Gründe für die Verwendung von Zeigern.

Antwort:

  • Einfachere Manipulation von Arrays und Datenstrukturen.
  • Effizientere Speicherverwaltung und Performance.

10. Zugriff auf Array-Elemente

Deklarieren Sie ein Array mit 10 Elementen namens tabelle und geben Sie zwei Möglichkeiten an, auf das dritte Element zuzugreifen.

Antwort: tabelle[2] oder *(tabelle + 2).

11. Mehrdimensionale Arrays und Zeiger

Gegeben sei: int arr[2][3] = {{10, 11, 12}, {13, 14, 15}};. Geben Sie eine Referenz auf das Element 14 in Array- und Zeigerschreibweise an.

Antwort:

  • Array-Schreibweise: arr[1][1]
  • Zeigerschreibweise: *(*(arr + 1) + 1)

12. Funktion zum Tauschen von Variablen

Schreiben Sie eine Funktion zum Tauschen (Swap) zweier Integer-Variablen.

Antwort:

void swap(int *a, int *b) {
    int temp = *a;
    *a = *b;
    *b = temp;
}

13. Summe von Array-Elementen mit Zeigern

Berechnen Sie die Summe der Werte eines Arrays mittels Zeigern.

Antwort:

float list[] = {1.0, 2.0, 3.0, 4.0, 5.0};
float summe = 0;
for(int i = 0; i < 5; i++) {
    summe += *(list + i);
}

Herunterladen

PDF Word HTML