Vorlesung Informatik I

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Informatik I"

Transkript

1 Vorlesung Informatik I Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 11. Programmieren in C Der Compilierungsprozess 1

2 Aufbau eines C-Programms 1. Direktiven für den Präprozessor 2. Globale Vereinbarunen a. Globale Variablen b. Funktions-Prototypen 3. main-funktion a. lokale Vereinbarungen b. Anweisungen 4. Funktions-Definitionen a. lokale Vereinbarungen b. Anweisungen 2

3 Aufbau eines C-Programms C-Programme sind Sammlungen von Funktionen Funktionen zerlegen Programme in kleinere, selbständige Einheiten erhöht Übersichtlichkeit und Wartbarkeit Alle benutzten Funktionen müssen zu Beginn deklariert werden 3

4 Aufteilung großer C-Programme Zur Modularisierung werden die Funktionen auf mehrere Quelldateien verteilt und getrennt übersetzt (genau eine der Dateien enthält die main-funktion) Jede solche Datei sollte eine sinnvoll zusammenhängende Gruppe von Vereinbarungen enthalten. Die Deklarationen der Funktionen, die in mehreren Quelldateien benötigt werden, werden in Header-Dateien zusammengefasst (werden mit #include eingebunden) Mehrfach benötigten Vereinbarungen werden nur in wenigen Dateien verwaltet 4

5 Compilierungsprozess - Überblick Quellcode Präprozessor (erweiterter Quellcode) Compiler Assemblercode Assembler Bibliotheken Linker Objektcode ausführbarer Code 5

6 Inhalt Präprozessor Compiler Assembler Linker Bibliotheksfunktionen Das Programm gcc Große Programme 6

7 Präprozessor: Konstanten Die Präprozessor-Direktive #define <Name> <Zeichenkette> veranlasst den Präprozessor, jedes Vorkommen von <Name> im folgenden Quellcode durch <Zeichenkette> zu ersetzen Ausnahme: Keine Ersetzung in Namen und Zeichenketten <Name> kann im Programm als Konstante benutzt werden, deren Wert durch <Zeichenkette> gegeben ist 7

8 Präprozessor: Konstanten Beispiele für sinnvolle eigene Deklarationen: #define PI 3.14 #define TRUE 1 #define FALSE 0 #define MAX_VERSUCHE 3 Konvention: Der Name der Konstante besteht aus Großbuchstaben und dem '_' - Zeichen und wird an keiner anderen Stelle benutzt 8

9 Präprozessor: Konstanten Vordefinierte Beispiele aus Header-Dateien: Wertebereichgrenzen von Datentypen (in limits.h, float.h) LINE FILE DATE TIME aktuelle Zeilennummer im Programmcode (num.) Dateiname (Zeichenkette) aktuelles Datum (Zeichenkette) aktuelle Zeit (Zeichenkette) (u.v.m.) 9

10 Präprozessor: Konstanten Vorteile: - Konstanten muss man bei Bedarf nur einmal ändern - Programm ist besser lesbar Vergleich zu globalen konstanten Variablen: - Keine zusätzliche Variable nötig - Konfiguration mehrerer Programme durch einmalige Deklaration in Header-Datei möglich 10

11 Präprozessor: Makros Die Präprozessor-Direktive #define <Name>(p 1,...,p n ) <Zeichenkette> veranlasst den Präprozessor zu folgende Ersetzungen: - <Name>(a 1,...,a n ) durch <Zeichenkette> - Vorkommen von p i in <Zeichenkette> durch a i p 1,...,p n : Parameternamen a 1,...,a n : Ausdrücke <Name>(a 1,...,a n ) kann im Programm als Aufruf einer durch <Zeichenkette> definierten Funktion benutzt werden 11

12 Präprozessor: Makros Selbst definierte Beispiele: #define inhalt(r) PI*(r)*(r); Aufruf im Code: double inhalt = inhalt(10); #define max(a,b) ( ((a) > (b))? (a) : (b) ); Aufruf im Code: int m=max(5*x,x*x); 12

13 Präprozessor: Makros Vordefinierte Beispiele aus Headerdateien: getchar() EOF Wert, der Dateiende oder Verbindungfehler signalisiert Möglicher Rükgabewert von scanf (Wert oft -1) EXIT_SUCCESS / EXIT_FAILURE Signalisieren erfolgreichen/fehlerhaften Programmverlauf Als Rückgabewerte von main benutzbar (Werte oft 0 / 1) Systemabhängig definiert, systemunabhängig benutzbar 13

14 Präprozessor: Makros Achtung: In <Zeichenkette> benutzte Operationszeichen können stärker binden als die Operatoren in einem für einen Parameternamen eingesetzten Ausdruck! Man muss dafür sorgen, dass der Ausdruck nach dem Einsetzen unbedingt zuerst ausgewertet wird Dazu unbedingt die in <Zeichenkette> vorkommenden Parameternamen klammern (Beispiel vorige Folie) #define inhalt(r) PI*(r)*(r); 14

15 Präprozessor: Makros Vergleich zu Funktionen Parameter sind Datentyp-unabhängig: #define max(a,b) (((a)>(b))?(a):(b))); Mögliche Aufrufe : int m = max(5,7); double m = max(5.0,7.5); Es entsteht mehr Programmcode, da der Funktionsrumpf für alle Vorkommen des Funktionsnamens eingesetzt wird 15

16 Präprozessor: Header-Dateien Die Anweisung #include <Header-Datei> veranlasst den Präprozessor, die angegebene Header-Datei in den Quellcode zu kopieren Es entsteht ein erweiterter Quellcode 16

17 Präprozessor: Header-Dateien Eine Header-Datei ist eine Textdatei um - Funktions-Prototypen zu deklarieren (kennen wir schon) - Konstanten zu deklarieren (wie eben) - Makros zu definieren (wie eben) Man kann (sollte) sich seine eigenen Header-Dateien schreiben 17

18 Präprozessor: Header-Dateien Da die Header-Datei nur in den Quellcode kopiert wird, kann man doch alles auch gleich direkt in den Quellcode schreiben!? In einer Header-Dateien sammelt man Vereinbarungen und Funktionalitäten, die man immer wieder für einen bestimmten Anwendungsbereich braucht Ist beliebig oft in wiederverwendbar, ohne dass man alles in jedem Programm nochmal extra aufschreiben muss 18

19 Präprozessor: Header-Dateien Beispiele: stdio.h (Standard Input Output): Unterstützung von Eingabe und Ausgabe math.h: Unterstützung mathematischer Funktionen und Konstanten string.h: Unterstützung bei der Verarbeitung von Zeichenketten 19

20 Präprozessor: Header-Dateien Header-Dateien selbst schreiben Vorgehen Textdatei mit Präprozessor-Direktiven schreiben Unter beliebigem Namen mit Endung.h abspeichern in: - Programmverzeichnis - include-verzeichnis des Compilers In Quellcode einbinden durch Anweisung: - include-verzeichnis: #include <Headerdatei.h> (relative Pfadangaben erlaubt) - Programmverzeichnis: #include Headerdatei.h (relative und absolute Pfadangaben erlaubt) 20

21 Präprozessor: Header-Dateien Header-Dateien selbst schreiben Achtung: Es sind verschachtelte include-anweisungen möglich Datei Header1.h enthält Direktive #include Header2.h Dadurch kann es durch mehrfaches Einbinden von Direktiven zu Syntaxfehlern wegen doppelten Definitionen kommen Programm enthält Direktiven #include Header1.h und #include Header2.h Lösung: Bedingte Aktivierung von Direktiven 21

22 Präprozessor: Header-Dateien Bedingte Aktivierung von Direktiven Headerdateien sollten immer die folgende Form haben: #ifndef DATEINAME_H_INCLUDED #define DATEINAME_H_INCLUDED <Deklarationen> #endif 22

23 Präprozessor: Header-Dateien Bedingte Aktivierung von Direktiven #define Fasst Deklarationen unter einem Namen zusammen Name = Dateiname in Großbuchstaben + '_' #ifndef #ifdef Text einbinden, falls Name noch nicht exisitiert Text einbinden, falls Name schon exisitiert...#endif 23

24 Präprozessor: Mehrteilige Programme 1. Zerlegung des Programms in funktionale allgemein wiederverwendbare Module 2. Für jedes Modul: - Headerdatei erstellen - Code-Datei erstellen mit eingebundenem Header 3. Programmdatei mit main-funktion erstellen 4. Übersetzungsprozess (später) 24

25 Präprozessor: Mehrteilige Programme Beispiel: Datei format.h #ifndef FORMAT_H_INCLUDED #define FORMAT_H_INCLUDED void vspace(int n); void hspace(int n); #endif Analog für Sammlungen mathematischer Funktionen (Fakultät) oder Eingabefunktionalitäten (Eingabestrom leeren, Eingaben vom Benutzer verarbeiten,...) 25

26 Präprozessor: Mehrteilige Programme Beispiel: Datei format.c #include format.h #include <stdio.h> void vspace(int n){ int i; for(i=1;i<=n;i++){printf("\n");} } void hspace(int n){ }... 26

27 Präprozessor: Mehrteilige Programme Beispiel: Datei programm.c #include format.h #include eingabe.h #include computations.h #include <stdio.h> int main(){... } 27

28 Präprozessor: Mehrteilige Programme Präprozessor-Konstanten und -Markos eignen sich zur Definition von Fehlercodes von Funktionen in Modulen Beispiel: Datei eingabe.h #define EINGABE_FAILURE -1 double eingabe(); 28

29 Präprozessor: Mehrteilige Programme Präprozessor-Konstanten und -Markos eignen sich zur Definition von Fehlercodes von Funktionen in Modulen Beispiel: Datei eingabe.c #include eingabe.h #include <stdio.h> double eingabe(){... if((scanf("%lf",&zahl)==0) (zahl < 0)){ leeren(); return EINGABE_FAILURE; }... } 29

30 Präprozessor: Mehrteilige Programme Präprozessor-Konstanten und -Markos eignen sich zur Definition von Fehlercodes von Funktionen in Modulen Beispiel: Datei programm.c #include eingabe.h... int main() {... while(1) {... zahl = eingabe(); if (zahl == EINGABE_FAILURE){ <Fehlerbehandlung> }... } 30

31 Präprozessor: Mehrteilige Programme Benutze extern-variablen, um Modulübergreifende Daten zu speichern und zu manipulieren Beispiel: Anzahl von Funktionsaufrufen zählen eingabe.c int versuche = 0; double eingabe(){ versuche++;...} programm.c extern int versuche; int main() {... printf("\nanzahl der Eingabeversuche = %i",versuche);...} 31

32 Compiler: Zusammenfassung Überprüft den (erweiterten) Quellcode auf Syntaxfehler (lässt sich das Programm in Maschinensprache übersetzen?) Weist Variablen und Konstanten Speicherbereiche zu Übersetzt den Quellcode in Assemblercode (Assemblercode ist symbolischer=menschenlesbarer Maschinencode) 32

33 Assembler Überblick Übersetzt Assemblercode in Maschinencode Was jetzt noch fehlt? - Zusammenführung von mehreren Quellcode-Dateien - Integration von Bibliotheksfunktionen 33

34 Linker Bindet andere Dateien mit dem Hauptprogramm: - Führt mehreren Quellcode-Dateien in einer Datei zusammen (man sagt, Quellcode-Dateien werden statisch (ein)gebunden) - Fügt Informationen für den Zugriff auf Bibliotheksfunktionen ein (man sagt, Bibliotheksfunktionen werden dynamisch gebunden) 34

35 Linker Bibliotheksfunktionen - werden in Header-Dateien also nur deklariert (aber nicht definiert) - sind entweder vorübersetzte C-Programme oder direkt ausführbare Assembler-Programme - werden mit dem Compiler installiert 35

36 Das Programm gcc Das Programm gcc umfasst die Ausführung von Präprozessor, Compiler, Assembler und Linker Mittels verschiedener Optionen (Kommandozeilenparametern) lassen sich diese Programme auch einzeln ausführen Mittels verschiedener Optionen lässt sich die Syntax-Kontrolle unterschiedlich detailliert ausführen 36

37 Das Programm gcc gcc Optionen: Syntaxkontrolle -ansi weist den Compiler an, den C89-Standard zu verwenden. -pedantic bringt ihn weiterhin dazu, nichts außer dem C89-Standard zuzulassen -W schaltet zusätzliche Warnungen an. -Wall schaltet alle zusätzlichen Warnungen an. -Wextra schaltet zusätzliche zusätzliche Warnungen an. -Wmain schaltet zusätzlich Warnungen über eine falsch definierte main()-funktion an. Man sollte ALLE Warnungen zum verstummen bringen, selbst wenn das Programm schon übersetzbar ist und läuft 37

38 Das Programm gcc gcc Optionenen: Teile ausführen -E Präprozessor wird ausgeführt (nicht Compiler, Assembler, Linker) Ausgabe in Datei <Programmname>.i -S Präprozessor und Compiler werden ausgeführt (nicht Assembler, Linker) Ausgabe in Datei <Programmname>.S -c Präprozessor, Compiler und Assembler werden ausgeführt (nicht Linker) Ausgabe in Datei <Programmname>.o 38

39 Das Programm gcc gcc Optionenen: weitere (Auswahl) -save-temps Zwischenergebnisse werden gespeichert --help Übersicht über Benutzung des Programms -o <name> Festlegung des Namens der Ausgabedatei -WI -stack <Bytes> Stackgröße erhöhen 39

40 Das Programm gcc Übersetzung mehrteilger Programme 1. Dateien ohne main-funktion übersetzen in Objektcode gcc -ansi -pedantic -W -Wall -Wextra -c modul1.c 2. Datei mit main-funktion übersetzen + mit Objetdateien linken gcc -ansi -pedantic -W -Wall -Wextra -Wmain modul1.o modul2.o programm.c -o Programm 40

Vorlesung Informatik I

Vorlesung Informatik I Vorlesung Informatik I Universität Augsburg Wintersemester 2010/2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik Programmieren in C Der Compilierungsprozess 1 Aufbau eines C-Programms 1. Direktiven

Mehr

Compiler und Präprozessor (1) Erstellen eines Projektes

Compiler und Präprozessor (1) Erstellen eines Projektes Compiler und Präprozessor (1) Erstellen eines Projektes Projekte bestehen meist aus mehreren Dateien, z.b. Quelldateien, Funktionssammlungen in Bibliotheken Zur Definition eines Projektes sind folgende

Mehr

Modulare Programmierung und Bibliotheken

Modulare Programmierung und Bibliotheken Modulare Programmierung und Bibliotheken Proseminar-Vortrag am 24.06.2011 von Ludwig Eisenblätter Ludwig Eisenblätter 1 von 25 Modulare Programmierung und Bibliotheken Inhaltsübersicht Motivation / Einleitung

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 4 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 4 SS 2016

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

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

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) [email protected] Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Praxisorientierte Einführung in C++ Lektion: "Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm)"

