Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften"

Transkript

1 Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 2: Numerische Datentypen und Verwendung von Variablen Patrick Schreier Abteilung für Angewandte Mathematik Vorlesung vom 22. April 2013

2 Gliederung

3 Berechnung der Quadratwurzel Quelltext (Quadratwurzel) 1 #include <math.h> 2 #include <stdio.h> 3 4 int main(void) 5 { 6 /* declare floating point variable */ 7 double x; 8 9 /* read from user input */ 10 printf ("x = "); 11 scanf("%lf", &x); /* print value of x and square root */ 14 printf ("x = %f\n", x); 15 printf ("sqrt(x) = %f\n", sqrt(x)); return 0; 18 }

4 Variablen Variable = symbolischer Name für einen Speicherbereich. Variablen in Mathematik und Informatik sind verschieden: Mathematik: Sei x R fixiert x Informatik: int x definiert eine Variable vom Type int. x = 5 weist x den Wert 5 zu. Jede Variable muss vor Ihrer Verwendung vereinbart werden. Eine Vereinbarung besteht aus Angabe von Namen und Typ der Variablen. Namen: Namen identifizieren Variablen in eindeutiger Weise. Typen: Der Typ einer Variablen legt fest, welche Werte in der Variablen gespeichert werden können und welche Operationen auf Ihnen möglich sind.

5 Der Datentyp int Der Datentyp int ist vorgesehen, um ganze Zahlen (engl. integers) darzustellen:..., 2, 1, 0, 1, 2,... Integer-Datentypen haben einen endlichen Wertebereich, d. h. Variablen vom Typ int können nicht beliebig (betragsmäßig) große Werte annehmen. Neben dem Typ int gibt es eine Reihe weiterer Integer-Datentypen: char, short int, unsigned int, long int,... Sie unterscheiden sich hinsichtlich ihres darstellbaren Wertebereichs und ihres Speicheraufwands.

6 Der Datentyp double Gleitpunktzahlen oder auch Gleitkommazahlen (engl. floating point numbers) sind eine Teilmenge der rationalen Zahlen. Arithmetische Operationen auf Gleitkommazahlen sind nicht exakt, sondern mit einem kleinen Fehler behaftet. Gleitpunktzahlen werden in einem der folgenden Typen abgespeichert: float double long double Wir beschäftigen uns heute ausschließlich mit dem Typ double.

7 Bezeichner Konstruktion von Bezeichnern: Bezeichner dürfen aus Buchstaben, Ziffern und dem Unterstrich bestehen. Das erste Zeichen darf keine Ziffer sein. Reservierte Schlüsselwörter dürfen nicht verwendet werden. Bemerkungen: Zwischen Groß- und Kleinschreibung wird unterschieden, d. h. value und Value sind verschiedene Bezeichner. Bezeichner dürfen beliebig lang sein. Der Standard garantiert allerdings nur, dass mindestens 31 Zeichen signifikant sind (in der Praxis heute irrelevant).

8 Reservierte Schlüsselwörter auto break default do float for register return struct switch volatile while case char const continue double else enum extern goto if int long short signed sizeof static typedef union unsigned void Tabelle : Reservierte Schüsselwörter in ANSI C89 inline _Bool _Complex _Imaginary Tabelle : Reservierte Schüsselwörter in ISO C99

9 Beispiele für Bezeichner Betrachten wir einige Beispiele: x, i, n,... Okay Sehr kurze Variablennamen sind üblich in arithmetischen Ausdrücken oder in Schleifen. Aussagekräftige Namen helfen allerdings beim Programmieren und Debuggen. _a_very_long_long_identifier Okay Sehr lange Bezeichnern sind allerdings auch unpraktisch (mögliche Schreibfehler, Zeilenlänge). größe Falsch Der Umlaut ö und der Buchstabe ß sind keine erlaubten Zeichen. case Falsch Bei case handelt es sich um ein reserviertes Schlüsselwort.

10 Deklaration von Variablen Die Deklaration entspricht der Zuweisung von einem Speicherbereich auf einen symbolischen Namen. Die Grösse des Speicherbereichs entspricht dem Typ der Variable. Syntax: typename identifier; wobei typename den Namen eines Typs (bisher: int oder double) bezeichnet, identifier ein gültiger Bezeichner sein muss. Beispiele: int a; double x;

