Teil 3: Lexik, Funktionen, Makefiles Gliederung

Größe: px
Ab Seite anzeigen:

Download "Teil 3: Lexik, Funktionen, Makefiles Gliederung"

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

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

Mehr

Herzlich willkommen!

Herzlich 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

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

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

Einstieg in die Informatik mit Java

Einstieg 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

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

Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.

Programmierung 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.

Mehr

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

Einheit 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)

Mehr

Syntax und Kontrollstrukturen

Syntax 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

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einfü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

Mehr

Organisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben

Organisatorisches. Ü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

Mehr

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

Inhalt. 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

Mehr

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

3. 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.

Mehr

4.2 Programmiersprache C

4.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.

Mehr

Kontrollstrukturen (1)

Kontrollstrukturen (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,

Mehr

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einfü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

Mehr

RO-Tutorien 15 und 16

RO-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

Mehr

Praxis der Programmierung

Praxis 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

Mehr

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Einfü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

Mehr

Allgemeines. 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 <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

Mehr

Einführung in die Programmiertechnik

Einfü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

Mehr

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

C++ 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

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  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

Mehr

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Verwendung 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

Mehr

C++ - 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 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

Mehr

RO-Tutorien 3 / 6 / 12

RO-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

Mehr

Grundlagen der Programmierung

Grundlagen 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

Mehr

Systemprogrammierung

Systemprogrammierung 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

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs 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

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler M. Sc. Stephan Fischer

Propä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

Mehr

2. Programmierung in C

2. 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)

Mehr

Repetitorium Programmieren I + II

Repetitorium 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

Mehr

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. 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

Ü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

Mehr

Programmiersprachen Einführung in C

Programmiersprachen 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

Ü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

Mehr

RO-Tutorien 17 und 18

RO-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

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen 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

Mehr

Integer Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen

Integer 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-

Mehr

Wo sind wir? Übersicht lexikale Struktur von Java

Wo 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,

Mehr

2. Datentypen und Deklarationen

2. 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

Mehr

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Klausur. 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

Mehr

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

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 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

Mehr

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

Einheit 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

Mehr

Java für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel

Java 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.

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

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

7 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

Mehr

Java Anweisungen und Ablaufsteuerung

Java 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

Mehr

3. Java - Sprachkonstrukte I

3. 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,

Mehr

Kapitel 2. Einfache Beispielprogramme

Kapitel 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

Mehr

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Teil 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

Mehr

Teil II. Literatur zur C-Programmierung:

Teil 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.

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) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik

Mehr

4 Formelsammlung C/C++

4 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

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut 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

Mehr

S. d. I.: Programieren in C Folie diese Zeichen dürfen verwendet werden in

S. 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

Mehr

Programmieren in C / C++ Grundlagen C 4

Programmieren 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

Mehr

ISO-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 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

Mehr

Funktionen. mehrfach benötigte Programmteile nur einmal zu schreiben und mehrfach aufzurufen

Funktionen. 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

Mehr

Java Lexikalische Struktur

Java 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

Mehr

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

3 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

Mehr

Funktionales C++ zum Ersten

Funktionales 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

Mehr

Einführung Programmierpraktikum C Michael Zwick

Einfü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

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

Effektiv Programmieren in С und C++

Effektiv 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

Mehr

Kapitel 3: Lexikalische Syntax

Kapitel 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

Mehr

Variablen, Konstanten und Datentypen

Variablen, 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

Mehr

Teil 5: Zeiger, Felder, Zeichenketten Gliederung

Teil 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

Mehr

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen 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

Mehr

2. Programmierung in C

2. 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)

Mehr

Ganze Zahlen, Ausdrücke Variablen/Konstanten

Ganze 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

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: 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

Mehr

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Nachklausur: 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

Mehr

Kapitel 5. Datentypen und Operatoren

Kapitel 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

Mehr

Systempraktikum im Wintersemester 2009/2010 (LMU): Vorlesung vom Foliensatz 2

Systempraktikum 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

Mehr

Grundlagen der Programmierung

Grundlagen 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,

Mehr

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

Inhaltsverzeichnis. 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

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

C-Crashkurs. Praktikum Systemmanagement und Sicherheit

C-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)

Mehr

Inhalte. Einführung. Algorithmus, Programmiersprache, Compiler und Linker. Datentypen (elementare) Kontrollstrukturen. Präprozessoranweisungen

Inhalte. 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

Mehr

Grundelemente von C++

Grundelemente von C++ - Zeichensatz - Kommentare - Token - Bezeichner - Schlüsselwörter - Einfache Typen - Literale Ganze Zahlen Reelle Zahlen Wahrheitswerte Zeichen - Variablen und Variablendeklarationen - Benannte Konstanten

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 Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs 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

Mehr

C++ - 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 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

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

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

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 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

Mehr

Dr. Monika Meiler. Inhalt

Dr. 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

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 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

Kontrollfragen Mikrocontroller Programmiersprache C H1203 Felix Rohrer

Kontrollfragen 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;

Mehr

1 EINFÜHRUNG PROGRAMMAUFBAU IN C++

1 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