Praxisorientierte Einführung in C++ Lektion: Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm) Praxisorientierte Einführung in C++ Lektion: "Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm)" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp, Prof. Dr.-Ing. J. Wübbelmann 5 FUNKTIONEN 2 5.1 FUNKTIONSDEFINITION,

Mehr

C/C++ Programmierung

C/C++ Programmierung 1 C/C++ Programmierung Grundlagen: Der Präprozessor Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Der Präprozessor

Mehr

C für Java-Programmierer

C für Java-Programmierer Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im

Mehr

C- Kurs 06 Übersetzung & Module

C- Kurs 06 Übersetzung & Module C- Kurs 06 Übersetzung & Module Dipl.- Inf. Jörn Hoffmann [email protected] leipzig.de Universität Leipzig InsEtut für InformaEk Technische InformaEk Übersetzung Überblick Übersetzung mit Modulen

Mehr

C-Propädeutikum Funktionen

C-Propädeutikum Funktionen C-Propädeutikum Funktionen Dipl.-Inf. Stefan Freitag [email protected] Universitätsrechenzentrum Universitätsbibliothek Universität Leipzig basiert auf den Originalfolien von Jörn Hoffmann Wiederholung

Mehr

Grundlagen der Informatik - 6. Praktikum

Grundlagen der Informatik - 6. Praktikum Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt

Mehr

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler

Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale

Mehr

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch

Zeichendarstellung. Zeichen sind Zahlen (in C) Zeichen und switch darstellung Arbeiten mit darstellung werden im Computer durch (kleine) Zahlen dargestellt in C können im Datentyp char gespeichert werden, dieser umfasst ein Byte und gilt als Ganzzahltyp darstellung Arbeiten

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

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

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes

ATM18-Projekt Arbeiten mit CodeVisionAVR C-Compiler Teil 02 - Aufbau eines C-Projektes Teil 01 - Einführung 1 Eine Einführung in C 1.1 Warum C? 1.2 Wie entstand C? 1.3 Der AVR-Mikrocontroller in einem eingebetteten System 1.4 1.5 Editieren von Quell-Dateien 2 Was ist ein C-Projekt? 2.1 Erzeugen

Mehr

Objektorientierung: Klassen und Objekte

Objektorientierung: Klassen und Objekte Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen

Mehr

5. Unterprogrammtechnik/Module

5. Unterprogrammtechnik/Module 5. Unterprogrammtechnik/Module Unterprogramm/Modul: separate Programmeinheit, mit Anweisungen, die eine bestimmte Aufgabe erfüllen bekommt i.a. Argumente (Werte, Informationen) vom aufrufenden Programm

