Programmieren in C Grundlagen C 2

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

der Universität Oldenburg
3. Operatoren und Ausdrücke
Hochschule Fulda – FB ET Sommersemester 2010
Forschungszentrum caesar
Hochschule Fulda – FB ET Sommersemester 2010
Hochschule Fulda – FB ET Sommersemester 2010
Hochschule Fulda – FB ET Sommersemester 2010
Hochschule Fulda – FB ET Sommersemester 2010
Variablen und Datentypen
10. Grundlagen imperativer Programmiersprachen
der Universität Oldenburg
C- Syntax. Bestandteile der Sprache C: Ausdrücke Anweisungen.
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Java- Syntax.
Sommersemester 2003 Lars Bernard
Imperative Programmierung
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
Zusammenfassung Vorwoche
Hochschule Fulda – FB ET Sommersemester 2010
Grundkonzepte Java - Klassendefinition
Informatik 1 Übung 2.
Programmieren in C Zeichen-/Stringfunktionen Dynamischer Speicher
Programmieren in C Einführung
Prof. Dr.-Ing. Franz-Josef Behr
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
Programmieren in C Einführung
Programmieren in C Dynamische Listen / Bäume
Programmieren in C Grundlagen C 5
Informatik II Grundlagen der Programmierung Programmieren in C Benutzerinteraktion / Ein- und Ausgabe Hochschule Fulda – FB ET Sommersemester
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Datentypen: integer, char, string, boolean
Agenda für heute, 28. April, 2005 Strukturierte VariablenStrukturierte Variablen Arrays.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren in C Grundlagen C 3 Hochschule Fulda – FB AI Wintersemester 2013/14 Peter Klingebiel, HS Fulda, DVZ.
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
PHP: Operatoren und Kontrollstrukturen
Informatik II Grundlagen der Programmierung Programmieren in C printf() mit variabler Feldbreite Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Einführung
Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Informatik II Grundlagen der Programmierung Programmieren in C Funktionen, Adressen, Zeiger Hochschule Fulda – FB ET Sommersemester 2014
Informatik II Grundlagen der Programmierung Programmieren in C Ausflug printf() Hochschule Fulda – FB ET Sommersemester 2014
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Annäherung an C
Programmieren in C Grundlagen C 3
Programmieren in C Module und Bibliotheken Hochschule Fulda – FB AI Sommersemester Peter Klingebiel, HS Fulda, DVZ.
Programmieren in C Dateien
Programmieren in C Sortieren, Suchen
Programmieren in C "Was ist wichtig?"
Übersicht Nachtrag zu Ausdrücken
Sequenzen: Lineare Programme
Variablen und Datentypen
Programmieren in C Grundlagen C 1 Hochschule Fulda – FB AI Sommersemester Peter Klingebiel, HS Fulda, DVZ.
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Inhalte der Übungen 1.Grundlagen, Ein- und Ausgabe 2.Kontrollstrukturen (Projekt 1) 3.Funktionen 4.Zeiger, Felder (Projekt 2) 5.Strings, Strukturen 6.Fileverarbeitung.
Programmieren in C Dynamische Listen / Bäume
Programmieren in C Zeichen-/Stringfunktionen Dynamischer Speicher
Programmieren in C Grundlagen C 2
AlgoDat Fragen zu Vorlesung und Klausur
Datentypen: integer, char, string, boolean
Programmieren in C Wie speichert C
Projektmodul DM Kurze Einführung C-Programmierung
Programmieren in C Module und Bibliotheken
SS 04 Christiane Rauh Christian Hellinger
Datentyp- umwandlung.
 Präsentation transkript:

Programmieren in C Grundlagen C 2 Hochschule Fulda – FB AI Sommersemester 2014 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

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

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

Datentyp short, int, long 1 Ganze Zahlen, Integerzahlen Typen short, int, long, long long Speicherbedarf maschinenabhängig short <= int <= long <= long long Heute z.B: short 16 Bit, int 32 Bit, long 64 Bit Vorzeichen signed mit Vorzeichen unsigned vorzeichenlos Konstanten, Beispiele: int a = 4711, b = -18; dezimal short x = 0x20 sedezimal (Basis 16) int y = 020; oktal (Basis 8) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp short, int, long 2 Syntaxdiagramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp short, int, long 3 Dezimal-, Sedezimal-, Binärdarstellung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

