Befehle in C++ - Code- zusammmenfassung PDF

Title Befehle in C++ - Code- zusammmenfassung
Course Informatik I
Institution Eidgenössische Technische Hochschule Zürich
Pages 51
File Size 1.3 MB
File Type PDF
Total Downloads 46
Total Views 169

Summary

Code- zusammmenfassung...


Description

Programmier-Befehle - Woche 1

Grundgeru ¨st Grundger¨ ust

Grundgerust ur einfache Programme ¨ f¨

Unser Grundger¨ust besteht aus folgenden Komponenten: • Kommentare • Verf¨ ugbarmachung zus¨atzlicher Funktionalit¨at (via #include ) • main-Funktion Beachte: Jedes ausf¨uhrbare Programm braucht die main-Funktion. Beachte: Zus¨atzliche Funktionalit¨ at, wie beispielsweise Eingabe und Ausgabe, ist nicht in der “Grundfunktionalit¨at” von C++ enthalten. Der Programmierer muss also mitteilen, wo diese zus¨atzliche “Funktionalit¨at” definiert ist. Mittels #include kann er dem Compiler sagen, in welcher Befehlssammlung (genannt: Library) diese “Funktionalit¨at” definiert ist. Ein- und Ausgabe sind beispielsweise in iostream definiert. Die Zeile //#include "tests.h" // ... wird f¨ ur die Serien auf Codeboard verwendet, um dort die Programme zu testen ¨ und an den Ubungsleiter abzugeben. (Hierzu werden die // am Zeilenanfang entfernt.) // Informatik - Serie 13 - Aufgabe 4e // Programm: my program.cpp // Autor: X. M. Mueller (Gruppe F) //#include "tests.h" // ... #include int main () { // Your code here... return 0; }

Datentypen int

ur ganze Zahlen Datentyp f¨

int a = 3; int b = a + 4;

Seite 1 von 3

Programmier-Befehle - Woche 1

Operatoren *

Multiplikation von zwei R-Werten.

Pr¨azedenz: 14 und Assoziativit¨at: links int a = -3 * 4; int b = 2 * a; // Note: use l-value as r-value

=

Zuweisungsoperator. Weist einem L-Wert einen neuen Wert zu.

Pr¨azedenz: 4 und Assoziativit¨at: rechts int a; a = 4; a = 3;

// value 4 // value 3

>>

(siehe: std::cin unter ”Input/Output”)

Pr¨azedenz: 12 und Assoziativit¨at: links

> ...

Eingabe via Terminal (z.B. Tastatureingabe)

Erfordert: #include int a; std::cin >> a; // stores the user input into a

std::cout h; std::cout > b; // if a < b then output "Ja"; otherwise output "Nein" if (a < b) { std::cout a >> b; assert(b != 0); // prevent division by 0 std::cout n; unsigned int sum = 0; for (unsigned int i = 1; i c; // double user input

Seite 1 von 5

Programmier-Befehle - Woche 4

Schleifen while (...) {...}

while-Schleife

// Compute number of binary digits for input > 0 unsigned int bin digits = 0; unsigned int input; std::cin >> input; assert(input > 0); while (input > 0) { input /= 2; ++bin digits; }

do {...} while (...); do-Schleife Der Unterschied zur while-Schleife ist, dass der Rumpf der do-Schleife mindestens einmal ausgef¨uhrt wird. Sie hat ein “;” am Schluss. int input; do { std::cout > input; } while (input >= 0); std::cout > n; // Divide input by n numbers // Stop if 0 is entered. for (int i = 0; i < n; ++i) { double k; std::cin >> k; if (k == 0) break; // go straight to Output input /= k; } // Output std::cout input >> n; // Divide input by n numbers // Skip entered 0’s. for (int i = 0; i < n; ++i) { double k; std::cin >> k; if (k == 0) continue; // go straight to ++i input /= k; } // Output std::cout

Error: unknown door number. Wrong choice :-( You won the prize! Wrong choice :-(

Generell { ... }

Block

Bl¨ ocke spielen eine grosse Rolle, wenn es darum geht, wo im Programm eine Variable g¨ ultig ist. So ist eine Variable ab ihrer Deklaration bis hin zum Ende des Blocks, in dem sie definiert wurde potentiell g¨ultig. ( ... )

Seite 4 von 5

Programmier-Befehle - Woche 4

( ... ) int main () { unsigned int a; std::cin >> a; if (a < 4) { std::cout z; std::cout > read 33) b >> z; std::cout > ought to read ’a’ // which is not an int.)

my stream.peek()

achstes Zeichen anschauen, ohIm Stream n¨ ne es zu entfernen.

Erfordert: #include oder #include Der R¨uckgabewert ist die int-Repr¨asentierung des n¨achsten Zeichens (als char) im Stream. Der Datentyp des Ru ¨ ckgabewerts ist also int. Diese Funktion ignoriert Whitespaces nie (unabh¨angig davon, ob der Stream zuerst an std::noskipws u ¨ bergeben wurde oder nicht).

std::stringstream str ("my subst"); str >> std::noskipws; // Do not ignore whitespaces. char c; // remove everything before the first ’s’ (but leave ’s’ in str) while (str.peek() != ’s’) str >> c; // str is now: "subst" // miscellaneous std::stringstream num ("3 a"); std::cout c; std::cout...


Similar Free PDFs