Lectures
C/C++ Programmierung (Vollversion)
Prof. Dr. Stefan Röttger, Stefan.Roettger@th-nuernberg.de
© 2009–2024 | Stefan Röttger |
Index
Was ist Programmieren?
Teil 1 (C)
Grundlagen
- Prinzip
- Grundlegende Konzepte
- Variablen
- Positionssysteme
- Dualsystem
- Berechnungen
- Registermaschine
- Maschinensprache
- Speicher
- Speicherbelegung
- Algorithmen
- Implementierung
- Plattformunabhängigkeit
- Datenstrukturen
- Datenstrukturtypen
- Weiterführende Literatur
C-Sprachbestandteile
- Hello, World
- Erste Schritte
- Erster Algorithmus
- Elementare Datentypen
- Variablendeklaration
- Variablennamen
- Operatoren
- Auswertung
- Verschachtelte Operatoren
- Operatorenvorrang
- Klammer Operator
- Operatoren Liste
- Arithmetische Operatoren
- Vergleichs Operatoren
- Logische Operatoren
- Kurzschluss
- DeMorgan
- Operatoren Beispiel
- Bitweise Operatoren
- Bitmanipulationen
- Shift Operatoren
- Zuweisungs Operatoren
- Zusammengesetzte Zuweisungsoperatoren
- Inkrement Operatoren
- Zusammengesetzte Ausdrücke
- Anweisungen
- Anweisungsblöcke
- Kontrollstrukturen
- Verzweigungen
- Schleifen
- Kontrollstruktur While
- Kontrollstruktur While Flussdiagramm
- Kontrollstruktur While Beispiele
- Kontrollstruktur While ggT
- Kontrollstruktur Do-While
- Kontrollstruktur Do-While Flussdiagramm
- Kontrollstruktur Do-While Beispiele
- Kontrollstruktur For
- Kontrollstruktur For Flussdiagramm
- Kontrollstruktur For Beispiele
- Kontrollstruktur For Besonderheiten
- Kontrollstruktur For-For
- Kontrollanweisung Break
- Kontrollanweisung Continue
- Kontrollanweisung Goto
- Ãœbersicht der Kontrollstrukturen
- Beispiele zu Kontrollstrukturen
- Einrückung von Kontrollstrukturen
- Präprozessor Direktiven
- Präprozessor Macros
- Bedingte Kompilation
- Ein- und Ausgabe von Werten
- Ein- und Ausgabe von Zeichen
C-Funktionen
- Prozeduren
- Funktionen
- Lokale Variablen
- Globale Variablen
- Konstanten
- Main-Funktion
- Main-Argumente
- Fehlercode
- Stapelmaschine
- Rekursion
- Zeiger und Adressen
- Funktionszeiger
- Funktionsprototypen
Arrays
- Arrays
- Indizierung
- Tabellen
- Statische Arrays
- Array Initialisierung
- Array Beispiel
- Zeichenketten (C-Strings)
- Arrays und Zeiger
- Mehrdimensionale Arrays
- Dynamische Arrays
- Speicherverwaltung: Free
- Sieb des Eratosthenes
Module
- Header und Module
- Standard Bibliothek
- Standard-Header
- Dateien
- Kompilation mit Unix
- Kompilation mit CMake
- Open-Source Software
Strukturen
- Siehe C++ Vorlesung
- Siehe Datenstrukturen Vorlesung
Addendum
Online-Ãœbungen Teil 1 (C)
Aufgrund des Ausbruchs von CoViD-19 wird der Lehr- und Ãœbungsbetrieb auf Online-Betrieb umgestellt. Das entsprechende Online Vorlesungs- und Ãœbungsmaterial befindet sich hier.
Zusatzaufgaben (C)
Die folgenden Aufgaben vertiefen gängige Programmierabläufe anhand von praktischen Beispielen.
Zusatzübungen 2D Grafik
Die folgenden Aufgaben sind zur Einübung von gängigen Programmierabläufen und insbesondere zur Handhabung einer Graphikbibliothek geeignet.
Teil 2 (C++)
Von Java zu C++
- Wieso C++ ???
- Einführung bzw. Unterschiede von C und C++ bzgl. Java
- Vergleich mit Java
- Vergleich mit Java - Compiler
- Quick Start
- C++ Literatur
- Unterschiede von C und Java
- Unterschiede von C++ und Java
C/C++ Strukturen
Objektorientierte Programmierung mit C++
- Objektorientierung (OO)
- OO-Literatur
- Von Strukturen zu Klassen
- Objekte
- Dynamische Objekterzeugung
- Beispiel zum Unterschied von C Strukturen und C++ Klassen
- Beispiel zum Unterschied von C und C++
- Boilerplate Code
- Namensraum
- Statische Komponenten
- Statische Methoden
- This-Zeiger
- Code-Sharing
- Aggregation
- Vererbung
- Polymorphie
- Virtuelle Methoden
- Overloading (Ãœberladen)
- Ãœberladen von Operatoren
- Exceptions
- Beispiel zu Vererbung und Ãœberladen
- Bibliotheken
- Praxisbeispiel mit JPEG
- Praxisbeispiel mit Qt
- Interfaces
- Templates
- Ausblick
- Weiterführende Literatur
Online-Ãœbungen Teil 2 (C++)
Aufgrund des Ausbruchs von CoViD-19 wird der Lehr- und Ãœbungsbetrieb auf Online-Betrieb umgestellt. Das entsprechende Online-Material befindet sich hier.
Zur Prüfungsvorbereitung: Probeklausur PDF
Falls Sie ein sogenanntes Nachzüglerpraktikum absolvieren, geschieht die Abgabe der folgenden drei Aufgaben auf elektronischem Wege bis spätestens zwei Wochen vor Vorlesungsende: