L6. Operatoren und Ausdrücke

Größe: px
Ab Seite anzeigen:

Download "L6. Operatoren und Ausdrücke"

Transkript

1 L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: <, <=, >, >=, ==,!= 4. Logische Operatoren:!, &&, 5. Bit Operatoren: &,, ^, ~, <<, >> 6. Bedingungsoperatoren: A? B : C 7. Typumwandlungen: ( ) Binäre arithmetische Operatoren 1 Ein Ausdruck ist eine Kombination von Operatoren und Operanden: Atomarer Ausdruck: Konstanten, Variablen oder Funktionsaufrufen Beispiel: 28.3, A, x, y, printf("hello, World."), sin(x) Zusammengesetzter Ausdruck: verknüpft. Ausdrücke (als Operanden) durch Operatoren Beispiel: 1-x, 4+5, x/3, x = 7.5, x < 286 Ein arithmetischer Operator kann unär (nur ein Operand) oder binär (zwei Operanden) sein. Fünf binäre arithmetische Operatoren gibt es in C: + - * / % Addition Subtraktion Multiplikation Division Modulo Punktrechnung ( *, /, % ) vor Strichrechnung ( +, - ) Die Auswertung bei dem selben Typ von Operatoren erfolgt von links nach rechts. Die Division (/) ergibt für ganzzahlige Operanden nur den Ganzzahlteil der Division. Modulo (%) ist nur auf ganzzahlige Operanden anwendbar. Sie liefert den Rest der ganzzahligen Division.

2 Binäre arithmetische Operatoren Jeder Ausdruck hat einen Typ und einen Wert. Sie entsprechen dem Datentyp und dem Resultat der Auswertung des Ausdrucks. Beispiele: int i = 5, j = 2, k = 23; float x = 2.0, y = 5.5; double d = 2.4; ==================================================================== Ausdruck Resultat Typ i / j 2 int i % j 1 int x + 1/5 2.0 float x + 1./5 2.2 float k % i * j 6 int k - 7 % 5 21 int y / x 2.75 float y % x nicht erlaubt --- d / double /* arithop.c */ Binäre Arithmetische Operatoren 3 #include <stdio.h> void main() { int i = 5, j= 2, k = 23; float x = 2.0, y = 5.5; double d = 2.4; printf("\n\n"); printf("i / j = %-d\n",i / j); printf("i %% j = %-d\n",i % j); //Ein % Zeichen wird ausgedruckt printf("x + 1 / 5 = %-2.1f\n",x + 1 / 5); printf("x + 1. / 5 = %-2.1f\n",x + 1. / 5); printf("k %% i * j = %-d\n",k % i * j); printf("k - 7 %% 5 = %-d\n",k - 7 % 5); printf("x * y - i = %-2.1f\n",x * y - i); printf("y / x = %-3.2f\n",y / x); /* printf("y % x = %f\n",y % x); --> Compilermeldung: operands of % have illegal types of float and float */ printf("d / 2 = %-2.1f\n",d / 2);

3 Zuweisungsoperatoren Die einfache Zuweisung ordnet einer Variablen mithilfe des Zuweisungsoperators = den Wert eines Ausdruckes zu. Hierbei steht die Variable immer links (L-Wert) und der zugewiesene Wert (R-Wert) rechts vom Zuweisungsoperator. x = 7.5; y = x; z = * x; Jede Zuweisung ist selbst ein Ausdruck, dessen Resultat der R-Wert ist. Mehrfachzuweisung wird stets von rechts nach links bearbeitet. i = j = 9; // erhält zunächst j und dann i den Wert 9 Solche Zusammengesetzte Zuweisungen führen eine arithmetische Operation und eine Zuweisung aus. Für jeden binären Operator gibt es eine entsprechende zusammengesetzte Zuweisung (z.b., +=, -=, *=, /=, %=) Variable op= Ausdruck Variable = Variable op Ausdruck i += 3; // ist äquivalent zu i = i + 3; i *= j + 2; // ist äquivalent zu i = i * (j+2); i /= 3 / 2; // ist äquivalent zu i = i / (3/2); Typische Fehler bei den Zuweisungsoperatoren 5 #define NMAX 20 void main() { int i, n; int a[nmax], b[nmax]; float x, y; i = 0; n = NMAX / 2; NMAX = 10; // Fehlermeldung (1) "20=10" y = 2 * x // Fehlermeldung (2) for (i=0; i< NMAX; i++) // alle Elemente des Arrays a[i] = 0; // mit 0 initialisieren b = a; // Fehlermeldung (3) Fehlermeldungen: (1) left side of the assignment can t be assigned to (2) possible usage of x before definition (3) operands of = have illegal types array 20 of int and pointer to int left side of the assignment can t be assigned to

