RO-Tutorien 15 und 16

Größe: px
Ab Seite anzeigen:

Download "RO-Tutorien 15 und 16"

Transkript

1 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

2 Heute C-Buildumgebung Datentypen in C Kontrollstrukturen in C Operatoren in C C-Zeiger Übungsaufgaben 2 Christian A. Mandery:

3 Einleitung Es wird in Rechnerorganisation wahrscheinlich keine C-Programmieraufgaben geben (Grundsätzliche) C-Kenntnisse sind aber dennoch nötig Um Code ausprobieren zu können, empfiehlt es sich, eine C-Buildumgebung auf seinem Rechner einzurichten 3 Christian A. Mandery:

4 Notwendige Komponenten Benötigt werden: Compiler (z.b. gcc) Linker (z.b. gcc) C-Standardbibliothek inkl. Header (z.b. glibc) Am besten ein Gesamtpaket installieren: GNU Toolchain unter Linux Cygwin bzw. mingw mit Dev-C++ unter Windows Komplettpaket mit IDE von Microsoft (Visual Studio) 4 Christian A. Mandery:

5 Notwendige Komponenten Benötigt werden: Compiler (z.b. gcc) Linker (z.b. gcc) C-Standardbibliothek inkl. Header (z.b. glibc) Am besten ein Gesamtpaket installieren: GNU Toolchain unter Linux Cygwin bzw. mingw mit Dev-C++ unter Windows Komplettpaket mit IDE von Microsoft (Visual Studio) 4 Christian A. Mandery:

6 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

7 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

8 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

9 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

10 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

11 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

12 Ganzzahlige C-Datentypen signed/unsigned char (immer 1 Byte) signed/unsigned short [int] (oft 2 Byte) signed/unsigned int (oft 4 Byte) signed/unsigned long [int] (oft 4 oder 8 Byte) signed/unsigned long long [int] (oft 8 Byte) Die Größe der einzelnen Datentypen ist bis auf Mindestgrößen und die Größe von char nicht vorgeschrieben! Es gilt aber immer: sizeof (short int) sizeof (int) sizeof (long int) 5 Christian A. Mandery:

13 C-Datentypen für Gleitkommazahlen float ( single precision, 4 Byte) double ( double precision, 8 Byte) Der Aufbau von Gleitkommazahlen ist standardisiert (IEEE 754) und wird später noch behandelt 6 Christian A. Mandery:

14 C-Datentypen für Gleitkommazahlen float ( single precision, 4 Byte) double ( double precision, 8 Byte) Der Aufbau von Gleitkommazahlen ist standardisiert (IEEE 754) und wird später noch behandelt 6 Christian A. Mandery:

15 C-Datentypen für Gleitkommazahlen float ( single precision, 4 Byte) double ( double precision, 8 Byte) Der Aufbau von Gleitkommazahlen ist standardisiert (IEEE 754) und wird später noch behandelt 6 Christian A. Mandery:

16 Sonstige C-Datentypen Zeiger Arrays (Strings als Spezialfall) Selbstdefinierte Strukturen (struct) Enumerationen (enum) Unions (union) 7 Christian A. Mandery:

17 Sonstige C-Datentypen Zeiger Arrays (Strings als Spezialfall) Selbstdefinierte Strukturen (struct) Enumerationen (enum) Unions (union) 7 Christian A. Mandery:

18 Sonstige C-Datentypen Zeiger Arrays (Strings als Spezialfall) Selbstdefinierte Strukturen (struct) Enumerationen (enum) Unions (union) 7 Christian A. Mandery:

19 Sonstige C-Datentypen Zeiger Arrays (Strings als Spezialfall) Selbstdefinierte Strukturen (struct) Enumerationen (enum) Unions (union) 7 Christian A. Mandery:

20 Sonstige C-Datentypen Zeiger Arrays (Strings als Spezialfall) Selbstdefinierte Strukturen (struct) Enumerationen (enum) Unions (union) 7 Christian A. Mandery:

