Einsteigerfreundlich • Für Schule/IT-Workshop • C++ (ohne Arduino)

C++ Basics – alles, was man am Anfang wissen soll

Diese Seite erklärt die wichtigsten Grundlagen von C++ mit klaren Beispielen. Ziel: Du kannst einfache Programme schreiben, Eingaben verarbeiten, Entscheidungen treffen, Schleifen nutzen und erste Funktionen bauen.

1) Start: Wie ein C++-Programm aussieht

Ein Programm ist eine Liste von Anweisungen. Es startet meistens in der Funktion main(). Viele Beispiele nutzen #include <iostream> für Ein- und Ausgabe.

Minimalbeispiel
#include <iostream>
using namespace std;

int main() {
  cout << "Hallo Welt!" << endl;
  return 0;
}
Was bedeutet was?
  • #include <iostream> – Bibliothek für cout / cin
  • using namespace std; – erlaubt cout statt std::cout
  • int main() – Startpunkt des Programms
  • ; – jede Anweisung endet mit Semikolon
  • { } – Block-Klammern: mehrere Zeilen gehören zusammen
Merke: Wenn etwas „komisch“ nicht funktioniert, prüfe zuerst: Semikolon, Klammern, Rechtschreibung.

2) Ein- und Ausgabe (cin / cout)

Mit cout gibst du etwas aus. Mit cin liest du Eingaben ein.

Ausgabe
cout << "Text" << endl;
cout << 5 << " + " << 7 << " = " << (5 + 7) << endl;
Eingabe
int alter;
cout << "Wie alt bist du? ";
cin >> alter;
cout << "Du bist " << alter << " Jahre alt." << endl;
Hinweis: Eingabe mit Leerzeichen (optional)

cin >> name; liest nur bis zum ersten Leerzeichen. Für ganze Zeilen kann man später getline nutzen.

#include <iostream>
#include <string>
using namespace std;

int main() {
  string s;
  cout << "Schreibe einen Satz: ";
  getline(cin, s);
  cout << "Du hast geschrieben: " << s << endl;
}

3) Variablen & Datentypen

Variablen sind „Kästchen“, in denen Werte gespeichert werden. Der Datentyp sagt, welche Art Wert hineinpasst.

Häufige Typen
  • int – ganze Zahl (z. B. 3, 42)
  • double – Kommazahl (z. B. 3.14)
  • booltrue oder false
  • char – einzelnes Zeichen (z. B. 'A')
  • string – Text (z. B. "Hallo")
Beispiele
#include <string>

int alter = 9;
double pi = 3.14;
bool hatHut = false;
char note = 'A';
string name = "Mia";
Wichtig
  • 'A' (char) ist ein Zeichen
  • "A" (string) ist Text
  • = bedeutet: „zuweisen“ (nicht „gleich“)
Tipp: Nutze sinnvolle Namen: punkte, summe, anzahl statt nur x.

4) Operatoren (Rechnen & Vergleichen)

Rechenoperatoren
int a = 10, b = 3;
cout << (a + b) << endl;  // 13
cout << (a - b) << endl;  // 7
cout << (a * b) << endl;  // 30
cout << (a / b) << endl;  // 3  (Ganzzahl-Division!)
cout << (a % b) << endl;  // 1  (Rest)
Achtung: Bei int ist 10 / 3 gleich 3. Für Komma nutze double.
Vergleich & Logik (für if)
int x = 7;

x == 7   // ist x gleich 7?
x != 7   // ist x ungleich 7?
x > 7    // größer
x < 7    // kleiner
x >= 7   // größer oder gleich
x <= 7   // kleiner oder gleich

// Logische Operatoren:
(x > 3) && (x < 10)  // UND
(x < 3) || (x > 10)  // ODER
!(x == 7)            // NICHT
Sehr wichtig: = ist Zuweisung. == ist Vergleich.

5) if / else (Entscheidungen)

Mit if prüfst du eine Bedingung. Wenn sie stimmt, wird der Block ausgeführt. Sonst else.

#include <iostream>
using namespace std;

int main() {
  int punkte;
  cout << "Punkte: ";
  cin >> punkte;

  if (punkte >= 10) {
    cout << "Level geschafft!" << endl;
  } else {
    cout << "Noch nicht. Sammle mehr Punkte." << endl;
  }
}
Mehrere Fälle: else if
int temp = 18;

if (temp < 0) {
  cout << "Eis!" << endl;
} else if (temp < 20) {
  cout << "Kühl." << endl;
} else {
  cout << "Warm." << endl;
}

6) Schleifen (for / while)

Schleifen wiederholen Code. Das ist essenziell für Zählen, Muster, Spiele, Simulationen und Datenverarbeitung.

for-Schleife (Zähler)
// 1 bis 5
for (int i = 1; i <= 5; i++) {
  cout << i << " ";
}
// Gerade Zahlen 0..20
for (int i = 0; i <= 20; i += 2) {
  cout << i << " ";
}
while-Schleife (solange)
int k = 3;
while (k > 0) {
  cout << k << endl;
  k--; // wichtig, sonst Endlosschleife
}
Tipp: Für „genau N-mal“ ist for oft am einfachsten. Für „solange Bedingung stimmt“ ist while gut.
Loop im Loop: Sternchen-Treppe (Muster)
for (int zeile = 1; zeile <= 5; zeile++) {
  for (int s = 1; s <= zeile; s++) {
    cout << "*";
  }
  cout << endl;
}

