Programmieren mit C++ Zeiger (pointer) und Text (string) Inhalt
|
|
- Emil Eberhardt
- vor 5 Jahren
- Abrufe
Transkript
1 Inhalt Programmieren mit C++ Zeiger (pointer) und Text (string) Inhalt Inhalt... 1 Zeiger auf Adressen im Hauptspeicher... 2 Der Verweis-Operator... 2 Der Adress-Operator... 2 Übung... 2 Funktionen... 3 Call by reference... 3 Übung... 4 Quiz... 5 Zeichenketten, Texte, Strings... 6 Textvariable... 6 Eingabe und Ausgabe von Texten... 7 Eingabe in einer Funktion... 7 Messen der Länge eines Strings... 8 Verschieben eines Strings im ASCII-Code... 8 Einfügen eines Zeichens... 8 Aufgabe Aufgabe Aufgabe Quiz-Fragen /11
2 Zeiger auf Adressen im Hauptspeicher Zeiger auf Adressen im Hauptspeicher Jede Variable belegt einen Bereich des Hauptspeichers im RAM. Der Variablenname dient stellvertretend für die Adresse dieses Speicherplatzes und der Wert der Variablen steht in dem Speicherbereich an dieser Adresse. Nun kann man auch die Adressen selbst speichern. Sie erhalten einen Variablennamen und belegen 4 Bytes (Typ long integer). Diese Adressvariable nennt man Zeiger (engl. Pointer). Datentyp und Variablenname Adresse Wert int i 0012FE6C 10 float f 0012FE double d 0012FE int * pi 0012FE FE6C float * pf 0012FE FE54 double * pd 0012FE FE38 Der Verweis-Operator Die Deklaration eines Zeigers enthält hinter dem Typ den Verweisoperator * : Deklaration: int * pi; Der Datentyp int * ist ein Zeiger auf eine int-variable. Das heißt, die Variable pi kann die Adresse einer int-variablen speichern. Verwendung: int i = 10; pi = &i; // Jetzt enthält pi die Adresse von i. Der Adress-Operator Mit dem Adressoperator & wird die Adresse einer zugewiesenen Variablen gewonnen: double d = ; double * pd = &d; // pd enthält die Adresse von d pd Man sagt: pd zeigt auf d Übung Programm Ergänze die Ausgaben int x = 12; int * px ; cout << x << endl; cout << &x << endl; FE8C px = &++x; cout << x << endl; cout << px << endl; cout << x-- << endl; cout << *px << endl; cout << x << endl; FE8C /11
3 Funktionen Funktionen Unterprogramme heißen in C grundsätzlich "Funktionen". Sie werden verwendet um mehrmals wiederkehrende Programmteile nur einmal schreiben zu müssen, um einen inhaltlich abgeschlossenen, logisch zusammengehörenden Programmteil deutlich vom Rest des Programmes abzusetzen. Beim Aufruf einer Funktion kann das aufrufende Programm der Funktion Werte zum Bearbeiten mitgeben. Diese Werte werden vor Beginn der Funktion in den Variablenbereich der Funktion kopiert, so dass die eigentlichen Originalwerte des aufrufenden Programms unangetastet bleiben. Call by reference Es soll eine Funktion erstellt werden, die 2 Variablenwerte vertauscht (engl. swap). Vertauschen kann man mit einer Hilfsvariablen, die einen der Werte zwischenspeichern kann: int h; h = a; a = b; b = h; void swap (int a, int b) int h; h = a; a = b; b = h; Welche Werte haben am Ende a und b, wenn zuerst a=3 und b=7 ist? Welchen Wert speichert h? h= a= b= Diese Funktion vertauscht die übergebenen Variablenwerte aber nicht! Der Grund: Bei Aufruf der Funktion wurden die Werte aus dem Hauptprogramm nach a und b kopiert, a und b wurden zwar vertauscht, aber im Hauptprogramm bleibt alles beim Alten. C++ Funktionen arbeiten grundsätzlich mit Kopien der Übergabeparameter (call by value). Will man in einer Funktion Werte des Hauptprogramms verändern, so müssen der Funktion die Referenzen auf die Werte, nämlich die Adressen der Variablen übergeben werden. Diesen Vorgang nennt man Call-by-reference. Das vorangegangene Beispiel muß also richtig so lauten: void swap (int &a, int &b) int h; h = a; a = b; b = h; void swap (int* a, int* b) int h; h = *a; *a = *b; *b = h; Die Funktion swap bekommt nun die Adresse der Variablen übergeben und greift über diese Adresse auf die Variablen im Hauptprogramm selbst zu. Funktionsaufruf im Hauptprogramm swap (x,y); Hinweis: Man kann die Funktion swap auch so programmieren, dass als Übergabeparameter zwei Pointer mit dem * Operator verwendet werden. Jetzt sind die Werte natürlich *a und *b und beim Funktionsaufruf im Hauptprogramm muss man explizit die Adressen übergeben: swap (&x,&y); Vertauschungen werden z.b. in Sortierprogrammen eingesetzt. 3/11
4 Funktionen Übung int value(int x) x = x*x; return x+5; int valref(int & x) x = x*x; return x+5; int main( ) int a = 2; int b = value(a); cout << a << endl; cout << b << endl; Wo ist der Unterschied bei den Funktionen value und valref? Ergänze die Ausgaben 2 9 int c = 2; int d = valref(c); cout << c << endl; cout << d << endl; return 0; 4 9 void fpower(double x, int e) double h=x; for(int i=1;i<e;i++) h *= x; x=h; void power(double &x, int e) double h=x; for(int i=1;i<e;i++) h *= x; x=h; void testpower() double a,b; a=2.0; b=5.2; fpower(a,5); cout << a << endl; power(a,5); cout << a << endl; fpower(b,3); cout << b << endl; power(b,3); cout << b << endl; Die Funktionen fpower und power unterscheiden sich nur bei den Parametern. Welche Ausgaben hat das folgende Testprogramm? /11
5 Quiz Quiz In einem Programm wurden mehrere Variable zugewiesen: int a, b; // 4 Byte Variable double d, e; a=65; b= 3; d=65.0; e=3.0; Welche Ausgabe hat cout << a%b << '\t' << a/b << endl; cout << (int)e/b << '\t' << (double)a/b << endl; cout << (char)a << '\t' << a/e << endl; cout << (a++)+b << '\t' << --b << '\t' << a << endl; cout << a << endl; cout << 3*++b << '\t' << 10+--a << endl; cout << 'B'+2 << '\t' << 'a'-'a' << endl; int * pa; double * pd; pa = &a; pd=&d; Welche Ausgabe hat cout << sizeof(a) << endl;; cout << sizeof(d) << endl;; cout << sizeof(pa) << endl; cout << sizeof(pd) << endl; int c = 0xff; Welche Ausgabe hat cout << c << '\t' << c-0x0f << endl; cout << c+0xab << '\t' << c-0x23 << endl; 5/11
6 Zeichenketten, Texte, Strings Deklaration: char * n; Zeichenketten, Texte, Strings Der Datentyp char * ist ein Zeiger auf 1 char-variable. Das heißt, die Variable n kann die Adresse einer char- Variablen speichern. Textvariable Zeichenketten, genannt Strings, können als eine Folge von einzelnen ASCII-Zeichen definiert werden: char * text; deklariert die Variable text, weist ihr aber noch keinen Speicherbereich zu. char text [30]; char * text = new char[30]; definiert die Variable text und es werden 30 aufeinanderfolgende Bytes im RAM reserviert. char * text = "XYZ"; char text[] = "XYZ"; bewirkt eine Initialisierung bereits bei der Definition. Speicherzellen Adressen 'X' text Nach Eingabe von "XYZ" werden 4 Bytes belegt. 'Y' text+1 'Z' text+2 '\0' text+3 Als letztes Zeichen wird ein NULL-Byte angehängt Das NULL-Byte '\0' am Ende des Strings wird vom System angehängt, es muss aber bei der Dimensionierung berücksichtigt werden. Beachten Sie, dass ein String nachträglich nicht mehr vergrößert werden kann. Verwendung: Zeiger sind nützlich, wenn auf eine Folge von Speicherzellen verwiesen werden soll. Das kommt zum Beispiel bei der Verarbeitung von Zeichenketten vor. Eine Zeichenkette muss immer mit \0 beendet werden, damit beim Durchlaufen aller Zeichen eine Abbruchbedingung existiert. char * ort = "Biberach"; for(int i=0; ort[i]!= \0 ; i++) cout << ort[i] << endl; //.. cout << ort+i << endl; //.. cout << ort << endl; //.. Falls das Input-Stream-Objekt cin aus der Standardbibliothek für die Eingabe verwendet wird, muss ein genügend großer String definiert werden, welcher den Datenstrom aufnehmen kann. Siehe dazu das folgende Beispiel. 6/11
7 Zeichenketten, Texte, Strings Eingabe und Ausgabe von Texten C++ Quellcode char text[50]; // Definition // Eingabe cout << "Geben Sie einen Text ein: " ; cin >> text; getchar(); // Ausgabe als String cout << text << endl; // Ausgabe zeichenweise int i; for (i=0; text[i]!='\0'; i++) cout << text[i] << endl; // Ausgabe der Anfangsadresse int * p; p = (int *)&text[0]; cout<<"speicheradresse:"<< p <<endl; Erklärung Definition eines 50 Byte großen Strings Eingabeaufforderung cin liest die Eingabe in den reservierten Speicherbereich, getchar() löscht den Tastaturbuffer. Ausgabe bis zum Nullbyte Zeichenweise Ausgabe bis zum Nullbyte, wobei jedes Zeichen in eine neue Zeile geschrieben wird. Deklaration eines Zeigers Zuweisung der Adresse des 1. Zeichens des Strings Eingabe in einer Funktion Der Programmierer muss dafür sorgen, dass genügend Speicherplatz reserviert wird. char * eingabe1() char text[100]; cout << "Eingabe: "; cin >> text; return text; void main() char * s; do s = eingabe1(); while ( s[0]!= 'e') ; void eingabe2(char * text) cout << "Eingabe: "; cin >> text; void main() char s[100]; do eingabe2(s); cout << s << endl; while ( s[0]!= 'e') ; So nicht! Temporäre Definition eines Strings, der mit dem return Aufruf wieder gelöscht wird. Das Hauptprogramm übernimmt den Datenstrom, kann ihn aber nicht weiter verarbeiten. Besser! Besser ist es, wenn das Hauptprogramm einen genügend großen String zur Verfügung stellt. Dieser wird dann in der Funktion gefüllt. 7/11
8 Zeichenketten, Texte, Strings Messen der Länge eines Strings In einer for-schleife werden alle Zeichen durchlaufen und gezählt. int length(char * text) Warum befindet sich nach der for-schleife int i; ein ;? for(i=0; text[i]!='\0'; i++); return i; Verschieben eines Strings im ASCII-Code Der C++ Datentyp char definiert eigentlich nur die Zahlen des ASCII Codes, die erst bei der Ausgabe als Zeichen angezeigt werden. Deshalb ist es immer möglich auch mit den char-variablen zu rechnen. Da sich die Grossbuchstaben im ASCII Code 32 Plätze tiefer als die Kleinbuchstaben befinden, kann durch subtrahieren von 32 ein Kleinbuchstabe in einen Großbuchstaben verwandelt werden. char * upper(char * text) Welche Ausgabe hat for(int i=0; text[i]!='\0'; i++) char * t1 = schule ; text[i] -= 32; cout << upper(t1) return text; Einfügen eines Zeichens Das Einfügen von Zeichen in einen String macht diesen länger. Deshalb kann man nicht dieselbe Stringvariable für das Ergebnis verwenden. Man braucht einen zweiten, größeren String für das Ergebnis. void umlauteersetzen(char* alt,char* neu) int i, k=0; for( i=0; alt[i]!='\0'; i++) if(alt[i]=='ä' ) neu[k] = 'A'; neu[k+1]= 'E'; k+=2; else if(alt[i]=='ö' ) neu[k] = 'O'; neu[k+1]= 'E'; k+=2; else if(alt[i]=='ü' ) neu[k] = 'U'; neu[k+1]= 'E'; k+=2; else neu[k] = alt[i]; k++; neu[k]='\0'; Alle Ä, Ö, Ü werden durch AE, OE, UE ersetzt. Der Funktion werden Referenzen des alten und neuen Strings übergeben. Wenn alt = ÄöÜ was ergibt sich dann für neu = AEöUE? 8/11
9 Zeichenketten, Texte, Strings Aufgabe 1 Programmieren Sie 1. eine Funktion bool istgleich(int, int), die 2 Zahlen vergleicht 2. eine Funktion void verdoppeln(int *) 3. eine Funktion double fahrenheit(double ), die zum Celsiuswert den Fahrenheitwert berechnet. fahrenheit = 5*celsius/ eine Funktion bool istgleich(char *, char *), die 2 Texte vergleicht 5. eine Funktion, die in einem Text jedes 3. Zeichen durch ein 'x' ersetzt. 6. eine Funktion void bindestriche(char *, char * ), die in einem (als Parameter übergebenen) Text nach jedem Buchstaben ein Zeichen - einfügt. Z. B. Eichhoernchen wird zu E-i-c-h-h-o-e-r-n-c-h-e-n- Aufgabe 2 In einem Programm sind die Variablen s und c definiert: char s[4], c; s[3]='\0'; Die Variable c wird als Ziffer eingeben: Schreibe ein Programm, das den String s am Ende wie folgt in Abhängigkeit von c ausgibt. char c '0' '1' '2' '3' '4' '5' '6' '7' s=" " s=" x" s="_w_" s="_wx" s="r " s="r_x" s="rw_" s="rwx" Aufgabe 3 switch(option) case 0: cout << "A";break; case 1: cout << "B"; case 2: cout << "C"; case 3: cout << "D";break; default: cout << "X"; Ausgabe, wenn option = 0 Ausgabe, wenn option = 1 Ausgabe, wenn option = 2 Ausgabe, wenn option = 3 Ausgabe, wenn option = 4 9/11
10 13 Quiz-Fragen Frage 1 13 Quiz-Fragen char s[3]; s[0]='a';s[1]='b';s[2]='\0'; cout << s << endl; A ab0 B ab C s D AB Frage 2 char s[3]; s[0]='a'+32;s[1]='b'+32;s[2]='\0'; cout << s << endl; A ab0 B ab C s D AB Frage 3 cout << &(*pa) << endl; A 0012FE8C B &10 C 0x12FF D Fehlermeldung Frage 4 char s[6]; s[0]='4';s[1]='b';s[2]='\0';s[3]='d';s[4]=65;s[5]='\0'; for(int i=0;i<6;i++) cout << s[i]; A 4bdA B 4b0A0 C 4b da D e2fs Frage 5 char * ersetzen(char * text) for(int i=0;text[i]!='\0';i++) if(i%3==0) text[i]='-'; return "Biberach"; // Welche Ausgabe hat cout << ersetzen("karl-arnold-schule"); A -ar A-no-d ch-le B xarlxarnxld-xchuxe C kxrlxarxolx-sxhuxe D Biberach Frage 6 char s[5]; s[0]='e';s[1]='2';s[2]='f';s[3]='s';s[4]='\0'; for(int i=0;i<5;i++) cout << s[i]; cout << s; A e2fs e2fs B e2fs0e C e2fs D e2fs e 10/11
11 13 Quiz-Fragen Frage 7 cout << 2*(*pa) << endl; A 10 B 0012FE8C C 20 D 8 Frage 8 char s[5]; s[0]='e';s[1]='2';s[2]='f';s[3]='s';s[4]=0x00; for(int i=0;i<5;i++) cout << s[i]; cout << s[0]; A e2fs e2fs B e2fs0e C e2fs D e2fs e Frage 9 cout << 7/(double)a*2 << endl; A 1 B 0 C 1.4 D 0.35 Frage 10 char * ersetzen(char * text) for(int i=0;text[i]!='\0';i++) if(i%3==1) text[i]='x'; return text; // Welche Ausgabe hat cout << ersetzen("karl-arnold-schule"); A KxrlxArxolx-Sxhuxe B xarlxarnxld-xchuxe C kxrlxarxolx-sxhuxe D Biberach Frage 11 cout << --(++a) << endl; A 10 B 11 C 9 D 12 Frage 12 cout << (++a)-3 << endl; A 10 B 8 C 9 D 7 Frage 13 cout << 7/a*2 << endl; A 1 B 0 C 1.4 D /11
GI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrÜ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Ü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
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 24. September 2012 Agenda 1 Funktionen Aufbau und Anwendung Call by Value Call by Reference Überladen von Funktionen Default
MehrVariablen, Konstanten und Datentypen
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Variablen, Konstanten und Datentypen Überblick
MehrInformatik. Strukturen und Aufzählungstypen. Vorlesung
Informatik Vorlesung 06 Strukturen und Aufzählungstypen 03. Dezember 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Datentypen Die bisher benutzten Datentypen waren
MehrJava Referenzdatentypen genauer betrachtet
Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrTeil 5: Felder, Zeiger, Zeigerarithmetik Gliederung
Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder
MehrF Zeiger, Felder und Strukturen in C
F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts
MehrInhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)
Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern
MehrProgrammieren in C. Zeiger und Zeichenketten. Prof. Dr. Nikolaus Wulff
Programmieren in C Zeiger und Zeichenketten Prof. Dr. Nikolaus Wulff Zeiger Variablen benötigen zur Laufzeit einen bestimmten Speicherplatz. Die Größe des Bedarfs richtet sich nach dem Typ der Variablen,
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrProbeklausur Name: (c)
Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume
MehrZeiger (engl. Pointer)
Zeiger (engl. Pointer) Zeiger Ein Zeiger (engl. Pointer) speichert eine Adresse, unter der ein Wert im Speicher des Computers gespeichert werden kann. Eine Variable im Gegensatz speichert einen Wert. Der
MehrGrundlagen 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
MehrC++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue
C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 9. Zeiger Arbeitsspeicher / Adressen Der Arbeitsspeicher des Computers (RAM) besteht aus einem Feld von Speicherzellen, beginnend bei Adresse
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrKapitel 8. Adressen und Zeiger
Kapitel 8 Adressen und Zeiger 1 Gliederung Kapitel 8 Adressen und Zeiger 8.1 Definition 8.2 Einfache Beispiele 8.3 Zeigerarithmetik und Vektoren 8.4 Vektoren als Funktionsparameter 8.5 Messwertprogramm,
MehrPraxis der Programmierung
Arrays, Pointer, Parameterbergabe Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vectoren) 2 Arrays: Motivation Gegeben:
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
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).
MehrObjekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3
Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................
MehrKlausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
MehrProgrammierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5
Zentrum für Angewandte Informatik Köln Arbeitsgruppe Faigle / Schrader Universität zu Köln Lösungen zum Übungsblatt 3 Programmierkurs C++ Nils Eissfeldt und Jürgen Gräfe. November 001 Aufgabe 5 Innerhalb
MehrC++ 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
MehrVorkurs C++ Programmierung
Vorkurs C++ Programmierung Funktionen Rückblick Operatoren logische Verknüpfungen Zusammengesetzte Operatoren ( Zuweisungsoperatoren ) Kontrollstrukturen Bedingte Anweisungen (if-abfrage, switch-konstrukt)
MehrVariablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung
Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung Einfache Variablen Typen int, long, short, unsigned bool char float,
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrVorlesung 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
Mehr3.2 Datentypen und Methoden
Kap03.fm Seite 217 Dienstag, 7. September 2010 1:48 13 3.2 Datentypen und Methoden 217 3.2 Datentypen und Methoden Wie bei vielen höheren Programmiersprachen gibt es auch in Java einfache und strukturierte
MehrC++ Teil 5. Sven Groß. 16. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß 16. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 16. Nov 2015 1 / 16 Themen der letzten Vorlesung Namensräume Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrRO-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
MehrKlausur: Grundlagen der Informatik I, am 06. Februar 2009 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 10 Pkt.) a) Wer
MehrArrays,Strings&Pointer in C/C++
Arrays,Strings&Pointer in C/C++ Vortrag Mathias Reich Am 21.5.2002 Pointer Da zur Zeit der Compelierung des Programms nicht immer der Umfang der zu bearbeitenden Daten feststeht muss man sich - in manchen
MehrC- Kurs 08 Zeiger. Dipl.- Inf. Jörn Hoffmann leipzig.de. Universität Leipzig Ins?tut für Informa?k Technische Informa?
C- Kurs 08 Dipl.- Inf. Jörn Hoffmann jhoffmann@informa?k.uni- leipzig.de Universität Leipzig Ins?tut für Informa?k Technische Informa?k Überblick Datentyp zur Verwaltung von Adressen (auf Speicherplätze)
MehrProgrammierwerkstatt. Arrays, Pointer und Referenzen
Programmierwerkstatt Arrays, Pointer und Referenzen Zum Inhalt Wir wollen Euch: das Wesentliche vermitteln Fehlerquellen verdeutlichen Verständnis ist uns wichtig programming by coincidence vermeiden Themen
Mehr3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.
3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen
MehrWiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe
Informatik Vorlesung 03b Wiederholung, Abbruch von Schleifen, switch-anweisung Datentypen, char, formatierte Ausgabe 12. November 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik
MehrRO-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
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,
MehrGrundlagen der OO- Programmierung in C#
Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3
MehrJAVA 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
MehrProjekt 3 Variablen und Operatoren
Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.
MehrUnterlagen. 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
MehrJAVA 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
MehrC++ - Objektorientierte Programmierung Konstante und statische Elemente
C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja
Mehrint i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben
Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit
MehrProgrammiersprachen Einführung in C
Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i
MehrInformatik I - Übung 2 Programmieren in Eclipse
Informatik I - Übung 2 Programmieren in Eclipse. / Info1 / HelloWorld / HelloWorld Wort1 Wort2 Daniel Hentzen dhentzen@student.ethz.ch 5. März 2014 1.2 Häufigste Fehler im Terminal auf Gross-/Kleinschreibung
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
MehrC++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 12. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 12. Nov 2014 1 / 16 Themen der letzten Vorlesung Eingabestrom, Verhalten von cin Namensräume Live Programming
MehrJava Datentypen und Variablen
Informatik 1 für Nebenfachstudierende Grundmodul Java Datentypen und Variablen Kai-Steffen Hielscher Folienversion: 24. Januar 2017 Informatik 7 Rechnernetze und Kommunikationssysteme Inhaltsübersicht
MehrMussten wir eine ganze Reihe solcher Zahlen speichern, haben wir das eindimensionale Array verwendet.
C Zweidimensionale Arrays Fachspezifische Softwaretechnik 1 Scriptum 2017 HTL St.Pölten Elektronik und Technische Informatik EL Autor: Kuran Zweidimensionale Arrays: Bisher konnten wir in Variablen einfache
MehrKlausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll
Mehr6. Zeiger Allgemeines Definition eines Zeigers
6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.
MehrEinführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin
Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm
MehrKlausur Informatik WS 2012/13
Klausur Informatik WS 2012/13 Name Gruppe 1 Vorname Dauer 90 min Matrikelnummer Hilfsmittel keine Die Klausur ist mit 50 Punkten sicher bestanden. Hinweies: Voraussetzung für die Teilnahme ist das Bestehen
MehrInformatik I (D-ITET)
Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos
MehrProgrammieren in C. Funktionen mit Zeigern und Adressen. Prof. Dr. Nikolaus Wulff
Programmieren in C Funktionen mit Zeigern und Adressen Prof. Dr. Nikolaus Wulff ByValue versus byreferenz C übergibt immer Kopien der Variablen an Funktionen. Es ist nur dann möglich die Werte von Variablen
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrEntwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!
Projekt: Artikelverwaltung Seite 1 von 5 Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben! Legen Sie global einen benutzerdefinierten Datentyp artikel an:
MehrJAVA 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
MehrINE1 Arrays, Zeiger, Datenstrukturen
INE1 Arrays, Zeiger, Datenstrukturen Arrays Felder von Elementen gleichen Typs Verwenden von Adressen: Zeiger Datenstrukturen mit struct Zeiger auf Datenstrukturen Spezielle Zeiger und komplexe Deklarationen
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
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Erklären
MehrNachklausur: Grundlagen der Informatik I, am 02. April 2008 Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 4 Pkt.) Gegeben
MehrKontrollfragen Mikrocontroller Programmiersprache C H1203 Felix Rohrer
Block 1 1. Welcher Wert hat w? int w = 034; 28 (Dezimal) 034 wird als Octal interpretiert 34oct = 28dec 2. Wie lauten die Ergebnisse? unsigned int a = 3, b = 5, c = 7; unsigned int x, y, z; x = a == 3;
MehrObjekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays
Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrVerwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt).
3 Erste Programme 3.1 Übungsaufgabe Verwenden Sie für jede Aufgabe die C++ IDE von Eclipse (pro Aufgabe ein Projekt). 3.1.1 Aufgabe 1 Schreiben Sie ein C++ Programm, das einen String einliest und testet,
MehrObjekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.
Grundlegende Deklarationen Seite 1 von 6 Jedes Programm benötigt Objekte. Ein Objekt ist ein reservierter Bereich im Systemspeicher in welchem Informationen abgelegt werden. Informationen sind z.b. Zahlen,
MehrC++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18
C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen
MehrAnregungen zu Übung 2
Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
MehrHerzlich willkommen!
Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in
MehrÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrC++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15
C++ Teil 6 Sven Groß 23. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 23. Nov 2015 1 / 15 Themen der letzten Vorlesung const-deklaration Referenzen Zeiger Felder Sven Groß (IGPM, RWTH Aachen) C++
MehrAuswahlen (Selektionen)
1 Anhang 10.3 Ein/Ausgaben Eingabe mit Prompt (Beispiel) cout ; // Prompt ohne endl cin
MehrDie Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter
MehrZeichenketten sind uns bisher nur als konstante Texte begegnet, welche in "" angegeben waren; z.b. als Formatstring in der printf()-funktion:
Zeichenketten (Strings) Seite 1 von 11 Zeichenketten(Strings) sind wichtige Bestandteile fast eines jeden Programms. Beispiele sind Eingabe von Namen oder Adressen, Ausgabe von Meldetexten oder Bearbeitung
MehrEinführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher
Einführung in die Programmierung zusammengesetzte Datentypen, dynamischer Speicher Arvid Terzibaschian 1 Zusammengesetzte Datentypen 2 Wozu zusammengesetzte Datentypen? Anforderung: Sie sollen ein Kundenverzeichnis
MehrInstitut 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
Mehr2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.
Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Ende SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll im
Mehrif ( Logischer Operator ) { } else { Anweisungen false
if ( Logischer Operator ) { Anweisungen true else { Anweisungen false Bedingte Anweisungen Operatoren verknüpfen Variable zu neuen Ausdrücken, wir unterscheiden Arithmetische Operatoren Berechnung von
MehrKlausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:
Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert
MehrC++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29
Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente
Mehr4.2 Programmiersprache C
4.2.1. Elementare Datentypen (signed) int, unsigned int, (signed) short (int), unsigned short (int), (signed) long (int), unsigned long (int) Elementare Datentypen für ganze Zahlen mit oder ohne Vorzeichen.
MehrBetriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)
Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/
MehrDie Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein
Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter
Mehr