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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 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 R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 1 / 32

2 Überblick: Typen und Datentypen in der Programmiersprache C Überblick: Typen in der Programmiersprache C Laut den ANSI/ISO Standards gibt es in C drei Klassen von Typen: Objekt-Typen ( = Daten-Typen): Datentypen, z.b. int, beschreiben Variablen, z.b. int a; Funktionstypen: Funktions-Prototypen wie etwa int f (void), dienen der Vorwärts-Deklaration von Funktionen (falls zyklische Abhängigkeiten zwischen Funktionen existieren) unvollständige Typen (void): Typ void bezeichnet eine leere Menge und wird bspw. verwendet, wenn eine Funktion keinen Rückgabe-Wert oder keine Übergabe-Parameter hat. Im Folgenden: Elementare Datentypen R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 2 / 32

3 Elementare Datentypen in der Programmiersprache C Elementare (einfache) Datentypen der Programmiersprache C (1) Die elementaren Datentypen von C: Ganzzahlige Typen (char, int) unterschiedliche Genauigkeiten für int durch voranstellen von: short, long, long long; auch noch von signed und unsigned. Gleitpunkt-Typen (float einfache Genauigkeit ; double doppelte Genaunigkeit) long kann double vorangestellt werden. Aufzählungstypen bilden zusammen mit den Ganzzahligen Typen die Klasse der Integer-Typen. Der Datentyp (einer Variablen) legt die Darstellung einer Variablen durch den Compiler fest. Durch diese Darstellung wird festgelegt: Speicherbedarf (durch wieviele Bits wird Variable repräsentiert?) Wertebereich Genauigkeit (bei Gleitpunkt-Typen). R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 3 / 32

4 Elementare Datentypen in der Programmiersprache C Einfache arithmetische Datentypen der Programmiersprache C (1) Datentyp Verwendung Wertebereich Größe char unsigned char int unsigned int float double long double kleine natürliche Zahl mit Vorzeichen oder Zeichen kleine natürl. Zahl ohne Vorzeichen Byte Byte natürliche Zahl Byte natürliche Zahl ohne Vorzeichen Byte Dezimalzahl 3.4e + / 38 (7-stellig) 4 Byte Dezimalzahl 1.7e + / Byte (15-stellig) Dezimalzahl 1.1e + / Byte Größenangaben : abhängig von verwendeter Computerachitektur; Angaben gelten für die (noch) üblichen 32-Bit Architekturen. Zusätzliche Varianten an Ganzzahl-Typen: signed / unsigned : möglich mit char und int short : möglich mit int long : möglich mit int und double R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 4 / 32

5 Elementare Datentypen in der Programmiersprache C Elementare (einfache) Datentypen der Programmiersprache C (2) Allgemein muss die folgende Ungleichung gelten: char <= short int <= int <= long int <= long long int float <= double <= long double Die in der Implementierung tatsächlich verwendeten Größen befinden sich in: <limits.h> und <float.h>. R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 5 / 32

6 Ganzzahl Datentypen Ganzzahl-Datentyp: int mit Variationen (short, long, long long; signed, unsigned) R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 6 / 32

7 Ganzzahl Datentypen 2-er Komplement-Repräsentation von vorzeichenbehafteten Ganzzahlen Feststellung: nsymmetrischen Wertebereiche für positive und negative Bereiche: z.b. short mindest und typische Bitanzahl 16 Wertebereich: ( ) 2er-Komplement Repräsentation von negativen Ganzzahl-Werten Warum 2er-Komplement-Bildung? Motto statt b von a zu subtrahieren, addiere die Negation von b zu a! 2er-Komplement-Bildung: Negation einer Zahl: Invertiere zunächst ihre Binärdarstellung und addiere anschließend den Wert 1 hinzu! z.b. der Zahl 2: binär: : erst alle Bits invertieren: , dann addiere eine 1: Ergebnis: ( = 2 ). R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 7 / 32

8 Ganzzahl Datentypen 2-er Komplement-Repräsentation von vorzeichenbehafteten Ganzzahlen Beispiel 1: Rechnen in 2er-Komplement-Repräsentation: Subtraktion #include <stdio.h> int main(void) { short a = 50; /* short-zahlen: a,b,c */ short b = 500; /* also 16 Bit-Zahlen */ short c; /* => */ } c = a - b; printf("%i", c); /* Ausgabe: -450,wie erwartet */ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 8 / 32

