Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Hochschule Fulda – FB ET Sommersemester 2014

Ähnliche Präsentationen


Präsentation zum Thema: "Hochschule Fulda – FB ET Sommersemester 2014 "—  Präsentation transkript:

1 Informatik II Grundlagen der Programmierung Programmieren in C Erste Programme
Hochschule Fulda – FB ET Sommersemester 2014 Peter Klingebiel, HS Fulda, DVZ

2 Trial and Error Programmieren in C: Trial and Error?
Inspector Closeau - Der beste Mann bei Interpol Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

3 C-Programm 1 Ein C-Programm besteht (vereinfacht dargestellt) aus
 Daten  Funktionen Daten Eingangsdaten  Ergebnisdaten evtl. (viele) Zwischendaten Konstante Daten  Werte unveränderbar Variable Daten  Werte veränderbar Funktionen  verarbeiten die Daten Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

4 C-Programm 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

5 C-Programm 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

6 C-Programm 4 Typischer Ablauf eines C-Programms
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

7 C-Programm 5 C-Programme bestehen aus Dateien in Verzeichnissen auf dem Rechner Der Quellcode befindet sich in C-Dateien Reine Textdateien, keine Formatierung u.ä. Bearbeitung mit einem Texteditor Regel: Dateinamen ohne Umlaute, Leerzeichen, Sonderzeichen Empfehlung: Nur Kleinbuchstaben Dateinamen endet auf .c Beispiel: hallowelt.c Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 7

8 C-Programm 6 Beispielprogramm hallowelt.c
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 8

9 C-Programm 7 Kommentare Include-/Headerdateien
sollen Kode und Programm erläutern mehrzeilige Kommentare mit /* */ geklammert einzeilige Kommentare nach // Include-/Headerdateien #include <stdio.h> Preprozessor ersetzt die Zeile durch den Inhalt der Datei stdio.h Ggfs. mit Pfadnamen, z.B. bei eigenen Projekten Mehr zum Preprozessor später Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

10 C-Programm 8 Jedes C-Programm hat eine main-Funktion
Hier startet die Programmausführung nach dem Laden des Programms Aufruf einer Bibliotheksfunktion printf("Hallo, Welt!\n"); zur Ausgabe der Zeichenkette auf der Konsole Exit-Status bei Programmende an das Betriebssystem bzw. an aufrufende Ebene return(0); Returncode des Programms ggfs. zur späteren Auswertung (0 ok,  0 fehlerhaft) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

11 C-Programm 9 Programm hallowelt auf der Konsole
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 11

12 C-Bausteine 1 Aus den "Grundbausteinen" von C ...
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

13 C-Bausteine 2 ... werden "Programme"
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

14 C-Bausteine 3 Zeichensatz von C
Buchstaben (incl. Unterstrich) ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz _ Ziffern Semikolon (z.B. am Ende einer Anweisung) ; Punkt (Gleitpunktzahlen, Selektionsoperator) . Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

15 C-Bausteine 4 Sonderzeichen (Operatoren, Satzzeichen) ( ) [ ] < > + - * / % ^ ~ & | = ! ? , : Anführungszeichen (Einzelzeichen, Strings) ' " Blockklammern { } Fluchtzeichen (für Sonderzeichen) \ Doppelkreuz (Preprozessordirektiven) # Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

16 C-Bausteine 5 Reservierte Worte / Schlüsselworte auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while C kennt nur 32 reservierte Worte Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

17 C-Bausteine 6 C-Programme verarbeiten Daten Konstante Daten
Werte sind unveränderbar Variable Daten Werte sind im Programmlauf veränderbar Daten sind typisiert  Datentypen Datentypen bestimmen Darstellung der Werte im Rechner Wertebereiche der Daten benötigten Speicherplatz der Daten zulässige Operationen auf den Daten Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

18 C-Bausteine 7 Anweisungen Funktionen Statement, Ausdruck, "Kommando"
z.B. Variablendefinition int a; z.B. Zuweisung a = 4711; z.B. mathematischer Ausdruck a = a * 2; Funktionen Unterprogramme, z.B. main()oder printf() Kapselung von Funktionalität und internen Daten Funktionen haben Typ und liefern einen Wert kann auch ignoriert werden, z.B. bei printf() Prozeduren = Funktionen ohne Rückgabewert Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

19 C-Bausteine 8 Vordefinierte Grunddatentypen in C char Zeichen (ASCII-Kode, 8 Bit) int Ganzzahl (maschinenabhängig, meist 16 oder 32 Bit) float Gleitkommazahl (32 Bit, IEEE, etwa auf 6 Stellen genau) double doppelt genaue Gleitkommazahl (64 Bit, IEEE, etwa auf Stellen genau) void ohne Wert (z.B. Zeiger) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

20 C-Bausteine 9 Type-Modifier spezifizieren Grunddatentypen short int, long int - legen Länge der Ganzzahl fest - maschinenabhängig, 16 Bit, 32 Bit - int kann auch fehlen long double - Gleitkommazahl, erw. Genauigkeit - oft 128 Bit, IEEE signed, unsigned - char/int mit/ohne Vorzeichen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

21 C-Bausteine 10 Bezeichner (Identifier) sind Namen für Variable, Konstanten, Funktionen, Typen Identifier müssen mit einem Buchstaben oder Unterstrich beginnen danach können Buchstaben, Unterstriche und Ziffern folgen Groß- und Kleinschreibung wird streng unterschieden keine Sonderzeichen (z.B. $ oder #) keine reservierten Worte Vorsicht bei vordefinierten Funktionsnamen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

22 Variablen 1 Variable sind Platzhalter für Daten
haben einen festgelegten Speicherort, an dem der aktuelle Wert gespeichert wird der aktuelle Wert (an seinem Speicherort) ist veränderbar Attribute von Variablen: Datentyp Namen (Bezeichner, Identifier) Lebensdauer / Speicherklasse evtl. initialer Wert Sichtbarkeit (Scope) im Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

23 Variablen 2 Variablen-Definitionen, z.B. double u; short int i, tab = 5; char *hallo = "Hallo, Welt!"; Position im Programm: außerhalb von Funktionen am Anfang eines Blocks, also nach { Wert ist veränderbar (Zuweisung, Operation) Programmstruktur  Lebensdauer / Scope Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

24 Wie speichert C? 1 Hauptspeicher
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

25 Wie speichert C? 2 Beispiel: Zugriff auf Variable
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

26 Wie speichert C? 3 Vor Programmstart
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

27 Wie speichert C? 4 Programmstart und Aufruf von main()
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

28 Wie speichert C? 5 Zuweisung a = 4;
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

29 Wie speichert C? 6 Zuweisung b = 8;
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

30 Wie speichert C? 7 Berechnung a * b;
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

31 Wie speichert C? 8 Zuweisung c = a * b;
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

32 Wie speichert C? 9 Danach Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

33 Exkurs: Ausgabe 1 Aufbau eines C-Programms mit Ausgabe #include <stdio.h> int main() { int a, b, c; a = 4711; b = 13; c = a * b; printf("c = %d\n", c); return(0); } Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

34 Exkurs: Ausgabe 2 Einfache zeichenweise Ausgabe mit putchar(),z.B.: int c = '!'; putchar(c); // Zeichen auf stdout Ausgaben zeilenweise mit puts(), z.B.: char *s = "Hallo, Welt!"; puts(s); // String auf stdout Formatierte Ausgabe mit printf(),z.B.:i int n = 123; char *s = " Studierende"; printf("%d %s", n, s); Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

35 Exkurs: Ausgabe 3 Formatierte Ausgabe mit printf()
Aufruf: printf(fmt, arg1, arg2, ...) printf()hat variable Anzahl Parameter printf()konvertiert und gibt die Parameter unter Kontrolle des Formatstrings aus Der Formatstring fmt ist eine Zeichenkette Parameter args können auch fehlen Die Parameter args müssen den Typ haben, wie er im Formatstring fmt angegeben ist Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

36 Exkurs: Ausgabe 4 Wichtige Formatzeichen (Platzhalter) für Ausgabewerte im printf()-Formatstring: %c Einzelzeichen char %d Ganzzahl int %ld Ganzzahl long int %f Gleitkommazahl float %lf Gleitkommazahl double %s Zeichenkette char [] / char * Beispiel: int n = 123; char *s = "Studierende"; printf("%d %s", n, s); Formatstring "%d %s" erfordert 2 Parameter, Typen (int, char *) müssen übereinstimmen! Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

37 Exkurs: Ausgabe 5 Format erzwingt Anzahl +Typ der Parameter
Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

38 Exkurs: Ausgabe 6 Was passiert, wenn Typ des Platzhalters und Typ des Parameters nicht übereinstimmen? Gefährlich!  C erfordert Sorgfalt! Wichtige Sonderzeichen im Formatstring (und auch als Einzelzeichen) \n Newline, Zeilensprung \t Tabulator \0 EOS - Endezeichen in String \' einfaches Anführungszeichen ' \" doppeltes Anführungszeichen " \% Prozentzeichen % \\ Fluchtzeichen \ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

39 C-Programmierumgebungen 1
Übersetzung passiert in mehreren Schritten: C-Quellkode editieren C-Preprozessor macht reine Textoperationen C-Compiler übersetzt C-Quelltext in maschinenabhängigen Assemblercode Assembler erzeugt noch nicht ausführbaren Maschinencode, sog. Objektcode Linker montiert Objektcode und Bibliotheks-funktionen zu ausführbarem Programm Debuggen zur Fehlersuche Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 39

40 C-Programmierumgebungen 2
Klassischer Weg Editor Compiler Linker Debugger System C-Compiler (z.B. auf Unix/Linux) TinyC Compiler MinGW (Minimalist GNU for Windows) Cygwin GNU Compiler Collection Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 40

41 C-Programmierumgebungen 3
Integrierte Entwicklungsumgebung IDE fasst Editor, Compiler, Linker, Debugger unter einer Oberfläche zusammen Code::Blocks Netbeans Eclipse Microsoft Visual Studio Express Bloodshed Dev C/C++ Workflow der Programmentwicklung wird "geschmeidiger" Projekte intuitiver formulierbar Programmieren in C - Peter Klingebiel - HS Fulda - DVZ Programmieren in C - Peter Klingebiel - HS Fulda - DVZ 41


Herunterladen ppt "Hochschule Fulda – FB ET Sommersemester 2014 "

Ähnliche Präsentationen


Google-Anzeigen