4 Unäre arithmetische Operatoren In C gibt es vier unäre arithmetische Operatoren: Operator Bedeutung Beispiel + - (positiver und negativer) Vorzeichenoperator +i -i ++ (post- und präfix) Inkrement-Operator i++ ++i -- (post- und präfix) Dekrement-Operator i-- --i Mit dem negativen Vorzeichenoperator (-) wechselt das Vorzeichen des Operanden. -w gleich (-1)*w. Der positiven Vorzeichenoperator (+) wird nicht benötig. Der Inkrement-Operator (++) addiert 1 zu seinem Operanden. ++i: i wird zunächst inkrementiert und dann der neue Wert von i verwendet. i++: Es wird der alte Wert von i verwendet und dann wird i inkrementiert. Der Dekrement-Operator (--) vermindert seinen Operanden um 1. =================================================================== int i = 5, j= 8; printf("%d; %d\n", i++, j--); // Ausgabe: 5; 8 printf("%d; %d\n", i, j); // Ausgabe: 6; 7 printf("%d; %d\n", ++i, --j); // Ausgabe: 7; 6 Der Vorrang arithmetischer Operatoren 7 Der Vorrang (Priorität) der Operatoren bestimmt die Zuordnung der Operanden zu den Operatoren. Priorität Operator Auswertung von rechts + - (Vorzeichen) 2. * / % von links (Addition; Subtraktion) von links Beispiele: x / 2 ist äquivalent zu (x++) -(7.0 / 2) 2 * 5 % 2 ist äquivalent zu (2 * 5) % * k ist äquivalent zu 1 + (2 * k) -4 * ++i -6 % 4 ist äquivalent zu ( ((-4) * (++i)) - (6%4))

5 Sechs Vergleichsoperatoren gibt es in C: Vergleichsoperatoren Operator < <= > >= ==!= Bedeutung kleiner kleiner gleich größer größer gleich gleich nicht gleich Jeder Vergleich in C ist ein Ausdruck vom Typ int, der den Wert 1 oder 0 besitzt. Der Wert 1 bedeutet wahr, d.h. der Vergleich trifft zu Der Wert 0 bedeutet falsch, d.h. der Vergleich trifft nicht zu. Vergleich 4 <= > == 5 2*4!=5 23 = 4 Ergebnis Fehler Vorrangregeln 1. Priorität Arithmetische Operatoren (+, -, *, /, %) 2. Priorität Relationsoperatoren (<, <=, >, >=) 3. Priorität Gleichheitsoperatoren (==,!=) 4. Priorität Zuweisungsoperatoren ( = ) Beispiel: x = index < max -1 bedeutet: x = (index < (max -1)) x = a+1 == b < c bedeutet: x = ((a+1) == (b<c)) Typische Programmierfehler 9 a =< b kein gültiger Operator a <> b kein gültiger Operator a < = b Zwischenraum zwischen < und =, kein erkennbarer Operator a+b =! c äquivalent zu (a+b)=(!c), keine gültige Zuweisung a =! 1 =! statt!=, äquivalent zu a= (!1), d.h. a = 0 a >> b "<<" als Vergleichsoperator gibt es nicht dies ist ein Bitoperator Shift. if (a = b) Der Ausdruck a=b hat den Wert b und wird dann... logisch interpretiert, das Resultat hängt nur von b ab.

