Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Priorität haben logische Operatoren in der C-Sprache?

Welche Priorität haben logische Operatoren in der C-Sprache?

烟雨青岚
烟雨青岚Original
2020-07-02 09:27:0515267Durchsuche

Die Priorität logischer Operatoren in der C-Sprache von hoch nach niedrig ist:! (logisches NICHT), && (logisches UND), || (logisches ODER). Der Wert eines logischen Ausdrucks ist ein logischer Wert; logische Werte werden in logisch wahre Werte und logisch falsche Werte unterteilt. Bei der Beurteilung werden nur Nullwerte als logisch falsche Werte (falsch) beurteilt Werte ungleich Null können als logisch wahre Werte (wahr) beurteilt werden.

Welche Priorität haben logische Operatoren in der C-Sprache?

Die Sprache C bietet die folgenden drei logischen Operatoren.

Ein Dollar:! (logisch nicht). Binär: && (logisches UND), || (logisches ODER).

Unter den oben genannten drei logischen Operatoren hat das logische NICHT die höchste Priorität, das logische UND && kommt an zweiter Stelle und das logische ODER || hat die niedrigste Priorität.

Der Wert eines logischen Ausdrucks ist ein logischer Wert, also ein boolescher Typ (bool). Dieser Typ ist neu in C99 und einige Compiler unterstützen diesen Typ möglicherweise noch nicht.

Logische Werte werden in logisch wahre Werte und logisch falsche Werte unterteilt. Unter normalen Umständen werden bei der Beurteilung nur Nullwerte als logisch falsche Werte (falsch) beurteilt, und alle Werte ungleich Null können beim Speichern und Darstellen als logisch wahre Werte (wahr) beurteilt werden. Normalerweise wird 1 verwendet, um logische Werte darzustellen, 0 stellt einen logischen falschen Wert dar.

Die Operationsregeln des logischen UND-Operators &&: Das Ergebnis ist nur dann wahr, wenn beide Operanden logisch wahr sind. In allen anderen Fällen ist das Ergebnis falsch.

Die Operationsregeln des logischen ODER-Operators ||: Das Ergebnis ist nur dann falsch, wenn beide Operanden logisch falsch sind. In allen anderen Fällen ist das Ergebnis wahr.

int a=3,b=5;

Dann gibt es:

!a: Da a ungleich Null ist, ist es wahr, !a ist falsch und sein Wert ist 0.

a||b: Da a und b beide ungleich Null und wahr sind, ist das Ergebnis des logischen ODER wahr und sein Wert ist 1.

a&&b: Da a und b beide ungleich Null und wahr sind, ist das Ergebnis des logischen UND wahr und sein Wert ist 1.

!a||b&&2: Da die logische Negation die höchste Priorität hat, wird sie mit einer ersten kombiniert, und && hat eine höhere Priorität als ||, was äquivalent zu (!a)||(b&&2 ist ), das heißt, 0||. 1 ist wahr, sein Wert ist 1.

Logisches UND &&, logisches ODER || haben alle „Kurzschluss“-Eigenschaften:

Logisches UND && „Kurzschluss“: wenn der linke Operand logisch ist UND && ist logisch Wenn falsch, reicht es aus, zu beurteilen, dass das Ergebnis der logischen Operation falsch ist, sodass der richtige Operand nicht mehr ausgeführt wird.

Logisches ODER ||. „Kurzschluss“: Wenn der linke Operand des logischen ODER || logisch wahr ist, reicht es aus, zu beurteilen, dass das Ergebnis der logischen Operation wahr ist, sodass der rechte Operand nicht mehr wahr ist hingerichtet.

Empfohlenes Tutorial: „C-Sprache

Das obige ist der detaillierte Inhalt vonWelche Priorität haben logische Operatoren in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn