2. Programmierung in C

Ähnliche Dokumente
2. Programmierung in C

2. Programmierung in C

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

2. Programmierung in C

Allgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2015/16

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2017/18

Informatik: Abschnitt 4

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

2. Programmierung in C

Informatik: Abschnitt 4

2. Programmierung in C

Informatik: Abschnitt 4

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

2. Programmierung in C

2. Programmierung in C

Grundlagen von C# - 1

Die Programmiersprache C Eine Einführung

Grundlagen der Informatik. Mathias Buhr

Propädeutikum Programmiersprache C und Mathematik 2014

6. Grundlagen der Programmierung

Outline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik

2. Programmierung in C

2. Programmierung in C

Inhaltsverzeichnis. Grundlagen und Einführung (1. Band) 1

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7

2. Programmierung in C

III.1 Prinzipien der funktionalen Programmierung - 1 -

Computergrundlagen Programmieren in C

2. Programmierung in C

RO-Tutorien 15 und 16

Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Einleitung

Programmierung 1 für Wirtschaftsinformatik Wintersemester 2013/14

Kurzeinführung in C99

16. März 2016 artb5-v1.1

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Kompilieren Datentypen Operatoren. Überblick. 1 Kompilieren. 2 Datentypen. const static volatile. 3 Operatoren. Alexander Batoulis

RO-Tutorien 17 und 18

Peter Prinz. Das Übungsbuch. CTestfragen und Aufgaben mit Lösungen

Grundlagen der Programmierung

Einführung in die Programmierung

Es gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.

II.1.1. Erste Schritte - 1 -

Organisatorisches Einführung Quellen. Einführung. Praktikum C-Programmierung. Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar

Grundlagen der Programmentwicklung

Beispiel. Problem: mehrteilige Nachnamen (von Goethe, Mac Donald, Di Caprio)

WS2018/ Oktober 2018

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Die Programmiersprache C

Einführung in die Systemprogrammierung

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

II.1.1. Erste Schritte - 1 -

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Grundlagen Internet-Technologien. Clientseitige Web-Programmierung

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

2. JAVA-Programmierung. Informatik II für Verkehrsingenieure

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -

WS2017/ Oktober 2017

Programmiervorkurs. Wintersemester 2013/2014

Angewandte Mathematik und Programmierung

L4. Erster Schritt zum Programmieren

Einführung in C. EDV1-04C-Einführung 1

Algorithmus: Kochrezept

Tutorium Rechnerorganisation

Grundlagen der Programmierung

Historien AB"C" Einführung in die Programmierung mit C/C++ Dipl. Ing. (FH) Hans-Peter Kiermaier. Dr. Bjarne Stroustrup Entwickler von C++

Objektorientierte Programmierung - Was ist Programmieren?

Programmieren in Haskell Einführung

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

II.1.1. Erste Schritte - 1 -

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

C-Crashkurs. Praktikum Systemmanagement und Sicherheit

Effektiv Programmieren in С und C++

Lösung zur Übungs-Klausur Informatik für allg. Maschinenbau

Einführung in die Programmierung mit VBA

Gliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung

C++ PROGRAM- MIERER/-IN

n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -

2 Eine einfache Programmiersprache

Einführung in die Programmiersprache C Software Entwicklung 1

Einstieg in die Informatik mit Java

Propädeutikum. Dipl.-Inf. Frank Güttler

4. Objektorientierte Programmierung mit C++

Programmierkurs C++ Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einstieg in die Informatik mit Java

Angewandte Mathematik und Programmierung

3. Einführung in C Programmierung Einführung in C Programmierung

Zuerst wird die Bedingung ausgewertet. Ist sie erfüllt, wird der Rumpf des while-statements ausgeführt. Nach Ausführung des Rumpfs wird das gesamte

Transkript:

2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss) Funktionen Felder (Arrays) Zeiger, Zeigerarithmetik, Zeiger-Dereferenzierung Zeichenketten (Strings) Benutzerdefinierte Datentypen Speicherverwaltung und Datenstrukturen Dateiarbeit Bitlevel-Verarbeitung Die Programmierung in C erfolgt anhand ausgewählter Algorithmen Peter Sobe 1

Überblick C-Sprachfamilie C-ähnliche Programmiersprachen Verschiedene Sprachkonzepte Allgemeines zu C #include <stdio.h> int main() { printf( hello world\n ); } return 0; Peter Sobe 2

Die Großfamilie der C-Sprachen C K&R C 1972, Kerningham-/Ritchie ANSI/ISO-C89 und C90 ANSI/ISO C95 ANSI/ISO-C99 ISO/IEC C 11 (2011) C++ C++ 1985, Bjarne Stroustrup ANSI/ISO-C++ 98 erster Standard, basierend auf C90 mit C++ Erweiterungen ANSI/ISO-C++ 0x (2000) ISO/IEC C++ (2011) Peter Sobe 3

Die Großfamilie der C-Sprachen C/C++ - ähnliche Sprachen: Java C++-ähnliche objektorientierte Sprache, SUN 1995 C# C++-ähnlich, objektorientiert, Microsoft 2001 Objective-C - objektorientiertes C, nicht kompatibel zu C++ C++.NET mit Microsoft-Erweiterungen für.net, s.g. managed C++ JavaScript und PHP Sprachen zur Verarbeitung innerhalb von Web-Anwendungen, prozedural mit objektorientierten Erweiterungen C-Shell Skriptsprache zur UNIX-Shell-Programmierung und viele andere, die von C beeinflusst wurden Peter Sobe 4