11 Gleichzeitige Deklaration mehrerer Variablen Mehrere Variablen desselben Typs können auch in nur einer Zeile definiert werden. Beispiele: int a, b; double x, y; Durch Deklaration einer Variablen wird lediglich (uninitialisierter) Speicherbereich zugewiesen. Ist noch kein konkreter Wert zugewiesen ist der Wert einer Variable zufällig.

12 Initialisierung von Variablen Nach Deklaration kann der Variable ein konstanter Wert zugewiesen werden: int n; (Deklaration) n = 0; (Initialisierung) Konstanten haben (wie Variablen auch) einen Typ. Dieser muss nicht explizit angegeben werden. Integer- und Floating-Point-Konstanten werden durch die Angabe eines Punkts voneinander unterschieden: 1 /* constant expression of type int */ 1.0 /* constant expression of type double */ 1. /* constant expression of type double */ Deklaration und Initialisierung können auch in einer Zeile erfolgen: int n = 1; double x = 1.;

13 Platzierung von Definition Jede Variable muss vor Ihrer ersten Verwendung definiert werden. Andernfalls bricht der Übersetzungsvorgang mit einem Fehler ab. Ältere C-Standards (bis C99) schreiben vor, dass sämtliche Variablendefinitionen am Anfang von main (eigentlich: ihres Gültigkeitsbereichs) stehen müssen: int main(void) { /* list of all definitions */... /* subsequent statements */... } Moderne Compiler erlauben die Vermischung von Definitionen und Anweisungen.

14 Formatierte Ausgabe mit printf Der Funktion printf kann eine beliebige Zahl von Variablen und konstanten Ausdrücken übergeben werden: int n = 1; double pi = ; printf("n = %d \n", n); printf("pi = %lf \n", pi); printf("n = %d, pi = %lf \n", n, pi); printf("n = %d, pi = %lf \n", 1, ); Neben wörtlich wiederzugebendem Text enthält der Format-String (von doppelten Anführungszeichen eingeschlossen) Formatelemente (engl. conversion specifications).

15 Formatierte Ausgabe mit printf Formatelemente sind Platzhalter für Variablen oder Konstanten verschiedene Typs: %d /* conversion specification for type int */ %lf /* conversion specification for type double */ Bei der Ausgabe von Gleitpunktzahlen kann man die Anzahl der Nachkommastellen festlegen. Der Code double pi = ; printf("%lf\n", pi); printf("%.3lf\n", pi); printf("%.12lf\n", pi); produziert die Ausgabe:

16 Formatierte Eingabe mit scanf Variableninhalte können zur Laufzeit des Programms von der Konsole eingelesen werden. Dazu verwenden wir die Funktion scanf: int a; double x; scanf( "%d", &a ); scanf( "%lf", &x ); scanf( "%d %lf", &a, &x ); Der Funktion können eine oder mehrere Variablen als Parameter übergegeben werden. Ihre Anzahl und Typen müssen den Formatelemente entsprechen: %d /* conversion specification for type int */ %lf /* conversion specification for type double */ Vor jedem Element der Parameterliste muss ein "&" stehen. Seine Bedeutung werden wir erst später klären.

17 Arithmetische Operationen Bedeutung eines Operators kann vom Datentyp abhängen. Operatoren auf Gleitpunktzahlen: (Typ double) x=y; (Zuweisung) x+y, x-y, x *y (Addition, Subtraktion, Multiplikation) x/y, (Division) Operatoren auf Ganzzahlen: (Typ int) n=m; (Zuweisung) n+m, n-m, n *m (Addition, Subtraktion, Multiplikation) n/m, n%m (Division ohne Rest, Divisionsrest) Die Konstanten oder Variablen, die ein Operator verknüpft werden als Operanden bezeichnet, bspw. hat x+y die Operanden x und y.

18 Ganzzahlige Division mit Rest Für Integer-Werte entspricht das Operatorpaar /,% der ganzzahligen Division mit Rest: int quotient = 1/2; /* quotient = 0 */ int remainder = 1%2; /* remainder = 1 */ Das Teilen durch die Null führt nicht etwa automatisch zu einem Laufzeitfehler, das Programm bricht nicht ab. Der Ausdruck hat den ausgezeichneten Wert inf: printf("%lf\n", 1./0.); /* Output: inf */ Der Wert nan (not a number) dient als Hinweis für dubiose Rechen-Operationen wie 0/0 oder inf/inf: printf("%lf\n", 0./0.); /* Output: -nan */