6 Es gibt drei logische Operatoren in C: Logische Operatoren!(nicht), &&(und), (oder) Ein logischer Ausdruck liefert das Ergebnis 1 (wahr) oder 0 (falsch). Die Operanden eines logischen Operators können beliebige Ausdrücke sein. Ein Operand wird als falsch interpretiert wenn sein Wert 0 ist, sonst als wahr. Wahrheitstafeln für die logischen Operatoren a b a && b a b a b a && b ist wahr gdw. a und b beide wahr sind. a b ist wahr gdw. a und-oder b wahr ist.!a ist wahr gdw. a nicht wahr ist. a!a Die Priorität:! arithmetische Operatoren &&. Beispiele: Logische Operatoren 11 1 <= 0 && 2 >= 0 Ergebnis: 0 (falsch) 0 > -5 3 == 0 Ergebnis: 1 (wahr) 1 == 1 &&!0 Ergebnis: 1 (wahr)!(2+1) 1-2 > 0 Ergebnis: 0 (falsch) (x > 1) && (x < 9) Bedeutet: Ist x im Intervall (1, 9)? (x >=1) && (x <=9) Bedeutet: Ist x im Intervall [1, 9]? (x < 1) (x > 9) Bedeutet: Ist x außerhalb [1, 9]? ((c== A ) (c== a )) Bedeutet: Ist c = A oder c = a? Typische Fehler: a b Leerzeichen dazwischen a & b Bitweise AND-Verknüpfung a & &b entspricht a & (&b), &b ist die Adresse von b

7 #include <stdio.h> void main() { int erg, a, b, c; int y = 5; Ein Beispiel printf("wert von 7 (y=0) ist %d\n", 7 (y=0)); printf("wert von 7 && (y=0) ist %d\n", 7 && (y=0)); a = b = c = 0; erg = ++a ++b && ++c; // erg = ++a ( ++b && ++c) printf("\nerg = %d, a = %d, b = %d, c = %d\n", erg, a, b, c); a = b = c = 0; erg = ++a && ++b ++c; printf("\nerg = %d, a = %d, b = %d, c = %d\n", erg, a, b, c); Wert von 7 (y=0) ist 1 Wert von 7 && (y=0) ist 0 erg = 1, a = 1, b = 0, c = 0 erg = 1, a = 1, b = 1, c = 0 Ausdrücke mit den Operatoren && und werden strikt von links nach rechts ausgewertet. Die Auswertung wird abgebrochen, sobald das Resultat feststeht. Bei A && B oder A B wird der Compiler erst A dann B auswerten. Arithmetische Typumwandlungen 13 Es ist möglich, in einem Ausdruck verschiedene arithmetische Typen zu mischen. Der Compiler nimmt, wenn möglich, automatisch eine implizite Typumwandlungen vor. Generell wird der kleinere Datentyp in den größeren Datentyp umgewandelt: int unsigned int long unsigned long float double long double In einer Zuweisung können ebenfalls Datentypen gemischt werden. Der Compiler passt den Typ der rechten Seite dem Typ der Variablen auf der linken Seiten an short i = 3, j = 2; long k = 0x ; float x = 3.0, y = 2.0; i/j x/y i/y //Werte: k = i + 50 //Ergebnis vom Typ in in long umwandeln. i = k //0x5678 wird an i zugewiesen Explizite Typumwandlung wird durch einem Cast-Operator realisiert: Syntax: (typname) Ausdruck Beispiel: int a = 1, b = 4; double x; x = (double) a/b; //Wert von x = 0.25

8 Bit-Operatoren Zur Manipulation einzelner Bits bietet C insgesamt sechs Bit-Operatoren und unterstützt damit die maschinennahe Programmierung. & ^ ~ << >> AND OR XOR NOT Left-Shift Right-Shift Wahrheitstafeln für die Bit-Operatoren AND Ergebnis 0 & & & & 1 1 OR Ergebnis XOR Ergebnis 0 ^ ^ ^ ^ 1 0 NOT Ergebnis ~ 0 1 ~ 1 0 Die Shift-Operatoren verschieben das Bitmuster ihres linken Operanden um eine bestimmte Anzahl von Bit-Positionen. unsigned char a, b, c; // Bitmuster a = 12; // a: b = a << 3; // b: b = a >> 2; // c: Der Bedingungsoperator hat die Form Bedingungsoperator 15 A? B : C Das Ergebnis dieses Ausdrucks ist der Wert von B oder C, abhängig davon, ob der Ausdruck A den Wert wahr (nicht 0) oder falsch (0) hat. z = (x >= 0)? x : -x; //Der Absolutwert von x wird an z zugewiesen #include <stdio.h> void main() { float x, y; printf("geben Sie zwei verschiedene Zahlen ein:\n"); printf("(zahl1, Zahl2): "); if( scanf("%f, %f", &x, &y)!= 2) printf("fehlerhafte Eingabe!\n"); else printf("die groessere Zahl ist: %.2f\n", x>y? x:y);

