Dieser Lehrtext erklärt die if-Anweisung in C++ im Rahmen der Lehre der Programmiersprache C++. [] (C++, Verzweigung, if-Anweisung), Lektion, Seite 720818
https://www.purl.org/stefan_ram/pub/c++_verzweigung_de (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

Die Verzweigung in C++

Syntax

Für die Verzweigung gibt es in C++  zwei Produktionen.

selectionstatement 〉 ::=
"if" "(" 〈condition 〉 ")" 〈statement 〉.
selectionstatement 〉 ::=
"if" "(" 〈condition 〉 ")" 〈statement 〉 "else" 〈statement 〉.

Vergleich mit ?:

expression 〉 ":" 〈expression 

statement 〉 "else" 〈statement 

Semantik

condition 〉 kann ein Ausdruck  sein.

Wenn der Ausdruckcondition〉 dem Literal "true" gleichwertig ist, genau dann wird die auf die runde Klammer ")" direkt folgende Anweisungstatement〉 ausgeführt.

Wenn der Ausdruckcondition〉 dem Literal "false" gleichwertig ist, genau dann wird eine eventuell vorhandene auf das Schlüsselwort "else" direkt folgende Anweisungstatement〉 ausgeführt.

Falls der Wert des Ausdrucks 〈condition〉 nicht vom Datentyp "bool" ist, dann wird er in den Datentyp "bool" gewandelt.

Ein arithmetischer Wert kann in einen Wahrheitswert umgewandelt werden: Der Wert "0" wird dabei in den Wert "false" gewandelt, jeder andere Wert in den Wert "true".

Beispielprogramm

verzweigung.cpp
#include <iostream> 
#include <ostream> 
#include <cstdlib> 
#include <string>
using namespace ::std::literals;
int main() 
{ auto wert = rand(); 
if( wert )std::cout << "Kehrwert = " << 1. / wert; 
else std::cout << "Kehrwert nicht definiert.";  
std::cout << '\n'; }

In diesem Beispielprogramm wurde ausgenutzt, daß Werte vom Datentyp "int" als Ausdrücke vom Datentyp "bool" verwendet werden können.

Bemerkung   Übungen
Beispiel   Entscheidung zur Schreibzeit
schreibzeit.cpp
#include <iostream> 
#include <ostream> 
#include <string>
using namespace ::std::literals;
int main() 
{ if( false )std::cout << "Hallo!\n"; 
if( true )std::cout << "Wie geht's?\n"; }

Vergleich

Normalerweise wird die Bedingung einer if-Anweisung, wenn es sich um eine Zahl handelt, implizit mit 0 verglichen, um sie in den bool-Wert "true" oder den bool-Wert "false" zu wandeln. Dabei wird der int-Wert "0" auf den bool-Wert "false" abgebildet und jeder andere int-Wert auf den bool-Wert "true". Die Funktion "is0" soll ein Prädikat sein, das (gerade umgekehrt) ermittelt, ob der Argumentwert gleich 0 ist, also den bool-Wert "true" ergeben, wenn der Parameter den int-Wert "0" hat und den bool-Wert "false" sonst.

Welcher Fehler wurde bei der Implementation gemacht?

Welchen Vorteil hat die Verwendung des Schlüsselworts "const" in diesem Zusammenhang?

Wie könnte die Funktion (nachdem der Fehler korrigiert wurde) noch verkürzt werden?

Vergleich.cpp
bool is0( int const v ) 
{ bool result; 
if( v = 0 )result = true; 
else result = false; 
return result; }

Baumelnder else -Zweig

Die Anweisung statement  direkt nach einer Klammer ")" kann wieder eine Verzweigung sein und es kann ein else -Zweig folgen, so daß für eine Anweisung "selectionstatement " auch der folgende Aufbau möglich ist.

selectionstatement 〉 ::=
"if" "(" 〈condition 〉 ")"
"if" "(" 〈condition 〉 ")" 〈statement 
"else" 〈statement 〉.

Doch es ist durch die bisher genannten Regeln noch nicht klar geworden, ob das "else" eine Alternative für die erste oder die zweite Verzweigung darstellt. Das »else« wird der zweiten (inneren) if-Anweisung zugeordnet, weil es dieser am nächsten ist.

