Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 << zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch für Linux, Unix und Windows
– 2., aktualisierte und erweiterte Auflage 2006
Buch: C von A bis Z

C von A bis Z
1.116 S., mit CD, Referenzkarte, 39,90 Euro
Galileo Computing
ISBN 3-89842-643-2
gp Kapitel 10 Kontrollstrukturen
  gp 10.1 Verzweigungen mit der if-Bedingung
    gp 10.1.1 Anweisungsblock
  gp 10.2 Die Verzweigung mit else if
  gp 10.3 Die Verzweigung mit else
  gp 10.4 Der !-Operator (logischer Operator)
  gp 10.5 Logisches UND (&&) – Logisches ODER (||)
  gp 10.6 Bedingungsoperator ?:
  gp 10.7 Fallunterscheidung: die switch-Verzweigung
    gp 10.7.1 default
  gp 10.8 Die while-Schleife
    gp 10.8.1 Endlosschleife (while)
    gp 10.8.2 Fehlervermeidung bei while-Schleifen
  gp 10.9 Die do while-Schleife
  gp 10.10 Die for-Schleife
    gp 10.10.1 Beispiele für eine for-Schleife
  gp 10.11 Kontrollierte Sprünge
    gp 10.11.1 continue
    gp 10.11.2 break
  gp 10.12 Direkte Sprünge mit goto
  gp 10.13 Notationsstil
    gp 10.13.1 K&R-Stil
    gp 10.13.2 Whitesmith-Stil
    gp 10.13.3 Allman-Stil
    gp 10.13.4 GNU EMACS-Stil
    gp 10.13.5 Der Stil des Autors ;) (K&R-like)


Galileo Computing - Zum Seitenanfang

10.5 Logisches UND (&&) – Logisches ODER (||toptop

Sie haben sicher schon bemerkt, dass es in C viele Operatoren gibt. So ist die Sprache zwar unter Umständen schwerer lesbar, aber auch schneller, vielseitiger und effektiver programmierbar. Sobald Sie die Operatoren kennen gelernt haben, werden sie diese sehr zu schätzen wissen.

Mit dem logischen ODER-Operator (||) werden Operanden so miteinander verknüpft, dass der Ausdruck »wahr« zurückliefert, wenn mindestens einer der Operanden wahr ist.

if( (Bedingung1) || (Bedingung2) )
   /* mindestens eine der Bedingungen ist wahr */
else
   /* keine Bedingung ist wahr */

Sehen Sie sich dazu den Programmablaufplan des logischen ODER-Operators an:

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 10.6   Programmablaufplan des logischen ODER-Operators

Jetzt wird der Operator in dem Programm eingesetzt, dass Sie beim logischen NICHT-Operator zuvor verwendet haben:

/* logic_or.c */
#include <stdio.h>
int main(void) {
   int zahl1, zahl2;
   printf("Bitte Zahl 1 eingeben: ");
   scanf("%d", &zahl1);
   printf("Bitte Zahl 2 eingeben: ");
   scanf("%d", &zahl2);
   if( (!zahl1) || (!zahl2) )
      printf("Error: Einer der Werte ist gleich 0!!! \n");
   else
      printf("%d/%d = %f \n", zahl1, zahl2, (float)zahl1/zahl2);
   return 0;
}

Zur if-Konstruktion des Programms:

if( (!zahl1) || (!zahl2) )

In Worten ausgedrückt sähe das etwa folgendermaßen aus: Ist der Wert zahl1 gleich 0 ODER der Wert zahl2 gleich 0, dann ist die Bedingung wahr, und Sie haben eine 0 eingegeben. Sollte die erste Bedingung (!zahl1) schon wahr sein, so wird die zweite Bedingung (!zahl2) gar nicht mehr überprüft, dies können Sie auch am Programmablaufplan erkennen.

Analog verhält es sich mit dem logischen UND-Operator (&&). Das Ergebnis dieser verknüpften Operanden gibt nur dann »wahr« zurück, wenn alle Operanden wahr sind. Der Programmablaufplan des logischen UND-Operators:

Abbildung
Hier klicken, um das Bild zu Vergrößern

Abbildung 10.7   Programmablaufplan des logischen UND-Operators

Wiederum zur Verdeutlichung ein Programmbeispiel:

/* logic_and.c */
#include <stdio.h>
int main(void) {
   int zahl;
   printf("Geben Sie einen Wert zwischen 10 und 20 ein: ");
   scanf("%d", &zahl);
   if( (zahl >= 10) && (zahl <= 20) )
      printf("Danke für die Eingabe! \n");
   else
      printf("Falsche Eingabe! \n");
   return 0;
}

In der Zeile

if( (zahl >= 10) && (zahl <= 20) )

prüfen Sie, ob die eingegebene Zahl einen Wert zwischen 10 und 20 besitzt. In Worten: Ist es wahr, dass die Zahl größer oder gleich 10 ist UND die Zahl auch kleiner gleich 20, dann ist die Bedingung wahr.

Natürlich können Sie mit dem &&-Operator und dem ||-Operator weitere Bedingungen miteinander verknüpfen. Allerdings sollten Sie dabei die Lesbarkeit eines solchen Konstrukts im Auge behalten.

 << zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z
C von A bis Z
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Shell-Programmierung






 Shell-Programmierung


Zum Katalog: Linux-UNIX-Programmierung






 Linux-UNIX-Programmierung


Zum Katalog: C/C++






 C/C++


Zum Katalog: UML 2.0






 UML 2.0


Zum Katalog: Reguläre Ausdrücke






 Reguläre Ausdrücke


Zum Katalog: Linux






 Linux


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2006
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de