C/C++ Programmierung (Vollversion)
Prof. Dr. Stefan Röttger, Stefan.Roettger@th-nuernberg.de
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)
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++)
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: