1 / 30

Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C

Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C. Hochschule Fulda – FB ET Sommersemester 2010 http://www.rz.hs-fulda.de/et Peter Klingebiel, HS Fulda, DVZ. Was kennen wir schon von C?. Woher kommt C? 1.

ava-sellers
Download Presentation

Informatik II Grundlagen der Programmierung Programmieren in C Annäherung an C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Informatik IIGrundlagen der ProgrammierungProgrammieren in CAnnäherung an C Hochschule Fulda – FB ET Sommersemester 2010 http://www.rz.hs-fulda.de/et Peter Klingebiel, HS Fulda, DVZ

  2. Was kennen wir schon von C? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  3. Woher kommt C? 1 • 1971-73 Dennis Ritchie entwickelt bei den Bell Laboratorien C für die Programmierung des neuen UNIX-Betriebssystems • 1973 Implementierung von UNIX in C • Vorläufer: B (1969/70) und BCPL (1960er Jahre) • 1978 Ritchie/Kernighan: „The C Programming Language“ (dt. „Programmieren in C“) • 1989 Norm ANSI X3.159-1989 ProgrammingLanguage C • 1990 ISO Standard C90 • 1995 erweiterter ISO Standard C95 • 1999 ISO/IEC 9899:1999 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  4. Woher kommt C? 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  5. Einsatzgebiete von C • CAD-, CAE-, Simulationssysteme • Text- und Grafikverarbeitungssysteme • Mathematik-, Numerische Systeme • Betriebssysteme (Unix, Linux, ...) • Systemprogramme (Unix, Linux, Windows, ...) • Sprachinterpreter, -compiler (GNU C++, CC) • Netz-, Webdienste (Apache Webserver, ...) • Steuerungs-, Regelungssysteme • Aber auch: Mathlab  C-Code Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  6. Wie entsteht ein C-Programm? 1 • Problem analysieren undModell entwerfen • Algorithmus entwickeln • Programm kodieren • Programm übersetzen(bis syntaktisch fehlerfrei) • Programm testen(bis semantisch fehlerfrei ?) • Programm produktiv (??) Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  7. Wie entsteht ein C-Programm? 2 • Nach Problemanalyse und dem Entwurfdes Lösungsalgorithmus: • Entwurf des Programms in Pseudocode, mitHilfe von Programmablaufplänen, Strukto-grammen oder anderen Entwurfsverfahren • Kodieren des Programmtextes mit Editor(standalone oder in Programmierumgebung) • Übersetzen des Programmtextes mit demC-Compiler und Montieren zu einem ausführbaren Programm • Programm testen Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  8. Wie entsteht ein C-Programm? 3 • Beispiel: Programm Ausgabe eines Textes$ ed hallo.c/* hallo.c */#include <stdio.h>int main(void){ puts(„Hallo Welt!\n“); return(0);}$ gcc –o hallo hallo.c$ ./halloHallo Welt! Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  9. Wie entsteht ein C-Programm? 4 • Übersetzung passiert in mehreren Schritten • C-Preprozessor (cpp) - reine Textoperationen (include, define, if, ..) im Quelltext • C-Compiler übersetzt C-Quelltext in den maschinenabhängigen Assemblercode • Assembler erzeugt noch nicht ausführbaren Maschinencode • Linker montiert den Maschinencode mit Funktionen aus Bibliotheken zu einem dann ausführbarem Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  10. Wie wird ein C-Programm entworfen? 1 • Pseudocode, Bsp. Euklidischer Algorithmuseuklid(a, b)wenn a = 0 dann liefere b sonst solangeb ≠ 0 wenn a > b dann a = a – b sonst b = b – a liefere a Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  11. Wie wird ein C-Programm entworfen? 2 • On the fly? Quick and dirty? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  12. Wie wird ein C-Programm entworfen? 3 • Pseudocode als Kommentar in C/* Funktion euklid – euklid. Algorithmus */int euklid(int a, int b){/* wenn a = 0 dann liefere b */ if(a == 0) return(b);/* sonst solange b ≠ 0 */ while(b != 0) {/* wenn a > b dann a = a – b */ if(a > b) a = a – b; /* sonst b = b – a */ else b = b –a; }/* liefere a */ return(a);} Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  13. Wie wird ein C-Programm entworfen? 4 • Programmablaufplan • wirklich geeignet? • eher für Assembler • doch oft eingesetzt Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  14. Wie wird ein C-Programm entworfen? 5 • Struktogramm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  15. Wie wird ein C-Programm entworfen? 6 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  16. Wie wird ein C-Programm ausgeführt? 1 • Ausführung direkt auf dem Prozessor • z.B. Temperaturregelung in Kühltruhe • Programm in ROM, EPROM o.ä. gespeichert • alle Funktionalitäten müssen im Programm in Maschinencode vorhanden sein • Ausführung auf einem Betriebssystem • Hardware ist durch das BS gekapselt • Starten/Beenden des Programms über das BS • Unterstützung durch BS bzw. BS-Funktionen,z.B. IO, Dateien, Timer, Signale, Threads usw. Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  17. Wie wird ein C-Programm ausgeführt? 2 • Betriebssystem • Mikrocontroller Anwendungsprogramm Funktionsbibliotheken Systemcalls / Systemaufrufe Hardware / Prozessor Anwendungsprogramm(incl. aller Funktionen) Hardware / Prozessor Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  18. Wie wird ein C-Programm ausgeführt? 3 • Betriebssystem • Mikrokontroller Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  19. Wie ist ein C-Programm aufgebaut? 1 • Beispiel hallo.c /* * hallo.c */ #include <stdio.h> int main(void){ char *text = „Hallo, Welt!“; puts(text); return(0);} Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  20. Wie ist ein C-Programm aufgebaut? 2 • Kommentare, mit /* und */ geklammert, keine Schachtelung möglich!!! • Preprozessoranweisungen, beginnen mit # • Schlüsselwörter, z.B. return • Bezeichner (Identifier) für Konstanten, Variablen, Funktionsnamen usw. fangen mit Buchstaben oder Unterstrich _ an, können dann weitere Buchstaben, _ und Ziffern enthalten. Keine Schlüsselwörter! • Jede Anweisung wird durch ; beendet! Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  21. Wie ist ein C-Programm aufgebaut? 3 • Funktionen / Prozeduren • Funktionskopf gibt Typ des Rückgabewerts an, den Namen der Funktion und in Klammern ggfs. die Parameter mit Typ und Bezeichnername • Funktionskörper ist mit { und } geklammert,enthält Deklaration von Variablen, Konstanten, den Programmablauf sowie das return • Jedes C-Programm hat eine Funktion main() Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  22. Wie ist ein C-Programm aufgebaut? 4 • Allgemeiner Aufbau eines C-Programms/* Kommentare *//* Preprozessoranweisungen *//* Globale Variablen *//* Funktionen / Unterprogramme */type function1(...){ /* Lokale Variablen */ /* Anweisungen */}/* Hauptprogramm */int main(...){ /* Lokale Variablen */ /* Anweisungen */} Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  23. Wie ist ein C-Programm aufgebaut? 5 • Beispiel: Temperaturregelung Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  24. Wie soll ein C-Programm nicht aussehen? 1 • Quelle: International Obfuscated C Code Contest Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  25. Wie soll ein C-Programm nicht aussehen? 2 • Quelle: main.c des X-Programms xterm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  26. Wie soll ein C-Programm nicht aussehen? 3 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  27. Wie soll ein C-Programm nicht aussehen? 4 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  28. Wie soll ein C-Programm nicht aussehen? 5 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  29. So kann ein C-Programm aussehen! 1 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

  30. So kann ein C-Programm aussehen! 2 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

More Related