21 Kontrollstrukturen Sollten bereits aus Java (1. Semester) bekannt sein Bedingte Ausführung und Fallunterscheidung: if (<Bedingung>) {...} [else...] switch (<Ausdruck>) {case <Wert>:...; case <Wert>:...; default:...} Schleifen: for (<Initialisierung>; <Bedingung>; <Iteration>) {...} while (<Bedingung>) {...} do {...} while (<Bedingung>); 8 Christian A. Mandery:

22 Kontrollstrukturen Sollten bereits aus Java (1. Semester) bekannt sein Bedingte Ausführung und Fallunterscheidung: if (<Bedingung>) {...} [else...] switch (<Ausdruck>) {case <Wert>:...; case <Wert>:...; default:...} Schleifen: for (<Initialisierung>; <Bedingung>; <Iteration>) {...} while (<Bedingung>) {...} do {...} while (<Bedingung>); 8 Christian A. Mandery:

23 Kontrollstrukturen Sollten bereits aus Java (1. Semester) bekannt sein Bedingte Ausführung und Fallunterscheidung: if (<Bedingung>) {...} [else...] switch (<Ausdruck>) {case <Wert>:...; case <Wert>:...; default:...} Schleifen: for (<Initialisierung>; <Bedingung>; <Iteration>) {...} while (<Bedingung>) {...} do {...} while (<Bedingung>); 8 Christian A. Mandery:

24 Kontrollstrukturen Sollten bereits aus Java (1. Semester) bekannt sein Bedingte Ausführung und Fallunterscheidung: if (<Bedingung>) {...} [else...] switch (<Ausdruck>) {case <Wert>:...; case <Wert>:...; default:...} Schleifen: for (<Initialisierung>; <Bedingung>; <Iteration>) {...} while (<Bedingung>) {...} do {...} while (<Bedingung>); 8 Christian A. Mandery:

25 Kontrollstrukturen Sollten bereits aus Java (1. Semester) bekannt sein Bedingte Ausführung und Fallunterscheidung: if (<Bedingung>) {...} [else...] switch (<Ausdruck>) {case <Wert>:...; case <Wert>:...; default:...} Schleifen: for (<Initialisierung>; <Bedingung>; <Iteration>) {...} while (<Bedingung>) {...} do {...} while (<Bedingung>); 8 Christian A. Mandery:

26 Kontrollstrukturen Sollten bereits aus Java (1. Semester) bekannt sein Bedingte Ausführung und Fallunterscheidung: if (<Bedingung>) {...} [else...] switch (<Ausdruck>) {case <Wert>:...; case <Wert>:...; default:...} Schleifen: for (<Initialisierung>; <Bedingung>; <Iteration>) {...} while (<Bedingung>) {...} do {...} while (<Bedingung>); 8 Christian A. Mandery:

27 Weitere Schlüsselwörter zur Kontrollflusssteuerung break: Innerste Schleife sofort verlassen continue: Nächsten Schleifendurchlauf sofort starten return: Funktion (ggf. mit Rückgabewert) sofort verlassen goto: Spärlich verwenden! 9 Christian A. Mandery:

28 Weitere Schlüsselwörter zur Kontrollflusssteuerung break: Innerste Schleife sofort verlassen continue: Nächsten Schleifendurchlauf sofort starten return: Funktion (ggf. mit Rückgabewert) sofort verlassen goto: Spärlich verwenden! 9 Christian A. Mandery:

29 Weitere Schlüsselwörter zur Kontrollflusssteuerung break: Innerste Schleife sofort verlassen continue: Nächsten Schleifendurchlauf sofort starten return: Funktion (ggf. mit Rückgabewert) sofort verlassen goto: Spärlich verwenden! 9 Christian A. Mandery:

30 Weitere Schlüsselwörter zur Kontrollflusssteuerung break: Innerste Schleife sofort verlassen continue: Nächsten Schleifendurchlauf sofort starten return: Funktion (ggf. mit Rückgabewert) sofort verlassen goto: Spärlich verwenden! 9 Christian A. Mandery:

31 Operatoren Arithmetische Operatoren: +, -, *, /, %, a++, ++a, a--, --a Logische Operatoren:!, ==,!=, <, >, >=, <=, &&, Bitweise Operatoren: &,, ˆ, <<, >>, Zuweisungsoperatoren: =, += (etc.), <<= (etc.), &= (etc.) Sonstiges: &, *, a?b:c 10 Christian A. Mandery:

32 Operatoren Arithmetische Operatoren: +, -, *, /, %, a++, ++a, a--, --a Logische Operatoren:!, ==,!=, <, >, >=, <=, &&, Bitweise Operatoren: &,, ˆ, <<, >>, Zuweisungsoperatoren: =, += (etc.), <<= (etc.), &= (etc.) Sonstiges: &, *, a?b:c 10 Christian A. Mandery:

33 Operatoren Arithmetische Operatoren: +, -, *, /, %, a++, ++a, a--, --a Logische Operatoren:!, ==,!=, <, >, >=, <=, &&, Bitweise Operatoren: &,, ˆ, <<, >>, Zuweisungsoperatoren: =, += (etc.), <<= (etc.), &= (etc.) Sonstiges: &, *, a?b:c 10 Christian A. Mandery:

34 Operatoren Arithmetische Operatoren: +, -, *, /, %, a++, ++a, a--, --a Logische Operatoren:!, ==,!=, <, >, >=, <=, &&, Bitweise Operatoren: &,, ˆ, <<, >>, Zuweisungsoperatoren: =, += (etc.), <<= (etc.), &= (etc.) Sonstiges: &, *, a?b:c 10 Christian A. Mandery:

35 Operatoren Arithmetische Operatoren: +, -, *, /, %, a++, ++a, a--, --a Logische Operatoren:!, ==,!=, <, >, >=, <=, &&, Bitweise Operatoren: &,, ˆ, <<, >>, Zuweisungsoperatoren: =, += (etc.), <<= (etc.), &= (etc.) Sonstiges: &, *, a?b:c 10 Christian A. Mandery:

36 Deklaration von Zeigern Zeiger sind wichtiges Konzept in C! Ein Zeiger ist eine Variable, deren Wert eine Speicheradresse ist Werden bei der Deklaration durch einen Stern gekennzeichnet Bei Deklaration angeben, auf welchen Datentyp er zeigen wird (Achtung: Keine Prüfung zur Laufzeit!) oder einen void-zeiger deklarieren Beispiele: int*, char*, char**, void** Häufig: int *a statt int* a int* a, b erzeugt einen Zeiger a und eine int-variable b! int *a, *b bzw. int *a, b sind besser lesbar 11 Christian A. Mandery:

37 Deklaration von Zeigern Zeiger sind wichtiges Konzept in C! Ein Zeiger ist eine Variable, deren Wert eine Speicheradresse ist Werden bei der Deklaration durch einen Stern gekennzeichnet Bei Deklaration angeben, auf welchen Datentyp er zeigen wird (Achtung: Keine Prüfung zur Laufzeit!) oder einen void-zeiger deklarieren Beispiele: int*, char*, char**, void** Häufig: int *a statt int* a int* a, b erzeugt einen Zeiger a und eine int-variable b! int *a, *b bzw. int *a, b sind besser lesbar 11 Christian A. Mandery:

38 Deklaration von Zeigern Zeiger sind wichtiges Konzept in C! Ein Zeiger ist eine Variable, deren Wert eine Speicheradresse ist Werden bei der Deklaration durch einen Stern gekennzeichnet Bei Deklaration angeben, auf welchen Datentyp er zeigen wird (Achtung: Keine Prüfung zur Laufzeit!) oder einen void-zeiger deklarieren Beispiele: int*, char*, char**, void** Häufig: int *a statt int* a int* a, b erzeugt einen Zeiger a und eine int-variable b! int *a, *b bzw. int *a, b sind besser lesbar 11 Christian A. Mandery:

39 Deklaration von Zeigern Zeiger sind wichtiges Konzept in C! Ein Zeiger ist eine Variable, deren Wert eine Speicheradresse ist Werden bei der Deklaration durch einen Stern gekennzeichnet Bei Deklaration angeben, auf welchen Datentyp er zeigen wird (Achtung: Keine Prüfung zur Laufzeit!) oder einen void-zeiger deklarieren Beispiele: int*, char*, char**, void** Häufig: int *a statt int* a int* a, b erzeugt einen Zeiger a und eine int-variable b! int *a, *b bzw. int *a, b sind besser lesbar 11 Christian A. Mandery:

40 Deklaration von Zeigern Zeiger sind wichtiges Konzept in C! Ein Zeiger ist eine Variable, deren Wert eine Speicheradresse ist Werden bei der Deklaration durch einen Stern gekennzeichnet Bei Deklaration angeben, auf welchen Datentyp er zeigen wird (Achtung: Keine Prüfung zur Laufzeit!) oder einen void-zeiger deklarieren Beispiele: int*, char*, char**, void** Häufig: int *a statt int* a int* a, b erzeugt einen Zeiger a und eine int-variable b! int *a, *b bzw. int *a, b sind besser lesbar 11 Christian A. Mandery:

41 Verwendung von Zeigern Mit dem Adressoperator (&) ermittelt man die Adresse einer Variable Mit dem Dereferenzierungsoperator (*) greift man auf die Speicherzelle zu, deren Adresse ein Zeiger enthält Nicht verwechseln: Stern bei der Deklaration vs. Stern als Dereferenzierungsoperator! Pfeil-Operator ( a->b ): Kurzschreibweise für (*a).b Aber: Wozu braucht man Zeiger überhaupt? 12 Christian A. Mandery:

42 Verwendung von Zeigern Mit dem Adressoperator (&) ermittelt man die Adresse einer Variable Mit dem Dereferenzierungsoperator (*) greift man auf die Speicherzelle zu, deren Adresse ein Zeiger enthält Nicht verwechseln: Stern bei der Deklaration vs. Stern als Dereferenzierungsoperator! Pfeil-Operator ( a->b ): Kurzschreibweise für (*a).b Aber: Wozu braucht man Zeiger überhaupt? 12 Christian A. Mandery:

43 Verwendung von Zeigern Mit dem Adressoperator (&) ermittelt man die Adresse einer Variable Mit dem Dereferenzierungsoperator (*) greift man auf die Speicherzelle zu, deren Adresse ein Zeiger enthält Nicht verwechseln: Stern bei der Deklaration vs. Stern als Dereferenzierungsoperator! Pfeil-Operator ( a->b ): Kurzschreibweise für (*a).b Aber: Wozu braucht man Zeiger überhaupt? 12 Christian A. Mandery:

44 Verwendung von Zeigern Mit dem Adressoperator (&) ermittelt man die Adresse einer Variable Mit dem Dereferenzierungsoperator (*) greift man auf die Speicherzelle zu, deren Adresse ein Zeiger enthält Nicht verwechseln: Stern bei der Deklaration vs. Stern als Dereferenzierungsoperator! Pfeil-Operator ( a->b ): Kurzschreibweise für (*a).b Aber: Wozu braucht man Zeiger überhaupt? 12 Christian A. Mandery:

45 Verwendung von Zeigern Mit dem Adressoperator (&) ermittelt man die Adresse einer Variable Mit dem Dereferenzierungsoperator (*) greift man auf die Speicherzelle zu, deren Adresse ein Zeiger enthält Nicht verwechseln: Stern bei der Deklaration vs. Stern als Dereferenzierungsoperator! Pfeil-Operator ( a->b ): Kurzschreibweise für (*a).b Aber: Wozu braucht man Zeiger überhaupt? 12 Christian A. Mandery:

46 Weiteres zu Zeigern Zeiger können wie andere C-Datentypen gecastet werden (schlechter Stil!) Im Unterschied zu Java-Referenzen keinerlei Schutzmechanismen: Keine Garantie, dass Zeiger auf deklarierten Typ zeigt Keine Garantie, dass Zeiger-Ziel aligned (ausgerichtet) ist Keine Garantie, dass Zeiger auf gültigen Speicher zeigt (Nullzeiger sind explizit erlaubt und werden gezielt eingesetzt) Was passiert, wenn man (im x86-protected Mode) auf ungültigen Speicher zugreift? 13 Christian A. Mandery:

47 Weiteres zu Zeigern Zeiger können wie andere C-Datentypen gecastet werden (schlechter Stil!) Im Unterschied zu Java-Referenzen keinerlei Schutzmechanismen: Keine Garantie, dass Zeiger auf deklarierten Typ zeigt Keine Garantie, dass Zeiger-Ziel aligned (ausgerichtet) ist Keine Garantie, dass Zeiger auf gültigen Speicher zeigt (Nullzeiger sind explizit erlaubt und werden gezielt eingesetzt) Was passiert, wenn man (im x86-protected Mode) auf ungültigen Speicher zugreift? 13 Christian A. Mandery:

48 Weiteres zu Zeigern Zeiger können wie andere C-Datentypen gecastet werden (schlechter Stil!) Im Unterschied zu Java-Referenzen keinerlei Schutzmechanismen: Keine Garantie, dass Zeiger auf deklarierten Typ zeigt Keine Garantie, dass Zeiger-Ziel aligned (ausgerichtet) ist Keine Garantie, dass Zeiger auf gültigen Speicher zeigt (Nullzeiger sind explizit erlaubt und werden gezielt eingesetzt) Was passiert, wenn man (im x86-protected Mode) auf ungültigen Speicher zugreift? 13 Christian A. Mandery:

49 Weiteres zu Zeigern Zeiger können wie andere C-Datentypen gecastet werden (schlechter Stil!) Im Unterschied zu Java-Referenzen keinerlei Schutzmechanismen: Keine Garantie, dass Zeiger auf deklarierten Typ zeigt Keine Garantie, dass Zeiger-Ziel aligned (ausgerichtet) ist Keine Garantie, dass Zeiger auf gültigen Speicher zeigt (Nullzeiger sind explizit erlaubt und werden gezielt eingesetzt) Was passiert, wenn man (im x86-protected Mode) auf ungültigen Speicher zugreift? 13 Christian A. Mandery:

50 Weiteres zu Zeigern Zeiger können wie andere C-Datentypen gecastet werden (schlechter Stil!) Im Unterschied zu Java-Referenzen keinerlei Schutzmechanismen: Keine Garantie, dass Zeiger auf deklarierten Typ zeigt Keine Garantie, dass Zeiger-Ziel aligned (ausgerichtet) ist Keine Garantie, dass Zeiger auf gültigen Speicher zeigt (Nullzeiger sind explizit erlaubt und werden gezielt eingesetzt) Was passiert, wenn man (im x86-protected Mode) auf ungültigen Speicher zugreift? 13 Christian A. Mandery:

51 Übungsaufgabe 1 1. Welche Datentypen wurden in der Vorlesung genannt und welche Werte können darin gespeichert werden? 2. Was ist bei diesen Datentypen zu beachten? 3. Wie legt man in C eine Variable von einem entsprechenden Datentyp an und weist dieser einen Wert zu? 14 Christian A. Mandery:

52 Übungsaufgabe 1 1. Welche Datentypen wurden in der Vorlesung genannt und welche Werte können darin gespeichert werden? 2. Was ist bei diesen Datentypen zu beachten? 3. Wie legt man in C eine Variable von einem entsprechenden Datentyp an und weist dieser einen Wert zu? 14 Christian A. Mandery:

53 Übungsaufgabe 1 1. Welche Datentypen wurden in der Vorlesung genannt und welche Werte können darin gespeichert werden? 2. Was ist bei diesen Datentypen zu beachten? 3. Wie legt man in C eine Variable von einem entsprechenden Datentyp an und weist dieser einen Wert zu? 14 Christian A. Mandery:

54 Übungsaufgabe 2 Welche Kontrollstrukturen sind in der Programmiersprache C verfügbar und wie werden diese verwendet? 15 Christian A. Mandery:

55 Übungsaufgabe 3 1. Wie wird ein Zeiger auf einen Datentyp in C deklariert? 2. Erklären Sie die folgenden Zeilen C-Code und was am Ende ausgegeben wird (erklären Sie dabei, welche Bedeutung die Zeichen & und * haben): int a = 12; int* p; p = &a; printf("p = %d, a = %d", p, *p); 16 Christian A. Mandery:

56 Übungsaufgabe 3 1. Wie wird ein Zeiger auf einen Datentyp in C deklariert? 2. Erklären Sie die folgenden Zeilen C-Code und was am Ende ausgegeben wird (erklären Sie dabei, welche Bedeutung die Zeichen & und * haben): int a = 12; int* p; p = &a; printf("p = %d, a = %d", p, *p); 16 Christian A. Mandery:

57 Übungsaufgabe 4 Erklären Sie die folgenden Zeilen C-Code und was nach dessen Ausführung in b steht: const int X = 2; const int Y = 4; int b[x][y] = { {0, 1, 2, 3}, {4, 5, 6, 7} }; for (int i = 0; i < X; ++i) { int* p = b[i]; for (int j = 0; j < Y; ++j) { *p = *p + 2; ++p; } } 17 Christian A. Mandery:

58 Fertig! Quelle: 18 Christian A. Mandery:

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),

Mehr

Die Programmiersprache C Eine Einführung

Die Programmiersprache C Eine Einführung Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert

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

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

Welche Informatik-Kenntnisse bringen Sie mit?

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

Mehr

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

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

Programmierung mit C Zeiger

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

Mehr

Die Programmiersprache C99: Zusammenfassung

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

Mehr

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

3. Anweisungen und Kontrollstrukturen

3. Anweisungen und Kontrollstrukturen 3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen

Mehr

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen

Mehr

Einführung in die Programmierung Wintersemester 2011/12

Einführung in die Programmierung Wintersemester 2011/12 Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while

Mehr

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Kontrollstrukturen Was sind Kontrollstrukturen Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

10 Die Programmiersprache C99: Zusammenfassung

10 Die Programmiersprache C99: Zusammenfassung 10 Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 25. September 2014, 18:40 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Programmiertechnik Kontrollstrukturen

Programmiertechnik Kontrollstrukturen Programmiertechnik Kontrollstrukturen Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben es, ein Programm nicht nur Zeile für Zeile auszuführen,

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

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

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

Mehr

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

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

Mehr

Moderne C-Programmierung

Moderne C-Programmierung Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Android-Apps Gegenüberstellung Delphi java

Android-Apps Gegenüberstellung Delphi java Android-Apps Gegenüberstellung 2/9 Grundsätzliches etc. Groß-/Kleinschreibung egal sensitiv! Zuweisung := = Kommentare // // { } /* */ Zeichenkettenbegrenzer: 'text' "text" Inkrementieren / Dekrementieren

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Sequenz (Aneinanderreihung von Anweisungen)

Mehr

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden

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

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1 Fachhochschule Stralsund Fachbereich Maschinenbau Lehrgebiet Informatik Prof. Dr.-Ing. Ch.Wahmkow Arbeitsblätter für die Lehrveranstaltung OOP I. Aufbau eines Java-Programmes JAVA 1 Escape-Sequenzen zur