9 Beispiel /* Umrechnung von Temperatur zwischen Fahrenheit und Celsius */ #include <stdio.h> #define CONVERSION_FACTOR (100.0 / 180.0) void main() { float cel, fah; char temp = f ; printf("bitte waehlen Sie: Fahrenheit oder Celsius (f/c)? "); scanf("%c", &temp); if (temp == f temp == F ) { printf("bitte Temperatur in Fahrenheit eingeben (nnn.n): "); scanf("%5.1f", &fah); cel = CONVERSION_FACTOR * (fah - 32); else { printf("bitte Temperatur in Celsius eingeben (nnn.n): "); scanf("%5.1f", &cel); fah = cel / CONVERSION_FACTOR + 32; printf("\ndie Temperatur in Fahrenheit ist: %5.1f\n", fah); printf("die Tempratur in Celsius ist: %5.1f\n", cel); Beispiel 17 // Schnitt.c Berechnet die Durchschnittsnote #include <stdio.h> void main() { int Anzahl = 1; float Note, Summe = 0; printf("bitte geben Sie die Noten fuer Ihre Kurse ein.\n"); printf("(abbruch mit beliebigem Buchstaben)\n"); printf("note fuer Kurs Nummer 1: "); while (scanf("%f", &Note) > 0) { printf("note fuer Kurs Nummer %d: ", ++Anzahl); Summe += Note; printf("\nihre summierte Note fuer %d Kurse ist %5.2f", --Anzahl, Summe); printf("\nihre Durchschnittsnote ist %5.2f\n", Summe/Anzahl);

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16 Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben. Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.

Mehr

C++ - Operatoren. Eigene Klassen mit neuen Funktionen

C++ - Operatoren. Eigene Klassen mit neuen Funktionen C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,

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

OO Programmierung in Java

OO Programmierung in Java OO Programmierung in Java Einführung WS 212/213 Prof. Dr. Margarita Esponda M. Esponda-Argüero 1 Homepage Homepage http://www.esponda.de/ws_12_13/jbk Vorlesungsfolien Literaturliste Übungen Zusätzliches

Mehr

Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer

Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer Programmierkurs C++ 1. Überblick über C++ Seite 1 1 Überblick über C++ Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt 1.1 Elemente der Sprache C++ // mile2km.cpp:

Mehr

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;

Mehr

Hello world. Sebastian Dyroff. 21. September 2009

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

Mehr

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

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff

Programmieren in C. Operatoren, Variablen und deren Sichtbarkeit. Prof. Dr. Nikolaus Wulff Programmieren in C Operatoren, Variablen und deren Sichtbarkeit Prof. Dr. Nikolaus Wulff Auswertung von Ausdrücken Was passiert wenn ein Ausdruck wie z. B. int y,x=2; y = ++x * x++; im Computer abgearbeitet

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

Einführung in C++ Operatoren überladen (Klassen)

Einführung in C++ Operatoren überladen (Klassen) Einführung in C++ Operatoren überladen (Klassen) Operatoren überladen Die Überladung von Operatoren ermöglicht es, vorhandene Operatoren (+,-,...) auch auf Objekte von Klassen anzuwenden. Die meisten der

Mehr

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber 1) Welche Antworten zur Operatorüberladung sind richtig? (1) a) C++ - Operatoren können zusammen mit Objekten funktionieren b) C++ - Operatoren wird

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

Java-Vorkurs 2015. Wintersemester 15/16

Java-Vorkurs 2015. Wintersemester 15/16 Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich

Mehr

Kurzeinführung in C++

Kurzeinführung in C++ Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber

Mehr

1. Das erste Programm

1. Das erste Programm www.c-programme.de Stefan Thiemert Kapitel 1 - Seite 1 von 8 1. Das erste Programm 1. 1. Analyse Bevor Du mit dem Programmieren beginnst, solltest Du erst einmal verstanden haben, was das Programm überhaupt

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

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

C/C++ Programmierung

C/C++ Programmierung 1 C/C++ Programmierung Verbunde, Reihungen, Zeiger Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Typen 6.2.5 Primitive

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

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg

Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen

Mehr

Aufbau von Programmen/Dateien

Aufbau von Programmen/Dateien Aufbau von Programmen/Dateien Typen von Dateien Header-Dateien (.h): enthalten Deklarationen (auch Signatur, Prototyp, Rumpf) von Funktionen, Variablen, Konstanten und in C++ auch Klassendefinitionen eines

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

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