Mehr

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

Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*

Mehr

Grundlagen. Kapitel 1

Grundlagen. Kapitel 1 Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Übersicht. C Modularisierung. Präprozessor, Compiler, Linker. Präprozessor, Compiler, Linker. Präprozessor, Compiler und und Linker Linker

Übersicht. C Modularisierung. Präprozessor, Compiler, Linker. Präprozessor, Compiler, Linker. Präprozessor, Compiler und und Linker Linker Übersicht Präprozessor, Compiler und und Linker Linker Befehle des Präprozessors C Modularisierung Bedingte Kompilierung Modulare Programmierung Prinzipien der Modularisierung 1 2 Präprozessor, Compiler,

Mehr

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

DAP2-Programmierpraktikum Einführung in C++ (Teil 1) DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume

Mehr

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen

Informatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen [email protected] Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

C programmieren. Jürgen Wolf

C programmieren. Jürgen Wolf C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln

Mehr

Grundlagen der Programmentwicklung

Grundlagen der Programmentwicklung Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling [email protected] Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie

Mehr

Softwarepraktikum: Einführung in gcc / g++

Softwarepraktikum: Einführung in gcc / g++ Softwarepraktikum: Einführung in gcc / g++ (Eingebettete Systeme und Robotik),, http://ai3.inf.uni-bayreuth.de /home/db_lehre/softwarepraktikum/einfuehrungsvortraege/gcc-vortrag.01.sxi Unterschied gcc