Mehr

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010 Grundlagen der Programmierung Teil1 Einheit III - 22. Okt. 2010 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Einschub Bevor wir mit den

Mehr

Kurze Einführung in die Programmiersprache C++ und in Root

Kurze Einführung in die Programmiersprache C++ und in Root Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung

Mehr

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

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

Mehr

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

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

Mehr

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

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

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

C++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16

C++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16 C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung

Mehr

Einführung in die Programmierung Wintersemester 2008/09

Einführung in die Programmierung Wintersemester 2008/09 Einführung in die Programmierung Wintersemester 28/9 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Darstellung von Information Inhalt Einfache Datentypen

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

Mehr

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung

Beispiele für Ausdrücke. Der imperative Kern. Der imperative Kern. Imperativer Kern - Kontrollstrukturen. Deklarationen mit Initialisierung Beispiele für Ausdrücke Der imperative Kern Deklarationen mit Initialisierung Variablendeklarationen int i = 10; int j = 15; Beispiele für Ausdrücke i+j i++ i & j i j [] [static]

Mehr

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015 Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,

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

JAVA-Datentypen und deren Wertebereich

JAVA-Datentypen und deren Wertebereich Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).

Mehr

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

Einleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++ Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend

Mehr

ModProg 15-16, Vorl. 5

ModProg 15-16, Vorl. 5 ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8

Mehr

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18 C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die

Mehr

Hydroinformatik I: Synthese-Übung Sprachelemente

Hydroinformatik I: Synthese-Übung Sprachelemente Hydroinformatik I: Synthese-Übung Sprachelemente Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 29.

Mehr

Primitive Datentypen

Primitive Datentypen Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011 Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Organisatorisches Dozenten Gruppe: Ango (2.250),

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren

Themen. Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Themen Statische Methoden inline Methoden const Methoden this Zeiger Destruktor Kopierkonstruktor Überladen von Operatoren Statische Methoden Klassenmethoden Merkmal der Klasse nicht eines einzelnen Objekts

Mehr

Einführung in die Programmierung mit VBA

Einführung in die Programmierung mit VBA Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen

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

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan)

4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung 4-1 4.1 Anweisungen Ein Programm besteht

Mehr

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik

Programmieren I. Kontrollstrukturen Heusch 8 Ratz Institut für Angewandte Informatik Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen Neben der Aneinanderreihung von Anweisungen (Sequenz)

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

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben

Die for -Schleife HEUTE. Schleifen. Arrays. Schleifen in JAVA. while, do reichen aus, um alle iterativen Algorithmen zu beschreiben 18.11.5 1 HEUTE 18.11.5 3 Schleifen Arrays while, do reichen aus, um alle iterativen Algorithmen zu beschreiben Nachteil: Steuermechanismus ist verteilt Übersicht nicht immer leicht dazu gibt es for (

Mehr

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

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

Mehr

AuD-Tafelübung T-B5b

AuD-Tafelübung T-B5b 6. Übung Sichtbarkeiten, Rekursion, Javadoc Di, 29.11.2011 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit 3 Stack und Heap Stack Heap 4 Blatt 6 1 Blatt 5 2 OOP Klassen Static vs. Instanzen Sichtbarkeit

Mehr

8. Referenzen und Zeiger

8. Referenzen und Zeiger 8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen

Mehr

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8 Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen

Mehr

CEN1112 Labor Software-Entwicklung

CEN1112 Labor Software-Entwicklung Dipl.-Ing. (FH) Peter Bitterlich M.Sc. Joachim Storz Fakultät für Technik STUDIENGANG MEDIZINTECHNIK CEN1112 Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 3 C-Programmierung Vertiefung Wintersemester

Mehr

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de

Mehr

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte

Mehr

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-

Informatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik- Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik

Mehr

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009

Grundlagen der Programmierung Teil1 Einheit III Okt. 2009 Grundlagen der Programmierung Teil1 Einheit III - 23. Okt. 2009 GDP DDr. Karl D. Fritscher basierend auf der Vorlesung Grundlagen der Programmierung von DI Dr. Bernhard Pfeifer Ausdrücke & Anweisungen

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6

Mehr

Zusammenfassung des Handzettels für Programmieren in C

Zusammenfassung des Handzettels für Programmieren in C Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.

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

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

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung Berichte aus der Informatik Dieter Pawelczak Start in die C-Programmierung Shaker Verlag Aachen 2012 Inhaltsverzeichnis Inhaltsverzeichnis i 1 Einleitung 1 1.1 Umfeld und Aufbau des Buches 1 Die Programmiersprache

Mehr

Gestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen

Gestrige Themen. Benutzung des Compilers und Editors. Variablen. Ein- und Ausgabe mit cin, cout (C++) Verzweigungen. Schleifen 1 Gestrige Themen Benutzung des Compilers und Editors Variablen Ein- und Ausgabe mit cin, cout (C++) Verzweigungen Schleifen Ausdrücke 2 Themen heute Elementare Datentypen Zusatz zu Kontrollstrukturen

Mehr

Einführung in C#.NET. 1 Übersicht. 2 Typen (Types) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de)

Einführung in C#.NET. 1 Übersicht. 2 Typen (Types) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) Dieser Artikel stammt aus dem Magazin von C++.de (http://magazin.c-plusplus.de) Einführung in C#.NET 1. Übersicht 2. Typen 3. Enumerationen (Enums) 4. Felder (Arrays) 5. Boxing & Unboxing 6. Overflow Checks

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

Programmierung in C. Grundlagen. Stefan Kallerhoff

Programmierung in C. Grundlagen. Stefan Kallerhoff Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/

Mehr

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht:

Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: Aufgabe 1.90: Ein Geschäft gibt ihren Kunden unterschiedliche Rabatte. Schreiben ein Programm, das folgende Rabattklassen vorsieht: o Klasse 0: kein Rabatt o Klasse 1: 4,5 % Rabatt o Klasse 2: 8,75% Rabatt

Mehr

Multimedia im Netz Wintersemester 2011/12

Multimedia im Netz Wintersemester 2011/12 Multimedia im Netz Wintersemester 2011/12 Übung 01 Betreuer: Verantwortlicher Professor: Sebastian Löhmann Prof. Dr. Heinrich Hussmann Organisatorisches 26.10.2011 MMN Übung 01 2 Inhalte der Übungen Vertiefung

Mehr

Crashkurs: Von Java nach C

Crashkurs: Von Java nach C Crashkurs: Von Java nach C Motivation: C ist eine relativ alte Sprache, warum darf ich sie dennoch lernen? Es ist möglich hoch optimierten und damit schnellen Code zu erzeugen C Compiler existieren für

Mehr

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung

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

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Operatoren (1) Operatoren (2)

Operatoren (1) Operatoren (2) Operatoren (1) Binäre Operatoren + - * / % < = > & ^ > && Addition Subtraktion Multiplikation Division Divisionsrest Vergl. auf kleiner Vergl. auf kleiner oder gleich Vergl. auf gleich Vergl.

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert

Mehr

Programmieren I. Kapitel 5. Kontrollfluss

Programmieren I. Kapitel 5. Kontrollfluss Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken 4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung

Mehr

Übersicht Programmablaufsteuerung

Übersicht Programmablaufsteuerung Übersicht Programmablaufsteuerung Konditionale Verzweigung: if - else switch-anweisung Schleifenkonstrukte: while, do - while for Schleife Sprung-Anweisungen: break, continue, goto, return Anweisungen

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

Hello world. Sebastian Dyroff. 21. September 2009 Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung

Mehr