Seiteninformationen und Impressum   |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Eine Verbindung zur Stefan-Ram-Startseite befindet sich oben auf dieser Seite hinter dem Text "Stefan Ram".)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. Schlüsselwörter zu dieser Seite/relevant keywords describing this page: Stefan Ram Berlin slrprd slrprd stefanramberlin spellched stefanram720818 stefan_ram:720818 C++, Verzweigung, if-Anweisung C++, CXX, CPP, C+, if, Verzweigung, if-Schleife, Wenn-Dann, Falls-Dann, Wenn-Dann-Sonst, if then else, dangling else, C++-if, C++-Verzweigung, C++-Verzweigungen. CXX-Funktion, CXX-Funktionen, Die Verzweigung in C++, Verzweigungen in C++, Die if-Anweisung in C++, if-Anweisungen in C++, Die Verzweigung in C+, Verzweigungen in C+, Die if-Anweisung in C+, if-Anweisungen in C+, Die Verzweigung in CPP, Verzweigungen in CPP, Die if-Anweisung in CPP, if-Anweisungen in CPP, Die Verzweigung in ANSI C++, Verzweigungen in ANSI C++, Die if-Anweisung in ANSI C++, if-Anweisungen in ANSI C++, Die Verzweigung in ANSI C+, Verzweigungen in ANSI C+, Die if-Anweisung in ANSI C+, if-Anweisungen in ANSI C+, Die Verzweigung in ANSI CPP, Verzweigungen in ANSI CPP, Die if-Anweisung in ANSI CPP, if-Anweisungen in ANSI CPP, Die Verzweigung in ISO C++, Verzweigungen in ISO C++, Die if-Anweisung in ISO C++, if-Anweisungen in ISO C++, Die Verzweigung in ISO C+, Verzweigungen in ISO C+, Die if-Anweisung in ISO C+, if-Anweisungen in ISO C+, Die Verzweigung in ISO CPP, Verzweigungen in ISO CPP, Die if-Anweisung in ISO CPP, if-Anweisungen in ISO CPP, if-Struktogramm, ASCII-Struktogramm, Nassi-Shneiderman-Diagramm, Nassi-Shneidermann-Diagramm, Nassi-Schneiderman-Diagramm, Nassi-Schneidermann-Diagramm, Nasi-Shneiderman-Diagramm, Nasi-Shneidermann-Diagramm, Nasi-Schneiderman-Diagramm, Nasi-Schneidermann-Diagramm, source, source code,sourcecode, Programmier sprache C++ Sprache, C++, CXX, C+, Programm, Programme, C++-Programm C++ Sprache C++ Programmiersprache C++ c++-Programme, Standard C++, Programmieren in C++, Programmieren in CXX, Programmieren in CPP, Programmieren in Cplusplus, Die Programmiersprache C++, Die Programmiersprache CXX, Die Programmiersprache CPP, Die Programmiersprache Cplusplus, Die Programmier sprache C++, Die Programmier sprache CXX, Die Programmier sprache CPP, Die Programmier sprache Cplusplus, CXX-Programmierung, C++-Programmierung, CPP-Programmierung, c-plus-plus, cpluplus-Programmierung, ANSI-C++, ANSI-CXX, ANSI-CPP, ANSI C++, ANSI CXX, ANSI-cpluscplus ISO-C++, ISO-CXX, ISO CPP, ISO C++, ISO CXX, ISO/IEC-C++, ISO/IEC-CXX, ISO/IEC CPP, ISO/IEC C++, ISO/IEC CXX, IEC-C++, IEC-CXX, IEC CPP, IEC C++, IEC CXX, International Standard ISO/IEC 14882 First edition 1998-09-01, ISO/IEC 14882:1998(E), ISO/IEC 14882:2003(E), ASC X3, 7/27/98, c plus plus, C ++, cplusplus, c plus plus, Standard C+ programmieren, Stamdard C++ programmieren, Standart C+ programmieren, Stamdart C++ programmieren, INCITS/ISO/IEC 14882-1998, Information Technology - Programming Languages - C++ (formerly ISO/IEC 14882-1998), Programmieren in C++,Programmiersprache C++ CPP CXX Cplusplus c plus plus International Standard ISO/IEC 14882 First edition 1998-09-01, Softwareentwicklung, Software-Entwicklung, Software Entwicklung, Softwareprogrammierung, Software-Programmierung, Software Programmierung, Softwareherstellung, Software-Herstellung, Software Herstellung, Softwareerstellung, Software-Erstellung, Software Erstellung, Softwareengineering, Software-Engineering, Software Engineering, Softwareenginering, Software-Enginering, Software Enginering, Softwaremethodik, Software-Methodik, Software Methodik, Programmiermethodik, Programmier-Methodik, Programmier Methodik, Softwaredidaktik, Software-Didaktik, Software Didaktik, Methodik des Programmierens, Didaktik des Programmierens, Fachdidaktik des Programmierens, Fach-Didaktik des Programmierens, Programmieren, Programmierung, Computer Science, Informatik, Informatik, Informationspädagogik, Informationspaedagogik, Programmierer, programmieren, Quellcode, Quelltext, Quelle, Quellen, Informatiker, Fachinformatiker, Entwickler, mit Stil, mit Stiel, mit Still, , Einführung, Einfuehrung, Einführungen, Einfuehrungen, eLearning-Modul, e-Learning-Modul, eLearning-Module, e-Learning-Module, Kurs Berlin, Kurse Berlin, Kursus, Vortrag, Vorträge, Vortraege, Lehrgang, Lehrgänge, Lehrgaenge, kostenloses Lehrmaterial, kostenlose Lehrmaterialien, Vorlesung, Vorlesungen, Unterrichtseinheit, Unterrichtseinheiten, kostenloses Unterrichtsmaterial im Internet, kostenlose Unterrichtsmaterialien im Internet, Ausbildung, Ausbildungen, für die Ausbildung, Fortbildung, Fortbildungen, Weiterbildung, Weiterbildungen, Schulung Berlin, Schulungen Berlin, Internetschulung, Webschulung, Kursunterlage, Kursunterlagen, trainer Berlin, Didaktik, Informatikunterricht, Primer, Skript FH, Skripte FH, Skriptum FH, Skripts FH, Script FH, Scripte FH, Scriptum FH, Scripts FH, howto, how-to, how to, Lehrbuch, Buch, Bücher, Buecher, Bericht, Crash Kurs Berlin, Crash-Kurs Berlin, Crashkurs Berlin, Report, Sachtext, Sachtexte, Übung, Übungen, Uebung, Uebungen, course, PbclevtugFgrsnaEnz, lecture note, lecture notes, Tutorial, Tutor, Tutorium, Teacher, Lehrer Berlin, Trainer Berlin, Beratung Berlin, Anleitung zum, Anleitungen zum, Einführung, Einfuehrung, Einführungen, Einfuehrungen, Handbuch für, Handbücher, Handbuecher, Support, Diplomarbeit, Facharbeit, Hausarbeit, Hausarbeiten, Werk, Werke, Text, Übungsblatt, Uebungsblatt, Lösung, Loesung, Lösungen, Loesungen, Auflösung, Aufloesung, Auflösungen, Aufloesungen, Facharbeit, Facharbeiten, Forum, Training, manual, Folie, Folien, Lehrmittel, beratung, Definition von, Allgemeine Erklärung, Allgemeine Erklaerung, Allgemeine Erklärungen, Allgemeine Erklaerung, Allgemeine Erklaerungen, Einfache Erklärung einfach, Einfache Erklaerung einfach, Einfache Erklärungen, Einfache Erklaerung, Einfache Erklaerungen, zum Thema, FAQ, FAQs, Konzept, Lernkurs, Lern-Kurs, Lernkurse, Lern-Kurse, eine kurze Erklärung, Begriff, Begriffe, Erklärung zu Begriffen, begriffbestimmung, begriffbestimmung, Begriffsbestimmung, Begriffserklärung, Begriffserklaerung, Wort, Worterklärung, Worterklaerung, Definition, Beispiel, Beispiele, Bedeutung, Bedeutungen, was bedeutet, Begriffsdefinition, für Anfänger, fuer Anfaenger, für Einsteiger, für Beginner, zum selber Lernen, handout, hand out, web based training, WBT, Net Based Training, NBT, computer based training, CBT, virtual learning environment, virtual university, für die Schule, Seminar, Seminare, Vorgehensweise, Pädagogik, Paedagogik, Akademie, Onlineacademie, Onlineakademie, Wissen, Unterrichtsvorbereitung für das Fach, Unterricht, für Lehrer, für Lehrerinnen, Referat, Referate, Hausaufgabe, Hausaufgaben, Tip, Tipp. Tipps und Tricks, Tips und Tricks, Methode, Methoden, Methodik, Funktion, Funktionsweise, Aufbau, Prinzip, Grundlage, Grundlagen, Internetschulung, Unterlage, Unterlagen, Struktur, Frage, Fragen, Antwort, Antworten, Schulunterricht, zum erlernen, was ist das?, wie?, lerne, Onlineausbildung, Onlinelehrgang, Onlinekurs, Onlinebuch, Webbuch, Academy, Fachhochschule, FH, TFH, Hochschule, Universität, Universitaet, Uni, Schule, Berufsschule, Gymnasium, Erste Schritte mit, Dozent, Dozenten, Zusammenfassung, Übersicht, Term, Fachwort, Fachbegriff, Fachbegriffe, Grundbegriff, Grundbegriffe, Lektion, Lektionen, Bedienungsanleitung, Bedienungsanleitungen, Spezialist, Spezialisten, Coaching, Coach, Fachbuch, technologie, Unterschied zwischen, Unterschiede zwischen, lehren, unterrichten, für das Studium, für Studenten, für Studentinnen, für Studierende, für Schüler, für Schülerinnen, Wie kann ich, Wie kann man, Hilfe, selber, erstellen, Erstellung, Beginner, Online-Seminar, Online-Kurs, Online-Schulung, ich, gebrauchsanweisung, gebrauchsanleitung, Bedienungsanweisung, Einweisung, Kurzinfo, Internet-Kurs, Internet-Kurse, Online-Training, Intensiv, Intensivkurs, Vortragsreihe, Präsentation, Grundzüge, Mitschrift, Mitschriften, Verständnis, verstehen, anwenden, Hintergrundwissen, Hintergrund, Hintergründe, content, Funktionsprinzip, Schritt für Schritt; E-Learning; elearning; online learning; Fernlehre, Fernlehrgang, Fernlehrgänge, Referent, Referenten, Fernkurs, Fernkurse, Fernstudium, Fernschule, Fernuniversität, Fernlehrer, Denken, Qualifizierungsmaßnahme, Qualifizierung, Qualifizierungen, Volkshochschulkurs, Volkshochschulkurse, Internet-Learning-Plattform, Online-Learning-Plattform, E-Learning-Plattform, Internetlearning-Plattform, Onlinelearning-Plattform, Elearning-Plattform, jetzt, Kochbuch, einfach erklärt, Kenntnis, Kenntniss, Kenntnisse, deutsche Hilfe, lernen und verstehen; blended learning; courseware, Profi, Profis, professionell, professionelle, professionelles, profesionell, profesionelle, profesionelles, professionel, gekonnt, für Könner, Grundkurs, Leistungskurs, Aufbaukurs, Lehrtext, Lehrtexte, Fachtext, Fachtexte, Ausarbeitung, distance learning, Online Seminar, distance education, Online Tutorium, Online Tutorien, technology-based learning, Computer based learning, CBL, Internet Based learning, IBL, Web based learning, WBL, online-learning, OL, online-training, OT, CAI, Computer Assisted Instruction, CUU, Computerunterstützter Unterricht, Computer-unterstützter Unterricht, Know how, Grundkenntnis, Grundkenntnisse, Kompetenz, Schulungsunterlagen, Insiderwissen, Rat, Lehrerinnen und Lehrer, ABC, Überblick, Arbeitsblatt, Sekundarstufe, Oberstufe, Material, Materialien, Unterrichtsentwurf, Unterrichtsentwürfe, Lerntip, Lerntips, Lerntipp, Lerntipps, ebook, schnell lernen, Lerner, Lernender, Lernende Erwachsenenbildung, Frage und Antwort, Selbststudium, Selbstudium, Umschulung, , kostenlos, kostenlose, kostenloses, kosten los, kosten lose, kosten loses, gratis, free, frei, freie, freies, privat, private, privates, homepage, home-page, home page, website, web site, webpage, web-page, web page, webpages, web-pages, web pages, webseite, Web-Seite, Webseite, Webseiten, Web-Artikel, Web Artikel, online, on-line, on line, download downloaden, down load, or, deutsch, deutsche, deutsches, deutscher, Deutschland, deutschsprachig, deutschsprachige, deutschsprachiges, german, germany, and, uebersicht, Uerbersicht, uebersichten, Uebersichten, Übersicht, übersicht, Übersichten, übersichten, Uebersicht, uebersicht, Uebersichten, uebersichten, Info, Infos zu, Information über, ueber, Informationen über, Auskunft, Auskünfte, Auskuenfte, Dienst, PbclevtugFgrsnaEnz, Angebot, Angebote, Anbieter, server, für, fuer, in, an, keyword, keywords, key word, keywords, internet, internets, net, network, net work, networks, net works, web, www, world wide web, Theorie, Praxis, Anwendung, DV, IT, glossar, fachwörterbuch it-glossar, computer lexikon, Computerlexikon, Computer-Lexikon, Lexikon, computer lexicon, Computerlexicon, Computer-Lexicon, Lexicon, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 was ist ein, was ist das, was sind, definiere, definition, define, Inhalt, html, xhtml, free im netz, PDF Text, digital, digitale, binär, binäre, elektronisch, elektronische, fachbegriff, fachbegriffe, konzept, Begriff, allgemein, allgemeine, allgemeines, Technik, Datentechnik, Digitaltechnik, Binätechnik, online lesen; , Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd720818, slrprddef720818, PbclevtugFgrsnaEnz Erklärung, Beschreibung, Info, Information, Hinweis,

Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram.
https://www.purl.org/stefan_ram/pub/c++_verzweigung_de