19 Implizite Typkonversion Operatoren können Variablen verschiedener Datentypen verbinden. int x = 1; double y = 2.5; double sumdouble = x + y; int sumint = x + y; printf("sumint = %d\n", sumint); /* Output: sumint = 3 */ printf("sumdouble = %lf\n", sumdouble); /* Output: sumdouble = */ x + y hat den Datentyp double, bei der Addition wird x in ein double konvertiert. sumint hat den Typ int, d.h. x+y wird in ein int konvertiert.

20 Implizite Typkonversion Haben die Operanden eines arithmetischen Operators den gleichen Typ, so ist auch das Ergebnis von diesem Datentypen. Sind die Operanden von unterschiedlichem Typ, so wird der Operand mit ungenauerem Typ, zuerst zum genaueren Typ konvertiert, bspw. ist 1 / 5. eine Konstante vom Typ double. Konvertierung von double nach int erfolgt durch Abschneiden, nicht durch Rundung! int n = 3.7; printf("n = %d\n", n); /* Output: n = 3 */

21 Implizite Typkonversion Klammern entscheiden die Reihenfolge in der die Operatoren angewendet werden. double x_1 = 2 / 4; double x_2 = 2 / 4.; double x_3 = 10. * 2 / 4; double x_4 = 10. * (2 / 4); printf("x_1 = %lf\n", x_1); printf("x_2 = %lf\n", x_2); printf("x_3 = %lf\n", x_3); printf("x_4 = %lf\n", x_4);

22 Implizite Typkonversion Klammern entscheiden die Reihenfolge in der die Operatoren angewendet werden. double x_1 = 2 / 4; double x_2 = 2 / 4.; double x_3 = 10. * 2 / 4; double x_4 = 10. * (2 / 4); printf("x_1 = %lf\n", x_1); printf("x_2 = %lf\n", x_2); printf("x_3 = %lf\n", x_3); printf("x_4 = %lf\n", x_4); Der Code produziert den Output: x_1 = x_2 = x_3 = x_4 =

23 Explizite Typkonversion Man kann dem Compiler mitteilen, in welcher Form eine Variable interpretiert werden muss. Man stellt dazu den Ziel-Typ in Klammern voran double x_1 = (double) (2 / 4); double x_2 = (double) 2 / 4; double x_3 = 2 / (double) 4;

24 Explizite Typkonversion Man kann dem Compiler mitteilen, in welcher Form eine Variable interpretiert werden muss. Man stellt dazu den Ziel-Typ in Klammern voran double x_1 = (double) (2 / 4); double x_2 = (double) 2 / 4; double x_3 = 2 / (double) 4; Die Variablen haben den Wert: x_1 = x_2 = x_3 =

25 Vordefinierte Funktionen aus math.h Die Datei math.h gehört zur C-Standardbibliothek. Mit #include <math.h> wird sie einem Programm hinzugefügt. Die Datei enthält eine Reihe von wichtigen mathematischen Funktionen, z. B. double x, base, exponent; fabs(x) /* absolute value of x */ sqrt(x) /* square root of x */ sin(x), cos(x) /* sine, cosine of x */ exp(x) /* exponential function of x */ pow(base,exponent)/* base raised to the power exponent*/ Die genannten Beispiele erwarten als Parameter Gleitpunktzahlen und geben auch einen double-wert zurück: double x = fabs(-2.); /* x = 2. */ double y = pow(4.,2.); /* x = 16. */

26 Explizites Linken der Mathematik-Bibliothek Allein das Hinzufügen von math.h durch die #include-direktive reicht in der Regel nicht aus, damit ein Programm kompiliert wird. Fehlermeldungen der Form $ gcc -o math math.c math.c:(.text+0x6b): undefined reference to sqrt werden beim Linken (letzter Schritt im Übersetzungsvorgang) verursacht. Anders als etwa die Bibliotheksdatei stdio.h muss die Mathematik-Bibliothek im Compileraufruf explizit gelinkt werden: $ gcc -o math math.c -lm

27 Berechnung der Quadratwurzel Quelltext (Quadratwurzel) 1 #include <math.h> 2 #include <stdio.h> 3 4 int main(void) 5 { 6 /* declare floating point variable */ 7 double x; 8 9 /* read from user input */ 10 printf ("x = "); 11 scanf("%lf", &x); /* print value of x and square root */ 14 printf ("x = %f\n", x); 15 printf ("sqrt(x) = %f\n", sqrt(x)); return 0; 18 }