9 Ganzzahl Datentypen 2-er Komplement-Repräsentation von vorzeichenbehafteten Ganzzahlen Beispiel 2: Rechnen in 2er-Komplement-Repräsentation: Multiplikation mit negativem Multiplikator #include <stdio.h> int main(void) { short a = 50; /* short-zahlen: a,b,c */ short b = -500; /* also 16 Bit-Zahlen */ short c; /* => */ } c = a * b; printf("%i", c); /* Ausgabe: ,wie erwartet */ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 9 / 32

10 Ganzzahl Datentypen Ganzzahl-Arithmetik: Über- oder Unterlauf gefährdet! Beispiel 3: Rechnen in 2er-Komplement-Repräsentation: Multiplikation mit Überlauf = ; als Multiplikation auf short-größen: Ergebnis Überlauf! #include <stdio.h> int main(void) { short a = 50; /* short-zahlen: a,b,c */ short b = 1000; /* also 16 Bit-Zahlen */ short c; /* => */ } c = a * b; printf("%i", c); /* Ausgabe: statt !*/ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 10 / 32

11 Ganzzahl Datentypen Ganzzahl-Arithmetik: Über- oder Unterlauf gefährdet! Beispiel 4: Rechnen in 2er-Komplement-Repräsentation: Multiplikation mit Überlauf = ; als Multiplikation auf short-größen: Ergebnis Überlauf! #include <stdio.h> int main(void) { short a = 50; /* short-zahlen: a,b,c */ short b = -1000; /* also 16 Bit-Zahlen */ short c; /* => */ } c = a * b; printf("%i", c); /* Ausgabe: statt !*/ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 11 / 32

12 Ganzzahl Datentypen Ganzzahl-Bereiche in C-Compilern (1) Neben der 2er-Komplement-Repräsentation gibt es noch zwei weitere Verfahren, um Zahlen zu negieren; beide werden ebenfalls vom C-Standard für Compiler akzeptiert: Einer-Komplement-Repräsentation: wie bei 2er-Komplement beim Negieren werden alle Bits invertiert, aber keine 1 mehr hinzuaddiert. Zahlenbereich: Zahlenbereich reduziert sich um 1 ( entfällt) ferner: 2 verschiedene Zahlen für Wert 0: +0( ) und 0(FFFF 8 ). R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 12 / 32

13 Ganzzahl Datentypen Ganzzahl-Bereiche in C-Compilern (2) Vorzeichen-Wert-Repräsentation: beim Negieren wird nur Vorzeichen-Bit invertiert, alle restlichen Bits unverändert. ebenfalls: Zahlenbereich: Zahlenbereich reduziert sich um 1 ( entfällt) ebenfalls: 2 verschiedene Zahlen für Wert 0: +0( ) und 0( ). ins Compiler-Handbuch schauen, ob diese Repräsentationen grundsätzlich eingesetzt werden oder per Compiler-Option verfügbar! R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 13 / 32

14 Ganzzahl Datentypen Auch reine Positiv-Ganzzahl-Arithmetik Überlauf gefährdet Um das Schlüsselwort unsigned werden Ganzzahl-Typen gekennzeichnet, dass es sich um rein positive Zahlen handelt. Vorzeichen-Bit nicht mehr benötigt dafür größerer (positiver) Zahlenbereich möglich: , , Auch die unsigned Ganzzahl-Typen sind Überlauf gefährdet: Beispiel 5: fehlerhafter Wert 4464 in die Ausgabe! #include <stdio.h> int main(void) { unsigned short a = 70; /* short-zahlen: a,b,c */ unsigned short b = 1000; /* also 16 Bit-Zahlen */ unsigned short c; /* => */ } c = a * b; printf("%i", c); /* Ausgabe: 4464 statt !*/ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 14 / 32

15 Ganzzahl-Datentyp: char Ganzzahl-Datentyp: char und (Variationen: signed, unsigned) R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 15 / 32