Daten, Informationen, Kodierung. Binärkodierung

Daten, Informationen, Kodierung. Binärkodierung Binärkodierung Besondere Bedeutung der Binärkodierung in der Informatik Abbildung auf Alphabet mit zwei Zeichen, in der Regel B = {0, 1} Entspricht den zwei möglichen Schaltzuständen in der Elektronik:

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18 Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.

Mehr

1 Programmiersprachen

1 Programmiersprachen 1 Programmiersprachen Um einen Algorithmus in einer von einer Maschine ausführbaren Form beschreiben zu können, verwenden wir eine formale Sprache. formale Beschreibung des Aufbaus der Worte und Sätze,

Mehr

Einführung in das Objektorientierte Programmieren mit C++

Einführung in das Objektorientierte Programmieren mit C++ BEREICH DATENTECHNIK I CP 500 00 TH 02 Einführung in das Objektorientierte Programmieren mit C++ Kapitel 5 5. Überladen von Operatoren 5.1. Allgemeines 5.2. Operator-Funktionen 5.3. Zuweisungs-Operator

Mehr

FB Informatik. Fehler. Testplan

FB Informatik. Fehler. Testplan Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout

Mehr

Übungen zu C++ Kapitel 1

Übungen zu C++ Kapitel 1 Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme

Mehr

Lua - Erste Schritte in der Programmierung

Lua - Erste Schritte in der Programmierung Lua - Erste Schritte in der Programmierung Knut Lickert 7. März 2007 Dieser Text zeigt einige einfache Lua-Anweisungen und welchen Effekt sie haben. Weitere Informationen oder eine aktuelle Version dieses

Mehr

2. Einfache Java-Programme Grundlagen der Programmierung 1 (Java)

2. Einfache Java-Programme Grundlagen der Programmierung 1 (Java) 2. Einfache Java-Programme Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 4. Oktober 2005 Agenda Agenda Grundstruktur

Mehr

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen.

Anweisungsblöcke (dazu zählen auch Programme) werden in geschweifte Klammern eingeschlossen. Programmierung in C++ Seite: 1 Beispielprogramm 1: Programmierung in C++ int main() int hoehe = 3; int grundseite = 5; double flaeche = hoehe*grundseite*0.5; cout

Mehr

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern

C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung. Eltern C++ - Einführung in die Programmiersprache Polymorphismus und Vererbung Eltern Kind Kind Vererbung Definition von Klassen auf Basis von bestehenden Klassen. Implementierung von ist ein. bildet ein hierarchisches

Mehr

Datenbanksysteme SS 2007

Datenbanksysteme SS 2007 Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 9c: Datenbankapplikationen Architektur einer Web-Applikation mit Servlets, JSPs und JavaBeans

Mehr

Einstieg in die Programmierung mit C (als Vorbereitung auf den Versuch EP11 Mikrocontroller)

Einstieg in die Programmierung mit C (als Vorbereitung auf den Versuch EP11 Mikrocontroller) BERGISCHE UNIVERSITÄT WUPPERTAL FACHBEREICH C - PHYSIK ELEKTRONIKPRAKTIKUM Einstieg in die Programmierung mit C (als Vorbereitung auf den Versuch EP11 Mikrocontroller) pk, Ver. 22.12.2010 Das folgende

Mehr

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer

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

Übung zu Grundlagen der Betriebssysteme. Einführungsveranstaltung 16.10.2012

Übung zu Grundlagen der Betriebssysteme. Einführungsveranstaltung 16.10.2012 Übung zu Grundlagen der Betriebssysteme Einführungsveranstaltung 16.10.2012 Termine Übungen wöchentlich, Dienstags 14 Uhr (c.t.), Raum E312 15 Uhr (s.t.), Raum E312 Jede Woche 1 Übungsblatt http://userpages.uni-koblenz.de/~mips/bs/uebung/

Mehr

ubasic Port für STM32F4 von Uwe Becker

ubasic Port für STM32F4 von Uwe Becker ubasic Port für STM32F4 von Uwe Becker Das original ubasic von Adam Dunkels findet sich unter : http://dunkels.com/adam/ubasic/ Die Minimal -Version vom ubasic-port für den STM32F4 beinhaltet folgendes

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

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

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln.