Mehr

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A

Schachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A 2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,

Mehr

1. Vom Sourcecode zum Programm

1. Vom Sourcecode zum Programm 1. Vom Sourcecode zum Programm 1.1 Programmablauf source1.cpp source2.cpp header.h makefile Compiler Präprozessor Übersetzer Assembler object.obj object.obj Linker library.dll programm.exe Abbildung: Erstellung

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,

Mehr

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme

Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einführung in den Einsatz von Objekt-Orientierung mit C++ I Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2

ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2 ANSI C Ricardo Hernández García 3. Ausgabe, 2. Aktualisierung, Dezember 2013 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende

Mehr

2Binden 3. und Bibliotheken

2Binden 3. und Bibliotheken 3 Vom C-Programm zum laufenden Prozess 3.1 Übersetzen - Objektmodule 1Übersetzen 3. - Objektmodule (2) Teil III 3Vom C-Programm zum laufenden Prozess 2. Schritt: Compilieren übersetzt C-Code in Assembler

Mehr

Übung zu Grundlagen der Betriebssysteme. Einführungsveranstaltung 16.10.2012

Übung zu Grundlagen der Betriebssysteme. Einführungsveranstaltung 16.10.2012 Übung zu Grundlagen der Betriebssysteme Einführungsveranstaltung 16.10.2012 Termine Übungen wöchentlich, Dienstags 14 Uhr (c.t.), Raum E312 15 Uhr (s.t.), Raum E312 Jede Woche 1 Übungsblatt http://userpages.uni-koblenz.de/~mips/bs/uebung/

Mehr

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff

Programmieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff Programmieren in C Die C-Standardbibliothek Prof. Dr. Nikolaus Wulff Die C-Standard Bibliothek Mit dem C Compiler werden viel fertige Bibliotheksfunktionen ausgeliefert. Eine genaue Kenntnis dieser Funktionen

Mehr

Die Programmiersprache C99: Zusammenfassung

Die Programmiersprache C99: Zusammenfassung Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach

Mehr

Werkzeuge zur Programmentwicklung

Werkzeuge zur Programmentwicklung Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Einführung in die Programmierung 1

Einführung in die Programmierung 1 Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener

Mehr

Objektorientiertes Programmieren für Ingenieure

Objektorientiertes Programmieren für Ingenieure Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen

Mehr

Eine Einführung in C-Funktionen

Eine Einführung in C-Funktionen Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................

Mehr

Dateizugriff unter C

Dateizugriff unter C Begriffe Dateizugriff unter C Datei = sequentielle Ansammlung von Datenbytes, z.b. auf einer Festplatte Auch Bildschirm und Tastatur werden wie Dateien behandelt: Bildschirm ist die Datei stdout Tastatur

Mehr

Welche Informatik-Kenntnisse bringen Sie mit?

