Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar: "Einführung in C/C++" Einführung in die Programmiersprache C/C++ Montag Andreas Döring SS 2004.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar: "Einführung in C/C++" Einführung in die Programmiersprache C/C++ Montag Andreas Döring SS 2004."—  Präsentation transkript:

1 Seminar: "Einführung in C/C++" Einführung in die Programmiersprache C/C++ Montag Andreas Döring SS 2004

2 Seminar: "Einführung in C/C++"2 Organisation Homepage: Vormittags: Uhr Seminar Mo: Raum 031 (Arnimallee 2-6) Di: Raum 005 (Takustr. 9) Mi: Raum 055 (Takustr.9) Do: Raum 005 (Takustr.9) Nachmittags: Übungen am Rechner Raum 017 (Arnimallee 2-6) Es gibt keine benoteten Scheine Fortsetzung der Veranstaltung: Hardcore C++ jeweils Freitag 10-12

3 Seminar: "Einführung in C/C++"3 Warum sind wir hier? Warum überhaupt C/C++? C++ ist schnell. C++ ist weit verbreitet. C++ verfügt über viele Sprachkonstrukte. C++ erlaubt maschinennahes Programmieren. Ziel des Kurses Die wichtigsten Sprachelemente lernen. Einfache Programme in C++ schreiben. Eventuell werden gewisse grundlegende Programmierkenntnisse vorausgesetzt.

4 Seminar: "Einführung in C/C++"4 Überblick Mo.: Grundlagen Compiler-Workflow, Deklarationen, Operatoren, Anweisungen, Funktionen,... Di.: Pointermagie Zeiger, Referenzen, Felder, Speicherverwaltung Mi.: Klassen Klassendefinition, Member, Vererbung Do.: Mehr Klassen Operatoren, Polymorphie, Standardbibliotheken

5 Seminar: "Einführung in C/C++"5 Die Geschichte von C/C++ Was man wissen muss: C/C++ hat eine Geschichte! C++ ist aus C entstanden und (weitgehend) abwärts-kompatibel. Es gibt inzwischen einen Standard. Es gibt noch keinen Compiler, der den Standard vollständig erfüllt (aber alle entwickeln sich in diese Richtung)

6 Seminar: "Einführung in C/C++"6 C/C++ Eigenarten Imperative Programmiersprache. Über 60 reservierte keywords, teilweise mit mehrfacher Bedeutung. Der Quelltext wird durch einen Compiler zu einem lauffähigen Programm übersetzt.

7 Seminar: "Einführung in C/C++"7 Hallo Berlin! Ein einfaches C++-Programm: Speichern als test.cpp ab und compiliere mit: g++ test.cpp –o test Dann Programm ausführen mit:./test #include int main() { std::cout << "Hallo Berlin!"; return 0; }

8 Seminar: "Einführung in C/C++"8 Der Workflow Input:.cpp und.h Dateien. Für jede.cpp Datei: –Preprocessor: Headerdateien (.h) einfügen. –Compiler: Erzeugt.obj Dateien. Linker: –Erzeugt.exe Programm aus allen.obj Dateien. –Nimmt Stücke aus verwendeten Libraries. Output:.exe Datei

9 Seminar: "Einführung in C/C++"9 Der Preprocessor Befehle für den Preprocessor beginnen mit #. #include fügt eine Datei in den Quelltext ein. (z.B. eine Headerdatei) #define definiert ein Macro: Das Schlüsselwort wird im ganzen Programm durch den angegebenen Text ersetzt. #include #define PI

10 Seminar: "Einführung in C/C++"10 Ein C/C++-Programm ist ein Text Quelltext ist case-sensitiv. Preprocessor: Befehle enden mit Zeilenumbruch. Compiler: Zeilenumbruch ist whitespace. Ausnahme: Kommentarezeilen beginnen mit // und enden mit dem nächsten Zeilenumbruch. Bsp: return 0; //gib eine 0 zurueck Anweisungen enden mit einem ; -Zeichen. Kein ; steht jedoch hinter Preprocessor-Befehlen... hinter } -Zeichen (außer bei Klassen und Enums)

11 Seminar: "Einführung in C/C++"11 Deklarationen & Definitionen Deklaration von X = Beschreibung, was X ist Definition von X = Deklaration von X + Erzeugung von X Anmerkung: Ein X darf beliebig oft deklariert, aber nur einmal definiert werden.

12 Seminar: "Einführung in C/C++"12 Variablen Variablen definieren: int j; float x, y; Optional sind auch Initialisierungen möglich: int i = 32; float z = 2.781; char c = 'x'; Deklaration von Variablen mit extern : extern int i;

13 Seminar: "Einführung in C/C++"13 Gültigkeit von Deklarationen Regel 1: »Ein Symbol ist im Programmtext nur unterhalb seiner Deklaration bekannt.« Regel 2: »Eine Deklaration, die innerhalb eines { } -Blockes steht, gilt auch nur lokal innerhalb dieses Blockes.«

14 Seminar: "Einführung in C/C++"14 Eingebaute Typen Jede Variable kann nur Werte eines bestimmten Typs speichern. char : Zahlen von 0 bis 255 signed char : Zahlen von -128 bis 127 short int : Zahlen von bis unsigned short int : Zahlen von 0 bis int : Zahlen von bis unsigned int : Zahlen von 0 bis bool : 0 oder 1

