Grundlagen der Informatik III Wintersemester 2010/ Vorlesung B.Sc. Patrik Schmittat

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Informatik III Wintersemester 2010/ Vorlesung B.Sc. Patrik Schmittat"

Transkript

1 Grundlagen der Informatik III Wintersemester 2010/ Vorlesung B.Sc. Patrik Schmittat int main() { printf("hello, world!"); return 0; msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 1

2 Inhalt 1. Literatur 2. Einführung in C 3. Zusammenfassung und Ausblick 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 2

3 Literatur [DBG08] Dausmann, Manfred, Ulrich Bröckl und Joachim Goll: C als erste Programmiersprache. Teubner, [Erl99] [Weba] [Webb] Erlenkötter, Helmut: C Programmieren von Anfang an. Rowohlt Tb., The C++ Resources Network, Your Resource for C and C++ Programming, November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 3

4 Willkommen in C int main() { printf("hello, world!"); return 0; msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra Von Assembler weg und hin zur Hochsprache Das ist das Ziel dieser Woche, oder anders: C in 2 Stunden ;) 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 4

5 Zeitfaktor und Wartbarkeit Ihr habt gesehen, dass Assembler Kopfschmerzen verursachen kann Zeitfaktor ist wichtig und Assembler verschlingt viel davon 2 Minuten für den Code rechts aber 1,5 Stunden für die Assemblervariante Deswegen kommen wir nun zu den Hochsprachen import java. u t i l. Arrays ; public class BubbleSort { public s t a t i c void main ( S t r i n g [ ] args ) { i n t a [ ] = {16, 5, 18, 12, 11, 66, 62, 1 ; i n t n = 8; for ( i n t i = n 1; i > 0; i ) { for ( i n t j = 0; j < i ; j ++) { i f ( a [ j ] > a [ j + 1 ] ) { i n t temp = a [ j ] ; a [ j ] = a [ j + 1 ] ; a [ j +1] = temp ; System. out. p r i n t l n ( Arrays. t o S t r i n g ( a ) ) ; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 5

6 Erstes C Programm # i n c l u d e < s t d i o. h> main ( ) { p r i n t f ( " Hello World! \ n " ) ; Simpelstes Programm zur Ausgabe von HelloWorld #include wird später behandelt main() Anfangspunkt für jedes Programm printf(..) Ausgabe eines Strings (später genauer) 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 6

7 Struktur, Konventionen und Kommentare Whitespace 1 ist in C beliebig setzbar, aber trotzdem existieren Konventionen {.. werden in eine eigene Zeile gerückt Jede Deklaration / Definition ist von leeren Zeilen umgeben Jede Anweisung steht in einer eigenen Zeile Kommentare können mit // oder /*.. */ eingefügt werden 1 Darunter zählen Leerzeichen, Tabulatoren, Zeilenenden, etc. 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 7

8 Kompilen und Linken Genau wie bei Assembler ist Kompilieren und Linken notwendig Für den Pool können folgende Befehle genutzt werden gcc o h e l l o h e l l o. c. / h e l l o -o hello ist hier der Name der Binary Für den Anfang reicht ein normaler Texteditor aus Jedoch könnte gdb wichtig werden 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 8

9 Typen Genau wie in Assembler existieren Typen, hier nur explizit modelliert Hier eine kurze Auflistung der wichtigsten Typen Typ Größe Bereich (signed, unsigned) char 1 Byte short 2 Bytes (long) int 4 Bytes bool 1 Byte true / false Nur in C++ float 4 Bytes ±3.4e ±38 (ca. 7 Nachkommastellen) (long) double 8 Bytes ±1.7e ±308 (ca. 15 Nachkommastellen) wchar_t 2 / 4 Bytes 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 9

10 Deklaration, Variablen und Casten C ist CaseSensitive Bei den Namen CamelCase nutzen z.b. ichbineinevariable i n t a ; f l o a t b = 1.0 f ; short c, d = 13, e ; unsigned i n t = 42; char * s t r ; # include <math. h> main ( ) { i n t p = 2, q = 4; f l o a t x1, x2, sqr ; sqr = s q r t ( ( p * p ) / 4.0 f q ) ; x1 = p / 2.0 f + sqr ; x2 = ( f l o a t ) p / 2 sqr ; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 10

11 Sichtbarkeit (Scope) Variablen sind nur innerhalb ihrer {.. sichtbar main ( ) { i n t a, b ; a = 0; / / Ok { b = 0; / / Ok i n t c = 0; / / Ok c = 0; / / Fehler a = 0; / / Ok b = 0; / / Fehler 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 11

12 #include #include wird genutzt, um Dateien einzubinden Ist ein Präprozessor-Makro und es gibt auch andere (#if #ifndef #endif) In dem Sinne wird an dieser Stelle Copy / Paste durchgeführt Damit Header nicht zweimal eingebunden werden gibt es Include-Guards # i n c l u d e < s t d i o. h> / / Bindet s t d i o. h ein # i n c l u d e <.. > / / Header auf Systemebene suchen # i n c l u d e ".. " / / Header auf Projekt dann Systemebene suchen / / Typischer Include Guard der Header Datei example. h # i f n d e f EXAMPLE_H # d e f i n e EXAMPLE_H.. h i e r der e i g e n t l i c h e Code.. # e n d i f / / EXAMPLE_H 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 12

13 Zeichenketten (Strings) In dem Typ char* können Strings abgespeichert werden # i n c l u d e < s t d i o. h> main ( ) { char * s t r = " Hallo Welt! \ n " ; p r i n t f ( s t r ) ; Dabei ist \n ein Steuerzeichen \n Zeilenumbruch (newline) \r Wagenrücklauf (carriage return) \t Tabulator \v Vertikaler Tabulator \b Rückschritt (backspace) \a Ton ausgeben \ Anführungszeichen ( ) \\ Schrägstrich (backslash) (\) 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 13

14 Operatoren + * / Grundrechenarten % Modulo ++ Preorder ++i == return i=i+1; Postorder i++ == return i; i=i+1; & ^ ~ Bitweise AND, OR, XOR, NOT << >> Shift ==!= (Un-)Gleich > >= < <= Größer / Kleiner &&! Logisches AND, OR, NOT & Adresse von (monadisch) * Dereferenzierung (monadisch) a? b : c Bedingter Ausdruck if (a) b; else c; Einige der Operatoren sind auch mit = verwendbar z.b. += 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 14

15 Bindung ++ Postorder ( ) Funktionsaufruf [ ] Arrayzugriff ++ Preorder! Logisches NOT ~ Bitweise NOT + unäres Minus / Plus & * Adresse / Dereferenzierung (type) Typumwandlung (cast) >. Strukturzugriff * / Grundrechenarten % Modulo + Grundrechenarten << >> Shift > >= < <= Größer / Kleiner ==!= (Un-)Gleich & Bitweise AND ^ Bitweise XOR Bitweise OR && Logisches AND Logisches OR a? b : c Bedingter Ausdruck = (zgs) Zuweisung Je höher ein Operator in der Liste ist, desto stärker bindet er Mit Linien abgetrennte Operatoren besitzen die gleiche Bindung 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 15

16 Kontrollstrukturen if else switch while do for stehen auch in C zur Verfügung Sonderheiten: Ausdruck im if(..) muss nicht bool sein (exp!= 0 === true) Falls break; im switch fehlt wird Code fortgeführt! Deklaration der Schleifenvariable muss vor der for stehen / / S t r i n g / Byte Copy while ( a [ i ++] = b [ j + + ] ) ; switch ( v a l ) { case 0: r e s u l t = 0; case 1: r e s u l t = 1; / / r e s u l t === 1 / / Da kein break ; vorhanden i s t i n t i ; / / Muss davor stehen! for ( i = 0; i < n ; i ++) / / Befehle i n t r e s u l t = exp? 1 : 0; / / === i n t r e s u l t ; i f ( exp ) r e s u l t = 1; else r e s u l t = 0; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 16

17 Sprungbefehle break, continue Schleifen können unterbrochen werden while ( t r u e ) { i f ( exp ) / / S p r i n g t raus break ; Während Schleifendurchlauf wieder an den Anfang springen i n t i ; for ( i = 0; i < n ; i ++) { i f ( a [ i ] == 0) / / Element ueberspringen continue ; / / Befehle 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 17

18 Ein- und Ausgabe, Formatierung printf(..) ist eine Methode um auf die Ausgabe zu schreiben Eingaben können mit scanf erledigt werden # i n c l u d e < s t d i o. h> main ( ) { char s t r [ 8 0 ] ; i n t i ; p r i n t f ( " Dein Name: " ) ; scanf ( "%s ", s t r ) ; p r i n t f ( " Dein A l t e r : " ) ; scanf ( "%d ", & i ) ; p r i n t f ( "%s %d \ n ", s t r, i ) ; i n t p r i n t f ( const char * format,... ) ; %Frmt Bedeutung Beispiel c Buchstabe a d, i Ganzzahl mit Vorzeichen 392 f Gleitkommazahl o Oktahlzahl mit Vorzeichen 610 s String sample u Ganzzahl ohne Vorzeichen 7235 x, X Hexzahl ohne Vorzeichen 7fa, 7FA % % ausgeben 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 18

19 Konvertierung Es stehen ein paar Funktionen zur Konvertierung zwischen char* und anderen Typen zur Verfügung Notwendig ist das Einbinden von stdio.h i n t a t o i ( const char * s t r ) ; long a t o l ( const char * s t r ) ; f l o a t a t o f ( const char * s t r ) ; Nicht im Standard aber vielleicht verfügbar Negative Zahlen gehen nur mit 10er-System char * i t o a ( i n t value, char * s t r, i n t base ) ; Standard-konform wäre die Nutzung von sprintf s p r i n t f ( s t r, "%d ", value ) / / 10er System s p r i n t f ( s t r, "%x ", value ) / / 16er System s p r i n t f ( s t r, "%o ", value ) / / 8er System 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 19

20 Mathematische Funktionen Manche sind in math.h definiert i n t abs ( i n t v a l ) ; f l o a t fabs ( f l o a t v a l ) ; double cos / s i n / tan ( double v a l ) ; double acos / asin / atan / atan2 ( double v a l ) ; double cosh / sinh / tanh ( double v a l ) ; double exp / log / log10 / s q r t ( double v a l ) ; double pow ( double base, double exp ) ; double c e i l / f l o o r ( double v a l ) ; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 20

21 String Operationen Prinzipiell sind immer die Funktionen mit n sicherer Wichtig ist, dass dest den komplett erzeugten String halten können muss! char * s t r c p y ( char * dest, const char * src ) ; char * strncpy ( char * dest, const char * src, s i z e _ t num ) ; char * s t r c a t ( char * dest, const char * src ) ; char * s t r n c a t ( char * dest, const char * src, s i z e _ t num ) ; i n t strcmp ( const char * str1, const char * s t r 2 ) ; i n t strncmp ( const char * str1, const char * str2, s i z e _ t num ) ; char * s t r s t r ( char * s t r, const char * sub ) ; s i z e _ t s t r l e n ( const char * s t r ) ; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 21

22 Arrays Arrays sind eigentlich wenig unterschiedlich zu Java Nur die dynamische Allokation ist anders Ein äquivalent zu Javas.length existiert nicht! i n t i, n = 3; i n t a [ ] = { 4, 6, 1 ; i n t b [ 5 ] ; char century [ ] [ ] [ 2 4 ] [ 6 0 ] [ 6 0 ] ; / / >3GB Speicher ; ) for ( i = 0; i < n ; i ++) a [ i ] = 10 a [ i ] ; func ( a ) ; func ( b ) ; / / Leider kein K o m p i l e r f e h l e r void func ( i n t vec [ 3 ] ) {.. / / Auch die g l e i c h e Signatur void func ( i n t vec [ ] ) {.. void func ( i n t * vec ) { November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 22

23 Structs, typedef Structs sind eine Art und Weise Daten zu koppeln Mit typedef können Typen umbenannt werden struct typename {.. objectname ; struct v e c t o r 3 _ t { i n t x, y, z ; ; / / Es ginge auch h i e r a, b, c zu schreiben v e c t o r 3 _ t a, b, c ; a. x = 3; a. y = 2; c. z = 2; typedef unsigned i n t myint ; myint i = 1; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 23

24 enum, #define, const enum dient dazu eine Auswahl von Werten zu erzeugen const deklariert sich niemals ändernde Variablen #define kann genutzt werden um Makros zu schreiben Jedoch sollte vorsichtig mit Makros umgegangen werden! enum f r u i t s _ e { APPLE, PEAR, BANANA ; f r u i t s _ e myfruit = APPLE; i f ( myfruit == PEAR) \ \ Befehle / / Im Scope immer 12 const monthsinyear = 12; / / Gleiche Bedeutung # d e f i n e MONTHSINYEAR 12 / / Makros = boese! # d e f i n e SCARY ==0) p r i n t f i f ( i SCARY ( " H i l f e! " ) ; 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 24

25 Funktionen Deklarationen von Funktionen verhält sich prinzipiell nicht anders als sonst Wichtig ist aber, dass die Funktionen die man nutzen möchte über der aktuellen deklariert sein müssen! / / Deklarationen void func ( i n t i ) ; i n t func2 ( f l o a t a, double c ) ; / / D e f i n i t i o n e n void func ( i n t i ) { / / Ginge ohne die D e k l a r a t i o n / / von func2 oben n i c h t! func2 ( 2. 0 f, 1. 0 ) ; i n t func2 ( f l o a t a, double c ) {.. void func3 ( ) {.. / / D e k l a r a t i o n und D e f i n i t i o n z u g leich 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 25

26 Defaultwerte, Rekursion und Überladung Defaultwerte für Parameter sind in C nicht verfügbar (nur in C++) Bei Rekursion kein anderes Verhalten Überladung funktioniert ebenso identisch void func ( i n t i / * = 0 f u n k t i o n i e r t n i c h t * / ) {.. void rekfunc ( ) { / / Ja die schoene Endlosrekursion rekfunc ( ) ; / / Ueberlaed die func ( i n t ) mit einem f l o a t Parameter void func ( f l o a t f ) { November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 26

27 Zusammenfassung und Ausblick Erstes Programm in C Struktur, Konventionen und Kommentare Typen, Variablen, Cast, Scope include, Strings Operatoren, Bindung, Kontrollstrukturen Ein- / Ausgabe, Konvertierung Mathematische und String Funktionen Arrays, Structs, typedef, Enums, define, const Funktionen, Überladung, Rekursion Nächste Vorlesung behandelt Zeiger, call-by-value / -reference malloc, free, calloc, realloc Lokale, globale, statische Variablen Datei Ein- / Ausgabe Argumente, gdb, Dokumentation 16. November 2010 Technische Universität Darmstadt B.Sc. Patrik Schmittat 27

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

Einführung in die Programmiersprache C

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

Mehr

Die Programmiersprache C99: Zusammenfassung

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

Mehr

10 Die Programmiersprache C99: Zusammenfassung

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

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Einführung in die C-Programmierung

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

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

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

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

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

Mehr

Vorkurs Informatik WiSe 16/17

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

Mehr

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

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

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

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

Mehr

Zusammenfassung des Handzettels für Programmieren in C

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

Mehr

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

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

Mehr

Die einfachsten Anweisungen

Die einfachsten Anweisungen 2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser

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

Tutorium Rechnerorganisation

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

Mehr

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

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

Mehr

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

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

C++ Teil 4. Sven Groß. 30. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 16 C++ Teil 4 Sven Groß IGPM, RWTH Aachen 30. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 4 30. Apr 2015 1 / 16 Themen der letzten Vorlesung Funktionen: Definition und Aufruf Wert- und Referenzparameter,

Mehr

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

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

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

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

Funktionales C++ zum Ersten

Funktionales C++ zum Ersten Funktionales C++ zum Ersten WiMa-Praktikum 1, Teil C++, Tag 1 Christoph Ott, Büro: Helmholtzstr.18, E22 Tel.: 50-23575, Mail: christoph.ott@uni-ulm.de Institut für Angewandte Informationsverarbeitung 26.08.08

Mehr

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

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

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

Einstieg in die Informatik mit Java

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

Mehr

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

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

Mehr

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println(Hello World! Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

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

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22 C++ Teil 2 Sven Groß IGPM, RWTH Aachen 16. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 2 16. Apr 2015 1 / 22 Themen der letzten Vorlesung Hallo Welt Elementare Datentypen Ein-/Ausgabe Operatoren Sven

Mehr

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!

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

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens

Einleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität

Mehr

C-Programmierung lernen

C-Programmierung lernen 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Andre Willms C-Programmierung lernen Anfangen, anwenden, verstehen

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

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

Mehr

Effektiv Programmieren in С und C++

Effektiv Programmieren in С und C++ Dietmar Herrmann Effektiv Programmieren in С und C++ Eine Einführung mit Beispielen aus Mathematik, Naturwissenschaft und Technik 3., vollständig überarbeitete und erweiterte Auflage 3 vieweg flffm \;i

Mehr

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? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage

Mehr

THE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic

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

Mehr

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

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

Mehr

Outline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik

Outline. 1 Einleitung. 2 Einführung in C. 3 Fortgeschrittenes in C. 4 Einführung in Emacs Lisp. 5 Einführung in Prolog. 6 Formale Semantik Outline 1 Einleitung 2 Einführung in C 3 Fortgeschrittenes in C 4 Einführung in Emacs Lisp 5 Einführung in Prolog 6 Formale Semantik Imperative Programmierung Imperatives Paradigma Ziel: Ablaufbeschreibung

Mehr

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

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

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 1 - Variablen und Kontrollstrukturen Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 1 - Variablen und Kontrollstrukturen main Methode Startpunkt jeder Java Anwendung String[] args ist ein Array aus Parametern, die beim Aufruf über die Kommandozeile

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

Die Programmiersprache C

Die Programmiersprache C Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,

Mehr

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

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for

Mehr

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

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

Mehr

C-Crashkurs. Praktikum Systemmanagement und Sicherheit

C-Crashkurs. Praktikum Systemmanagement und Sicherheit C-Crashkurs Praktikum Systemmanagement und Sicherheit ZIELE DIESES KURSES 15.04.2014 Dipl.-Inf. M. Bohr C_Crashkurs 2 Compiler gcc verwenden geläufigste Datentypen in C kennen Fehlerbehandlung (ohne Ausnahmeklassen)

Mehr

Kurzeinführung in C99

Kurzeinführung in C99 Kurzeinführung in C99 Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Compiler und Editoren - Was wird benötigt um ein Programm zu erstellen 2

Mehr

Java: Eine kurze Einführung an Beispielen

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

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

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

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 4: Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Gliederung Programmiersprachen 1. Von der Maschinensprache zu C 2. Die Struktur von C-Programmen

Mehr

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollstrukturen - 1 - Anweisung Anweisung Zuweisung Methodenaufruf

Mehr

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Eine praktische Einführung in die Programmierung mit der Programmiersprache C Eine praktische Einführung in die Programmierung mit der Programmiersprache C www.c-howto.de C-HowTo www.c-howto.de Inhaltsverzeichnis 1 Einführung.. 10 1:1 Wozu Programmieren? 10 1.2 Was ist ein Programm?

Mehr

Organisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben

Organisatorisches. Übungsleiter: Karsten Otto Homepage:  Aufgaben Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe

Mehr

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

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung

Mehr

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

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14 C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung

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

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten

Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten Einheit Lexikalische Grundlagen der Programmiersprache C Lexikalische Einheiten Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik R. Spurk (Informatik)

Mehr

Fragenkatalog ESOP WS 16/17

Fragenkatalog ESOP WS 16/17 Fragenkatalog ESOP WS 16/17 1. Einleitung 1.1 Was ist Programmieren? 1.2 Was ist ein Programm? 1.3 Welche Schritte werden bei der Programmerstellung benötigt? 1.4 Was ist ein Algorithmus? 1.5 Was sind

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

Werkzeuge zur Programmentwicklung

Werkzeuge zur Programmentwicklung Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul

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

Welche Informatik-Kenntnisse bringen Sie mit?

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

Mehr

Grundlagen der Informatik 2. Operatoren

Grundlagen der Informatik 2. Operatoren 2. Operatoren Referenzen Typumwandlungen Vorrangregeln Kommentare Grundlagen der Informatik (Alex Rempel) 1 Ausdruck (z.b. "x = 34 + y;") Folge von Operatoren und Operanden Operatoren Arithmetische Operatoren

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

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

Grundelemente von C++

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

Mehr

Grundlagen von C# - 1

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

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Erste Schritte der Programmierung in C

Erste Schritte der Programmierung in C Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)

Mehr

Informatik I (D-MAVT)

Informatik I (D-MAVT) Informatik I (D-MAVT) Übungsstunde 2 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Vorbesprechung Übung 2 Variablen + Scopes Zahlensysteme Bits&Bytes Datentypen

Mehr

Einführung in die Programmierung mit VBA

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

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

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

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19

C++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19 C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu

Mehr

Einführung in die Programmierung Wintersemester 2011/12

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

Mehr

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

Probeklausur: Programmieren I

Probeklausur: Programmieren I Probeklausur: Programmieren I WS09/10 Erlaubte Hilfsmittel: keine Lösung ist auf den Klausurbögen anzufertigen. (eventuell Rückseiten nehmen) Bitte legen Sie einen Lichtbildausweis und den Studentenausweis

Mehr

AuD-Tafelübung T-B5b

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

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

Mehr

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke 1 Links Stellenwertsysteme mit Links zu Zahlensysteme: http://de.wikipedia.org/wiki/stellenwertsystem ASCII-Code: http://de.wikipedia.org/wiki/ascii

Mehr

С als erste Programmiersprache

С als erste Programmiersprache Joachim Goll Ulrich Bröckl Manfred Dausmann С als erste Programmiersprache Vom Einsteiger zum Profi 4., überarbeitete und erweiterte Auflage Teubner B.G.Teubner Stuttgart Leipzig Wiesbaden 1 2 3 4 5 GRUNDBEGRIFFE

Mehr

Android-Apps Gegenüberstellung Delphi java

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

Mehr

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration CoMa-Übung III TU Berlin 30.10.2013 Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration 30.10.2013 1 /

Mehr

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

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

Mehr

Informatik I - Einstiegskurs

Informatik I - Einstiegskurs Informatik I - Einstiegskurs Dr. Henrik Brosenne Georg-August-Universität Göttingen Institut für Informatik Basiert auf dem Einstiegskurs im Wintersemester 2009/10 von Markus Osterhoff Wintersemester 2012/13

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr