# 1. C

Quelle: https://inf.zone/lectures/1-c/

C. Quellcode. Maschinencode. Compiler. Korrektheit, Design, Stil. Visual Studio Code. Syntaxhervorhebung. Escape-Sequenzen. Header-Dateien. Bibliotheken. Handbuchseiten. Typen. Bedingungen. Variablen. Schleifen. Linux. Grafische Benutzeroberfläche (GUI). Befehlszeile (CLI). Konstanten. Kommentare. Pseudocode. Operatoren. Integer-Overflow. Fließkomma-Ungenauigkeit.

Der Einstieg in C – Quelltext und Compiler, `hello.c`, Fehlermeldungen, `printf` und `get_string` – gehört seit dem Wintersemester 2026/27 zur ersten Sitzung und steht in den [Notes 0](https://inf.zone/lectures/0-willkommen/notes0/#maschinencode-quelltext).

![landscape](https://inf.zone/lectures/1-c/lec1-still.jpg "Funktionen sind wie Schachteln")

## Video

*Das Video ist noch nicht verfügbar. Die Aufzeichnung steht ein bis zwei Wochen nach der Vorlesung hier.*

## Material

Die Folien stehen ein bis zwei Tage nach der Vorlesung hier.

- [Notizen](https://inf.zone/lectures/1-c/notes1)
- [Code](https://inf.zone/download/lectures/1-c/1-src.zip)

## Zugehörige Inhalte

### Shorts

Die Shorts vertiefen einzelne Themen der Vorlesung. Schauen Sie sie gezielt dort an, wo Sie bei einer Übungsaufgabe nicht weiterkommen, und programmieren Sie die Beispiele darin nach. „Die drei Extra-Minuten“ am Ende gehen meist über die Basis hinaus (Kür); was davon zur Basis gehört, steht auf der Seite des Shorts.

- [1.1 Datentypen und Variablen](https://inf.zone/lectures/1-c/short-1-1-datentypen/) (11 min): Variablen und Datentypen in C: int, unsigned, char, float, double, void, bool und string (cs50.h); Deklaration, Zuweisung, Initialisierung, Literale
- [1.2 Operatoren](https://inf.zone/lectures/1-c/short-1-2-operatoren/) (14 min): Arithmetische Operatoren, Zuweisung, Modulo, Kurzformen (+=, ++), boolesche Ausdrücke, logische Operatoren (&&, ||, !), Vergleichsoperatoren in C
- [1.3 Bedingte Anweisungen](https://inf.zone/lectures/1-c/short-1-3-bedingungen/) (12 min): if, else, else if und switch mit break in C, ternärer Operator (?:), guter Stil bei bedingten Anweisungen
- [1.4 Schleifen](https://inf.zone/lectures/1-c/short-1-4-schleifen/) (24 min): while, do-while und for in C und wann man welche nimmt; break, continue, verschachtelte Schleifen, Off-by-One-Fehler, Endlosschleifen, guter Stil
- [1.5 Kommandozeile](https://inf.zone/lectures/1-c/short-1-5-kommandozeile/) (18 min): Linux-Befehle ls, cd, mkdir, cp, mv, rm, cat, head, tail; Pfade, Wildcards, sort, uniq, cut; Umleitung von stdin und stdout, Pipes
- [1.6 Magic Numbers](https://inf.zone/lectures/1-c/short-1-6-magic-numbers/) (12 min): Zahlen ohne erkennbare Bedeutung im Code und warum sie stören; symbolische Konstanten mit #define oder const

### Übung

- [Übung 1](https://inf.zone/exercises/01)
