Grundstruktur eines C

Werbung
Grundstruktur eines C-Programms
// Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet
/* Oder durch Slash Stern … Stern Slash eingeschlossen */
#include <iostream>
// Präprozessor-Anweisungen beginnen mit #
// Einbinden der Programmbibliothek iostream,
// die den Befehl “cout” enthält
#include <conio.h>
// Enthält die Funktion “getch()”
using namespace std;
// Benutzung der Standard Template Library
int main ()
// Jedes Programm besitzt eine Funktion main
{
// Blöcke werden durch geschweifte Klammern eingerahmt
cout << “Hello World”; // Ausgabe des Textes “Hello World”
// Befehle werden mit einem Semikolon abgeschlossen
getch ();
// Warten auf Tastendruck, bevor Programm beendet wird
return 0;
// Rückgabewert des Hauptprogramms
}
HelloWorld
Erstellen einer Konsolen-Anwendung in der
integrierten Entwicklungs-Umgebung (IDE)
• Programme, deren Ein- und Ausgabe über eine DOSBox laufen:
→ Datei → Neu → Projekt → Visual C++-Projekte →
Win32-Konsolenprojekt
• Name: Projektname (z.B. HelloWorld)
• Speicherort: C:\Projekte
• Überblick
• Anwendungseinstellungen
Speichern eines Projektes
→ Datei → Alle Speichern: Speichert alle Dateien, die zum Projekt
gehören.
→ Datei → Speichern: Speichert die gerade im Editor angezeigte
Datei
(.cpp, .h)
→ Datei → Speichern unter: Speichert die gerade im Editor
angezeigte Datei unter anderem Namen
Funktionen des Compilers und des
Linkers
•
•
•
•
•
Der Compiler erzeugt aus dem eingegebenen Quelltext den Objectcode
(Erweiterung .obj)
→ Erstellen → Kompilieren
Syntaxfehler im Quelltext werden vom Compiler erkannt und mit einer
Fehlermeldung quittiert (Syntax Error)
Zusätzlich kann der Compiler so eingestellt werden, dass bei
bestimmten Konstruktionen (z.B. Wertzuweisung an eine Variable, die
nicht verwendet wird) eine Warnung ausgegeben wird (Warnig)
Der Linker setzt die Codefragmente zu einer Ausführbaren Datei (.exe)
zusammen
→ Erstellen → Projekt erstellen: Nur die geänderten Dateien werden neu
compiliert
→ Erstellen → neu erstellen: Alle Dateien werden neu compiliert
Die ausführbare Datei kann direkt aus der Entwicklungsumgebung
gestartet werden
→ Debuggen → Starten
Öffnen eines Projektes
→ Datei → Projektmappe öffnen: Öffnet ein Projekt
→ Datei → Öffnen: Öffnet Projektmappen oder einzelne Dateien
Eine Übersicht über die zum Projekt gehörenden Dateien erhält
man mit dem Projektmappen-Explorer (rechts oben)
Die Hilfs-Funktionen
→ Hilfe →
Inhalt: Thematisch sortierte Übersicht
Index: Suche nach Schlüsselwörtern
Suchen: Nach allgemeinen Begriffen suchen
Informativ aus dem Inhalt sind z.B.:
→ Visual Studio .NET → Visual C++ → Referenz → C/C++
Languages → C++ Language Reference
→ Visual Studio .NET → Visual C++ → Erstellen und verwalten
von Projekten
Hilfe zu einem Befehl im Sourcecode: Cursor auf Befehl + F1
Hilfe zu einer Fehlermeldung: Fehlermeldung anklicken + F1
Variablen in C/C++
Variablen müssen im Programm durch Angabe des
Datentyps und des Namens deklariert werden. Beispiele:
int Zahl1;
int j,k;
float einfach;
double x,y;
char ch;
// Ganzzahlige Variable (Integer) mit Name Zahl1
// Zwei ganzzahlige Variablen mit den Namen j und k
// Fließkommazahl einfach
// Fließkommazahlen x und y mit doppelter Genauigkeit
// Buchstabe ch
Deklaration
Zulässige Variablennamen
– Variablennamen bestehen aus Buchstaben (a..z, A..Z, _) und Ziffern
(0..9). Es wird zwischen Groß- und Kleinschreibung unterschieden
– Der Name muss mit einem Buchstaben beginnen
– Reservierte Schlüsselwörter (Anweisungen) dürfen nicht als
Variablenname verwendet werden
Variablen in C/ C++
Werte werden einer Variablen mit dem = Operator zugewiesen.
Beispiele:
Zahl1 = 30;
j = Zahl1;
einfach = 2.7;
x = 1.0; y = 0.284e-12;
ch = ‘Y’;
Deklaration
Variablen können direkt bei der Deklaration ein Wert zugewiesen
werden. Durch das Schlüsselwort const werden Konstanten
deklariert. Konstanten müssen direkt bei der Deklaration ein Wert
zugewiesen werden.
double Zahl2 = 1.2;
const double Pi = 3.1415927;
Deklaration
Ein- und Ausgabe von Variablen
#include <iostream>
using namespace std;
int main ()
{
double y;
// Einlesen einer Fließkommazahl über die Tastatur
cout << "Bitte eine reelle Zahl eingeben " << endl;
cin >> y;
// Ausgabe von y auf den Bildschirm
cout << "Sie haben " << y << " eingegeben." << endl;
char ch;
// Einlesen eines Buchstaben über die Tastatur
cout << "Bitte einen Buchstaben eingeben " << endl;
cin >> ch;
// Ausgabe von y auf den Bildschirm
cout << "Sie haben " << ch << " eingegeben." << endl;
}
EinAusgabe
Rechnen in C++
Operatoren +, -, *, / für die Grundrechenarten. Beispiel:
int a, b, c;
double x, y, z;
x = 40 / 3.0;
y = 40 / 3;
z = x * y;
// Reelle Division x = 13.3333
// Ganzzahlige Division y = 13.0
// Multiplikation
a = 50 * 3;
b = 40 / 3;
c = 40 % 3;
// Multiplikation
// Ganzzahlige Division
// 40 Modulo 3 = 1
Rechnen
Weitere Operatoren
+=
Zuweisung mit Addition
-=
Zuweisung mit Subtraktion
entsprechend:
*=, /=, %=
a += b; entspricht a = a + b;
a -= b; entspricht a = a – b;
++
--
c ++;
c--;
Inkrement
Dekrement
entspricht c = c + 1;
entspricht c = c -1;
Mathematische Funktionen
#include <cmath>
#include <iostream>
#define Pi 3.1415927
using namespace std;
int main () {
float x;
x = cos (Pi);
cout << x << endl;
cout << log (1.0) << endl;
…
}
// Cosinusfunktion
// Natürlicher Logarithmus
Mathematik
Rechnen in C++
Weitere mathematische Funktionen sind in <cmath> definiert:
Trigonometrische Funktionen (Bogenmaß)
sin(x) Sinus
asin(x)
cos(x) Cosinus
acos(x)
tan(x) Tangens
atan(x)
log(x)
log10(x)
Arcussinus
Arcuscosinus
Arcustangens
Natürlicher Logarithmus (Basis 2,718281828…)
Logarithmus zur Basis 10
sqrt(x) Quadratwurzel
exp(x) Exponentialfunktion
pow(x,y)
abs(x) Ganzzahliger Absolutwert
Potenzieren
fabs(x) Reeller Absolutwert
Arrays
Indexvariablen können in Feldern (Arrays) gespeichert werden.
Beispiel:
int a [10];
a [0] = 10;
a[1] = 20;
a[9] = 7+3;
int i;
i=2;
a[i] = i * 4;
a[i+1] = 6;
// Deklaration eines Arrays von 10 ganzen Zahlen
// Erstes Element erhält den Wert 10
// Zweites Element erhält den Wert 20
// Letztes Element erhält den Wert 10
// Ganze Zahl als Index
// Element i erhält den Wert i * 4
// Element i+1 erhält den Wert 6
Wert
10 20 8 6
Index
0 1 2 3 4 5 6 7 8 9
Array
10
Arrays können auch mehrdimensional sein. Beispiel:
double Matrix [10][20];
int i = 2; int j = 7;
Matrix [i][j] = i*j;
// Deklaration einer 10 x 20 Matrix
Array
Übersicht Datentypen in C++
Grunlegende Datentypen
bool
: true oder false
char
: Buchstabe (8 Bit)
int
: Ganze Zahl (32 Bit)
float
: Fließkommazahl (32 Bit)
double
: Fließkommazahl, doppelte Genauigkeit (64 Bit)
long double
: Fließkommazahl (80 Bit)
void
: Nichts
enum
: Aufzählung
Modifizierer für ganzzahlige
Datentypen:
short
long
signed unsigned
Datentypen der Standard Template Library (STL)
string
: Zeichenkette (auch definiert in <string.h>)
vector
: Vektor/Array
complex
: Komplexe Zahl
list
: Liste
…
Programmablauf
Darstellung eines linearen Programmablaufs
im Flussdiagramm:
Anweisung 1
Anweisung 2
Anweisung 3
Fallunterscheidungen
Syntax: if (Bedingung) {Block} [else {Block}]
Nein
a >= 0
Ja
Ausgabe:
“Positive Zahl”
Ausgabe:
“Negative Zahl”
int a;
cin >> a;
if (a >= 0)
{
cout << “Positive Zahl”;
}
else
{
cout << “Negative Zahl”;
}
IfThenElse
Bedingungen
Vergleichsoperatoren:
==
gleich
!=
<
kleiner
<=
>
größer
>=
Logische Operatoren:
&&
logisches und ||
!
logisches nicht
ungleich
kleiner gleich
größer gleich
logisches oder
Beispiel:
if (((a==b) && (b!=c)) || (d != 0)) Anweisung;
Ausgeschrieben:
(((a gleich b) und (b ungleich c)) oder (d ungleich 0))
For-Schleife
Syntax:
for (Initialisierungs-Anweisung; Bedingung; Inkrement-Ausdruck)
{
Block
}
Initialisierungs-Anweisung
Nein
Bedingung
Ja
Block
Inkrement-Ausdruck
#include <iostream>
using namespace std;
int main ()
{
int i;
for (i = 0; i < 10; i++)
{
cout << i << endl;
}
…
}
For-Schleife
Beispiel: Eingabe von 10 Gleitkommazahlen über die
Tastatur und Ausgabe auf dem Bildschirm
int main ()
{
double x[10];
int i;
for (i = 0; i < 10; i++)
{
cout << i << ". Zahl eingeben ";
cin >> x[i];
}
for (i=0; i<10; i++) cout << x[i] << endl;
…
}
For-Schleife
Beispiel: Berechnung der Summe der Zahlen in einem Array
int main ()
{
double x[5] = {12.4, 1.9, -6.8 , 14.23, 0.123};
int i;
double summe = 0;
for (i = 0; i < 5; i++)
{
summe += x[i]
}
cout << summe;
…
}
The End
Dateipfade
Speichern des Projektes auf der lokalen Festplatte
(Programmentwicklung):
C:\C++\
Speichern einer Sicherheitskopie des Sourcecodes auf Diskette:
A:\Projektname\Programmname.cpp
A:\Projektname\Programmname.h
Speichern des Sourcecodes auf dem Server:
Laufwerkbuchstabe F:\
Herunterladen