7) Funktionen

Funktionen sind „Mini-Programme“ im Programm. Sie helfen, Code aufzuräumen und wiederzuverwenden.

Beispiel: add
#include <iostream>
using namespace std;

int add(int a, int b) {
  return a + b;
}

int main() {
  cout << add(3, 4) << endl; // 7
}
Merke
  • int vor dem Namen = Rückgabetyp (was zurückkommt)
  • Parameter in den Klammern = Eingaben für die Funktion
  • return gibt das Ergebnis zurück
  • Wenn nichts zurückgegeben wird: void
void sagHallo(string name) {
  cout << "Hallo " << name << endl;
}

8) Arrays & Vektoren (kurz, aber wichtig)

Wenn du viele Werte hast (z. B. Punkte von 10 Spielern), brauchst du Listen. In modernem C++ ist vector oft besser als ein „rohes“ Array.

Array (feste Größe)
int zahlen[5] = {2, 4, 6, 8, 10};
cout << zahlen[0] << endl; // 2

for (int i = 0; i < 5; i++) {
  cout << zahlen[i] << " ";
}
Achtung: Index beginnt bei 0. Letztes Element bei Größe 5 ist zahlen[4].
Vector (flexibel)
#include <vector>
using namespace std;

vector<int> v = {1, 2, 3};
v.push_back(4);

for (int i = 0; i < (int)v.size(); i++) {
  cout << v[i] << " ";
}

9) Strings (Text)

Text ist in C++ meist ein string.

#include <iostream>
#include <string>
using namespace std;

int main() {
  string name = "Kati";
  cout << "Laenge: " << name.size() << endl; // Anzahl Zeichen
  cout << name[0] << endl;                 // erstes Zeichen: 'K'
}
Textzeile mit Leerzeichen: getline
string s;
getline(cin, s);

10) Häufige Fehler & Debugging

Top 8 typische Fehler
  • Semikolon ; vergessen
  • Klammern { } fehlen oder falsch gesetzt
  • = statt == (oder umgekehrt)
  • Index-Fehler: bei Arrays/Vektoren über die Grenze
  • Ganzzahl-Division: 10/3 ist 3 (bei int)
  • Endlosschleife: Schritt fehlt (z. B. i++)
  • Zeichen vs. Text: 'A' vs. "A"
  • Falsche Variablen-Namen (Groß/Klein beachten)
Praktische Debug-Tipps
  • Baue „Kontroll-Ausgaben“ ein: cout << "i=" << i << endl;
  • Teste in kleinen Schritten: erst Ausgabe, dann Eingabe, dann if, dann Loop
  • Lies Fehlermeldungen: Zeile/Spalte sind fast immer hilfreich
  • Wenn es crasht: oft Index außerhalb (z. B. v[i])
Merksatz: „Fehler sind normal. Debuggen ist ein Teil vom Programmieren.“

11) Aufgaben (Level 1–3)

Diese Aufgaben passen gut für Kinder/Anfänger. Nutze cout, cin, if, for.

Level 1 (leicht)
  • Zahlen 1 bis 30 ausgeben
  • Countdown 10 bis 1
  • 5× „Ich kann C++!“
  • Summe 1 bis 10
Level 2 (mittel)
  • Gerade Zahlen 2 bis 40
  • Zahl n einlesen und 1×n bis 10×n ausgeben
  • Wenn Zahl gerade → „gerade“, sonst „ungerade“
  • Kleinster von 3 Zahlen (if/else if)
Level 3 (wow)
  • Sternchen-Treppe (Loop im Loop)
  • Rechteck 4×10 aus #
  • Mini-Noten-Rechner: Punkte → Note A/B/C
  • Funktion add oder max2 schreiben
Starter-Template zum Kopieren
#include <iostream>
#include <string>
using namespace std;

int main() {
  // Dein Code hier

  return 0;
}

12) Mini-Projekt: Zahlen-Quiz (kurz & motivierend)

Ein kleines Projekt, das alles verbindet: Eingabe, if, Schleifen, Zufall (optional später). Hier erst ohne Zufall: Der „geheime“ Wert ist fest.

#include <iostream>
using namespace std;

int main() {
  int geheim = 7;
  int tipp = 0;

  cout << "Rate die Zahl (1..10). Du hast 3 Versuche." << endl;

  for (int versuch = 1; versuch <= 3; versuch++) {
    cout << "Versuch " << versuch << ": ";
    cin >> tipp;

    if (tipp == geheim) {
      cout << "Richtig!" << endl;
      return 0;
    } else if (tipp < geheim) {
      cout << "Zu klein." << endl;
    } else {
      cout << "Zu groß." << endl;
    }
  }

  cout << "Leider verloren. Die Zahl war " << geheim << "." << endl;
  return 0;
}
Erweiterungen: Mehr Versuche, andere Grenzen, Punkte zählen, später Zufallszahl nutzen.