Vorlesung Informatik I
|
|
|
- Maximilian Seidel
- vor 8 Jahren
- Abrufe
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 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
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
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
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
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
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,
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)
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).
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
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.
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
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,
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
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
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
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
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
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
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
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
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
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
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
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
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*
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
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 **
Ü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,
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
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
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
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
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
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
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,
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
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
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,
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
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
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
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
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
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
Ü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/
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
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
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
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
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
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
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
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.............................
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
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
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
Ü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
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:
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
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
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
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:
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
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...
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
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
FB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
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
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
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
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
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
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
Ü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
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
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
Ü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
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
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
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:
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,
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
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
