Crashkurs: Von Java nach C
|
|
- Oswalda Hafner
- vor 7 Jahren
- Abrufe
Transkript
1 Crashkurs: Von Java nach C
2 Motivation: C ist eine relativ alte Sprache, warum darf ich sie dennoch lernen? Es ist möglich hoch optimierten und damit schnellen Code zu erzeugen C Compiler existieren für nahezu jede Plattform Ein großer Teil bestehender Software wurde mit C/C++ entwickelt und will weiterentwickelt werden C ermöglicht systemnahe Programmierung
3 Richtig oder falsch? #include <stdio.h> int main( int nargs, char** pargs ) if ( == 1 ) printf( richtig, oder? ); else printf( sollte man die Mathematik oder C nicht doch nochmals überdenken? Oo ); return 0;
4 #include <stdio.h> Ähnlich wie das import Schlüsselwort in Java, eine Funktionsbibliothek, welche die Funktion printf() enthält wird eingebunden int main( int nargs, char** pargs ) Funktionskopf der main-methode Methode,, sie wird am Anfang jedes C- Programmes gestartet ( die Parameter vom Benutzer werden übergeben, dazu später mehr) if ( == 1 ) else die typische if then else Bedingung printf( ( richtig oder? ); richtig oder? wird auf dem Bildschirm ausgegeben return 0; Die main Funktion gibt 0 am Ende der Funktion zurück ( der Rückgabewert 0 wird in C normalerweise dann zurück gegeben, wenn eine Funktion fehlerlos ausgeführt wurde )
5 Von den C Dateien zum ausführbaren Programm hello.c 1. Kompilieren mit: gcc c hello.c world.c world.c Quelldateien hello.o 2. Binden mit: gcc o helloworld hello.o world.o world.o Objekt Dateien helloworld Ausführbare Datei Nützliche zusätzliche Compileroptionen: -ansi Wall pedantic pedantic-errors O3 g -S -l
6 Wie schreibe / compiliere / führe ich mein Pogramm nun konkret aus ohne Eclipse? 1. Mit gedit/kedit/vim eine neue Datei mit Endung.c erzeugen z.b. test1.c 2. Eine main-funktion in die Datei schreiben die zu Beginn ausgeführt werden wird, hier der Funktionsrumpf: int main( int nargs, char** pargs ) return 0; 3. Mit einer Konsole (z.b. xterm) in das Verzeichnis mit der Quell-Datei gehen 4. Um das Programm zu kompilieren kann nun diese Befehlszeile genommen werden: gcc ansi Wall pedantic o test1 test1.c Die ausführbare Datei test1 sollte nun vorliegen, wenn keine Fehler ausgegeben werden 5. Das Programm mit./test1 ausführen ( Achtung:./ nicht vergessen! ) 6. Möchte man das Programm abbrechen ( Endlosschleife ;) ) Strg+c verwenden
7 Variabeln in C Typ Bytes Wertebereich char int short long float double 1 Byte -128 bis Byte bis Byte bis Byte bis Byte Flieskommazahl, ca. sechs Stellen Genauigkeit 8 Byte Flieskommazahl, ca. zwölf Stellen Genauigkeit
8 Variablen in C immer am Funktionsanfang deklarieren und am besten gleich initialisieren! In C gibt es weder den Typ Boolean noch String ( false entspricht z.b. bei Vergleichen der 0, true einen Wert ungleich 0 ) unsigned vor einem Ganzzahl-Typ für rein positive Zahlen: Verdoppelung des Wertebereichs Die Anzahl der Bytes und der damit verbundene Wertebereich können von Compiler und der Rechnerarchitektur (z.b. 16/32/64 Bitrechner) abhängen
9 Übersicht der Operatoren unäre Operatoren: ! sizof(type) Arithmetische Operatoren: + - * / % >> << Vergleichsoperatoren: < <= > >= ==!= && Zuweisungsoperatoren: = += -= *= /= %=
10 Operatoren: Lösung einer quadratischen Gleichung ax² ² + bx + c = 0 #include <stdio.h> #include <math.h> int main( int nargs, char** pargs ) double a = 2, b = 5, c = 2; double wurzel = 0; double x1 = 0, x2 = 0; wurzel = sqrt( b * b - 4 * a * c ); x1 = ( - b + wurzel ) / ( 2 * a ); x2 = ( - b wurzel ) / ( 2 * a ); printf( "x1:%f ", x1 ); printf( "x2:%f", x2 ); return 0;
11 Casting primitiver Datentypen int apu = 1; int moe = 2; double apumoe = 0; apumoe = apu / moe; printf("%f", apumoe); double apumoe = 1 / 2; apumoe = apu / moe; printf("%f", apumoe); Ausgabe: in beiden Fällen! Problem: Die Berechnung ½ wird durchgeführt, jedoch sind beide vom Typ int das Zwischenergebnis wird zuerst auch nach int gecastet und erst danach in double! Um das Problem zu beheben muss man eine der beiden Zahlen zuerst mit dem Keyword (double) nach double casten oder im rechten Beispiel 1 / 2.0 z.b. schreiben. Dadurch wird eine Doubledivision durchgeführt.
12 Diese Schleifenarten sollten aus Java bekannt sein, aber welche ist keine Endlosschleife? while ( 0 ) ; int Selma = 0; for (Selma = 2; Selma <= -5; Selma++ ) while ( 0 ) continue; int Marge= -2; do continue; i++; while ( Marge!= 5) int Bart = 50; int Liza = 70; for ( Liza = 2; Bart >= 10; Liza-- ) int Crusty = 2; for ( ; ; ) ;
13 Was macht dieses Programm?!? #include <stdio.h> int main( int nargs, char** pargs ) int zahl = 143; int i = 0; int tmp = 0; for ( i = 1; i <= 10; i++ ) tmp = zahl; while ( tmp % i!= 0 ) tmp++; printf( "%d : %d\n", i, tmp ); return 0;
14 if-then then-elseelse und switch Die Betragsfunktion: int Betrag( int zahl ) if ( zahl < 0 ) zahl = - zahl; else zahl = zahl; Die if-then then-else-aweisungen sind in Java und in C identisch. Menüwahl: int Menu( int MenuID ) switch ( a ) case 0: printf( Bitte sehr, ein Hamburger! ); break; case 1: printf( Hier, ihr chilli con carne! ); break; default: printf( Ihre Bestellung konnte nicht zugeordnet werden! ); break; Achtung: Nie break vergessen!!!
15 Funktionsdeklarationen Ruft man eine Funktion auf, muss diese weiter oben im Code bereits deklariert worden sein Es genügt aber eine Deklaration des Funktionskopfes: Beispiele: int square ( int n ); double power ( double, int ); Es ist also entweder möglich zu versuchen die Funktionen selbst in die richtigen Reihenfolge zu schreiben Oder aber so dem Compiler am Anfang zu erklären, wie viele und welche Parameter/ Rückgabewerte er bei der aufzurufenden Funktion zu erwarten hat
16 Header Dateien (.h ) Um nicht für jeder Datei am Anfang alle Funktionen deklarieren zu müssen, ist es auch möglich mit dem Präprozessor Makro #include# am Anfang des C-C Dateien Header Dateien einzubinden, welche die Funktionsdeklarationen enthalten Vorteile: Übersichtlichkeit der C-Dateien C steigt Mehrere C-Dateien C können die gleichen Headerdateien includen.. Anstatt eine Funktion später in allein C-Dateien C zu ändern, braucht man nur die Header Datei anpassen Der Präprozessor macht vor dem Kompilieren nichts anderes als eine textuelle Ersetzung, kopiert also einfach den Inhalt der Headerdatei in die C-Dateien Beispiel: #include meinheaderfile.h /* eigene Headerfile( hier im gleichen Verzeichnis) */ #include <stdio.h> /* Headerfile im Bibliotheksverzeichnis */
17 #define #define PI #define NSTEPS 10 #define DEBUG #define DEBUG_LVL 2 int i = 0; #ifdef DEBUG printf( Steps: NSTEPS ); #else #endif noop(); #if DEBUG_LVL > 1 printdebug(); #endif for ( i = 0; i < NSTEPS; ; i++) printf( ( %d \n, PI * i );
18 printf ( ) Die Funktion printf ( deklariert in <stdio.h< stdio.h> > ) ermöglicht eine formatierte Textausgabe. Weitere Informationen über Funktionen der Standardbibliotheken können k mit dem Befehl man ( hier man 3 printf ) abgefragt werden. printf( ( <formatierter String>, ) Der formatierte String: Der Text, eventuell mit Formatierungsinformationen Die Punkte : optional: Variabeln die als 2 bis n-ter Parameter mit ausgegeben werden sollen
19 printf ( ) Für den formatierten String: %d %i int %o %u %x %X unsigned int, octal (o), unsigned int (u), hexadecimal (x, X) %e %f %g double, exponential-format %c int,, konvertiert zum zugehörigen Buchstaben %s konstanter String
20 Statische Arrays Mögliche Deklarationen: int bfeld [10]; double efeld [3] = 3.2, 7.5; char stringfeld [] = Partytime? ; char springfield [7] = s, p, r, i, n, g, \0 ; Deklariert man ein statisches Array, so muss die Größe des Array schon zur Compilezeit bekannt sein! Wird dem Array direkt Inhalte zugewiesen, so muss die Größe nicht explizit deklariert werden. Wird sie jedoch angegeben, muss sie mindestens so groß sein, wie die Anzahl der Elemente in dem Array. Ungültig wäre Beispielsweise: double efeld [1] = 3.2, 7.5, 4.7;
21 Pointer Pointer sind Variablen mit einer Speicheradresse als Variableinhalt ( d.h. bei 32 Bit sind sie 4 Bytes groß ) Pointer können einen bestimmten Typ haben (int,, double, char ) Inkrementiert man einen Pointer um 1, so zeigt er im Speicherbereich um sizeof(pointertyp) Bytes weiter. Dies kann beispielsweise genutzt werden um durch Arrays zu laufen.
22 Pointer int* pbanane; Deklaration des Pointer pbanane,, er noch zeigt zu irgend einer Speicheradresse int Affe = 10; pbanene = &Affe; printf( %x, pbanene ); printf( %d, *pbanene ); Der Pointer pbanene zeigt nun auf die gleiche Speicherstelle wo die Variable Affe liegt Durch den & Operator erhält man die Speicheradresse der Variable Affe Wert des Pointers wird ausgegeben. Da dieser Wert eine Adresse ist, sieht sie z.b. so aus: bf8e3364 Der * Operator vor einer Pointer-Variable löst die Adresse auf und folgt ihr zu der Speicherstelle wo der Pointer hin zeigt. Ausgabe: 10
23 Beispiel swap() void swap(int a, int b) int tmp = 0; tmp = a; a = b; b = tmp; void swap(int* a, int* b) int tmp = 0; tmp = *a; *a = b; *b = tmp; Die Funktion swap soll die Werte von a und b vertauschen. Bei der ersten Version werden die Werte direkt übergeben, bei der zweiten nur Pointer, die auf die Speicherstelle des Wertes zeigen. Welche der beiden Versionen funktioniert nicht? Warum?
24 Arrays und Pointer Deklariert man ein statisches Array z.b. ( int elephant [10] ) ist elephant nichts anderes als ein statischer Pointer (er kann zu einem normalen nicht versetzt werden) der auf die erste Speicheradresse des Arrays zeigt. In C hängen Arrays immer zusammen, bedeutet z.b. das das Feld elephant an Speicheradresse liegen könnte, also keine Lücken besitzt. Es gibt nun 2 Möglichkeiten auf die erste Variable des Feldes zuzugreifen: int elephant [10]; elephant[0] = 10; int elephant [10]; *elephant = 10;
25 Arrays und Pointer Wir wollen nun ein Feld der Größe 10 mit den Werten belegen. Hier zwei Möglichkeiten: int i = 0; int giraffe [10]; for ( i = 1; i <= 10; i++ ) giraffe[i] = i; int i = 0; int giraffe [10]; int* pgiraffe; pgiraffe = giraffe; for ( i = 1; i <= 10; i++ ) *pgiraffe = i; pgiraffe++;
26 Dynamische Speicherallocierung mit malloc Oft weiß man zu Programmbeginn noch nicht ein wie großes Feld man benötigen wird. Deshalb gibt es eine Möglichkeit Speicher dynamisch zu allocieren.. Die Bibliotheksfunktion malloc gibt als Rückgabewert die Adresse ab der das Feld beginnt zurück. Konnte kein Speicher allociert werden (z.b. wegen Speichermangel) wird die ungültige Adresse 0x00 0 also NULL zurück gegeben. Als Parameter wird die Größe des Feldes in Byte erwartet. Wird der Speicher nicht mehr benötigt, muss er mit free() wieder freigegeben werden void* malloc ( unsigned int size );
27 Berechnung der e-funktion e mit verschiedenen Genauikeiten (e x = 1 + x/1! + x 2 /2! + x 3 /3! + ) #include <stdlib.h> double* exp( double x, int iterationen ) double* presult; int Nenner = 1; double Zaehler = 1; int i = 0; presult = (double) malloc( iterationen * sizeof(double) ); if ( presult == NULL ) exit(-1); presult[0] = 1; for ( i = 1; i < iterationen; i++ ) Zaehler = Zaehler * x; Nenner = Nenner * i; presult[i] = Zaehler / Nenner; return presult; Wie müsste man das Programm verändern, wollte man die [ ] bei den Array nicht verwenden, sondern mit purer Pointerarithmetik arbeiten?
28 Zeigerfelder Der int main( int nargs, char** pargs ) Funktion wird als erster Parameter übergeben, wie viele Argumente das Programm beim Aufruf erhalten hat. Der zweite Parameter ist ein Zeigerfeld, das auf jeden einzelnen Parameter zeigt. pargs pargs[0] pargs[1] pargs[2] Aufruf: example test -x - x \0 e x a m p l e \0 - t e s t \0
29 Parameter in Grossbuchstaben umwandeln und ausgeben #include <stdio.h> #include <ctype.h> int main( int nargs, char** pargs ) int i = 0; char* pcurchar; for ( i = 0; i < nargs; i++ ) pcurstring = pargs[i]; while ( *pcurchar!= \0 ) *pcurchar = toupper( *pcurchar ); printf( %s\n, pargs[i]);
30 Structures Ein Structure fasst eine oder mehrere Variablen zu einer Einheit zusammen struct Tier int Alter; char Wohnort[100]; double Groesse, Gewicht; ; struct Tier giraffe; giraffe.alter = 15; giraffe.wohnort = Zoo ; giraffe.groesse = 3.21; giraffe.gewicht = 120; mit dem Schlüsselwort struct strname wird ein neues Structure strname deklariert. Es ist etwas ähnliches wie eine Klasse ohne Funktionen in Java. Achtung: Nicht das ; nach der struct Definition vergessen! Der. Operator ermöglicht einen Zugriff auf die einzelnen Variablen in diesem Structure.
31 Wie allociere ich ein Structure dynamisch und greife anschließend darauf zu? struct Tier int Alter; char Wohnort[100]; double Groesse, Gewicht; ; struct Tier* kaa; kaa = (struct Tier*) malloc( sizeof(struct Tier) ); // Konnte eine Schlange allociert werden? if ( kaa == NULL ) exit(-1); (*kaa).alter = 11; kaa->wohnort = Dschungel ; (*kaa).groesse = 4.21; kaa->gewicht = 20; // Es gibt zwei Möglichkeiten auf eine // Variable in einem Pointer-Structure // zuzugreifen: // -Erst die Variable mit * zu // dereferenzieren und dann normal // mit dem. Operator // oder direkt mit dem verkürzenden ->
32 Beispiel: Verkette Liste Prinzip einer verketteten Liste: struct Tier* first; struct Tier struct Tier* next; char Name[100]; double Groesse; ; Ein neuer Eintrag wird mit Hilfe von malloc allociert und dann am Ende der Liste eingehängt. In dem Beispiel würde der Letzte *next Pointer nicht mehr auf NULL sondern auf das neue Element zeigen. NULL *next Name = Balu Groesse = 2.1; *next Name = Kaa Groesse = 4.2; *next Name = Shir Kahn Groesse = 1.1;
33 Was ist zu beachten? Niemals die verkettete Liste verlieren, es sollte immer ein Pointer auf den Anfang zeigen Möchte man ein Element entfernen reicht es nicht aus, nur das Element selber zu löschen. Das Element davor muss auch auf das Element nach dem Gelöschten zeigen, sonst ist die Liste in einem inkonsistenten Zustand
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
MehrTutorium 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
MehrEinfü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
MehrDr. 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
MehrEinfü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).
MehrC 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
MehrDAP2-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
MehrDie 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
MehrZusammenfassung 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.
MehrProgrammierung mit C Zeiger
Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrGrundlagen. 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
MehrDr. 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
MehrDeklarationen 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.
MehrInhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
MehrDie 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,
MehrProgrammieren in C. Die C-Standardbibliothek. Prof. Dr. Nikolaus Wulff
Programmieren in C Die C-Standardbibliothek Prof. Dr. Nikolaus Wulff Die C-Standard Bibliothek Mit dem C Compiler werden viel fertige Bibliotheksfunktionen ausgeliefert. Eine genaue Kenntnis dieser Funktionen
MehrÜbungspaket 29 Dynamische Speicherverwaltung: malloc() und free()
Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten
MehrHello 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
MehrC programmieren. Jürgen Wolf
C programmieren Jürgen Wolf Vorwort 11 Kapitel 1: Schnelleinstieg 13 Was sollten Sie bereits können? 14 Was lernen Sie mit diesem Buch? 14 Was benötigen Sie noch? 14 Überblick zu den einzelnen Kapiteln
MehrKurzeinführung in C. Johannes J. Schneider 27.10.2004
Kurzeinführung in C Johannes J. Schneider 27.10.2004 1 Einleitung C ist eine in vielen Bereichen sehr häufig verwendete Programmiersprache, die von der Betriebssystemprogrammierung bis hin zur Programmierung
MehrTHE 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
MehrComputergrundlagen Programmieren in C
Die Compilersprache C Computergrundlagen Programmieren in C Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Geschichte D. M. Ritchie, *1941 1971-73: Entwickelt von
MehrEinstieg 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
MehrEinfü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)
MehrProgrammieren in C. Burkhard Bunk 6.3.2013
Programmieren in C Burkhard Bunk 6.3.2013 1 C Die Programmiersprache C wurde Anfang der 70er Jahre von Brian Kernighan und Dennis Ritchie bei Bell Labs (später AT&T) entwickelt und 1989 (in etwas weiter
MehrEinfü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)
MehrJAVA-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).
MehrProgrammiersprachen 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
MehrObjektorientierung: Klassen und Objekte
Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen
MehrPrimitive 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.
MehrAuD-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
MehrGrundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme
Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes
MehrEinleitung 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
MehrProgrammieren 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
MehrKapitel 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
MehrElementare 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
MehrPROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl
PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen
MehrVorlesung Informatik I
Vorlesung Informatik I Universität Augsburg Wintersemester 2010/2011 Prof. Dr. Robert Lorenz Lehrprofessur für Informatik Programmieren in C Der Compilierungsprozess 1 Aufbau eines C-Programms 1. Direktiven
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Inhaltsverzeichnis 1 Allgemeines zur Speichernutzung 2 2 Ziel und Nutzen 2 3 Anwendung in C 2 3.1 malloc............................... 3 3.2 calloc...............................
MehrErste 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)
MehrDie 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
MehrWelche 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
MehrEinstieg 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
MehrModellierung und Programmierung
Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrEinfü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Übung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9
Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere
MehrJava 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
MehrC++-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:
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrLösungsvorschlag zur 9. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 9. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der folgenden Aussagen über
MehrKurzeinfü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
MehrEine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.
Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Der hat die früher handschriftlichen Folien lesbar gemacht. Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Heutige Themen Hello World!
MehrEinführung in die Programmierung Konstanten, dynamische Datenstrukturen. Arvid Terzibaschian
Einführung in die Programmierung Arvid Terzibaschian 1 Konstanten 2 Motivation Unveränderliche, wichtige Werte mathematische Konstanten z.b. PI String-Konstanten wie z.b. häufige statische Meldungen mögliche
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
Mehr1Schnelleinstieg 14. 2Wie aus einer einfachen Textdatei. 3 Wie man eigene Programme erstellt 30. Inhaltsverzeichnis. ein Programm wird 20
Inhaltsverzeichnis Liebe Leserin, lieber Leser!...13 1Schnelleinstieg 14 Welche Vorkenntnisse benötigen Sie für dieses Buch?...16 An wen richtet sich dieses Buch?...16 Was benötigen Sie, um die Programmiersprache
MehrGrundlagen 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:
MehrKlausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte
Klausur C-Programmierung / 15.02.2014 / Klingebiel / 60 Minuten / 60 Punkte Musterlösung 1. Aufgabe (5 Punkte) Im folgenden Programmcode sind einige Fehler enthalten. Finden und markieren Sie mindestens
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrDr. Monika Meiler. Inhalt
Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-4 5.1.3 Kopieren eindimensionaler Felder... 5-6
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrCompiler: 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
MehrNachname:... Vorname:... MatrNr.:... Klausur PR2. Erstellen Sie eine Struktur für eine Komplexe Zahl mit den Elementen real und imag vom Typ double.
Nachname:... Vorname:... MatrNr.:... Klausur PR2 HAW-Hamburg, Fakultät Technik und Informatik, Department Informations- und Elektrotechnik Dr. Robert Heß, 4.7.2008 Bearbeitungsdauer: 90 min Hilfsmittel:
MehrC Überlebenstraining
C Überlebenstraining Dies ist nur ein Schnellkurs in C, der genug Einstiegswissen vermitteln soll, daß weiterführende Literatur schnell benutzt werden kann. Dies ist kein vollständiger Programmier oder
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrÜbersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung
Übersicht 3.1 Modell Konto 3.2 Modell Konto - Erläuterungen 3.3 Benutzer Ein- und Ausgabe mit Dialogfenster I 3.4 Benutzer Ein- und Ausgabe mit Dialogfenster II 3.5 Klassen- und Objekteigenschaften des
MehrEinführung in die Programmiersprache C und in den C166-Compiler
Einführung in die Programmiersprache C und in den C166-Compiler Die vorliegenden Unterlagen sollen einen kurzen Überblick über die Software-Entwicklung in C geben. Diese Unterlagen erheben keinen Anspruch
MehrC++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrInteger 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-
MehrS. d. I.: Programieren in C Folie 4-1. im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then"
S. d. I.: Programieren in C Folie 4-1 4 Anweisungen 4.1 if-anweisung 1) if (Ausdruck) 2) if (Ausdruck) } else im Gegensatz zu Pascal gibt es in C kein Schlüsselwort "then" es wird nur der numerische Wert
MehrKontrollstrukturen, 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
MehrEinleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++
Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend
MehrProgrammieren 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 Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...
MehrZusammengehörige Daten struct. Strukturierte Datentypen und Funktionszeiger. Zugriff auf struct-elemente. Variablendeklarationen mit struct
Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrC für Java-Programmierer
Carsten Vogt C für Java-Programmierer ISBN-10: 3-446-40797-9 ISBN-13: 978-3-446-40797-8 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-40797-8 sowie im
MehrEinführung in die Programmierung Arrays, Zeiger, Strings. Arvid Terzibaschian
Einführung in die Programmierung Arvid Terzibaschian 1 Arrays 2 Arrays: Motivation Gegeben: monatliche Durchschnittstemperaturen der letzten 5 Jahre Gesucht: Mittelwerte für Jahre, Monate, Jahreszeiten,
Mehr2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
Mehr4. Einfache Programmstrukturen in C Einfache Programmstrukturen in C
Einfache Programmstrukturen in C 4-1 Welche einfache Programmstrukturen sind zu unterscheiden? Arithmetische und logische Ausdrücke und Zuweisungen Verzweigungen Unvollständige bedingte Anweisungen Vollständige
MehrRepetitorium Informatik (Java)
Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
MehrC++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen
C++ Kurs Teil 1 "hello world" Vergleich von C++ und Java Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Spezialitäten Schlüsselwort 'const', Copy Constructor,
Mehr6 Speicherorganisation
Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für
MehrEinheit 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)
MehrProgrammieren 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
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung Teil 3: 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 3.
Mehr5.4 Klassen und Objekte
5.4 Klassen und Objekte Zusammenfassung: Projekt Figuren und Zeichner Figuren stellt Basisklassen für geometrische Figuren zur Verfügung Zeichner bietet eine übergeordnete Klasse Zeichner, welche die Dienstleistungen
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrStrukturierte Datentypen und Funktionszeiger
Zusammengehörige Daten Anstatt logisch zusammengehörende Daten in mehreren unabhängigen Variablen zu speichern, kann man für sie einen eigenen Datentyp ( Verbund, Record ) definieren, der diesen Zusammenhang
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
Mehr