Verschiedene Sprachkonzepte Programmiersprachen unterteilt man in s.g.: Imperative Programmiersprachen Beschreibung einer Berechnungsvorschrift durch einzelne Schritte und einen Steuerfluss Beispiele: PASCAL, C, C++, Java, Deklarative Programmiersprachen beschreiben das Problem oder das Ziel des Programms Beispiele: Datenbankabfragesprache SQL, Logische Programmiersprache PROLOG Peter Sobe 5

Programmiersprache C Imperative Programmiersprache: C-Anweisungen werden in der im Programm angegebenen Reihenfolge ausgeführt: zeilenweise (von oben nach unten) innerhalb Zeile möglicherweise mehrere Anweisungen, dann von links nach rechts Steuerfluss-Anweisungen (if, for, while, repeat, break, continue) zur Beeinflussung der Abarbeitungsreihenfolge Zum Vergleich: manch andere Programmiersprachen (logische und funktionale, beispielsweise PROLOG) arbeiten die Ausdrücke nicht notwendigerweise in der im Programm angegebenen Reihenfolge ab. Peter Sobe 6

Ein Programm besteht aus: Programmiersprache C Variablenvereinbarungen: hier werden Bezeichner für die Verarbeitungselemente festgelegt. Es wird ein Typ für jede Variable angegeben, z.b. Ganzzahl (int) oder Zeichen (char) Anweisungen: zur Verarbeitung der Variablen zur Beeinflussung des Steuerflusses Mehrfach auftretende Anweisungsfolgen werden oft in Funktionen gekapselt. Eine Hauptfunktion (main-funktion) ist der Punkt, an dem mit der Ausführung eines C-Programms begonnen wird. Peter Sobe 7

Programmiersprache C C-Programme werden in ein Binärprogramm übersetzt Das Übersetzerprogramm ist der s.g. Compiler. Die Übersetzung verlangt ein syntaktisch richtiges C-Programm, d. h. das Programm muss sprachlichen Regeln genügen. Andere Programmiersprachen werden zum Teil interpretiert, d.h. Anweisungen werden schrittweise übersetzt und ausgeführt. Peter Sobe 8

Programmiersprache C Vor dem Ausführen des Programms: vorgegebene Header ausführbarer Code C-Programm C-Programm Assembler Programm Maschinencode Linker C-Präprozessor C-Compiler Compiler (2. Stufe) Bibliotheken Peter Sobe 9

Aufbau eines C-Programms // Beispielprogramm fakultaet.c #include <stdio.h> int main() { int fakultaet; int i,n; printf("geben Sie bitte n ein >"); scanf("%d",&n); Kommentar Include-Präprozessor-Anweisung main-funktion Variablen-Deklarationen fakultaet = 1; for (i=2;i<=n;i++) fakultaet = fakultaet * i; printf("die Fakultaet von %d betraegt %d \n",n, fakultaet); return 1; } Anweisungen Steuerfluss- Anweisung Peter Sobe 10

Grundlagen Programmierung in C Die Sprache C nutzt ein Alphabet aus Buchstaben a-z, A-Z, aus Ziffern 0-9 und aus Sonderzeichen, z.b.!,?, (,), _ Aus dem Alphabet werden Variable, Schlüsselworte, Konstanten, Zeichenketten, Operatoren, Trennzeichen und Kommentare gebildet. Zwischen Groß- und Kleinschreibung wird unterschieden. Peter Sobe 11

Kommentare Kommentare in einem C-Programm werden beim Übersetzen übergangen. Sie haben keine Auswirkung auf das Programm. Kommentare sind aber nützlich, um Erklärungen im Programm zu notieren. Oft dienen Kommentare der Dokumentation von Programmteilen Beginn und Ende durch /* und */ /* Das ist ein Kommentar */ /* Das ist ein mehrzeiliger Kommentar */ // Das ist ein einzeiliger Kommentar Peter Sobe 12

Kommentare int main() { /* Programm zur Berechnung des groeßten gemeinsamen Teilers */ int a, b, c; scanf( %d,&a); scanf( %d,&b); while(a!=b) { if (b>a) { // Regel 1: Tausch ggt(b,a) = ggt(a,b), sinnvoll, wenn b>a c=a; a=b; b=c; } a=a-b; // Regel 3: ggt(a-b,b)=ggt(a,b), wenn a>b } // Regel 2: ggt(a,a) ergibt a printf( ggt=%d\n,a); return 0; } 13

Formatfreiheit C ist eine formatfreie Sprache, d.h. das Aussehen, Zeilenumbrüche, Einrückungen haben keinen Einfluss auf die Funktion. Beispiele: int main() { scanf("%d",&a); printf(" quadrat = %d\n", a*a); return 1; } int main() { scanf("%d",&a); printf(" quadrat = %d\n", a*a); return 1; } Trotzdem sollte das Programm wie links dargestellt aussehen, um bessere Lesbarkeit zu gewährleisten. Peter Sobe 14

C - Entwicklungsumgebungen Microsoft Visual Studio 2013 für Windows-Systeme in Praktikumslaboren installiert kostenfreie Version als Visual Studio Express verfügbar Peter Sobe 15

C - Entwicklungsumgebungen QtCreator mt gcc-compiler für Windows und Linux-Systeme in Praktikumslaboren zum Teil installiert kostenfreie Version als OpenSource-Version verfügbar Peter Sobe 16

C - Entwicklungsumgebungen Es existieren viele weitere C/C++-basierte Systeme, mit Entwicklungsumgebungen und Übersetzern für verschiedene Plattformen, z.b. gcc (GNU C Compiler) für LINUX Intel-C Compiler C-Compiler für spezielle Prozessoren (Beispiel Atmel, AVR) Peter Sobe 17