Hochschule Fulda – FB ET Sommersemester 2010

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Hochschule Fulda – FB ET Sommersemester 2010
Ein- und Ausgabe von Dateien
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
Einführung in die Programmierung Zusammenfassung
Hochschule Fulda – FB ET Sommersemester 2010
der Universität Oldenburg
Gliederung des Inhalts
Java: Objektorientierte Programmierung
Imperative Programmierung Funktionen und Parameter
Hochschule Fulda – FB ET Sommersemester 2010
Informatik II Grundlagen der Programmierung Programmieren in C Add Ons Hochschule Fulda – FB ET Sommersemester Peter.
Das Java-Hamstermodell
Das erste Programm (Folie 16)
Der C-Präprozessor EDV1 - 04Präprozessor.
Einführung in Visual C++
Der C-Präprozessor 08-CPräprozessor.
Einführung in die Programmiersprache C 1
Programmieren in C Zeichen-/Stringfunktionen Dynamischer Speicher
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Programmieren in C Einführung
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Programmierung 1. Einführung Seite 1
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
Informatik Grundlagen, WS04, Seminar 7
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
Programmieren ... in C++ Prof. Dr.-Ing. Franz-Josef Behr, HfT Stuttgart Programmeiren I.
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
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 Grundlagen C 2
Hochschule Fulda – FB AI Sommersemester 2014
Programmieren in C Sortieren, Suchen
Hochschule Fulda – FB AI Sommersemester 2014
Frühjahrs-/Sommersemester 2013
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Programmieren Hexenwerk oder Zauberspuk? Kinderuniversität Mittwoch, 16. März 2016 Kinder-Akademie Fulda & Hochschule Fulda Peter Klingebiel, HS Fulda,
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 Annäherung an C
Programmieren in C Einführung
Programmieren in C Grundlagen C 2
Projektmodul DM Kurze Einführung C-Programmierung
Programmieren in C Module und Bibliotheken
Einführung in die Programmierung
 Präsentation transkript:

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? Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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 Programming Language C 1990 ISO Standard C90 1995 erweiterter ISO Standard C95 1999 ISO/IEC 9899:1999 Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

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

Wie entsteht ein C-Programm? 1 Problem analysieren und Modell 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

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

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 $ ./hallo Hallo Welt! Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

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

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

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

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

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

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

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

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

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

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

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

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

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 */ } Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Wie ist ein C-Programm aufgebaut? 5 Beispiel: Temperaturregelung Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Wie soll ein C-Programm nicht aussehen? 1 Quelle: International Obfuscated C Code Contest Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

Wie soll ein C-Programm nicht aussehen? 2 Quelle: main.c des X-Programms xterm Start Programm ... Start Schleife Wenn nicht eingeschaltet Schleife verlassen Temperatur messen Wenn Temperatur >= Solltemperatur Heizen aus / Kontakt öffnen Sonst Heizen ein / Kontakt schließen Ende Schleife Ende Programm Programmieren in C - Peter Klingebiel - HS Fulda - DVZ

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

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

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

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

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