15 Seminar: "Einführung in C/C++"15 weitere eingebaute Typen Typen zur Speicherung von Kommazahlen: float :Fließkommazahl mit einfacher Genauigkeit double :Fließkommazahl mit doppelter Genauigkeit

16 Seminar: "Einführung in C/C++"16... und was ist mit Buchstaben? Buchstaben sind ganze Zahlen: 'A' == 65 einfache Anführungszeichen für einzelne Zeichen: ASCII-Code Auch Wahrheitswerte sind Zahlen: true == 1 (und alle anderen Zahlen 0) false == 0 (Zeichenketten sind allerdings komplizierter...)

17 Seminar: "Einführung in C/C++"17 Felder (arrays) Felder = Mehrere Variablen, die im Speicher direkt hintereinander liegen. int X[20]; Ein Feld von 20 int-Variablen int X[3]={2,3,5}; Auch Felder kann man initialisieren. int X[]={1,2,3,4}; Bei initialisierten Feldern kann man sich die Dimension sparen.

18 Seminar: "Einführung in C/C++"18 Strings sind Felder In C sind Stings einfach Arrays von char: char X[] = "hallo"; ist das gleiche wie char X[] = {104, 97, 108, 108, 111, 0}; Man beachte die Null am Ende!

19 Seminar: "Einführung in C/C++"19 Zeiger (pointers) Zeiger sind Variablen, deren Inhalt auf andere Variablen verweist. int * X; Zeiger auf eine int Variable float * Y; Zeiger auf eine flaot Variable

20 Seminar: "Einführung in C/C++"20 kleine Lesehilfe Faustregel: Bsp: char * X1 [3]; array von pointern char (* X2) [3]; pointer auf array int X3 [10][3]; array von arrays int * const X4; const pointer auf int int const * X5; pointer auf const int »Variablendefinitionen liest man von innen nach außen.«

21 Seminar: "Einführung in C/C++"21 Casts Einige Typen werden von C/C++ automatisch als ein anderer Typ interpretiert. Bsp: short s = 30000; int i = s; Kein Problem. char c = s; Fehler! Passt nicht! Ein Cast erzwingt eine Uminterpretation: char c = (char) s; Geht jetzt: c enthält nun modulo 256

22 Seminar: "Einführung in C/C++"22 Zuweisungen Variablen kann man Werte zuweisen: 1.Durch die Initialisierung 2.Durch eine Zuweisung Bsp: int x = 12; // initialisiert x auf 12 x = 13; // setzt den Wert auf 13 int y = x + 1;// initialisiert y auf 14 Allgemein: L-VALUE = R-VALUE;

23 Seminar: "Einführung in C/C++"23 Operatoren Es gibt in C/C++ die üblichen Operatoren. Besonderheiten: –Test auf Gleichheit ist == (und nicht etwa =) –Test auf Ungleichheit ist != –& und | stehen für bitweise UND bzw. ODER, && und || logisches UND bzw. ODER sind –~ steht für bitweises NOT, ! steht für logisches NOT

24 Seminar: "Einführung in C/C++"24...noch mehr Operatoren Increment und Decrement: ++X; X = X + 1; --X; X = X - 1; Zuweisungsoperatoren: z.B: X += 20; X = X + 20; X -= 12; X = X - 12; X *= Y; X = X * Y; X /= 2; X = X / 12; X <<= 1; X = X << 1;...

25 Seminar: "Einführung in C/C++"25 Anweisungen Es gibt (unter anderem) folgende Anweisungen: if und else while und do for switch-case

26 Seminar: "Einführung in C/C++"26 if und else if (TEST) { IFBLOCK } else { ELSEBLOCK }

27 Seminar: "Einführung in C/C++"27 while while (TEST) { BLOCK }

28 Seminar: "Einführung in C/C++"28 do-while do { BLOCK } while (TEST);

29 Seminar: "Einführung in C/C++"29 for for (INIT;TEST;STEP) { BLOCK }

30 Seminar: "Einführung in C/C++"30 switch-case switch (X) { case 1: case 2: //Code für X==1 und X==2 break; case 3: //Code für X==3 break; default: //Code für alle anderen Werte von X }

31 Seminar: "Einführung in C/C++"31 Quiz: Was gibt diese Programm aus? int i = 14; for (i = 0; i < 10; ++i); { std::cout << i; }

32 Seminar: "Einführung in C/C++"32 Funktionen Definition: Deklaration: int max (int x, int y) { if (x > y) { return x; } return y; } int max (int x, int y);

33 Seminar: "Einführung in C/C++"33...nochmal Funktionen Funktionen ohne Rückgabewert: Funktionsaufruf: Argumente werden by value übergeben. void print (int x) { std::cout << x; } int y = max(1, 2); print (y);

34 Seminar: "Einführung in C/C++"34 (Notizseite)


Herunterladen ppt "Seminar: "Einführung in C/C++" Einführung in die Programmiersprache C/C++ Montag Andreas Döring SS 2004."

Ähnliche Präsentationen


Google-Anzeigen