16 Ganzzahl-Datentyp: char Der Ganzzahl-Typ char (1) Obgleich das Wort char Abkürzung für character (Schriftzeichen) auf einen Zeichen-Typ hinweist: es ist ein Ganzzahl-Typ! aber meist benutzt, um die Zeichen eines (7-Bit oder 8-Bit) Zeichensatzes zu repräsentieren (kodieren), z.b. ASCII-Zeichensatz. Größe einer Variablen vom Typ char, signed char und unsigned char : 1 Byte ( i.a. 8 Bit ( es könnten aber auch mehr Bits sein, bspw. 16!). Es ist Compiler-abhängig, ob char dem Datentyp unsigned char oder signed char entspricht! Datentyp eignet sich somit zur Darstelllung und Verarbeitung von ganzen Zahlen in einem kleinen Wertebereich: unsigned char: ; signed char: ! R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 16 / 32

17 Ganzzahl-Datentyp: char Der Ganzzahl-Typ char (2) Beispiel: char-typ basierte, übliche Arithmetik: wie erwartet: Multplikationsergebnis: -60 #include <stdio.h> int main(void) { signed char a = 20; /* char-zahlen: a,b,c */ signed char b = -3; /* also 8 Bit-Zahlen */ signed char c; /* => */ } c = a * b; printf("%i", c); /* Ausgabe: 60 wie erwartet */ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 17 / 32

18 Ganzzahl-Datentyp: char Der Ganzzahl-Typ char (3) Wie alle Ganzzahl-Typen: Variablen der Typen char, signed char und unsigned char sind Überlauf gefährdet! Beispiel: Überlauf für signed char Typ Arithmetik: nicht wie erwartet: sondern fehlerhaftes Ergebnis: -88. #include <stdio.h> int main(void) { signed char a = 20; /* char-zahlen: a,b,c */ signed char b = -30; /* also 8 Bit-Zahlen */ signed char c; /* => */ } c = a * b; printf("%i", c); /* Ausgabe: -88; erwartet: -600 */ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 18 / 32

19 Ganzzahl-Datentyp: char Der Ganzzahl-Typ char (4) Allerdings übliche Benutzung des Typs char: Aufnehmen einer Zeichen-Kodierung: aber meist benutzt, um die Zeichen eines Zeichensatzes in einer (7-Bit oder 8-Bit) Zeichenkodierung zu repräsentieren; Zeichen sind Buchstaben wie a, B, C, d, Ziffernzeichen wie 8, 4, 6 und Sonderzeichen wie ;,.! sowie weitere Zeichen (etwa Steuerzeichen). eine Variable des Datentyp char nimmt wegen der 1-Byte-Größe genau 1 Zeichenkodierung auf mit dem Datentyp char lassen sich höchstens 256 verschiedene Zeichenkodierungen repräsentieren R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 19 / 32

20 Ganzzahl-Datentyp: char Der Ganzzahl-Typ char (5) C-Standard: nimmt als primäre Zeichenkodierung ASCII an mit ASCII: die ersten 128 Zeichen international festgelegt; während die restlichen 128 regionale unterschiedliche Bedeutungen haben. ASCII-Codierung einiger Zeichen: Ziffer : 48 D D, Grossbuchstaben A... Z: 65 D D, Kleinbuchstaben a... z: 97 D D Wie im Abschnitt über Konstanten in der Programmiersprache gezeigt: konstante Zeichen: in Hochkommata einschließen: z.b. 'Z' R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 20 / 32

21 Ganzzahl-Datentyp: char Der Ganzzahl-Typ char (5) Beipiel: Ausgabe eines Zeichens statt Ganzzahl: #include <stdio.h> int main(void) { char c = Z ; /* char-zeichen: Z */ } printf("%c", c); /* Ausgabe: Z, wie erwartet */ return 0; R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 21 / 32

22 Ganzzahl-Datentyp: char Typ char: Interpretation, ob Zahl oder Zeichen? (1) Merke: Interpretation, ob der Inhalt einer Variablen des Typs char eine Zahl oder ein Zeichen ist, hat in C durch den Anwender zu erfolgen! Die beiden letzten Programm-Beispiele zeigen, wie es z.b. für die Ausgabe geht: Wert 90 einer char-variablen als Zahl in Dezimalnotation ausgeben: gib bei printf() das Format-Element %d an! Wert 90 einer char-variablen als Zeichen ('Z') ausgegeben: gib bei printf() das Format-Element %c an! R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 22 / 32

23 Ganzzahl-Datentyp: char Typ char: Interpretation, ob Zahl oder Zeichen? (1) Interpretative Spielraum, ob Zahl oder Zeichen, in der C-Programmierung ausnutzbar: Beispiel: Zeichen '0',... '9' werden durch dezimale Werte 48 D D kodiert (ASCII) häufig will man wissen: wurde eine Ziffer über die Tastur eingegeben? Hier ein mühsamer Versuch: #include <stdio.h> int main(void) { signed char ezei; /* char fuer Eingabe */ ezei = getchar(); /* einn Zeichen von Tastur */ if (ezei== 0 ) /* Ziffer 0 eingegeben*/ {...} else if (ezei== 1 ) /* Ziffer 1 eingegeben */ else... else /* Ziffer 9 eingegeben */... } R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 23 / 32

24 Ganzzahl-Datentyp: char Typ char: Interpretation, ob Zahl oder Zeichen? (2) Beispiel (Forts.) Interessiert Tatsache: Wurde (irgendeine) Ziffer eingegeben?, so geht es in C einfacher: #include <stdio.h> int main(void) { signed char ezei; /* char fuer Eingabe */ ezei = getchar(); /* einn Zeichen von Tastur */ if (( 0 <=ezei) && (ezei<= 9 )) } {...} /* Ziffer eingegeben */ else {...} /* keine Ziffer eingegeben */... R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 24 / 32

25 Ganzzahl-Datentyp: char Typ char: Interpretation, ob Zahl oder Zeichen? (3) Beispiel (Forts.) Falls allerdings Interesse: Welche Ziffer wurde eingegeben? Dann geht das in C etwa so: #include <stdio.h> int main(void) { signed char ezei; /* char fuer Eingabe */ ezei = getchar(); /* einn Zeichen von Tastur */ } switch ( ezei - 0 ) { case 0 : /* Ziffer 0 eingegeben */ break; case 1 : /* Ziffer 1 eingegeben */ break;... case 9 : /* Ziffer 9 eingegeben */ break; default: /* keine Ziffer eingegeben! */ break; }... R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 25 / 32

26 Ganzzahl-Datentyp: char Ganzzahl-Datentyp: logischer Datentyp (ab C99: _Bool!) R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 26 / 32

27 Ganzzahl-Datentyp: char Logische Datentype in C: vor C99 und nach C99 (1) Vor C99: Es gab keinen direkten logischen Datentyp! Statt dessen: logische Werte wurden vom Programmierer durch ganze Zahlen dargestellt; logische Operatoren (!, &&, ) bzw. logische Ausdrücke (z.b. a < b) gab es in C schon! Das Ergebnis logischer Auswertungen?: z.b. eine Bedingung in if-anweisung? eine ganze Zahl ungleich Null = logischer Wert wahr eine ganze Zahl gleich Null = logischer Wert false R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 27 / 32

28 Ganzzahl-Datentyp: char Logische Datentype in C: vor C99 und nach C99 (2) Beispiel: #include <stdio.h> int main(void) { int a = 20, b; /* a, b repr. boolesche Werte * b =!a; /* 0 (=falsch) fuer b, da "a ungleich 0" (=wahr) ist */ a =!b; /* 1 (=wahr) fuer a, da "b gleich 0" (=falsch) ist */ if ( b ) printf("b: true\n"); else printf("b: false\n"); if ( a ) printf("a: true\n"); else printf("a: false\n"); return 0; } Ausgabe bestätigt dies: b: false a: true R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 28 / 32

29 Ganzzahl-Datentyp: char Logische Datentype in C: vor C99 und nach C99 (2) Seit C99: Ein logischer Datentyp in C eingeführt: (Schlüsselwort) _Bool; aber auch diese Datentyp ist ein Ganzzahl-Typ: allerdings nur die Zahlen 0 und 1 ins seinem Wertebereich: 0 für false und 1 für true. Zusätzlich eingeführt: Header-Datei stdbool.h : definiert bool als Datentyp _Bool; Konstante false als 0 und true als 1; gcc (in den aktuellen Versionen) implementiert den C-Datentyp _Bool. R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 29 / 32

30 Ganzzahl-Datentyp: char Logische Datentype in C: vor C99 und nach C99 (3) Beispiel: #include <stdio.h> #include <stdbool.h> int main(void) { bool a = true, b; /* bool ist _Bool! */ b =!a; if ( b ) printf("b: true (%d)\n",b); else printf("b: false (%d)\n",b); if ( a ) printf("a: true (%d)\n",a); else printf("a: false (%d)\n",a); return 0; } Ausgabe bestätigt dies: b: false (0) a: true (1) R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 30 / 32

31 Gleitpunkt Datentypen Gleitpunkt-Datentypen: float und double (long double) R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 31 / 32

32 Gleitpunkt Datentypen Gleitpunkt-Typen Gleitpunkt-Typen: einfacher Genauigkeit: float ( 4 Bytes in der Regel); doppelte Genauigkeit: double ( 8 Bytes in der Regel), long double (10 Bytes in der Regel) Darstellung reeller Zahlen in Form Mantisse und Exponent Später mehr! R. Spurk (Informatik) Datentypen in der Programmiersprache C WS08/09 32 / 32

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

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:

Mehr

2 Einfache Rechnungen

2 Einfache Rechnungen 2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,

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

Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen

Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen Einheit Variablen in der Programmiersprache C Variablen-Modell, Variablen-Vereinbarungen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik R.

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

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden Javaprogrammierung mit NetBeans Variablen, Datentypen, Methoden Programmieren 2 Java Bezeichner Bezeichner: Buchstabe _ $ Buchstabe _ $ Ziffer Groß- und Kleinbuchstaben werden strikt unterschieden. Schlüsselwörter

Mehr

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow zietlow@informatik.uni-tuebingen.de Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

Das Rechnermodell - Funktion

Das Rechnermodell - Funktion Darstellung von Zahlen und Zeichen im Rechner Darstellung von Zeichen ASCII-Kodierung Zahlensysteme Dezimalsystem, Dualsystem, Hexadezimalsystem Darstellung von Zahlen im Rechner Natürliche Zahlen Ganze

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

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

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

Entscheidungen und Wertkonstanten

Entscheidungen und Wertkonstanten Entscheidungen und Wertkonstanten Die Entscheidungen, die ein Programm fällen kann, basieren immer auf einer einfachen Ja/Nein- Aussage. Unabhänig davon wieviel künstliche Intelligenz ein Programm besitzt,

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

Programmieren in C Einführung

Programmieren in C Einführung Programmieren in C Einführung Aufbau eines Programms Einfache Programme Datentypen und Vereinbarungen Das Entwicklungswerkzeug Seite Einfache Programme Kugeltank-Berechnung #include void main

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

Ü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

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

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

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

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

Mehr

620.900 Propädeutikum zur Programmierung

620.900 Propädeutikum zur Programmierung 620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt Andreas.Bollin@uni-klu.ac.at Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe

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

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.

Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende. PROGRAMMIEREN IN C - EIN KURZÜBERBLICK 1 Programmieren in C -- ALLE Programmiersprachen sind HÄSSLICH -- Die einfachste Programmstruktur: main () -- was zu tun ist --- Vorgeordnete Definitionen: # include

Mehr

C Überlebenstraining

C Überlebenstraining C Überlebenstraining Dies ist nur ein Schnellkurs in C, der genug Einstiegswissen vermitteln soll, daß weiterführende Literatur schnell benutzt werden kann. Dies ist kein vollständiger Programmier oder

Mehr

Numerische Datentypen. Simon Weidmann

Numerische Datentypen. Simon Weidmann Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die

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

Das Maschinenmodell Datenrepräsentation

Das Maschinenmodell Datenrepräsentation Das Maschinenmodell Datenrepräsentation Darstellung von Zahlen/Zeichen in der Maschine Bit (0/1) ist die kleinste Informationseinheit Größere Einheiten durch Zusammenfassen mehrerer Bits, z.b. 8 Bit =

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär

Zahlensysteme. Digitale Rechner speichern Daten im Dualsystem 435 dez = 1100110011 binär Zahlensysteme Menschen nutzen zur Angabe von Werten und zum Rechnen vorzugsweise das Dezimalsystem Beispiel 435 Fische aus dem Teich gefischt, d.h. 4 10 2 + 3 10 1 +5 10 0 Digitale Rechner speichern Daten

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement

1. 4-Bit Binärzahlen ohne Vorzeichen 2. 4-Bit Binärzahlen mit Vorzeichen 3. 4-Bit Binärzahlen im 2er Komplement 4. Rechnen im 2er Komplement Kx Binäre Zahlen Kx Binäre Zahlen Inhalt. Dezimalzahlen. Hexadezimalzahlen. Binärzahlen. -Bit Binärzahlen ohne Vorzeichen. -Bit Binärzahlen mit Vorzeichen. -Bit Binärzahlen im er Komplement. Rechnen im

Mehr

Einführung in die Programmierung II. 2. Fundamentale Datentypen, Ausdrücke

Einführung in die Programmierung II. 2. Fundamentale Datentypen, Ausdrücke Einführung in die Programmierung II 2. Fundamentale Datentypen, Ausdrücke Stefan Zimmer 3. 5. 2006-1- Objekte im Speicher Ein Objekt ist für uns zunächst einfach ein fester Bereich im Speicher unseres

Mehr

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.

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

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

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14

1 Dualsystem Dualzahlen mit Vorzeichen 4. 2 Hexadezimalsystem Hexadezimalzahlen mit Vorzeichen Oktalsystem 13 4 Zahlenring 14 Zahlensysteme Inhalt: 1 Dualsystem 1 1.1 Dualzahlen mit Vorzeichen 4 2 Hexadezimalsystem 8 2.1 Hexadezimalzahlen mit Vorzeichen 10 3 Oktalsystem 13 4 Zahlenring 14 Definition: Ein polyadisches Zahlensystem

Mehr

Primitive Datentypen und Felder (Arrays)

Primitive Datentypen und Felder (Arrays) Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste

Mehr

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

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

Mehr

16. März 2016 artb5-v1.1

16. März 2016 artb5-v1.1 C 16. März 2016 artb5-v1.1 Inhaltsverzeichnis C 2 Was ist ein Programm?........................ 2 Was ist C?............................... 3 Grundgerüst - Hallo Welt....................... 3 Tools und

Mehr

Algorithmen am Beispiel Java I www.java.com/de

Algorithmen am Beispiel Java I www.java.com/de Algorithmen am Beispiel Java I www.java.com/de Entwicklungsumgebung: JDK 6.1.0 empfohlener Editor : http://notepad-plus.sourceforge.net/de/site.htm Download Java SE Runtime Environment (deutsch): http://www.soft-ware.net/add.asp?url=http%3a%2f%2fjava-runtime-environment.software.net%2fdownload2.asp%3fcode%3djbibb%26pro%3dp02231

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

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

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean

Noch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean 01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2

Mehr

Ein erstes Java-Programm

Ein erstes Java-Programm Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println

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

Prinzipieller Grundaufbau eines einfachen C-Programmes

Prinzipieller Grundaufbau eines einfachen C-Programmes Prinzipieller Grundaufbau eines einfachen C-Programmes C unterscheidet zwischen Groß- und Kleinschreibung! Siehe zu den folgenden Erklärungen auch das Programm am Ende der nächsten Seite. Am Anfang aller

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

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

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

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet

Mehr

2 Darstellung von Zahlen und Zeichen

2 Darstellung von Zahlen und Zeichen 2.1 Analoge und digitale Darstellung von Werten 79 2 Darstellung von Zahlen und Zeichen Computer- bzw. Prozessorsysteme führen Transformationen durch, die Eingaben X auf Ausgaben Y abbilden, d.h. Y = f

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann

Mehr

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen

Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Java Kurs für Anfänger Einheit 2 Datentypen und Operationen Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 16. Mai 2009 Inhaltsverzeichnis

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

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

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

Mehr

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows

Übersicht. Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Übersicht Race Conditions Buffer Overflows Heap Overflows Exkurs: Stackaufbau bei Intel x86 Exkurs: Shellcode Stack Overflows Integer Overflows Format-String-Angriffe (SQL) Injection Cross Site Scripting

Mehr

Informatik: Abschnitt 4

Informatik: Abschnitt 4 Informatik: Abschnitt 4 Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral

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

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

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Das Rechnen in Zahlensystemen zur Basis b=2, 8, 10 und 16 Prof. Dr. Nikolaus Wulff Zahlensysteme Neben dem üblichen dezimalen Zahlensystem zur Basis 10 sind in der Informatik

Mehr

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung

1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung 1. Grundlagen der Informatik Zahlensysteme und interne Informationsdarstellung Inhalt Grundlagen digitaler Systeme Boolesche Algebra / Aussagenlogik Organisation und Architektur von Rechnern Algorithmen,

Mehr

Objective-C CheatSheet

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

Mehr

Repräsentation von Daten Binärcodierung ganzer Zahlen

Repräsentation von Daten Binärcodierung ganzer Zahlen Kapitel 3: Repräsentation von Daten Binärcodierung ganzer Zahlen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Repräsentation von Daten im Computer (dieses und nächstes

Mehr

Einführung in die Programmierung Hello World, Typen & Variablen, Arithmetik. Arvid Terzibaschian

Einführung in die Programmierung Hello World, Typen & Variablen, Arithmetik. Arvid Terzibaschian Hello World, Typen & Variablen, Arithmetik Arvid Terzibaschian Ablaufplan wöchentliche Vorlesung + Übung Prüfung am Ende des Semester (siehe Abstimmung) http://www.doodle.com/vtcqm9k8b7q57bx8 Achtung:

Mehr

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert Binäre Repräsentation von Information Bits und Bytes Binärzahlen ASCII Ganze Zahlen Rationale Zahlen Gleitkommazahlen Motivation Prinzip 8 der von-neumann Architektur: (8) Alle Daten werden binär kodiert

Mehr

Modellierung und Programmierung

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

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen

Mehr

Computerarithmetik ( )

Computerarithmetik ( ) Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur

Mehr

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 2 Grundlegende Konzepte. Xiaoyi Jiang Informatik I Grundlagen der Programmierung Kapitel 2 Grundlegende Konzepte 1 2.1 Zahlensysteme Römisches System Grundziffern I 1 erhobener Zeigefinger V 5 Hand mit 5 Fingern X 10 steht für zwei Hände L 50 C 100 Centum heißt Hundert D 500 M 1000

Mehr

Objektorientierte Programmierung OOP Programmieren mit Java

Objektorientierte Programmierung OOP Programmieren mit Java Objektorientierte Programmierung OOP Programmieren mit Java 5.1 Elementare Anweisungen 5.1.1 Ausdrucksanweisung 5.1.2 Leere Anweisung 5.1.3 Blockanweisung 5.1.4 Variablendeklaration 5.2 Bedingungen 5.2.1

Mehr

Objektorientiertes Programmieren für Ingenieure

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

Mehr

5 Grundlagen der Java-Syntax

5 Grundlagen der Java-Syntax 5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten

Mehr

Modellierung und Programmierung

Modellierung und Programmierung Modellierung und Programmierung Dr. Martin Riplinger 24.10.2012 IAM Institut für Angewandte Mathematik Literatur: Internet Skripte Erik Wallacher: Vorlesungsskript Modellierung/Programmierung Gerald Kempfer:

Mehr

Kurzeinführung in C. Johannes J. Schneider 27.10.2004

Kurzeinführung in C. Johannes J. Schneider 27.10.2004 Kurzeinführung in C Johannes J. Schneider 27.10.2004 1 Einleitung C ist eine in vielen Bereichen sehr häufig verwendete Programmiersprache, die von der Betriebssystemprogrammierung bis hin zur Programmierung

Mehr

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT

MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG BIT LV-Nr. 439.026 SS2007 1 Datendefinitionen b) Unterteilung nach Typen: (Teil 2) void leer Pointer 2/4 Bytes Adresse von Objekten Arrays bei allen Datentypen

Mehr

Einführung in C. Kammerer. Einführung in C. Roland Kammerer. Institut für Technische Informatik Technische Universität Wien. 3. & 4.

Einführung in C. Kammerer. Einführung in C. Roland Kammerer. Institut für Technische Informatik Technische Universität Wien. 3. & 4. Einführung in C Roland Institut für Technische Informatik Technische Universität Wien 3. & 4. Oktober 2011 Einleitung Historisches Warum C? Standards Erste Schritte Teil I Einleitung Historisches Einleitung

Mehr

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B.

C allgemein. C wurde unter und für Unix entwickelt. Vorläufer sind BCPL und B. C-Crash-Kurs Eine kurze, keinesfalls erschöpfende Einführung in die Sprache C für Studierende, die eine strukturierte imperative Programmiersprache beherrschen. Die Vorstellung erfolgt am Beispiel von

Mehr

C++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226

C++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226 Sommer Semester 2016 C++ Einführung 10.4-14.4.2016 14:00 17:00 CIP Pool INF 226 und Datenanalyse mit ROOT Jörg Marks, Physikalisches Institut, INF 226 marks@physi.uni-heidelberg.de Inhalt Programmierwerkzeuge

Mehr

Grundlagen der Informatik I (Studiengang Medieninformatik)

Grundlagen der Informatik I (Studiengang Medieninformatik) Grundlagen der Informatik I (Studiengang Medieninformatik) Thema: 3. Datentypen, Datenstrukturen und imperative Programme Prof. Dr. S. Kühn Fachbereich Informatik/Mathematik Email: skuehn@informatik.htw-dresden.de

Mehr

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

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

Mehr

4.2 Basisdatentypen und einfache Anweisungen

4.2 Basisdatentypen und einfache Anweisungen Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Pointern

Mehr

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife

Praktikum Ingenieurinformatik. Termin 2. Verzweigungen (if-else), printf und scanf, while-schleife Praktikum Ingenieurinformatik Termin 2 Verzweigungen (if-else), printf und scanf, while-schleife 1 1. Import/Export von Projekten 2. Verzweigungen (if-else-anweisung) 3. printf und scanf 4. Übungsaufgaben

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

Binäre Gleitkommazahlen

Binäre Gleitkommazahlen Binäre Gleitkommazahlen Was ist die wissenschaftliche, normalisierte Darstellung der binären Gleitkommazahl zur dezimalen Gleitkommazahl 0,625? Grundlagen der Rechnerarchitektur Logik und Arithmetik 72

Mehr

Workshop: ASURO-Programmieren in C

Workshop: ASURO-Programmieren in C Workshop: ASURO-Programmieren in C / Teil 1: Theorie Workshop: ASURO-Programmieren in C Teil 1: Theorie Markus Becker http://mbecker-tech.de Bürgernetz Ingolstadt e. V. / ByteWerk Stand: 1. Mai 2010 Copyright:

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Teil II Speicherung und Interpretation von Information Seite 1 Speicherung und Interpretation von Information Beginn der Datenverarbeitung => Erfindung von Zahlensystemen Quantifizierung

Mehr

Vom Problem zum Programm

Vom Problem zum Programm Vom Problem zum Programm Zahlendarstellung - Konvertierung Dezimal Dual/Binär Oktal Hexadezimal Einer-/Zweierkomplement Einfache Standard-Datentypen Integer Real Character Darstellung im Speicher Aussagenlogik

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

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte

4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte 4. Datentypen Einleitung Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Konversion / Type-Cast Datentyp von Literalen Operatoren Ausdrücke Allgemeine Informatik 2 SS09

Mehr

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen

Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Großübung 1: Zahlensysteme Repräsentation von Daten: Binär-, Oktal- u. Hexadezimalcodierung von ganzen und rationalen Zahlen Lehrender: Dr. Klaus Richter, Institut für Informatik; E-Mail: richter@informatik.tu-freiberg.de

Mehr

Lösungsvorschlag zur 9. Übung

Lösungsvorschlag zur 9. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 9. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der folgenden Aussagen über

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und

Mehr

Programmiertechnik Skalare Typen,Variablen, Zuweisungen

Programmiertechnik Skalare Typen,Variablen, Zuweisungen Programmiertechnik Skalare Typen,Variablen, Zuweisungen Prof. Dr. Oliver Haase int i; long j; boolean isempty; double average; char naechsteszeichen; j = 42L; i = (int) j; isempty = true; average = 37.266;

Mehr

Rechnerorganisation Tutorium Nr. 1

Rechnerorganisation Tutorium Nr. 1 Rechnerorganisation Tutorium Nr. 1 Tutorium 3 Nicholas Kjär - uadnm@student.kit.edu 20. April 2015 INSTITUT FÜR INFORMATIK KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

5.4 Klassen und Objekte

5.4 Klassen und Objekte 5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen

Mehr

Prinzipielle Ausführungsvarianten I

Prinzipielle Ausführungsvarianten I Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Unser erstes Java Programm AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 39 Hello World!

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Zahldarstellung und Rundungsfehler Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Überblick 2 Darstellung ganzer Zahlen,

Mehr