JMPCN Sprungbefehl nur ausführen, wenn VKE 0 ist. JMPC Sprungbefehl nur ausführen, wenn VKE 1 ist. JMP Ohne Bedingung zur Sprungmarke wechseln. Grafische Elemente Netzwerke erstellen Netzwerke erstellen Programme werden in KOP durch grafische Elemente dargestellt. Abfrage einer Variable auf den Zustand 1 Abfrage einer Variable auf den Zustand

Mehr

N Bit binäre Zahlen (signed)

N Bit binäre Zahlen (signed) N Bit binäre Zahlen (signed) n Bit Darstellung ist ein Fenster auf die ersten n Stellen der Binär Zahl 0000000000000000000000000000000000000000000000000110 = 6 1111111111111111111111111111111111111111111111111101

Mehr

Informatik I: Abschnitt 7

Informatik I: Abschnitt 7 Informatik I: Abschnitt 7 Inhalt: 7. Interne Informationsdarstellung 7.1 Ganzzahlige Datentypen 7.2 Gleitkomma-Datentypen Die Folien basieren zum Teil auf einen Foliensatz von R. Großmann und T. Wiedemann

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):

Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell): Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel

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

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

Java 2 JDK 5 / JDK 6 JAV5. Autoren: Christian Münster, Tina Wegener. Inhaltliches Lektorat: Andrea Schwarz. Überarbeitete Ausgabe vom 27.

Java 2 JDK 5 / JDK 6 JAV5. Autoren: Christian Münster, Tina Wegener. Inhaltliches Lektorat: Andrea Schwarz. Überarbeitete Ausgabe vom 27. JAV5 Autoren: Christian Münster, Tina Wegener Inhaltliches Lektorat: Andrea Schwarz Java 2 JDK 5 / JDK 6 Überarbeitete Ausgabe vom 27. April 2007 by HERDT-Verlag für Bildungsmedien GmbH, Bodenheim Grundlagen

Mehr

Zahlendarstellungen und Rechnerarithmetik*

Zahlendarstellungen und Rechnerarithmetik* Zahlendarstellungen und Rechnerarithmetik* 1. Darstellung positiver ganzer Zahlen 2. Darstellung negativer ganzer Zahlen 3. Brüche und Festkommazahlen 4. binäre Addition 5. binäre Subtraktion *Die Folien

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ Seite 1 Einführung in die Programmierung mit C Teil IV - Weiterführende Themen 16. SIMD Programmierung Was bedeutet SIMD Seite SIMD Single-Instruction, Multiple-Data, also eine Instruktion, mehrere Daten

Mehr

Zahlensysteme. von Christian Bartl

Zahlensysteme. von Christian Bartl von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Umrechnungen... 3 2.1. Dezimalsystem Binärsystem... 3 2.2. Binärsystem Dezimalsystem... 3 2.3. Binärsystem Hexadezimalsystem... 3 2.4.

Mehr

C++-Zusammenfassung. H. Schaudt. August 18, 2005

C++-Zusammenfassung. H. Schaudt. August 18, 2005 C++-Zusammenfassung H. Schaudt August 18, 2005 1 Datentypen 1.1 Grunddatentypen int (-32xxx bis +32xxx, implementerungs-abhängig) char -128 bis +128 float double bool (C++) int und char sind austauschbar:

Mehr

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013

Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013 Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert steffen.gebert@informatik.uni-wuerzburg.de

Mehr

Klausur in Programmieren

Klausur in Programmieren Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Bit-Operationen KAPITEL 11

Bit-Operationen KAPITEL 11 KAPITEL 11 Bit-Operationen Sein oder nicht sein, das ist hier die Frage. Shakespeare über Boolesche Algebra In diesem Kapitel besprechen wir bitorientierte Operationen. Ein Bit ist die kleinste Informationseinheit;

Mehr

Technische Infor matik 2 C/C++-Kurs. Datenabstraktion (Klassen) 2005 AG Rechner netze 4.1

Technische Infor matik 2 C/C++-Kurs. Datenabstraktion (Klassen) 2005 AG Rechner netze 4.1 Technische Infor matik 2 C/C++-Kurs Datenabstraktion (Klassen) 2005 AG Rechner netze 4.1 Overloading Überladene Funktionen Auswahl einer Funktion anhand ihrer Signatur Signatur : Name + Parameter Rückgabe-Wer

Mehr

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0

