OpenILIAS Uni Göttingen
Grundlagen der C-Programmierung interaktiv
Grundlagen der C-Programmierung
DataSkills@CIDAS4u
Repository
Language
Deutsch
English
Search
Login
0
0
Show More
Tools
Repository
More
Content
Glossary
Media
FAQ
Repository - Home
Tree View
...
Grundlagen der C-Programmierung interaktiv
1 Einführung und Einstieg, Installation und Nutzung des Systems und der Tools, das erste Programm
Vorwort und Organisation
Installation des Betriebssystems
Kurze Einführung in die grafische Oberfläche von Ubuntu 18.04.2 LTS
Grundkurs Arbeiten mit der Standardeingabe
Weitere Funktionen im Terminal: Systembefehle und Rechtevergabe
Weitere Funktionen im Terminal Teil 2: Nützliches
Weitere Funktionen im Terminal Teil 3: Anzeigen, suchen, sortieren
Exkurs: Skripting und einfaches Programmieren im Terminal mit Bash
SSH und der CIP-Pool
Editor und Kompilieren - Mein erstes Programm
Exkurs: Rechnen mit verschiedenen Zahlensystemen
Der SmartAPE (ehemals Simple Submission System "SSS")
Lokales Testen
Weitere Materialien und Inhalte
Materialien anderer Online Kurse
Literaturempfehlungen
2 Formatierte Ein- und Ausgabe
Typen und Variablen
Auf die Standardausgabe schreiben
Variablen ausgeben
Ausgabeformate von Zahlvariablen
Von der Standardeingabe lesen
ASCII und andere Standards
Typumwandlungen, Probleme und Risiken
Ergänzung: Der Rückgabewert von scanf()
(optional) Besondere Typen ausgeben
Exkurs: Darstellungen von Typen innerhalb des Rechners
3 (optional) Geschichte und Hintergrund
Geschichte der Programmiersprache C und umgebende Ereignisse
4 Ausdrücke und Operatoren
Vergleiche, Zuweisungen und logische Operatoren
Arithmetische Operatoren und Numerische Operationen
Einschub: Probleme beim Vergleich mit Fließkommazahlen
(optional) Original mit Audio Problemen
5 Was sind Zeiger?
Grundlegendes Verständnis von Zeigern
Typen von Zeigern
Der Nullzeiger
Konstante Zeiger und Zeiger auf konstante "Variablen"
Zusammenfassung, Vertiefung und weitere Erklärungen
6 Kontrollstrukturen und Steuerung des Programmablaufs
Abfragen
Auswahl
Schleifen Teil 1: While
Schleifen Teil 2: Do
Schleifen Teil 3: For
Verschachtelung, Kombination und Nebeneffekte
7 Felder, Vektoren, Matrizen und Arrays
Was sind Vektoren?
Eingabe-Ende und Einlesen mehrere Elemente
Einlesen mehrerer Integer-Werte
Strings als Felder von Zeichen
Zeiger und Felder
Feldzugriffe durch Zeigerarithmetik
Zeigervektoren
Parameter des Hauptprogramms
Felder variabler Länge
Feldstrukturen rekonstruieren durch Zeigervektoren
Feldstrukturen rekonstruieren durch Casting von Feldzeigern
Typveränderungen vs Dereferenzierung auf Feldern
Was ist ein Speicherabbildungsfunktion???
8 Stringhandling - Wie behandelt und verändert man Zeichenketten?
Einlesen von Textdateien
Spezielle Operationen für Strings und Character
Strings bearbeiten und verändern
Einfache Textsuche
Strings reinigen
Strings vereinen
In Textdateien schreiben
Exkurs: Log- und Konfigurationsdateien
Exkurs: scanf vs getchar vs gets
9 Funktionen und Unterfunktionen
Wofür separate Funktionen?
Anlegen und Aufrufen von untergeordneten Funktionen mit Werten - Call by Value
Übergabe von Parametern - Call by Reference
Übergabe von Parametern - Call by Reference Reloaded
Vektoren übergeben und konstante Parameter
Vektoren übergeben Teil 2: Ein weiteres Beispiel
Vektoren übergeben Teil 3: Informationsverlust bei der Übergabe
Vektoren übergeben Teil 4: Vektoren und Matrizen variabler Länge (VLA) als Funktionisparameter
Vektoren übergeben Teil 5: Mehrdimensionale Felder übergeben
Vektoren und Felder als Rückgabewert
Zeiger als Rückgabewerte
Selbstaufruf (Rekursion)
Mehr Selbstaufrufe
Exkurs: Lokale und globale Variablen
10 Einfache Strukturen
Was sind Strukturen und wie legt man sie an?
Auf Strukturen und ihre Inhalte zugreifen
Strukturen übergeben (Call by Value)
Zeiger auf Strukturen und diese übergeben (Call by Reference)
Ist ein und hat ein Beziehungen
Vektoren von Strukturen einlesen und ausgeben
Speichern und Größe von Strukturen
Strukturen vergleichen
Zeiger in Strukturen zeigen auf Strukturen - Grundlagen für Listen
Der Aufzählungstyp enum
Aliasse für Typen (typedef)
Die Time.h: Zeit als Struktur
Verbünde oder Unions: Abschied von strenger Typisierung
11 Module und Multi-File-Programming
Funktion des Compilers
Module und Binden
Header-Dateien erstellen
Einbindungswächter - Die "Include Guards"
(optional) Makefiles
(optional) Bibliotheken
(optional) CMake
(optional) Einfache eigene dynamische Bibliotheken
12 Speichermanagement - Der Heap und andere Speicher
Typen von Speicher: Statisch: Stack, Dynamisch: Heap
Der Stack - Aufbau und Funktionsweise
Heapverwaltung mit malloc
Null initialisierten Speicher allokieren und befreien mit calloc
malloc() calloc() realloc() und free()
Strukturen auf dem Heap
Strukturen variabler Größe auf dem Heap
Matrizen auf dem Heap
Matrizen höherer Dimension auf dem Heap
Felder variabler Größe auf dem Heap
Haldenspeicher in Unterfunktionen
13 Zeiger Teil 2 (für Göttingen ab "Von der Struktur zum Objekt" optional)
(Wdh) Zeiger auf Zeiger
(Wdh) Zeiger ohne Typ: Der void pointer
(Wdh) Zeiger zeigen auf Felder von Zeigern
(Wdh) Zeigerarithmetik
(Wdh) Zeiger auf Felder mehrerer Dimensionen
Funktionszeiger
Funktionszeiger in Vektoren
Funktionszeiger in Strukturen
Einschub: Initialisierung von Strukturen
Von der Struktur zum Objekt - Was ist Objektorientierung?
Konstruktoren
Vererbung, "This" und "Super"
Mehrfachvererbung
Sichtbarkeiten und Zugriff "public", "private" und "protected"
Getter und Setter
Namensräume
Tiefere Einführung in die Objektorientierte Programmierung in C++
14 Schwierigkeiten der Rechnerarithmetik
Einführung: Warum kommt es zu Problemen?
Schwierigkeiten mit ganzen Zahlen und deren Typen
Fließkommazahlen und ihre Beschränkungen
(Optional: Einschub:) Fehlerbehandlung durch Signale: Die signal.h
Typumwandlungen oder "Casts"
Fehlerbehandlung bei Fließkommazahlen
Rechengesetze
Rundungsfehler
Auslöschung
Rechnen mit sehr kleinen Zahlen
Einige Anwendungen
Ursprünglicher Mitschnitt der ersten Vorlesung
15 (optional) Einführung Datenstrukturen
Einfach verkettete Listen
Mehrfach verkettete Listen
Bäume
Suchen
Sortieren Teil 1: Insertion Sort
Sortieren mit aufsteigenden Blasen: Bubble Sort
Schnelles Sortieren: Quick Sort
Exkurs: Gewichtung und Baumsuche
Exkurs: Was ist eine Datenbank?
Close
Repository
DataSkills@CIDAS4u
Grundlagen der C-Programmierung
Grundlagen der C-Programmierung interaktiv
Grundlagen der C-Programmierung interaktiv
Functions
Content
General
Language
German
Information Message
No comment has been posted yet.