Programmieren in C Grundlagen C 2 Hochschule Fulda
- Slides: 29
Programmieren in C Grundlagen C 2 Hochschule Fulda – FB AI Wintersemester 2014/15 http: //c-ai. rz. hs-fulda. de Peter Klingebiel, HS Fulda, DVZ
Anweisung / Ausdruck 1 • Programm setzt sich aus vielen Anweisungen (Zuweisungen, Vergleichen, Operationen, Funktionsaufrufen, usw. ) zusammen • Anweisung (statement) im strengen Sinn in C unbekannt • Anweisung hat kein verwertbares Ergebnis • Beispiel: Zuweisung in Pascal, Ada, … integer i; i : = 123; • Variable i hat nach Zuweisung den Wert 123, die Zuweisung selbst ist allerdings nicht weiter auswertbar! Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 2
Anweisung / Ausdruck 2 • C kennt keine Anweisungen (statements), sondern nur Ausdrücke (expressions) • Ausdruck hat einen Wert (wie in Assembler!) • Beispiel: Zuweisung in C int i; i = 4711; • Zuweisung kann auch ausgewertet werden: int a, b, c, i, j; a = b = c = 3; if(i = 4711). . . while(j = 1). . . Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 3
Anweisung / Ausdruck 3 • Ausdruck Gültige Kombination von – Konstanten, Variablen, Operatoren – Operatoren, Funktionsaufrufen • Reihenfolge der Auswertung – Vorrangregeln der Operatoren legen Reihenfolge der Auswertung implizit fest – Klammern ( ) legen Vorrangregeln explizit fest – Sind Vorrangregeln nicht eindeutig Reihenfolge der Auswertung nicht definiert – Compiler kann Ausdrücke / Teilausdrücke effizient auswerten / optimieren Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 4
Datentyp short, int, long 1 • Ganze Zahlen, Integerzahlen • Typen short, int, long • Speicherbedarf maschinenabhängig – short <= int <= long – Heute z. B: short 16 Bit, int 32 Bit, long 64 Bit • Vorzeichen – signed – unsigned mit Vorzeichen vorzeichenlos • Konstanten, Beispiele: int a = 4711, b = -18; short x = 0 x 20 int y = 020; dezimal sedezimal (Basis 16) oktal (Basis 8) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 5
Datentyp short, int, long 2 • Syntaxdiagramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 6
Datentyp short, int, long 3 • Dezimal-, Sedezimal-, Binärdarstellung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 7
Datentyp short, int, long 4 • Operatoren / Operationen: • Zuweisung = – Beispiel: int i; i = 4711; • Vorzeichen + – Beispiel: int j = -4711; • Arithm. Op. + - * / % – Beispiel: k = 2010 - i + j * 3 % 8; Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 8
Datentyp short, int, long 5 • Vergleichsoperatoren == != < > <= >= • expr 1 op expr 2 • Ergebnis: wahr 1, falsch 0 • Ergebnistyp int Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 9
Datentyp short, int, long 6 • Logische Operatoren ! && || • Ergebnis: wahr 1, falsch 0 (Typ int) • expr 1 op expr 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 10
Datentyp short, int, long 7 • Bitoperatoren ~ & | ^ • expr 1 op expr 2 bzw. ~expr Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 11
Datentyp short, int, long 8 • Bitshiftoperatoren << >> • expr 1 op expr 2 • Bits in expr 1 um expr 2 Bits verschoben – Bsp. 1 << 2 1 um 2 Bits nach links – Bsp: n >> 5 n um 5 Bits nach rechts Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 12
Datentyp short, int, long 9 • Inkrement- / Dekrementoperatoren ++ • Linkseitiger Operator ++n -- – Wert von n wird inkrementiert / dekrementiert – das Resultat wird als Ergebnis geliefert • Rechtsseitiger Operator n++ n-- – Wert von n wird als Ergebnis geliefert – Danach wird n inkrementiert / dekrementiert Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 13
Datentyp char 1 • Einzelzeichen oder Integer 8 Bit • Speicherbedarf 1 Byte (8 Bit) • Konstanten, Zeichen durch ' ' geklammert char c 1 = 'A', c 2 = '1', c 3 = 'n' • Sonderzeichen mit beschrieben, Bsp: 'n' 't' '