Advanced Encryption Standard. Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Advanced Encryption Standard Copyright Stefan Dahler 20. Februar 2010 Version 2.0 Vorwort Diese Präsentation erläutert den Algorithmus AES auf einfachste Art. Mit Hilfe des Wissenschaftlichen Rechners

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung Aufzählungen, Zeichenketten Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Aufzählungen enumerations,

Mehr

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005

Einführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm

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

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren:

Zur Universalität der Informatik. Gott ist ein Informatiker. Die Grundordnung der Welt läßt sich mathematisch formulieren: Daten und ihre Codierung Seite: 1 Zur Universalität der Informatik Gott ist ein Informatiker Die Grundordnung der Welt läßt sich mathematisch formulieren: Naturgesetze, wie wir sie in der Physik, Chemie

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

STM32F429-Basic Version : C.01

STM32F429-Basic Version : C.01 =========== Projekt : STM32F429-Basic Version : C.01 Datum : 02.11.2014 EMail : mc-4u(@)t-online.de Web : www.mikrocontroller-4u.de =========== Inhalt Seite 2 = Syntaxhinweise / Konventionen Seite 3 =

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de SS2014 Python Programmierung Vorlesung Skriptsprachen Vorlesung: 05.03.2013

Mehr

Programmieren mit der Windows PowerShell. von. Nils Gutsche. (aka Vellas)

Programmieren mit der Windows PowerShell. von. Nils Gutsche. (aka Vellas) Programmieren mit der Windows PowerShell von Nils Gutsche (aka Vellas) Einleitung Im November 2006 erschien die finale Fassung der Windows PowerShell. Sie gilt als der Nachfolger der Eingabeaufforderung

Mehr

C-Programming Hands-on

C-Programming Hands-on C-Programming Hands-on Teil 1 Sebastian Meisner, sebastian.meisner@upb.de Fachgebiet Technische Informatik 1 Schnelleinführung in C Einführung Zeiger Häufige Stolpersteine Aufgaben Inhalt dieser Hands-on

Mehr

Operatoren überladen. Grundsätzliches

Operatoren überladen. Grundsätzliches Operatoren überladen Grundsätzliches Die erste, allgemeinste und wichtigste Regel für das Überladen von Operatoren lautet: Tu s nicht. Das mag paradox klingen, aber der Grund dafür ist, daß sich die hinter

Mehr

5 Zahlentypen und mathematische Funktionen in C

5 Zahlentypen und mathematische Funktionen in C 5 Zahlentypen und mathematische Funktionen in C Jörn Loviscach Versionsstand: 25. September 2014, 18:39 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Multimedia im Netz Wintersemester 2011/12

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

Mehr

Zahlendarstellung Logikfunktionen Register Eingänge Infrarot senden TSOP-Effekte Weiterführendes U23 2008. Abend 3:

Zahlendarstellung Logikfunktionen Register Eingänge Infrarot senden TSOP-Effekte Weiterführendes U23 2008. Abend 3: #2 Abend 3: Alexander Neumann e.v. http://koeln.ccc.de Köln, 3.11.2008 Gliederung 1 Zahlendarstellung n-adische Darstellung natürlicher Zahlen negative Zahlen 2 Logikfunktionen 3 Register

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

Inhalt. Vorbemerkung. Was ist VBA und wofür ist es gut? Bestandteile von VBA-Programmen. Was ist ein VBA-Programm? Benutzerdefinierte Funktionen

Inhalt. Vorbemerkung. Was ist VBA und wofür ist es gut? Bestandteile von VBA-Programmen. Was ist ein VBA-Programm? Benutzerdefinierte Funktionen Inhalt Vorbemerkung Was ist VBA und wofür ist es gut? Bestandteile von VBA-Programmen Was ist ein VBA-Programm? Benutzerdefinierte Funktionen Programme mit Prozeduren Kommentare Funktionen Datentypen Variablen

Mehr

Fehler in numerischen Rechnungen

Fehler in numerischen Rechnungen Kapitel 1 Fehler in numerischen Rechnungen Analyse numerischer Rechnungen: - Welche möglichen Fehler? - Einfluss auf Endergebnis? - Nicht alles in der Comp.Phys./Numerical Analysis dreht sich um Fehler

Mehr

Grundlagen und Basisalgorithmus

