Teil 3: Lexik, Funktionen, Makefiles Gliederung
|
|
- Paulina Kristin Althaus
- vor 5 Jahren
- Abrufe
Transkript
1 Teil 3: Lexik, Funktionen, Makefiles Gliederung Lexik Zinsberechnung Eigene Funktionen Makefiles
2 Lexik 2
3 Bearbeitungsschritte des Compilers 1. Lexikalische Analyse 2. Syntaxanalyse 3. Semantische Analyse 4. Optimierungen 5. Codeerzeugung 3
4 1. Lexikalische Analyse Scanner Symbolentschlüsselung gültige Zeichen und Wörter der Sprache Lexikalische Einheiten: 1. Namen (Bezeichner) 2. reservierte Wörter 3. Literale Konstanten 4. Operatoren 5. Satzzeichen sind CASE sensitive Trenner: Leerzeichen, Zeilenumbruch 4
5 2. Syntaxanalyse Parser: Überführung der Symbolfolge in einen Ableitungsbaum korrekter Aufbau von Sätzen der Sprache Grammatik zulässige Folgen von Symbolen (Wörtern) Syntaxdiagramme (grafischen Darstellung kontextfreier Grammatiken) Knoten (Ellipse für Terminale, Rechtecke für Nichtterminale) Kanten (Pfeile, Eingangskante, Ausgangskante) Interpretation: Durchläuft man ein Syntaxdiagramm von der Eingangs- zur Ausgangskante entlang den Pfeilen, dann ist die Folge der Knoteninhalte, die dabei durchlaufen werden, aus dem Syntaxdiagramm ableitbar. 5
6 Syntax von Bezeichnern Variablen, Funktionen, Strukturen, Marken, Makros, Aufzählungskonstanten, Relevanz: mind. 31 Zeichen für interne (mind. 6 Zeichen für externe) Ein Name (identifier) besteht aus einer Zeichenfolge aus Buchstaben (nondigit) und Ziffern (digit), die mit einem Buchstaben beginnt. In C zählt auch der Unterstrich _ zu den Buchstaben. 6
7 Beispiele für Bezeichner Zulässig oder nicht? summe x_quadrat 1x x-quadrat ärger tmap Konventionen bzw. "Styleguides" alle Bezeichner klein laufvariable Symbolische Konstanten GROSS #define PI Ungarische Notation snachname dflaechequadrat 8
8 3. Semantische Analyse Bedeutung von Sätzen der Sprache Zwischencode Namen, Gültigkeitsbereiche Prüfung der Typverträglichkeiten (z.b. bei Addition zweier Werte unterschiedlicher Datentypen) 4. Optimierungen Speicherverbrauch und Rechenzeit Beispiele: nicht erreichbarer Code, wiederholtes Vorkommen des gleichen Ausdrucks 5. Codeerzeugung Synthese Umwandlung in Objektcode / Maschinensprache des Zielrechners Cross-Compiler 9
9 Zeichenvorrat in C Buchstaben A-Z, a-z, Unterstrich _ Ziffern 0-9 Leerzeichen Steuerzeichen (Zeilenende-Zeichen, Seitenvorschub, Tabulator) Semikolon zum Abschluss einer Anweisung ; Punkt. Sonderzeichen ( ) [ ] < > + - */ % ^~ & =!?, : Sonderzeichen für Strings ' " geschweifte Klammern (Block, Initialisierungslisten) Backslash für Ersatzdarstellung \ Nummernzeichen für Präprozessor # 10
10 Reservierte Wörter auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while Literale Konstanten 3.1 Ganzzahlige Konstanten Gleitpunktkonstanten Zeichenkonstanten 'a' oder "abc 123" 3.4 Aufzählungskonstanten vgl. symbolische Konstanten: #define PI
11 Ganzzahlige Konstanten ganzzahlige Konstanten wie 123 haben den Typ int implizit: L L 123u 123UL X1234 0x0FFE 12
12 Fließkommakonstanten Fließkommakonstanten werden standardmäßig als double gespeichert vor dem E bzw. e: Mantisse dahinter: Exponent (Basis 10) e L 2.45E2F 1324.E F 13
13 Zeichenkonstanten Zeichenkonstanten werden als char gespeichert, z.b.: 'A', '1', '\n', '\x0d', '\015 Escape-Sequenzen 14
14 Zeichenkonstanten String-Konstanten (Zeichenketten) werden als char - Array gespeichert "Ich bin eine Zeichenkette" printf ("\ndiese Zeile ist soooooooooooooooooooooooo\ ooooooooooo lang!"); printf ("\ndiese Zeile ist soooooooooooooooooooooooo" "ooooooooooo lang!"); rechnerinterne Darstellung "Ritchie" 15
15 Aufzählungskonstanten ganzzahlige Konstanten, die einen Bezeichner als Alias für jeden Wert besitzen erster Bezeichner in der enum Liste per default 0 enum boolean no, yes; enum Monate Januar, Februar, Maerz; enum Monate Januar = 1, Februar, Maerz; enum Values alpha = 3, beta = 6, gamma = 7, delta = beta + alpha, epsi = gamma; 16
16 Aufzählungskonstanten ganzzahlige Konstanten, die einen Bezeichner als Alias für jeden Wert besitzen erster Bezeichner in der enum Liste per default enum boolean no, yes; enum Monate Januar, Februar, Maerz; enum Monate Januar = 1, Februar, Maerz; enum Values alpha = 3, beta = 6, gamma = 7, delta = beta + alpha, epsi = gamma;
17 Operatoren Anwendung auf einen oder mehrere Operanden Bildung von (Ergebnis-)Werten mögliche Nebeneffekte 19
18 Satzzeichen spezifizieren keine Operation können Operator oder Teil eines Operators sein 20
19 Lexik Zinsberechnung Eigene Funktionen Makefiles Zinsberechnung 21
20 Lexik Zinsberechnung Eigene Funktionen Makefiles Beispiel: Zinsberechnung Berechnung der jährlichen Entwicklung eines Grundkapitals über eine vorgegebene Laufzeit Zinsen werden mit dem Kapital wieder angelegt Erzeugung einer Tabelle mit folgenden Angaben: laufendes Jahr und angesammeltes Kapital (in EUR) Laufzeit: 10 Jahre Grundkapital: 1000 EUR Zins: 5% 22
21 Lexik Zinsberechnung Eigene Funktionen Makefiles /* Anwendung zur Zinsberechnung */ #include <stdio.h> #define LAUFZEIT 10 #define GRUNDKAPITAL int main() int jahr; double kapital = GRUNDKAPITAL; printf ("Zinstabelle fuer Grundkapital %7.2f EUR\n", ); printf ("Kapitalstand zum Jahresende:\n"); for (jahr = ; jahr <= ; jahr = ) printf ("\njahr: %2d\t", jahr); kapital = kapital * (1. + ZINS / ); printf ("Kapital: %7.2f EUR", ); printf ("\n\naus %7.2f EUR Grundkapital\n", ); printf ("wurden in %d Jahren %7.2f EUR\n",, ); return 0; 23
22 Lexik Zinsberechnung Eigene Funktionen Makefiles 25
23 Eigene Funktionen 26
24 Hauptprogramm - Unterprogramm Anwendung: mehrfach vorkommende Programmteile Teilaufgaben separieren Programm strukturieren (Module) Wiederverwendung Benutzung von Bibliotheken 27
25 int summe (int n) int zwsumme; zwsumme = n / 2 * (n + 1); return zwsumme; 28
26 Übergabeparameter und Rückgabewert Rückgabetyp Funktionsname(typ1 parameter1, typ2 parameter2,...) lokale Deklarationen; Anweisung1; Anweisung2;... return Ausdruck; Wertübergabe Hauptprogramm -> Unterprogramm - bei Funktionsaufruf - Funktionsparameter in beliebiger Anzahl Wertübergabe Unterprogramm -> Hauptprogramm - bei Beendigung des Unterprogramms - maximal 1 Wert 29
27 #include <stdio.h> int summe(int u, int o) int i; int zwsumme = 0; for (i = u; i <= o; i = i + 1) zwsumme = zwsumme + i; return zwsumme; int main() int eingabe; int resultat; printf("eingabe der unteren und oberen Grenze: "); scanf("%d %d", &untere, &obere); resultat = summe(untere, obere); printf("die Summe der Zahlen von %d bis %d ist %d\n", untere, obere, resultat); return 0; 30
28 Deklaration von Funktionen int main() int maximum, x = 2, y = 3; maximum = max(x, y); return 0; 34
29 Deklaration von Funktionen int main() int maximum, x = 2, y = 3; maximum = max(x, y); return 0; int max(int a, int b) 35
30 Deklaration von Funktionen int main() int maximum, x = 2, y = 3; maximum = max(x, y); return 0; int max(int a, int b) if (a > b) return a; else return b; 36
31 Deklaration von Funktionen int max(int, int); // Funktions-Prototyp int main() int maximum, x = 2, y = 3; maximum = max(x, y); return 0; int max(int a, int b) if (a > b) return a; else return b; 37
32 Deklaration von Funktionen int max(int a, int b); // Funktions-Prototyp, // Bezeichner sind optional int main() int maximum, x = 2, y = 3; maximum = max(x, y); return 0; int max(int a, int b) if (a > b) return a; else return b; 38
33 Deklaration vs. Definition Deklaration: Prototyp enthält den Funktionskopf. Rückgabetyp Funktionsname Parameter (inkl. Datentypen) Art der Parameterübergabe (call by value/reference) typ Funktionsname (typ1, typ2,...); typ Funktionsname (typ1 parameter1, typ2 parameter2,...); Definition: Implementierung enthält den Funktionsrumpf. typ Funktionsname (typ1 parameter1, typ2 parameter2,...)... return Ausdruck; 39
34 Beispiel: Programm aus mehreren Quelldateien modul1.c modul2.c modul3.c #include <stdio.h> int main() int u; i = 1; abc(); u = sum(17, 4); printf("%d", u); return 0; int i; int sum(int x, int y) return x + y; void abc() i = 10; 40
35 Beispiel: Programm aus mehreren Quelldateien modul1.c modul2.c modul3.c #include <stdio.h> extern int i; int main() int u; int i; int sum(int x, int y) return x + y; extern int i; void abc() i = 10; i = 1; abc(); u = sum(17, 4); printf("%d", u); return 0; 41
36 Beispiel: Programm aus mehreren Quelldateien modul1.c modul2.c modul3.c #include <stdio.h> int sum(int, int); void abc(); extern int i; int main() int u; int i; int sum(int x, int y) return x + y; extern int i; void abc() i = 10; i = 1; abc(); u = sum(17, 4); printf("%d", u); return 0; 42
37 Beispiel: Programm aus mehreren Quelldateien modul2.h modul3.h extern int i; int sum(int, int); void abc(); modul1.c modul2.c modul3.c #include <stdio.h> int main() int u; i = 1; abc(); u = sum(17, 4); printf("%d", u); return 0; int i; int sum(int x, int y) return x + y; void abc() i = 10; 43
38 Beispiel: Programm aus mehreren Quelldateien modul2.h modul3.h extern int i; int sum(int, int); void abc(); modul1.c modul2.c modul3.c #include <stdio.h> #include modul2.h #include modul3.h int main() int u; int i; int sum(int x, int y) return x + y; #include modul2.h void abc() i = 10; i = 1; abc(); u = sum(17, 4); printf("%d", u); return 0; 44
39 Beispiel: Programm aus mehreren Quelldateien modul2.h modul3.h extern int i; int sum(int, int); void abc(); modul1.c modul2.c modul3.c #include <stdio.h> #include modul2.h #include modul3.h int main() int u; i = 1; abc(); u = sum(17, 4); printf("%d", u); return 0; #include modul2.h int i; int sum(int x, int y) return x + y; #include modul2.h #include modul3.h void abc() i = 10; 45
40 Makefiles 46
41 Kompilieren, Binden, Laden 47
42 Aufbau eines Makefiles Definitionen von Variablen und Funktionen z.b. CC = gcc -Wall Kommentare z.b. # Dies ist ein Kommentar! Includes z.b. -include Makefile.local Regeln z.b. %.o: %.c; -CC $< Syntax für Regeln: Target [weitere Targets]:[:] [Vorbedingungen] [; Kommandos] [<Tab> Kommandos] [<Tab> Kommandos] 48
43 01 CC = gcc Wall 02 Objektdateien = main.o teil1.o teil2.o 03 Programm = beispiel.exe $(Programm): $(Objektdateien) 06 $(CC) -o $@ $^ # explizite Regel definiert das Kommando 09 $(Objektdateien): 10 $(CC) -c $< # implizite Regeln definieren die Abhängigkeiten 13 main.o: main.c sub1.h sub2.h 14 sub1.o: sub1.c 15 sub2.o: sub2.c all: clean $(Programm) run clean: 20 rm $(Objektdateien) $(Programm) -f run: 23./$(Programm) 49
44 hallo.o: hallo.c gcc -c hallo.c 50
45 hallo.o: hallo.c gcc -c hallo.c hallo.exe: hallo.o gcc -o hallo.exe hallo.o 51
46 hallo.exe: hallo.o gcc -o hallo.exe hallo.o hallo.o: hallo.c gcc -c hallo.c 52
47 CC = gcc -Wall -std=c99 hallo.exe: hallo.o $(CC) -o $@ $< hallo.o: hallo.c $(CC) -c $< Targetname: $@ erste Vorbedingung: $< 53
48 Kompilieren, Binden, Laden 54
49 01 CC = gcc Wall std=c beispiel.exe: main.o sub1.o sub2.o 04 $(CC) -o $@ $^ main.o: main.c sub1.h sub2.h 07 $(CC) -c $< sub1.o: sub1.c 10 $(CC) -c $< sub2.o: sub2.c 13 $(CC) -c $< Targetname: $@ erste Vorbedingung: $< alle Vorbedingungen: $^ 55
50 01 CC = gcc Wall std=c beispiel.exe: main.o sub1.o sub2.o 04 $(CC) -o $@ $^ main.o: main.c sub1.h sub2.h 07 $(CC) -c $< sub1.o: sub1.c 10 $(CC) -c $< sub2.o: sub2.c 13 $(CC) -c $< all: clean beispiel.exe run clean: 18 rm *.o beispiel.exe -f run: 21./beispiel.exe 56
51 01 CC = gcc Wall std=c beispiel.exe: main.o sub1.o sub2.o 04 $(CC) -o $@ $^ main.o: main.c sub1.h sub2.h 07 $(CC) -c $< sub1.o: sub1.c 10 $(CC) -c $< sub2.o: sub2.c 13 $(CC) -c $< all: clean beispiel.exe run clean: 18 rm *.o beispiel.exe -f run: 21./beispiel.exe 57
52 01 CC = gcc Wall std=c beispiel.exe: main.o sub1.o sub2.o 04 $(CC) -o $@ $^ # explizite Regel definiert das Kommando 07 main.o sub1.o sub2.o: 08 $(CC) -c $< # implizite Regeln definieren die Abhaengigkeiten 11 main.o: main.c sub1.h sub2.h 12 sub1.o: sub1.c 13 sub2.o: sub2.c all: clean beispiel.exe run clean: 18 rm *.o beispiel.exe -f run: 21./beispiel.exe 58
53 01 CC = gcc -Wall std=c beispiel.exe: main.o sub1.o sub2.o 04 $(CC) -o $@ $^ # explizite Regel definiert das Kommando 07 main.o sub1.o sub2.o: 08 $(CC) -c $< # implizite Regeln definieren die Abhaengigkeiten 11 main.o: main.c sub1.h sub2.h 12 sub1.o: sub1.c 13 sub2.o: sub2.c all: clean beispiel.exe run clean: 18 rm *.o beispiel.exe -f run: 21./beispiel.exe 59
54 01 CC = gcc Wall std=c99 02 Objektdateien = main.o sub1.o sub2.o 03 Programm = beispiel.exe $(Programm): $(Objektdateien) 06 $(CC) -o $@ $^ # explizite Regel definiert das Kommando 09 $(Objektdateien): 10 $(CC) -c $< # implizite Regeln definieren die Abhängigkeiten 13 main.o: main.c sub1.h sub2.h 14 sub1.o: sub1.c 15 sub2.o: sub2.c all: clean $(Programm) run clean: 20 rm $(Objektdateien) $(Programm) -f run: 23./$(Programm) 60
55 01 CC = gcc Wall std=c99 02 Objektdateien = main.o sub1.o sub2.o 03 Programm = beispiel.exe $(Programm): $(Objektdateien) 06 $(CC) -o $@ $^ # explizite Regel definiert das Kommando 09 $(Objektdateien): 10 $(CC) -c $< # implizite Regeln definieren die Abhängigkeiten 13 main.o: main.c sub1.h sub2.h 14 sub1.o: sub1.c 15 sub2.o: sub2.c all: clean $(Programm) run clean: 20 rm $(Objektdateien) $(Programm) -f run: 23./$(Programm) 61
Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
MehrHerzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
MehrEinfü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).
MehrEinstieg 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
MehrEinstieg in die Informatik mit Java
1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White
MehrGrundlagen. 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
MehrProgrammierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.
Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen. Modularisierung Zerlegung eines Programms in überschaubare Einheiten Die einzelnen Einheiten werden als Modul bezeichnet.
MehrEinheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten
Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik R. Spurk (Informatik)
MehrSyntax und Kontrollstrukturen
Syntax und Kontrollstrukturen Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-29
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
MehrOrganisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben
Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe
MehrInhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15
Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen
Mehr3. Einführung in C Programmierung Einführung in C Programmierung
Einführung in C Programmierung 3-1 Warum die Programmiersprache C lernen? C Programme sind leicht zwischen verschiedenen Systemumgebungen portierbar. C ist eine geeignete Sprache zum Aufbau einer Programmbausteinbibliothek.
Mehr4.2 Programmiersprache C
4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.
MehrKontrollstrukturen (1)
Kontrollstrukturen (1) Selektionen, if ermöglicht das alternative Ausführen von Programteilen in Abhängigkeit einer Bedingung if (Bedingung) Block 1 else Block 2 Ist die Bedingung wahr, also ungleich 0,
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrPraxis der Programmierung
Arrays, Pointerarithmetik, Konstanten, Makros Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vektoren) 2 Arrays: Motivation
MehrEinführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher
MehrC++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22
C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven
MehrUnterlagen. CPP-Uebungen-08/
Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen
MehrVerwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
MehrC++ - Einführung in die Programmiersprache Header-Dateien und Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Header-Dateien und Funktionen Leibniz Universität IT Services Anja Aue Modularisierung Logische Gliederung von Programmteilen mit Hilfe von Namensräumen. Aufteilung
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 11. Vorlesung 14.06.2017 1 Schleifen 2 do...while do block while ( bedingung ); block: eine Anweisung oder Anweisungen in { block bed JA NEIN 3 while while ( bedingung ) block
MehrSystemprogrammierung
IEinführung I in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: Software Engineering pproach. Springer 1991 Kernighan, Ritchie. The C Programming Language. Prentice-Hall
MehrProgrammierkurs C++ Variablen und Datentypen
Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in
MehrPropädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer
Propädeutikum 2016 Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer Vorbereitungskurs Informatikstudium Programmieren (C-Kurs) Erfolgreich Studieren Dipl.-Inf. Frank Güttler f.guettler@quapona.com / guettler@informatik.uni-leipzig.de
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrSprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg
Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 4: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in
MehrInteger Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen
1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-
MehrWo sind wir? Übersicht lexikale Struktur von Java
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
Mehr2. Datentypen und Deklarationen
2. Datentypen und Deklarationen Programm = Datenstrukturen+Kontrollstruktur Programme verarbeiten Daten. Daten werden in C durch Datenstrukturen aus verschiedenen Datentypen beschrieben. Es gibt (wie in
MehrKlausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll
Mehr2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im
MehrEinheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen
Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik
MehrJava für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 11.-15.10.2010 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
MehrElementare 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
Mehr7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});
S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht
MehrJava Anweisungen und Ablaufsteuerung
Informatik 1 für Nebenfachstudierende Grundmodul Java Anweisungen und Ablaufsteuerung Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
Mehr3. Java - Sprachkonstrukte I
Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,
MehrKapitel 2. Einfache Beispielprogramme
Kapitel 2 Einfache Beispielprogramme 2.1 Ausgabe auf dem Bildschirm 2.2 Lokale Variablen, Ausdrücke und Schleifen 2.3 Zahlen von der Tastatur einlesen 2.4 Formatierung bei der Ausgabe 2.5 Zusammenfassung
MehrTeil 5: Felder, Zeiger, Zeigerarithmetik Gliederung
Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder
MehrTeil II. Literatur zur C-Programmierung:
Teil II 2Kurzeinführung in die Programmiersprache C Literatur zur C-Programmierung: Darnell, Margolis. C: A Software Engineering Approach. Springer 1991 Kernighan, Ritchie. The C Programming Language.
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
Mehr4 Formelsammlung C/C++
4 Formelsammlung C/C++ 4.1 Datentypen Datentyp stdint.h type Bits Sign Wertebereich (unsigned) char uint8_t 8 Unsigned 0.. 255 signed char int8_t 8 Signed -128.. 127 unsigned short uint16_t 16 Unsigned
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrS. d. I.: Programieren in C Folie diese Zeichen dürfen verwendet werden in
S. d. I.: Programieren in C Folie 2-1 2 Grundelemente von C 2.1 Zeichensätze darstellbarer Zeichensatz - enthält alle Zeichen, die als einzelnes Zeichen auf dem jeweiligen Gerät dargestellt werden können
MehrProgrammieren in C / C++ Grundlagen C 4
Programmieren in C / C++ Grundlagen C 4 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisungen Anweisung im allgemeinsten Sinn: Programmieren
MehrISO-SiMMlarcl. als erste Programmiersprache. Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage
ISO-SiMMlarcl als erste Programmiersprache Von Prof. Dr. Joachim Goll Uwe Grüner Prof. Herbert Wiese 2., durchgesehene Auflage B.G.Teubner Stuttgart Leipzig 1999 Inhaltsverzeichnis 1.1 Algorithmen und
MehrFunktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen
Funktionen Funktionen erlauben, dem Programmcode hierarchisch zu strukturieren ein Hauptprogramm steuert dabei die Abfolge von Schritten, die einzelnen Schritte können durch Funktionen realisiert werden
MehrJava Lexikalische Struktur
Informatik 1 für Nebenfachstudierende Grundmodul Java Lexikalische Struktur Kai-Steffen Hielscher Folienversion: 19. Dezember 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht Kapitel
Mehr3 Grundstrukturen eines C++ Programms anhand eines Beispiels
3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3.1 Einige Grundbegriffe Mit Hilfe eines Programmes wird dem Computer mitgeteilt, wie er eine bestimmte Aufgabe bearbeiten soll. Es besteht
MehrFunktionales C++ zum Ersten
Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08
MehrEinführung Programmierpraktikum C Michael Zwick
Einführung Programmierpraktikum C Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Tutorium Ab Dienstag: Auswahl Tutoriumsplatz auf www.ldv.ei.tum.de/lehre/computertechnik
MehrEinleitung 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
MehrEffektiv Programmieren in С und C++
Dietmar Herrmann Effektiv Programmieren in С und C++ Eine Einführung mit Beispielen aus Mathematik, Naturwissenschaft und Technik 3., vollständig überarbeitete und erweiterte Auflage 3 vieweg flffm \;i
MehrKapitel 3: Lexikalische Syntax
3. Lexikalische Syntax 3-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 3: Lexikalische Syntax Compiler, Phasen, Scanner vs. Parser Leerplatz, Kommentare Bezeichner, Schlüsselworte Konstanten/Literale
MehrVariablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrGrundlagen der Modellierung und Programmierung, Übung
Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrGanze Zahlen, Ausdrücke Variablen/Konstanten
Ganze Zahlen, Ausdrücke Variablen/Konstanten InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Programmieren in C ganze Zahlen, Konstanten und Variablen 2 Lernziele Siekönnen
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben
MehrKapitel 5. Datentypen und Operatoren
Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen
MehrSystempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom Foliensatz 2
Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom 29.10. Foliensatz 2 Modularisierung (T) Eigene Headerdateien und Bibliotheken (P) Arten der Parameterübergabe (P) Arrays und Strukturen
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
MehrInhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen
Inhalt 3 Bemerkung... 9 Vorwort... 10 1 Programme und Programmiersprachen 1.1 Assembler... 13 1.2 Höhere Programmiersprachen... 15 1.2.1 Interpreter... 16 1.2.2 Compiler... 17 1.2.3 Zwischencode... 18
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrC-Crashkurs. Praktikum Systemmanagement und Sicherheit
C-Crashkurs Praktikum Systemmanagement und Sicherheit ZIELE DIESES KURSES 15.04.2014 Dipl.-Inf. M. Bohr C_Crashkurs 2 Compiler gcc verwenden geläufigste Datentypen in C kennen Fehlerbehandlung (ohne Ausnahmeklassen)
MehrInhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Datentypen (elementare) Kontrollstrukturen. Präprozessoranweisungen
INFDT.1 Informatik I Einführung Algorithmus, Programmiersprache, Compiler und Linker Datentypen (elementare) Kontrollstrukturen Präprozessoranweisungen Libraries Funktionen und Klassen Inhalte INFDT.2
MehrGrundelemente von C++
- Zeichensatz - Kommentare - Token - Bezeichner - Schlüsselwörter - Einfache Typen - Literale Ganze Zahlen Reelle Zahlen Wahrheitswerte Zeichen - Variablen und Variablendeklarationen - Benannte Konstanten
MehrProgrammieren 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 Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf
MehrVorkurs Informatik WiSe 16/17
Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016
MehrC++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
MehrDie 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,
MehrOutline. 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
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 Imperative Programmierung Imperatives Paradigma Ziel: Ablaufbeschreibung
MehrDr. Monika Meiler. Inhalt
Inhalt 4 C-Anweisungen...4-2 4.1 Ausdrucksanweisungen...4-3 4.2 Zusammengesetzte Anweisungen (Anweisungsblöcke)...4-3 4.3 Schleifenanweisungen...4-4 4.3.1 while - Schleife...4-4 4.3.2 do - Schleife...4-5
MehrGrundlagen 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 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1
MehrKontrollfragen Mikrocontroller Programmiersprache C H1203 Felix Rohrer
Block 1 1. Welcher Wert hat w? int w = 034; 28 (Dezimal) 034 wird als Octal interpretiert 34oct = 28dec 2. Wie lauten die Ergebnisse? unsigned int a = 3, b = 5, c = 7; unsigned int x, y, z; x = a == 3;
Mehr1 EINFÜHRUNG PROGRAMMAUFBAU IN C++
1 EINFÜHRUNG PROGRAMMAUFBAU IN C++ Leitidee: Genaueres Verständnis der C++-Syntax an Hand von Syntaxdiagrammen Lexikalische Struktur von C++ Vereinbarungen: Definition / Deklaration Beispiele für Variablen-
Mehr