Datentyp short, int, long 5 Vergleichsoperatoren == != < > <= >= expr1 op expr2 Ergebnis: wahr  1, falsch  0 Ergebnistyp  int Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp short, int, long 6 Logische Operatoren ! && || Ergebnis: wahr  1, falsch  0 (Typ int) expr1 op expr2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp short, int, long 7 Bitoperatoren ~ & | ^ expr1 op expr2 bzw. ~expr Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp short, int, long 8 Bitshiftoperatoren << >> expr1 op expr2 Bits in expr1 um expr2 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

Datentyp short, int, long 9 Inkrement- / Dekrementoperatoren ++ -- Linkseitiger Operator ++n --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

Datentyp char 1 Einzelzeichen oder Integer 8 Bit Speicherbedarf 1 Byte (8 Bit) Konstanten, Zeichen durch ' ' geklammert char c1 = 'A', c2 = '1', c3 = '\n' Sonderzeichen mit \ beschrieben, Bsp: '\n' Zeilentrenner (NL) '\t' Tabulator (TAB) '\0' Stringende (NUL) '\"' Anführungszeichen '\\' Backslash, Fluchtzeichen Darstellung im ASCII-Code  char Untertyp von Ganzzahlen int Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp char 2 ASCII-Zeichensatz 7 Bit Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp char 3 ASCII-Zeichensatz 8 Bit (PC, MS-DOS) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp char 4 ANSI-Zeichensatz 8 Bit (Windows) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp char 5 Repräsentation (ASCII): Sinnvolle Operatoren/Operationen bei char: = (Zuweisung) + - (arithm. Operationen) == != < > <= >= (Vergleich) Wird char als Byte (8 Bit-Integer) genutzt  alle int-Operationen sinnvoll Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentyp char 6 Ascii-Tabelle ausgeben: ascii.c Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentypen float, double, long double 1 Fließkommazahlen Typen float, double, long double Speicherbedarf float < double < long double float 32 Bit, double 64 Bit, long double 128 Bit Repräsentation nach IEEE 754 Beispiel: float 32 Bit Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentypen float, double, long double 2 Syntaxdiagramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Datentypen float, double, long double 3 Konstanten, Beispiele: float p = 3.141, a = -21.56, b = 0.5467 1.0 0.0 (Obacht: 1 oder 0  int) 7.0e-3 (0.007) 7.6543e2(765.43) Operatoren / Operationen: = (Zuweisung) + - (Vorzeichen) + - * / (arithm. Op.) == != < > <= >= (Vergleich) Vorsicht bei Vergleichsoperationen wegen Ungenauigkeiten in Darstellung (z.B. bei 0.0) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Weitere Operatoren 1 Spezielle Zuweisungsoperatoren  verkürzte Schreibweise für Operationen auf Variablen a op= b  a = a op b Arithm. Operatoren: + - * / % Bitoperatoren: << >> & | ^ Beispiele: int n = 12 n -= 24 n /= 3 n <<= 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Weitere Operatoren 2 Operator sizeof Ermittelt Größe von Typ / Variablen in Bytes Beispiel: long l; sl = sizeof(l) sd = sizeof(double) Beispiel: Sun Sparc 32 Bit Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Weitere Operatoren 3 Komma-Operator , Erlaubt die Aneinanderreihung mehrerer Ausdrücke Wert = Wert des letzen Teilausdrucks Beispiel (etwas sinnlos): Beispiel (sinnvoller): for(i = 0, j = 0, k = 1; … ) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Weitere Operatoren 4 Bedingte Bewertung ? : expr1 ? expr 2 : expr3 Verkürzte Formulierung von Bedingungen Auswertung Erst Auswertung von expr1 Wenn expr1 ≠ 0 dann gesamter Ausdruck expr2 Sonst gesamter Ausdruck expr3 Beispiel max(a, b) und min(a, b): Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Vorrangregeln bei Operatoren Operatorenklasse Operatoren Assoziativität Unär ! ~ ++ -- + - Von rechts nach links Multiplikativ * / % Von links nach rechts Additiv + - Shift << >> Relational < <= > >= Gleichheit == != Bitweise & ^ | Logisch && || Bedingte Bewertung ?: Zuweisung = op= Reihung , Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Typumwandlung in Ausdrücken 1 Automatische Typumwandlung bei unterschiedlicher Typen in Ausdrücken Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Typumwandlung in Ausdrücken 2 Beispiel: Explizite Typumwandlung (casting) (type) expr Programmieren in C - Peter Klingebiel - HS Fulda - DVZ