Sonntag, 7. Juli 2024
19.4 C
Berlin

Bedingte Wertzuweisung in C++

Der von C++ Programmierer am meisten geliebte Operator ist der Bedingungsoperator. Der einzige ternäre Operator (Operator mit drei Operanden) ist so etwas wie die Verkürzung der if-else-Anweisung. Dieser Operator ermittelt den Wert einer Variablen in Abhängigkeit von einer Bedingung. Die genaue Syntax lautet:

 

 

(Überprüfe Ausdruck 1) ? if true-return-this: if false-return-this;

Der Operator überprüft zuerst den Ausdruck 1 auf ein true oder false und gibt in Abhängigkeit vom Ergebnis einen Wert zurück. Aus diesem Grund wird „?:“ der Bedingungsoperator genannt.

Obwohl der ternäre Operator am Anfang etwas verwirrend ist kann man damit mit minimalem Aufwand höchst effektive Programme schreiben.

(var != 1) ?if-true-mache-das : if-false-mache-das;

Dieser Operator wird in C++ gerne verwendet, um einen Maximum- oder Minimum-Wert auf eine dritte Variable zu übertragen.

c = (a < b) ?a : b;

Der Ausdruck in der Klammer gibt ein true zurück, wenn der Wert der Variable a kleiner ist als der Wert der Variable b. In diesem Beispiel erhält die Variable c den Wert der Variablen a.

[sc name=“adsense_InText_ad“]

Würde der Operator „<“ (kleiner als) durch „>“ (größer als) ersetzt, bekäme c den Wert von b zugeordnet.

Praxistipp: Der ternäre Operator hat drei Operanden, einen vor dem „?“ und einen vor und hinter dem „:“ Zeichen.

Zusammen mit dem Modolus-Operator „%“ wird der ternäre Operator zum Testen verwendet ob eine Zahl gerade oder ungerade ist:

(var % 2 != 0) ?if-true (gerade) mache dies: if-false (ungerade) mache dies;

Die Division der Variablen durch 2 liefert das Ergebnis, ob eine Zahl gerade oder ungerade ist. Der Ausdruck (var %2 == 1) liefert das gleiche Ergebnis, wird aber eher zur Feststellung der Ungleicheit verwendet. Wie der ternäre Operator funktioniert, demonstriert das folgende kleine Programm:

 

Übung: Bedingte Wertzuweisung

Programm: bedingteZuweisung.cpp

 

#include <iostream>

using namespace std ;

int main()

{

int a, b, max;

a = 1, b= 2;

cout << „Variable a ist: „;

cout << ((a!=1) ?“nicht eins, :“ : „eins,“);

cout << ((a%2!=0) ?“ungerade“ :“gerade“);

cout << endl << „Variable b ist: „;

cout << ((b!=1) ?“nicht eins, “ :“eins,“);

cout << ((b%2 !=0) ?“ungerade“ :“gerade“);

 

max = (a>b) ?a:b;

cout <<endl << „Der groessere Wert ist: “ <<max <<endl;

system („pause“);

return 0 ;

}

 

Speichern Sie das Programm, kompilieren Sie es anschließend und schauen Sie sich das Ergebnis an.

Bedingte Wertzuweisung in C++
Bedingte Wertzuweisung.

 

Praxistipp: Der ternäre Operator kann Werte in allen Datentypen, wie zum Beispiel Zahlen, Strings oder boolsche Werte zurückgeben.

 

 

Dieser Artikel ist Teil unseres kostenlosen Workshops “C++ Programmieren lernen” – Geeignet für Einsteiger und Fortgeschrittene. Machen auch Sie mit und lernen Sie in 50 Artikeln, wie Sie Programme selbst schreiben!

 

 

Artikelbild: Fotolia / bramgino

 

 

PC-Reparatur.Shop - Team
PC-Reparatur.Shop - Team
Wenn Sie Fragen oder Anregungen zu diesem Beitrag haben, wenden Sie sich bitte direkt über die E-Mail Adresse blog@pc-reparatur.shop an unser Team - Vielen Dank!
Bewertung des Artikels: 1 Stern2 Sterne3 Sterne4 Sterne5 Sterne

IN EIGENER SACHE

Ähnliche Artikel