Grundlagen und Basisalgorithmus Grundlagen und Basisalgorithmus Proseminar -Genetische Programmierung- Dezember 2001 David König Quelle: Kinnebrock W.: Optimierung mit genetischen und selektiven Algorithmen. München, Wien: Oldenbourg

Mehr

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen:

1. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis 10 darstellen: Zahlensysteme. Das dekadische Ziffernsystem (Dezimalsystem) Eine ganze Zahl z kann man als Summe von Potenzen zur Basis darstellen: n n n n z a a... a a a Dabei sind die Koeffizienten a, a, a,... aus der

Mehr

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB.

Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen. while-schleifen. Zahlarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen In der letzten Sitzung haben wir kennengelernt, wie wir Zahlen mit Operationen

Mehr

Inhalt: Binärsystem 7.Klasse - 1 -

Inhalt: Binärsystem 7.Klasse - 1 - Binärsystem 7.Klasse - 1 - Inhalt: Binärarithmetik... 2 Negative Zahlen... 2 Exzess-Darstellung 2 2er-Komplement-Darstellung ( two s complement number ) 2 Der Wertebereich vorzeichenbehafteter Zahlen:

Mehr

C++ Grundlagen. Der Inhalt gibt einen grundlegenden Überblick von C++ mit vielen Beispielen.

C++ Grundlagen. Der Inhalt gibt einen grundlegenden Überblick von C++ mit vielen Beispielen. C++ Grundlagen Generiert als Best of, siehe z.b. hier: http://www.onlinetutorials.de/cpp-index.htm Der Inhalt gibt einen grundlegenden Überblick von C++ mit vielen Beispielen. 1. Kapitel (Seite 2): Die

Mehr

Beispiel einer Übersetzung

Beispiel einer Übersetzung Beispiel einer Übersetzung Ausdruck in C aktuelle_zeit = Startzeit + vergangene_minuten*60 + vergangene_sekunden; Ausdruck im Instruktionssatz des R10000 LW r1,minuten LW r1,sekunden ADDI r2,r0,60 ADD

Mehr

1. Der Einstieg in Java

1. Der Einstieg in Java 1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen

Mehr

Einführung in die Programmiersprache Perl

Einführung in die Programmiersprache Perl Einführung in die Programmiersprache Perl Teil 2: Binäre Stringoperatoren Zuweisungsoperatoren Zeichen und Zahlen Geordnete Listen und Arrays Assoziative Listen (Hashes) Kontext Referenzen auf Variablen

Mehr

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik Einleitung von Visual Studio C++ SS 2012 Miscrosoft Visual studio C++ Express unterladen 2 weiter Gehen Sie auf die im Rote gekreiste Seite siehe Oben bzw. auf

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

Bachelor-Klausur im WiSe 2013 / 2014. Grundlagen der Informatik

Bachelor-Klausur im WiSe 2013 / 2014. Grundlagen der Informatik Fachhochschule Kaiserslautern FB Informatik und Mikrosystemtechnik Prof. Dr. M. Duque-Antón Bachelor-Klausur im WiSe 2013 / 2014 im Fach Grundlagen der Informatik Angewandte Informatik / Medieninformatik

Mehr

L4. Erster Schritt zum Programmieren

L4. Erster Schritt zum Programmieren L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe

Mehr

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10

FH Jena Prüfungsaufgaben Prof. Giesecke FB ET/IT Binäre Rechenoperationen WS 09/10 FB ET/IT Binäre Rechenoperationen WS 9/ Name, Vorname: Matr.-Nr.: Zugelassene Hilfsmittel: beliebiger Taschenrechner eine selbst erstellte Formelsammlung Wichtige Hinweise: Ausführungen, Notizen und Lösungen

Mehr

2. Die Darstellung von Algorithmen

2. Die Darstellung von Algorithmen 2. Die Darstellung von Algorithmen Aus den Einführungsbeispielen und Übungsaufgaben ist erkennbar, dass zur Darstellung von Algorithmen Grundelemente notwendig sind. Neben der Notation einzelner elementarer

Mehr

Meeting C++ C++11 R-Value Referenzen

Meeting C++ C++11 R-Value Referenzen Meeting C++ Detlef Wilkening http://www.wilkening-online.de 09.11.2012 Inhalt Motivation L-Values und R-Values R-Value Referenzen Move Semantik std::move Funktionen mit R-Value-Referenz Parametern Fazit

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

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

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