28 Gliederung

29 Binärsystem Das Binärsystem ist ein Zahlensystem, das zur Darstellung von Zahlen nur die Ziffern 0 und 1 benutzt: Sei n N, 0 n < 2 m, dann ist die Darstellung m 1 n = x i 2 i (x i {0, 1}) i=0 eindeutig. Im Binärsystem hat n die Darstellung x m 1 x m 2... x 1 x 0 2 Beispiel: Es gilt = Damit ist: =

30 Bits und Bytes Unter einem Bit stellen wir uns eine Binärziffer x {0, 1} vor (d. h. x nimmt nur die Werte 0 oder 1 an). Ein Byte ist eine zusammenhängende Folge von Bits. Alle Objekte in C werden in einer zusammenhängenden Folge von Bytes gespeichert. Der C-Standard schreibt eine Länge von mindestens 8 Bit für ein Byte vor. Die Größ eines Zeichens vom Typ char entspricht einem Byte.

31 Endlicher Wertebereich Ein Objekt vom Typ int belegt eine endliche Zahl an Byte im Speicher. Damit lassen sich nicht beliebig große Zahlen in einem Integer-Datentyp darstellen. Angenommen, eine vorzeichenlose Integer-Größe belegt M Bit. Die größte darstellbare Zahl lässt sich sofort angeben: das entspricht der Zahl } 111. {{ } 2, M M 1 i=0 2 i = 2 M 1. Sollen positive wie negative Zahlen dargestellt werden, muss ein Bit für das Vorzeichen reserviert werden.

32 Integer-Datentypen Die Integer-Datentypen zerfallen in zwei Klassen: solche, die negative wie positive Werte darstellen können (signed), und solche, die ausschließlich positive Werte annehmen (unsigned). Sämtliche Integer-Datentypen in C sind: /* signed integer types */ signed char short int int long int long long int /* unsigned integer types */ unsigned char unsigned short int unsigned int unsigned long int unsigned long long int Die verschiedenen Datentypen haben zum Teil eine unterschiedliche Speichergröße und damit auch unterschiedlich große Wertebereiche.

33 Speichergrößen ermitteln Die Speichergröße in Byte eines Datentyps, einer Variablen oder Konstanten lässt sich mit dem sizeof-operator ermitteln, z. B. printf("sizeof(int) = %zu Byte\n", sizeof(int)); printf("sizeof(double) = %zu Byte\n", sizeof(double)); Der Standard macht nur weiche Vorgaben zu den Größen der einzelnen Datentypen. Je nach System können diese unterschiedlich ausfallen: Datentyp Größe (PC, 32 Bit) Größe (PC, 64 Bit) char 1 Byte 1 Byte short int 2 Byte 2 Byte int 4 Byte 4 Byte long int 4 Byte 8 Byte long long int 8 Byte 8 Byte Tabelle : Größe in Byte der Integer-Datentypen

34 Ganzzahlüberlauf Lässt sich eine Zahl nicht mehr darstellen, spricht man von einem Ganzzahlüberlauf. Wir können diesen Fall künstlich herbeiführen: int n = (int)(pow(2.,31.)-1.); /* n = 2^31-1 */ printf("%d\n", n ); /* Output: */ printf("%d\n", n+1); /* Output: */ Ganzzahlüberlaufe können insbesondere bei Schleifen-Anweisungen mit grossen Datenmengen auftreten.

35 Gliederung

36 Normalisierte Gleitpunktzahlen I Normalisierte Gleitpunktzahlen basieren auf einer Darstellung der Form wobei p N\{0} fest gewählt, p 1 x = ( 1) s 2 e x i 2 i, der Exponent e innerhalb eines festgelegten Bereichs liegt, und x 0 0 gilt. i=0 e [e min, e max ] Z

37 Normalisierte Gleitpunktzahlen II Die Zahl m = x 0.x 1... x p 1 heißt Mantisse von x. Die festgewählte Zahl p nennt man Mantissenlänge. Eine Gleitpunktzahl x ist festgelegt durch Vorzeichen, Mantisse und Exponent: x = (s, m, e).

38 Arithmetik von Gleitpunkt-Zahlen Aufgrund ihrer Darstellung kommt es bei Gleitpunkt-Zahlen zu einer Reihe unintuitiver Phänomene, die das Ergebnis einer Berechnung beeinflussen. Die Addition von Gleitpunkt-Zahlen ist nicht assoziativ, d. h. im Allgemeinen gilt nicht: (a + b) + c = a + (b + c). 1 #include <stdio.h> 2 3 int main(void) 4 { 5 double a = 0.1, b = 0.2, c = 0.3; 6 7 /* print up to 20 decimal places */ 8 printf("(a+b)+c = %1.20lf\n", (a+b)+c); 9 printf("a+(b+c) = %1.20lf\n", a+(b+c)); return 0; 12 }

39 Gliederung

40 Vergleichsoperatoren Objekte von numerischen Datentypen können miteinander verglichen werden. Hierzu dienen die binären Operatoren: expr1 < expr2 /* less than */ expr1 <= expr2 /* less than or equal to */ expr1 > expr2 /* greater than */ expr1 >= expr2 /* greater than or equal to */ expr1 == expr2 /* equal to */ expr1!= expr2 /* not equal to */ Beispiel: double x = 1., y = 2.; x < y; x >= y; x == y; x!= y; Frage: Welchen Typ und Wert haben die obigen Ausdrücke?

41 Logische Ausdrücke Vergleichsoperatoren liefern einen logischen Ausdruck. Ihre Auswertung resultiert in genau einem von zwei möglichen Werten: Der Rückgabewert ist 0, falls der Ausdruck unwahr ist, Der Rückgabewert ist 1, falls der Ausdruck wahr ist. Logische Ausdrücke sind damit vom Typ int. Umgekehrt gilt jeder von von Null verschiedene Ausdruck als wahre Aussage. Jeder Ausdruck mit Wert Null wird als unwahr interpretiert. Andere Programmiersprachen (z. B. C++, Java) reservieren einen eigenen Datentyp für Wahrheitswerte.

42 Logische Operatoren In C gibt es die folgenden Operatoren zur Verknüpfung logischer Ausdrücke:!expr /* logical negation */ expr && expr /* logical conjunction */ expr expr /* logical disjunction */ Ihr Wert ist jeweils vom Typ int und entweder 0 (falls die Aussage unwahr ist) oder 1 (sonst). Sogenannten Wahrheitstafeln kann man den Wert einer logischen Verknüpfung entnehmen: x y!x x && y x y true true false true true true false false false true false true true false true false false true false false

43 Mehrfache Vergleiche Mehrfache Vergleiche sind in C nicht sinnvoll. Wir geben ein einfaches Beispiel. Es gilt 1 8 < 1 4 < 1 2. Der folgende Ausdruck hat aber den Wert 0 (die Aussage ist unwahr ): < 0.25 < 0.5 denn die Vergleichsoperatoren werden von links nach rechts abgearbeitet.

44 if-anweisung Mit der if-anweisung kann der Ablauf eines Programms von Bedingungen abhängig gemacht werden. Syntax: if(expr) statement Die Semantik der Anweisung ist naheliegend: Der Ausdruck expr wird ausgewertet. Der Ausdruck heißt wahr, falls er ungleich Null ist. Falls expr wahr ist, wird die folgende Anweisung statement ausgeführt. Der Ausdruck expr heißt Kontrollausdruck.

45 Zusammenfassen von Anweisungen, Blöcke Sollen mehrere Anweisungen abhängig vom Kontrollausdruck ausgeführt werden, müssen sie in einem Block zusammengefasst werden: Syntax: if(expr) { statements... } Beispiel: int a, b, c, d;... if(a > b) { c = a - b; d = sqrt(c); return d; }

46 Programmbeispiel Quelltext (Wurzelberechnung mit Fehlerbehandlung) 1 #include <math.h> 2 #include <stdio.h> 3 4 int main(void) 5 { 6 /* declare floating point variable */ 7 double x; 8 9 /* read from user input */ 10 printf ("x = "); 11 scanf("%lf", &x); /* check if value greater than 0 */ 14 if( x < 0 ) 15 { 16 printf("value x is less than zero\n"); 17 return 0; 18 } /* print value of x and square root */ 21 printf ("x = %f\n", x); 22 printf ("sqrt(x) = %f\n", sqrt(x)); return 0; 25 }

47 if-else-anweisung Optional kann die if-anweisung um den sog. else-zweig erweitert werden. if(expr) statement else statement Ob die Anweisungen des if- oder des else-zweigs bearbeitet werden, hängt vom Kontrollausdruck ab: Ist der Kontrollausdruck wahr, so wird der if-zweig bearbeitet, sonst werden die Anweisungen des else-zweigs bearbeitet. Sowohl im if- als auch im else-zweig können mehrere Anweisungen zu jeweils einem Block zusammengefasst werden.

48 Programmbeispiel Quelltext (Wurzelberechnung mit Fehlerbehandlung) 1 #include <math.h> 2 #include <stdio.h> 3 4 int main(void) 5 { 6 /* declare floating point variable */ 7 double x; 8 9 /* read from user input */ 10 printf ("x = "); 11 scanf("%lf", &x); if( x < 0 ) 14 { 15 printf("value x is less than zero\n"); 16 } 17 else 18 { 19 printf ("x = %f\n", x); 20 printf ("sqrt(x) = %f\n", sqrt(x)); 21 } return 0; 24 }

49 Autoren Autoren die an diesem Skript mitgewirkt haben: : Christoph Gersbacher 2014 : Patrick Schreier This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License. licenses/by-sa/4.0/legalcode

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 2: Variablen, Datentypen und formatierte Ein-/Ausgabe Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg

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

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

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

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

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 6: Ausdrücke und Typumwandlung Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung vom

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

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

Java I Vorlesung Imperatives Programmieren

Java I Vorlesung Imperatives Programmieren Java I Vorlesung 2 Imperatives Programmieren 3.5.2004 Variablen -- Datentypen -- Werte Operatoren und Ausdrücke Kontrollstrukturen: if Imperatives Programmieren Im Kern ist Java eine imperative Programmiersprache.

Mehr

Programmieren 1 C Überblick

Programmieren 1 C Überblick Programmieren C Überblick. Einleitung 2. Graphische Darstellung von Algorithmen 3. Syntax und Semantik 4. Einstieg in C: Einfache Sprachkonstrukte und allgemeiner Programmaufbau 5. Skalare Standarddatentypen

Mehr

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

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

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

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 29 Einstieg in die Informatik mit Java Weitere Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 29 1 Überblick 2 Kombinierte Zuweisungsoperatoren 3 Vergleichsoperatoren

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable 1 Kapitel 3 Grunddatentypen, Ausdrücke und Variable 2 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen Datenstrukturen werden mit einem

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

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Kapitel 3. Grunddatentypen, Ausdrücke und Variable Kapitel 3 Grunddatentypen, Ausdrücke und Variable Grunddatentypen, Ausdrücke und Variable 1 Eine Datenstruktur besteht aus Grunddatentypen in Java einer Menge von Daten (Werten) charakteristischen Operationen

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

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

4.2 Programmiersprache C

4.2 Programmiersprache C 4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.

Mehr

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

Operatoren und Ausdrücke

Operatoren und Ausdrücke Operatoren und Ausdrücke Zuweisungsoperator Arithmetische Operatoren Vergleichsoperatoren Logische Operatoren und Ausdrücke Implizite Typ-Umwandlung Rangordnung der Operatoren / Reihenfolge der Auswertung

Mehr

Syntax und Kontrollstrukturen

Syntax und Kontrollstrukturen Syntax und Kontrollstrukturen Praktikum C-Programmierung Eugen Betke, Nathanael Hübbe, Michael Kuhn, Jakob Lüttgau, Jannek Squar Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2018-10-29

Mehr

C-Programmierung: Ausdrücke und Operatoren#Division.2F

C-Programmierung: Ausdrücke und Operatoren#Division.2F C-Programmierung: Ausdrücke und Operatoren#Division.2F http://de.wikibooks.org/wiki/c-programmierung:_ausdrücke_und_operatoren#division_.2f This Book Is Generated By Wb2PDF using RenderX XEP, XML to PDF

Mehr

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

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public

Mehr

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

Kapitel 5. Datentypen und Operatoren

Kapitel 5. Datentypen und Operatoren Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen

Mehr

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Operatoren in C/C++ und Java:

Operatoren in C/C++ und Java: Operatoren in C/C++ und Java: C/C++/Java hat eine riesige Anzahl von Operatoren (im Vergleich zu anderen Programmiersprachen). Außer den üblichen arithmetischen Operatoren +, -, *, / (und % für Ganzzahlen)

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

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

4. Zahlendarstellungen

4. Zahlendarstellungen 121 4. Zahlendarstellungen Wertebereich der Typen int, float und double Gemischte Ausdrücke und Konversionen; Löcher im Wertebereich; Fliesskommazahlensysteme; IEEE Standard; Grenzen der Fliesskommaarithmetik;

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case

Mehr

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

Mehr

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

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 05. Datentypen. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 05 Datentypen Inhalt des 5. Kapitels Datentypen 5.1 Einleitung 5.2 Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Operatoren Konversion / Type-Cast Datentyp

Mehr

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner. Grundlegende Deklarationen Seite 1 von 6 Jedes Programm benötigt Objekte. Ein Objekt ist ein reservierter Bereich im Systemspeicher in welchem Informationen abgelegt werden. Informationen sind z.b. Zahlen,

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

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

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären

Mehr

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

Nachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 5. Vorlesung 06.11.2018 1 Zahlendarstellungen 2 Speicherinhalte: Bits Hardware Spannung Ladung Magnetisierung Codierung 0V ungeladen unmagnetisiert 0 5V geladen magnetisiert

Mehr

Einführung Programmierpraktikum C Michael Zwick

Einführung Programmierpraktikum C Michael Zwick Einführung Programmierpraktikum C Michael Zwick Vorlesung, Übung & Fragestunde Dr.-Ing. Michael Zwick Raum Z945 zwick@tum.de (089) 289 23609 Tutorium Ab Dienstag: Auswahl Tutoriumsplatz auf www.ldv.ei.tum.de/lehre/computertechnik

Mehr

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

Variablen, Konstanten und Datentypen

Variablen, Konstanten und Datentypen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick

Mehr

Programmierkurs C++ Variablen und Datentypen

Programmierkurs C++ Variablen und Datentypen Programmierkurs C++ Variablen und Datentypen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer #2 Überblick Welche Datentypen gibt es in

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

Kapitel 3: Variablen

Kapitel 3: Variablen Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber

Mehr

Fliesskommazahlen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert

Fliesskommazahlen. InE1 M. Thaler, Office TG ZHAW, M. Thaler, K. Rege, G. Burkert Fliesskommazahlen InE1 M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was gehtes? Bisjetzt nur Ganzzahltypen und Funktionen z.b. Beispiel int power(int base, int exp) { int tmp = 1;

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

2.5 Primitive Datentypen

2.5 Primitive Datentypen 2.5 Primitive Datentypen Wir unterscheiden 5 primitive Datentypen: ganze Zahlen -2, -1, -0, -1, -2,... reelle Zahlen 0.3, 0.3333..., π, 2.7 10 4 Zeichen a, b, c,... Zeichenreihen "Hello World", "TIFI",

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Namen und Bezeichner Ein Programm (also Klasse) braucht einen Namen 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken,

Mehr

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos

Mehr

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15

Variablen. CoMa-Übung VIII TU Berlin. CoMa-Übung VIII (TU Berlin) Variablen / 15 Variablen CoMa-Übung VIII TU Berlin 4.12.2013 CoMa-Übung VIII (TU Berlin) Variablen 4.12.2013 1 / 15 Themen der Übung 1 Typanpassungen 2 Operatoren 3 Variablen-Gültigkeit CoMa-Übung VIII (TU Berlin) Variablen

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression) Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (boole'sche)

Mehr

2.1 Fundamentale Typen

2.1 Fundamentale Typen 2. Elementare Typen 2.1 Fundamentale Typen C++ stellt die wichtigsten Datentypen mit passender Form der Abspeicherung und zugehörigen Rechenoperationen zur Verfügung : Boolscher Datentyp (bool) für logische

Mehr

3 Grundstrukturen eines C++ Programms anhand eines Beispiels

3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3 Grundstrukturen eines C++ Programms anhand eines Beispiels 3.1 Einige Grundbegriffe Mit Hilfe eines Programmes wird dem Computer mitgeteilt, wie er eine bestimmte Aufgabe bearbeiten soll. Es besteht

Mehr

Grundlagen der Modellierung und Programmierung, Übung

Grundlagen der Modellierung und Programmierung, Übung Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak

Mehr

Programmiervorkurs Einführung in Java Tag 1

Programmiervorkurs Einführung in Java Tag 1 Programmiervorkurs Einführung in Java Tag 1 Sebastian Glutsch SS 2018 namen Inhaltsübersicht Vorkurs Tag 1:,, en,, Einführung Tag 2: Boolesche Ausdrücke,, If-Abfragen, Switch-Case Tag 3: Arrays, (Do-)While-Schleife,

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik Vorkurs - Vorlesung 2 Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Programmierkurs Python I

Programmierkurs Python I Programmierkurs Python I Michaela Regneri 2009-11-05 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater) Übersicht Variablen Datentypen Werte Operatoren und Ausdrücke Kontrollstrukturen: if, while

Mehr

Programmieren in C / C++ Grundlagen C 2

Programmieren in C / C++ Grundlagen C 2 Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen

Mehr

RO-Tutorien 15 und 16

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

Mehr

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 BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

3. Operatoren und Ausdrücke

3. Operatoren und Ausdrücke 3. Operatoren und Ausdrücke Ausdruck (expression): Verarbeitungsvorschrift zur Ermittlung eines Wertes besteht aus Operanden und Operatoren wichtigste Ausdrücke: arithmetische und logische (Boole'sche)

Mehr

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014

Programmierung. Grundlagen. Tina Wegener, Ralph Steyer. 2. Ausgabe, 1. Aktualisierung, April 2014 Programmierung Tina Wegener, Ralph Steyer 2. Ausgabe, 1. Aktualisierung, April 2014 Grundlagen PG 6 Programmierung - Grundlagen 6 Grundlegende Sprachelemente In diesem Kapitel erfahren Sie was Syntax und

Mehr

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

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter}); S. d. I.: Programieren in C Folie 7-1 7 Funktionen 7.1 Definition Prototyp-Syntax: Speicherklasse Typ Name (formale Parameter); der Funktions-Prototyp deklariert eine Funktion, d.h. er enthält noch nicht

Mehr

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

Programm-Ablauf. int main() // Beispiel- Struktur eines Programmes. prepare_everything(); read_input(); calculate_result(); write_output();

Programm-Ablauf. int main() // Beispiel- Struktur eines Programmes. prepare_everything(); read_input(); calculate_result(); write_output(); Programm-Ablauf Alle betrachteten Programmiersprachen C, C++, Java führen Anweisungen in der Reihenfolge aus, in der diese im Quellcode stehen. Dieser normale Ablauf kann geändert werden durch: 1) Sprunganweisungen

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I Lernziele 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Sie kennen die grundlegensten Bausteine

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Einfache Ausdrücke Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick 2 Arithmetische Operatoren 3 Inkrement und Dekrementoperatoren

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Ausdrücke Übersicht 1 Die wichtigsten arithmetischen Ausdrücke Arithmetische Operatoren Inkrement und Dekrementoperatoren Zuweisungsoperator Mathematische Standardfunktionen Vergleichsoperatoren

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 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

C- Kurs 03 Ausdrücke und Operatoren

C- Kurs 03 Ausdrücke und Operatoren C- Kurs 03 Ausdrücke und Operatoren Dipl.- Inf. Jörn Hoffmann jhoffmann@informadk.uni- leipzig.de Universität Leipzig InsDtut für InformaDk Technische InformaDk Ausdrücke Institut für Informatik Ausdrücke

Mehr

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff

Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

3. Java - Sprachkonstrukte I

3. Java - Sprachkonstrukte I 84 3. Java - Sprachkonstrukte I Namen und Bezeichner, Variablen, Zuweisungen, Konstanten, Datentypen, Operationen, Auswerten von Ausdrücken, Typkonversionen Namen und Bezeichner 85 Ein Programm (also Klasse)

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

Rechnungen, wo kein sinnvoller Wert rauskommt Bsp.: 1/0, *0, sqrt(-1.0) Beispiel: Quadratische Gleichungen

Rechnungen, wo kein sinnvoller Wert rauskommt Bsp.: 1/0, *0, sqrt(-1.0) Beispiel: Quadratische Gleichungen Float-Arithmetik Implementiert IEEE 754-1985 Standard Überlauf ("overflow"): Zahl wird zu groß / zu klein Beispiel: max.float * 2 Resultat = + bzw. - Underflow: Zahlen liegen zu dicht an der 0 Resultat

Mehr