Purebits x4 Manuale Utente

Navigare online o scaricare Manuale Utente per Amplificatori audio Purebits x4. Skript 2009 Teil 1 [en] Manuale Utente

  • Scaricare
  • Aggiungi ai miei manuali
  • Stampa
  • Pagina
    / 141
  • Indice
  • SEGNALIBRI
  • Valutato. / 5. Basato su recensioni clienti
Vedere la pagina 0
Computerpraktikum SS2009
I
Einführung in Linux und
der Programmierung in C++
Ein die Veranstaltung ”Computerpraktikum” ergänzendes Skript von
Matthias Knauer, rg Benke und Hartmut Jürgens
Bremen, 5. April 2009
Vedere la pagina 0
1 2 3 4 5 6 ... 140 141

Sommario

Pagina 1 - Einführung in Linux und

Computerpraktikum SS2009IEinführung in Linux undder Programmierung in C++Ein die Veranstaltung ”Computerpraktikum” ergänzendes Skript vonMatthias Knau

Pagina 2

4 Kapitel 1: Einführung in UNIX / Linux• Webbrowser: Internet Explorer, Firefox, . . .• . . .Unterscheidungsformen:• Systemsoftware (Computerprogramme

Pagina 3 - Inhaltsverzeichnis

94 Kapitel 3: Einführung in C/C++normale Ausgabe( 123)( 3.142)( 1.235e+08)( 1.2e-05)( 123)( 3.14153)(1.23457e+08)( 1.2e-05)feste Ausgabe( 123.000)( 3.

Pagina 4

3.10 Formatierte Ausgabe 95Manipulator entsprechende Elementfunktioncout << setw(8) cout.width(8)cout << setfill(’#’) cout.fill(’#’)cout &

Pagina 5

96 Kapitel 3: Einführung in C/C++17 cout . setf ( ios :: fixed );18 cout << "␣␣pi␣=␣" << right << setw (14)19 << set

Pagina 6

3.11 Zeiger 97double *v;Durch diese Definition wird eine Variable name vom Typ Zeiger auf Datentypvereinbart. Durch diese Definition sind Zeiger und der

Pagina 7 - Vorwort bzw. Disclaimer

98 Kapitel 3: Einführung in C/C++double *v = new double (2.718);Was passiert hier ? new erzeugt im Speicher eine Variable vom Typ double,initialisiert

Pagina 8 - Einführung in UNIX /

3.11 Zeiger 99freigeben, da C++ dieses nicht automatisch macht (auch wenn gar keine Zeigermehr existieren, die auf diesen Bereich „zeigen“):delete Nam

Pagina 9

100 Kapitel 3: Einführung in C/C++3.11.5 Benutzung des Referenzierungs- und Dereferenzierungs-operatorsreference.cpp: (De-)Referenzierung von Zeigern1

Pagina 10

3.11 Zeiger 1014 double vektornorm ( double *, double *, double *, double );56 int main () {7 double x [3] = {4.0 ,2.0 ,2.0};8 double y [3] = { -0.5 ,

Pagina 11 - 1.1.2 UNIX / Linux

102 Kapitel 3: Einführung in C/C++• Bei Benutzung des Feldindexes (vgl. vektornorm) wird derDereferenzierungsoperator nicht benötigt, da sich bei Zugr

Pagina 12

3.11 Zeiger 10321 void initMatrix ( double **m , int size ) {22 for ( int i =0;i< size ;i++) {23 for ( int j =0;j< size ;j++) {24 m[i][ j] = i =

Pagina 13 - Fachbereichsnetzes

1.1 Betriebssysteme 5• Shell, d.h. eine Benutzerschnittstelle, die Befehle bzw. Kommandos entge-gennimmt (über Tastatur), diese mittels eines Kommando

Pagina 14

104 Kapitel 3: Einführung in C/C++13 deleteMatrix (v , size );14 }1516 double ** newMatrix (int size ) {17 double ** m = new double *[ size ];18 for (

Pagina 15

3.11 Zeiger 105Beachte: Ein Funktionszeiger kann nur Adressen von Funktionen aufneh-men, die gleichen Rückgabetyp und gleiche Parameterliste besitzen.

Pagina 16 - 1.4 Aufbau von UNIX-Kommandos

106 Kapitel 3: Einführung in C/C++pointer3.cpp: Vergleich von Zeigern12 #define n 334 double vektornorm ( double *, double *, double *, double );56 in

Pagina 17 - 1.5 Editoren

3.12 Zeichenketten 1075 v = new double [100000];6 cout << i << "␣" << v << endl ;7 }8 }9 catch ( bad_alloc ) {10 cer

Pagina 18

108 Kapitel 3: Einführung in C/C++eindeutig durch eine Zahl −128 ≤ c ≤ 127 beschrieben. Der Compiler unter-scheidet nicht zwischen Zeichen und Zahl, m

Pagina 19

3.12 Zeichenketten 10917 << ( char ) tolower (z) << " ’" << endl ;18 }19 while ( isgraph (z));20 }Bitte ein Zeichen eingeb

Pagina 20 - 1.6 Drucken

110 Kapitel 3: Einführung in C/C++die Möglichkeit die Zeichenketten (Strings) der Standardbibliothek zu verwen-den. Die damit verbundenen Vereinfachun

Pagina 21 - 1.7 Verzeichnisse und Dateien

3.12 Zeichenketten 1113.12.5 Ein- und Ausgabe von ZeichenkettenFür die Ausgabe von Zeichenketten benutzt man std::cout, die Eingabe ist mitstd::cin mö

Pagina 22 - 1.7.2 Dateien und Pfade

112 Kapitel 3: Einführung in C/C++Konstanten, mit dem man klarstellt, dass der Wert von s in der Funktionnicht verändert werden kann.• strcpy dient zu

Pagina 23

3.13 Strings 113int main ( int argc , char * argv []) {/* ... */}Dabei gibt argc an, wieviele Argumente bereitstehen. Die einzelnen Argumentestehen al

Pagina 24

6 Kapitel 1: Einführung in UNIX / Linuxab1991 Entwicklung von LINUX als UNIX-Derivat für Intel386-Prozessor, LinusTorvalds u.v.a. im Rahmen der GNU/GP

Pagina 25

114 Kapitel 3: Einführung in C/C++3.13.1 Konstruktoren für StringsErzeugen eines leeren Strings.string ();Erstellen einer Kopie eines anderen Strings

Pagina 26

3.13 Strings 115• const string &str, size_type pos, size_type n• const char* s• const char* s, size_type n• size_type n, char chDie Bedeutung der

Pagina 27

116 Kapitel 3: Einführung in C/C++3.13.3 Informationen über StringsAktuelle Länge des Strings.size_type length () const ;size_type size () const ;Derz

Pagina 28 - $ chmod u-x,g-w dateiname

3.13 Strings 117int compare ( size_type index , size_type n,const string & str );int compare ( size_type index , size_type n,const string & st

Pagina 29 - 1.8 UNIX-Shells

118 Kapitel 3: Einführung in C/C++Der Operator [] liefert ebenfalls ein Zeichen zurück.str_char.cpp: Zeichenumwandlung von Strings1 int main () {2 str

Pagina 30 - 1.8.2 Shell-Variablen

3.14 Umgang mit Dateien 119Anfügen eines Zeichens ans Ende.void push_back (const char val );3.14 Umgang mit DateienSind komplexe Daten zu verarbeiten,

Pagina 31 - 1.8.3 Kommandos

120 Kapitel 3: Einführung in C/C++file2.cpp: Schnell eine Datei öffnen1 int main () {2 char c;3 cout << " Ausgabe ?␣";4 cin >> c;

Pagina 32 - $ echo $PATH

3.14 Umgang mit Dateien 12111 if (! input ) break ;12 cout << buf << endl ;13 }14 }

Pagina 33 - 1.8.5 Umleitung

122 Anhang A: HeaderAHeaderA.1 Die Funktionen von ctype.hNützliche Funktionen zur Behandlung von char-Variablen und -Konstantenfindet man in dem Modul

Pagina 34 - $ grep > text.txt

A.2 Die Funktionen von string.h 123A.2 Die Funktionen von string.hWeitere nützliche Funktionen zum Umgang mit C-Strings liefert <string.h>.Proto

Pagina 35 - 1.9 Prozesse

1.2 Die Etikette im Rechnerpool des Fachbereichsnetzes 7Mac OS XDas Betriebssystem Mac OS X ist im Kern ein Unix Betriebssystem. Der Kernliegt als Ope

Pagina 36

124 Anhang A: HeaderA.3 Mathematische FunktionenVon C++ werden in dem Modul <cmath> die Prototypen für eine Reihemathematischer Standardfunktion

Pagina 37

A.3 Mathematische Funktionen 125Prototyp Funktionsweisedouble ldexp(double,int)Umkehrfunktion zu frexp.w=ldexp(a,b); ⇐⇒ w = a · 2bdouble log(double) L

Pagina 38

126 Anhang B: Kompatibilitäten zu CBKompatibilitäten zu CB.1 Ein-/AusgabeUnter C wird die Kommunikation mit der Konsole im Modul <stdio.h> er-kl

Pagina 39

B.1 Ein-/Ausgabe 127Flag Bedeutung0 Auffüllen mit Nullen- Linksbündig+ Vorzeichen (+ oder -) immer mit ausgeben’ ’ Platzhalter für VorzeichenTypspezifi

Pagina 40

128 Anhang B: Kompatibilitäten zu CLinksbündige Ausgabe mit 6 (Leer-)Stellenprintf ("Wert ␣1␣=␣%-6 i\n", 42);printf ("Wert ␣2␣=␣%-6 i\n

Pagina 41 - Algorithmen

B.1 Ein-/Ausgabe 129B.1.2 Formatierungsanweisungen für FließkommazahlenDie Ausgabe von Fließkommazahlen kann in Fixpunktnotation (z.B. x=123.456)oder

Pagina 42 - 2.2 Sequenzen

130 Anhang B: Kompatibilitäten zu C41 printf ("␣% -8s␣|␣"," %.3 f" );42 printf (" %.3 f" ,x);43 printf ("\n" )

Pagina 43 - 2.3 Auswahl (Selektion)

B.1 Ein-/Ausgabe 13191 printf ("\n" );9293 printf ("␣% -8s␣|␣"," %15.2 e" );94 printf (" %+15.2 e" ,x);95 prin

Pagina 44

132 Anhang B: Kompatibilitäten zu CB.1.4 Ein-/Ausgabe in C-StringsMit sprintf und sscanf kann man in C-String schreiben oder aus C-Stringslesen (statt

Pagina 45

B.2 Speicherverwaltung 133Andernfalls wird der durch ptr angesprochene Speicherbereich in Abhängigkeitvon groesse verkleinert oder vergrößert, wobei i

Pagina 46 - (Bsp. für Zählschleife)

8 Kapitel 1: Einführung in UNIX / Linux1.3 An- und Abmelden beim SystemZu Beginn jeder Sitzung muss man sich mit seiner Benutzerkennung (account,login

Pagina 47 - 2.5 Funktionen

134 Anhang B: ProgrammverzeichnisProgrammverzeichniszero.cpp Das nullte und kürzeste C++-Programm . . . . . . 49hello.cpp Hello world in C++, erster V

Pagina 48

135reference.cpp (De-)Referenzierung von Zeigern . . . . . . . . . . 100pointerret.cpp Rückgabe mehrerer Werte . . . . . . . . . . . . . . 100matrix.c

Pagina 49

1.3 An- und Abmelden beim System 9Terminal - Eingabe von KommandozeilenNachdem eine graphische Benutzerschnittstelle gestartet wurde, ist die Eingabev

Pagina 50

10 Kapitel 1: Einführung in UNIX / Linux1.4 Aufbau von UNIX-KommandosUnter UNIX kommuniziert der Benutzer mit dem Computer über Kommandos,die in einem

Pagina 51 - Einführung in C/C++

1.5 Editoren 11zurück), SPACE (eine Seite vorwärts), PageUp , PageDown (Seite vor / zu-rück) navigiert man auf der SeiteLinks zu verwandten Themen sin

Pagina 52 - Keine Panik

12 Kapitel 1: Einführung in UNIX / LinuxneditDer nedit ist ein vielseitiger Text-Editor, der gut für die Eingabe von Compu-ter Programmen geeignet ist

Pagina 53 - Beliebte Compiler

1.5 Editoren 13integriert und wird z.B. gestartet, wenn man eine C++ Datei in der KDE-GUIdoppelklickt. Das Menü ist ähnlich wie bei nedit aufgebaut.em

Pagina 55 - Online-Resourcen

14 Kapitel 1: Einführung in UNIX / LinuxEine extrem ausführliche Einleitung findet sich wiederum unter dem MenüpunktHelp.Hinweis: Auf den Macs sollte d

Pagina 56 - $ ./a.out

1.7 Verzeichnisse und Dateien 15pacc Information über aktuelles DruckkontingentWeitere Informationen finden sich unterhttp://www.informatik.uni-bremen.

Pagina 57 - 3.2 Hello, world!

16 Kapitel 1: Einführung in UNIX / Linux/ffffffffffffffffffffffffffffffffjjjjjjjjjjjjjjjjjjjRRRRRRRRRRRRRRRRRWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXX

Pagina 58

1.7 Verzeichnisse und Dateien 17more ../../editor.txtzeigt die Datei editor.txt an, welche sich im Unterverzeichnis/home/benke/SKRIPTEMathe/ befinden m

Pagina 59 - 3.3 Fundamentale Datentypen

18 Kapitel 1: Einführung in UNIX / Linuxcd verzeichnis Wechsel in ein Unterverzeichnis des aktuel-len Verzeichnis (relativer Pfad)cd /home/benke/AWI/

Pagina 60 - 3.3.1 Deklaration

1.7 Verzeichnisse und Dateien 19rm -r verzeichnis Rekursives Löschen von Verzeichnissen inkl.deren Inhalt, d.h. alle Dateien und alle Un-terverzeichni

Pagina 61 - 3.3.2 Ganzzahltypen

20 Kapitel 1: Einführung in UNIX / Linux• einen Referenzzähler für die Verweise auf die Datei (i.d.R 1) bzw. dasVerzeichnis (Anzahl ≥ 2, denn bei Verz

Pagina 62 - 3.3.3 Grundrechenarten

1.7 Verzeichnisse und Dateien 21Und drei Arten von Zugriffsrechten:r Read Leserechtew Write Schreibrechtex eXecute Ausführbarkeit bei Dateien, Zutritt

Pagina 63 - 3.3.5 Zuweisungsoperatoren

22 Kapitel 1: Einführung in UNIX / LinuxNumerische Form400 read Leseberechtigung des Eigentümers200 write Schreibberechtigung des Eigentümers100 execu

Pagina 64 - 3.3.8 Bezeichner

1.8 UNIX-Shells 231.8 UNIX-ShellsÖffnet man ein Terminal-Fenster, dann läuft im Hintergrund eine Shell, die dieeingegebenen Kommandos interpretiert und

Pagina 65 - 3.3.9 Fliesskommatypen

Inhaltsverzeichnis iiiInhaltsverzeichnisInhaltsverzeichnis iiiVorwort bzw. Disclaimer 11 Einführung in UNIX / Linux 21.1 Betriebssysteme . . . . . . .

Pagina 66 - 3.3.10 Typumwandlungen

24 Kapitel 1: Einführung in UNIX / LinuxSolche Sonderzeichen sind z.B.; Kommandos hintereinander ausführen&& Kommandos hintereinander ausführe

Pagina 67 - 3.3.11 Konstanten

1.8 UNIX-Shells 25$ BLA=fasel$ echo $BLAfaselwird eine Shell-interne Variable BLA gesetzt und mittels echo wieder ausge-geben. Mit printenv bekommt ma

Pagina 68 - 3.4 Ein- und Ausgabe

26 Kapitel 1: Einführung in UNIX / LinuxDie verschiedenen Verzeichnisse werden mit Doppelpunkten getrennt.Ein weiteres Verzeichnis kann man dem Pfad z

Pagina 69 - 3.4.2 Standardeingabe

1.8 UNIX-Shells 27rm * löscht alle Dateien (in diesem Verzeichnis)!Also vorsichtig mit * in manchen Situatio-nen!1.8.5 UmleitungBis jetzt haben wir Ko

Pagina 70 - 3.5 Anweisungen zur Auswahl

28 Kapitel 1: Einführung in UNIX / Linux1.8.6 Vorverarbeitung der KommandosNoch bevor das eigentliche Kommando (Programm) gestartet wird, erledigtdie

Pagina 71 - 3.5.3 Relationale Operatoren

1.9 Prozesse 292. Wir wollen eine Reihe von Dateien in ein anderes Verzeichnis verschieben,vergessen aber, das Zielverzeichnis anzugeben.$ mv *.texMög

Pagina 72 - Achtung!!

30 Kapitel 1: Einführung in UNIX / LinuxPID TTY TIME CMD23629 pts/1 00:00:00 bash23671 ? 00:02:02 mozilla-bin23686 ? 00:00:00 gconfd-223775 pts/1 00:0

Pagina 73 - 3.5.4 if-Anweisungen

1.10 Arbeiten auf entfernten Rechnern 31[1] Running nedit weiterebefehle.tex \&[2] Stopped make[3]- Stopped make[6]+ Stopped make[7] Running acror

Pagina 74

32 Kapitel 1: Einführung in UNIX / Linux.bashrc Konfigurationsdatei für Shell, die beim Startjeder neuen Shell automatisch ausgeführtwird. Hier können

Pagina 75 - 3.5.6 switch-Anweisungen

1.11 Weitere nützliche Befehle 33tar -cvf archiv.tar ordnerLegt Datei-Archiv von ordner an, wobei cfür create (d.h. erzeuge Archiv), v für ver-bose (d

Pagina 76 - 3.6 Funktionen

iv Inhaltsverzeichnis3 Einführung in C/C++ 453.1 Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.1.1 Geschichte . . . . .

Pagina 77

34 Kapitel 1: Einführung in UNIX / Linuxchmod 770 BOERSE Nur Mitglieder der Gruppe dürfen in dasVerzeichnisDisketten und USB-Sticksmount /floppy Diske

Pagina 78 - 3.6.2 Rückgabetyp

352Algorithmen2.1 Begriff(Versuch einer) Definition:Ein Algorithmus ist eine endliche Vorschrift, die genau angibt, wie ein be-stimmtes Problem in einze

Pagina 79 - 3.6.4 Call by value

36 Kapitel 2: Algorithmen• Berechenbarkeit: Existiert ein Algorithmus, der das gegebene Problem löst?• Korrektheit: Löst der Algorithmus die gegebene

Pagina 80 - 3.6.5 Call by reference

2.3 Auswahl (Selektion) 37Verfeinerung des Algorithmus1.1 Fülle Wasserkocher mit Wasser1.2 Schalte Wasserkocher an1.3 Warte bis es kocht1.4 Schalte Wa

Pagina 81

38 Kapitel 2: Algorithmen2.1.1 Nimm Kaffeeglas aus dem Schrank2.1.2 FALLS Kaffeeglas leer istDANN Nimm neues Kaffeeglas2.1.3 Öffne KaffeeglasDer SONST-Teil

Pagina 82

2.4 Schleifen (Wiederholung, Iteration) 39erfülltDo-While-Schleife, d.h. Schleife mit (weiterführendem) Nachtest.Der Schleifendurchlauf wird wiederum

Pagina 83 - 3.6.7 Rekursive Funktionen

40 Kapitel 2: Algorithmen2.4.1 Maximumsbestimmung (Bsp. zur 2. bzw. 1. Schleifenart)Eingabe: Liste von ZahlenAusgabe: Größte Zahl in der ListeSetze er

Pagina 84 - 479001600

2.5 Funktionen 412.5 FunktionenFunktionen erleichtern die schrittweise Verfeinerung eines Algorithmus und er-lauben die wiederholte Verwendung von Alg

Pagina 85 - 3.7 Schleifen

42 Kapitel 2: Algorithmen2.6 Vom Algorithmus zum ProgrammUm den Algorithmus durch einen Computer ausführen zu lassen, muss manihn in einer Programmier

Pagina 86 - 3.7.1 while-Schleifen

2.6 Vom Algorithmus zum Programm 43• Semantik, d.h. Bedeutung und Sinnhaftigkeit formal korrekter Sätze. Siebeschreibt also, welche Aktion das Program

Pagina 87 - 3.7.2 for-Schleifen

Programmverzeichnis v3.10.1 Bit-Operatoren . . . . . . . . . . . . . . . . . . . . . . . . 903.10.2 Formatierung über Elementfunktionen . . . . . . .

Pagina 88

44 Kapitel 2: Algorithmen• Mischformen: Just-In-Time-Compiler, Byte-Code-InterpreterMerke: Ein Algorithmus ist unabhängig von der Programmiersprache,

Pagina 89

453Einführung in C/C++3.1 Überblick3.1.1 GeschichteC++ ist eine der verbreitetsten und industriell wichtigsten Programmierspra-chen. Sie ist als Mehrz

Pagina 90

46 Kapitel 3: Einführung in C/C++dard wird 1990 von der ISO2(bis auf kleinere Änderungen) vollständigübernommen ( C90).1980 Bei AT&T erweitert Bja

Pagina 91 - 3.7.5 Der Sprungbefehl goto

3.1 Überblick 473.1.2 Compiler und ToolsNachdem der Quelltext (engl. source code) mit einem Editor geschrieben wurde,wird der Quelltext (*.cpp oder *.

Pagina 92 - 3.8 Felder

48 Kapitel 3: Einführung in C/C++Größere Programme werden in der Regel nicht mehr mit einfachen Texteditorenerstellt, sondern mit Integrierten Entwick

Pagina 93

3.1 Überblick 49• Krüger, Guido: GoTo C-Programmierung, Addison-Wesley, 1998.• C Von A bis Z (http://www.pronix.de/pronix-4.html)(siehe auch http://ww

Pagina 94 - Der erste Feldeintrag ist 42

50 Kapitel 3: Einführung in C/C++Dies erzeugt das Programm a.out, das man mit$ a.outbzw.$ ./a.outausführen kann. Probiere zuerst die erste Version, da

Pagina 95 - 3.9 Präprozessoranweisungen

3.2 Hello, world! 51mit denen z.B. Anweisungen abgeschlossen oder in Blöcken zusammenge-faßt werden. In diesem Programm sind die (geschweiften) Klamme

Pagina 96 - 3.10 Formatierte Ausgabe

52 Kapitel 3: Einführung in C/C++hello.cpp: Hello world in C++, erster Versuch1 #include <iostream >23 int main () {4 std :: cout << Hello

Pagina 97

3.3 Fundamentale Datentypen 53Warum erscheint das Prompt $ direkt hinter dem ausgegebenen Text? In demString, der std::cout übergeben wird, muss noch

Pagina 98

vi Programmverzeichnis

Pagina 99

54 Kapitel 3: Einführung in C/C++Integer- und Float-Typen können die unendlichen Mengen Z und R nicht voll-ständig darstellen.In ?? werden wir aus die

Pagina 100 - 3.10.3 Manipulatoren

3.3 Fundamentale Datentypen 55$ g++ declare.cpp$ a.outDie Zahlen lauten 12, 88 und 100.$declare2.cpp: kürzere Deklaration1 #include <iostream >2

Pagina 101

56 Kapitel 3: Einführung in C/C++wobei size die Größe des Datentyps in Vielfachem vom Typ char angibt.3.3.3 GrundrechenartenDie Symbole +,-,*,/ werden

Pagina 102 - 3.11 Zeiger

3.3 Fundamentale Datentypen 57c = a + b;std :: cout << a <<"␣plus ␣" << b<< "␣ gleich ␣" << c;lassen

Pagina 103

58 Kapitel 3: Einführung in C/C++3.3.6 Inkrement- und DekrementoperatorenEine weitere Kurzschreibweise bieten die Operatoren zum Inkrement (erhöheWert

Pagina 104

3.3 Fundamentale Datentypen 59• Sie müssen aus Buchstaben (a-z, A-Z), Ziffern (0-9) und Unterstrichen(_) bestehen.• Sie dürfen nicht mit einer Ziffer be

Pagina 105 - 3.11.4 Zugriff auf Zeigerwerte

60 Kapitel 3: Einführung in C/C++23 int main (){45 float a = 1000012000 , c =2.0 e -06;6 double b = 1000012000 , d =2.0 e -06;78 std :: cout . precisi

Pagina 106 - Der Wert von x ist x = 10

3.3 Fundamentale Datentypen 61eine Warnung liefert, die aber ignoriert werden kann (im Gegensatz zur richtigenFehlermeldung), wenn diese Typumwandlung

Pagina 107 -

62 Kapitel 3: Einführung in C/C++3.4 Ein- und AusgabeC++ selbst verfügt über keine direkte Möglichkeit der Ein- und Ausgabe. Statt-dessen bietet die C

Pagina 108 - 3.11.7 Weitere Zeiger-Typen

3.4 Ein- und Ausgabe 633.4.2 StandardeingabeDie Standardeingabe std::cin wird wie std::cout im Modul <iostream> er-klärt. Sie nimmt Eingaben von

Pagina 109

1Vorwort bzw. DisclaimerDieses Skript wurde in seiner erster Fassung von Matthias Knauer erstellt. Esbegleitete den ersten Teil einer zweisemestriegen

Pagina 110

64 Kapitel 3: Einführung in C/C++Genauso lässt sich jede andere Ausgabe mit | in das Programm weiterleiten:$ cat person.txt | eingabeBitte gib dein Ge

Pagina 111 - 3.11.8 Zeigerarithmetik

3.5 Anweisungen zur Auswahl 65Dabei ist false als 0 definiert. Alle anderen Werte (also insbesondere 1) gel-ten als true. Die explizite Benutzung von t

Pagina 112 - 3.11.9 Sichere Allozierung

66 Kapitel 3: Einführung in C/C++Vergleich wahr ist, sonst 0.Operator Ergebnisa < b wahr, wenn a kleiner ba <= b wahr, wenn a kleiner oder gleic

Pagina 113 - 3.12 Zeichenketten

3.5 Anweisungen zur Auswahl 673.5.4 if-AnweisungenDie in Kapitel 2 eingeführte Anweisung zur Auswahl kann direkt in C++-Syntaxübersetzt werden:if ( Be

Pagina 114

68 Kapitel 3: Einführung in C/C++if (a > b)if (a > 2 * b)cout << "a␣ist ␣ mehr ␣ als ␣ doppelt ␣"<< " so ␣ gross ␣ wi

Pagina 115 - 3.12.4 Zeichenketten

3.5 Anweisungen zur Auswahl 693.5.5 Bedingte Ausdrücke mit ?:Die Schreibweise von if-else kann in einigen Fällen mit dem bedingten Aus-drucksoperator

Pagina 116

70 Kapitel 3: Einführung in C/C++67 cout << " Bitte ␣geben ␣ Sie ␣ eine ␣ Zahl ␣ ein :";8 cin >> z;9 cout << endl ;1011 sw

Pagina 117 - String eingeben: hello world

3.6 Funktionen 71Vor dem ersten Aufruf einer Funktion, muss diese bereits dem Compiler bekanntsein (Deklaration). Dies geschieht entweder durch ihre v

Pagina 118

72 Kapitel 3: Einführung in C/C++beendet. Steht die Funktionsdeklaration allein als Prototyp, dann wird sie mitSemikolon beendet.Der Funktionsaufruf s

Pagina 119 - 3.13 Strings

3.6 Funktionen 733.6.3 FunktionsparameterMan kann einer Funktion einen oder mehrere Parameter als Argument über-geben. Die Parameter werden in der Fun

Pagina 120 - 3.13.2 Verändern von Strings

2 Kapitel 1: Einführung in UNIX / Linux1Einführung in UNIX /Linux1.1 Betriebssysteme1.1.1 Aufbau eines ComputersHardwarekomponenten eines Computer-Sys

Pagina 121

74 Kapitel 3: Einführung in C/C++3 a = b;4 b = help ;56 cout << "a␣=␣" << a << "␣b␣=␣" << b << endl

Pagina 122 - 3.13.4 Vergleiche und Tests

3.6 Funktionen 75es werden keine Kopien der Variablen angelegt. Werden die Parameter in derUnterfunktion geändert, so ändern sie sich auch in der aufr

Pagina 123 - 3.13.5 Umwandeln in Zeichen

76 Kapitel 3: Einführung in C/C++10 cout << "x␣=␣" << x << endl ;11 }x = 4x = 10x = 4Die Änderung des Wertes von x in der

Pagina 124 - 3.13.7 Sonstiges

3.6 Funktionen 77Je enger eine Information begrenzt ist, d.h. je kleiner der Gültigkeitsbereicheiner Variablen ist, desto weniger Fehler kann man z.B.

Pagina 125 - 3.14 Umgang mit Dateien

78 Kapitel 3: Einführung in C/C++Die Fakultät einer Zahl n ist definiert als n! = 1 · 2 · 3 · 4 ···nrekursiv.cpp: Fakultät als rekursive Funktion1 int

Pagina 126

3.7 Schleifen 7945 int main () {6 double x;7 cout << " Zahl ␣ eingeben :␣";8 cin >> x;9 cout << " Wurzel ␣ von ␣"

Pagina 127 - 3.14 Umgang mit Dateien 121

80 Kapitel 3: Einführung in C/C++3.7.1 while-SchleifenAuch die in Kapitel 2 eingeführten Algorithmen-Bausteine zur Wiederholungvon Anweisungen werden

Pagina 128

3.7 Schleifen 81In diesem Beispiel ist die do-Schleife angebrachter als die while-Schleife, weildie Eingabeaufforderung in jedem Fall mindestens einmal

Pagina 129

82 Kapitel 3: Einführung in C/C++}Eine solche Schleife wird folgendermaßen abgearbeitet:-Initia-lisierung-@@@@@@@@@@Bedingungfalschwahr?Anwe

Pagina 130 - A.3 Mathematische Funktionen

3.7 Schleifen 83for ( int x =1, y =100; x <= y; x++ , y - -) {cout << "x␣=␣" << x << "␣y␣=␣" << y <&

Pagina 131

1.1 Betriebssysteme 3• Der Inhalt des Arbeitsspeichers ist flüchtig, d.h. nach dem Abschalten desComputers geht der Inhalt des Arbeitsspeichers komplet

Pagina 132 - Kompatibilitäten zu C

84 Kapitel 3: Einführung in C/C++break.cpp: Die Schleife endet mit break sofort1 int main () {2 int i;3 for (i =1; i <10; i ++) {4 if (i >5) {5

Pagina 133 - Wert 2 = 42424

3.7 Schleifen 8516 << z << "␣ist ␣" << p << endl ;17 break ;18 }19 }20 cout << " Nochmal ?␣( ja␣=␣1,␣ nei

Pagina 134

86 Kapitel 3: Einführung in C/C++1 #include <iostream >2 #include <cmath >3 using namespace std ;45 int main () {67 double x;8 cout <&l

Pagina 135

3.8 Felder 87Zum Beispielint x [4];int y [4] = {4 , 7, 1, 1};Felder dürfen sich auch über mehrere Dimensionen erstrecken:Datentyp Name [ Dim1 ][ Dim2

Pagina 136

88 Kapitel 3: Einführung in C/C++4 /* Ausgabe : Summe */5 int s =0;6 for ( int i =0; i <n; i ++) {7 s += v[i];8 }9 v [0] = 42;10 n = 42;11 return s

Pagina 137 - B.1.3 Eingabe mit scanf

3.9 Präprozessoranweisungen 893.9 PräprozessoranweisungenVor der Kompilierung wird der C++-Quelltext vom sogenannten Präprozessorverarbeitet. Dieser n

Pagina 138 - B.2 Speicherverwaltung

90 Kapitel 3: Einführung in C/C++3.9.2 #includeTrifft der Präprozessor auf den #include Befehl, liest er die entsprechendeHeader-Datei ein. Alle in ihr

Pagina 139

3.10 Formatierte Ausgabe 91Operator Erläuterung Beispiel Ergebnisbinär dezimalchar a = 14; 00001110 14char b = 19; 00010011 19& Bitweises UND a &a

Pagina 140 - Programmverzeichnis

92 Kapitel 3: Einführung in C/C++gesetzt oder gelöscht. Die möglichen Flags stehen dabei als Formatierungsanwei-sungen zur Verfügung:Bitfeld Flags Bed

Pagina 141

3.10 Formatierte Ausgabe 9313 cout . fill ( ’_ ’);1415 writenumbers (a , 4, 0);1617 writenumbers (a , 4, 10);1819 cout . setf ( ios :: left );20 write

Commenti su questo manuale

Nessun commento