Welche Informatik-Kenntnisse bringen Sie mit? Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9

Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere

Mehr

Computergrundlagen Programmieren in C

Computergrundlagen Programmieren in C Computergrundlagen Programmieren in C Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2013/14 Die Sprache C D. M. Ritchie, 1941 2011 Entwickelt 1971-1973 aktueller Standard:

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Teil IV. Grundlagen der Programmierung

Teil IV. Grundlagen der Programmierung Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien

Mehr

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz

FH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:

Mehr

Vorlesung Informatik II

Vorlesung Informatik II Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 02. JAVA: Erstes Programm 1 Das erste Java-Programm

Mehr

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

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...

Mehr

Programmieren in C. Burkhard Bunk 6.3.2013

Programmieren in C. Burkhard Bunk 6.3.2013 Programmieren in C Burkhard Bunk 6.3.2013 1 C Die Programmiersprache C wurde Anfang der 70er Jahre von Brian Kernighan und Dennis Ritchie bei Bell Labs (später AT&T) entwickelt und 1989 (in etwas weiter

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Advanced Programming in C

Advanced Programming in C Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

Präzedenz von Operatoren

Präzedenz von Operatoren Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

Programm in Source-Files aufteilen Erhöht Lesbarkeit Aufteilung orientier t sich an logischer Struktur des Programms Getrenntes Übersetzen möglich:

Programm in Source-Files aufteilen Erhöht Lesbarkeit Aufteilung orientier t sich an logischer Struktur des Programms Getrenntes Übersetzen möglich: Source-Files Programm == Source-File nicht sinnvoll Unübersichtlich Bei jeder kleinen Änderung gesamtes File neu übersetzen Übersetzen dauert lange Keine Gruppenarbeit möglich Programm in Source-Files

Mehr

Lösung Übungszettel 6 Aufgabe 1-4

Lösung Übungszettel 6 Aufgabe 1-4 Lösungen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter Lösung Übungszettel 6 Aufgabe 1-4 1 Aufgabe 1 und 2 1.1 Die Bibliothek

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 5. Vorlesung 09.11.2016 1 Beispiel: Hello World #include Beginn Hauptprogramm int main() { Blockbeginn printf("hello World\n"); Einbinden der Headerdatei(en) für

Mehr

Grundlagen der Programmiersprache C++

Grundlagen der Programmiersprache C++ / TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit

Mehr

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

Mehr

Algorithmus: Kochrezept

Algorithmus: Kochrezept Algorithmus: Kochrezept Ziel: Menü mit drei Gängen für 4 Personen Grundlegende Spezifikation: 1. Vorspeise: Badische Flädlesuppe 2. Hauptgericht: Überbackene Schinkenröllchen mit Spargel 3. Dessert: Vanilleeis

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Kapitel 1. Grundlagen

Kapitel 1. Grundlagen Grundlagen Dieses Kapitel beschreibt die nötigen Schritte zur Erstellung eines lauffähigen C- Programms. Diese Schritte können Sie auf Ihrem System anhand von einführenden Beispielen nachvollziehen. Die

Mehr

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen

Mehr

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"

S. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort then S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt [email protected] Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben

Mehr

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Andre Droschinsky Ingo Schulz Dortmund, den 0. Dezember 2015 Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6 Block rot Es können 4 + 1 Punkte erreicht werden. Abgabedatum: 10. Dezember 2015 2:59 Uhr Hinweise

Mehr

Objective-C CheatSheet

Objective-C CheatSheet App-Templates: Erstellt automatisch einen Navigation Controller mit editierbarem UITableView und DetailView, der bei Klick auf einzelne UITableViewCell angezeigt wird. Kreiert einen GLKitViewController

Mehr

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:

Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert

Mehr

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

Mehr

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt

Mehr

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte

Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens

Mehr

Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer

Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer Programmierkurs C++ 1. Überblick über C++ Seite 1 1 Überblick über C++ Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt 1.1 Elemente der Sprache C++ // mile2km.cpp:

Mehr

Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker

Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,

Mehr

L4. Erster Schritt zum Programmieren

L4. Erster Schritt zum Programmieren L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe

Mehr

103 Strukturiert programmieren nach Vorgabe

103 Strukturiert programmieren nach Vorgabe 103 Strukturiert programmieren nach Vorgabe #include #include #define Benzinverbrauch (6.9/100) #define Benzinpreis 1.38 void main() float x,k; printf("geben Sie bitte Ihre gefahrenen

Mehr