GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux C Programming Tutorial Teil 11 - Arithmetische, relationale und logische Operatoren

Bisher haben wir in dieser Tutorial-Reihe zur C-Programmierung grundlegende Dinge wie Funktionen, Arrays, Variablen und mehr besprochen. Um mit dem Ablauf fortzufahren, werden wir in diesem Tutorial ein weiteres solches Grundkonzept diskutieren:Operatoren.

Als Anfänger in der Programmiersprache C werden Sie hauptsächlich mit drei Arten von Operatoren zu tun haben:arithmetisch, relational und logisch. Beginnen wir mit den airthmetischen Operatoren.

Es gibt im Wesentlichen 5 Arten von arithmetischen Operatoren in C: +, -, *, / und %. Während +, - und / selbsterklärend sind, bezieht sich * auf die Multiplikation und % auf den Modulo-Operator. Falls Sie es nicht wissen, gibt Ihnen der %-Operator einen Rest. Zum Beispiel:

a % b

Hier stellt der %-Operator sicher, dass Sie den Restwert erhalten, wenn „a“ durch „b“ dividiert wird. Das bedeutet, dass der Rest Null sein kann, falls 'a' vollständig durch 'b' teilbar ist. Hier ist ein kleines Beispiel, das Ihnen diese Operatoren besser verdeutlichen soll:

#include <stdio.h>

int main()
{
int a = 10, b = 3, c =0;
c = a + b;
printf("%d\n", c);

c = a - b;
printf("%d\n", c);

c = a*b;
printf("%d\n", c);

c = a/b;
printf("%d\n", c);

c = a%b;
printf("%d\n", c);

return 0;
}

Es folgt die Ausgabe dieses Programms:

13 
7
30
3
1

Es ist erwähnenswert, dass Sie beim Umgang mit Floats und Doubles den %-Operator nicht verwenden sollten. Außerdem sind die hier verwendeten +- und --Operatoren binäre Operatoren, was bedeutet, dass sie zwei Operanden erfordern (in unserem Fall beispielsweise „a“ und „b“). Es gibt auch unäre Operatoren + und -, die mit einem einzelnen Operanden arbeiten.

Hier ist ein Beispiel für den Operator unary - in Aktion:

#include <stdio.h>

int main()
{
int a = 10, b = 3, c =0;
c = -a;
printf("c = %d", c);
}

Hier ist die Ausgabe:

c = -10

Unter allen bisher besprochenen Operatoren teilen sich unäre + und - vorrangig den ersten Platz, gefolgt von *, / und %, die wiederum von binären + und - gefolgt werden.

Bitte beachten Sie, dass es auch einige andere unäre Operatoren gibt, von denen wir einige bereits indirekt in unseren vorherigen Tutorials besprochen haben. Hier ist die Liste:++, --, !, &und sizeof.

Wir haben bereits die Inkrement- und Dekrementoperatoren ++ und -- (sowohl in Präfix- als auch in Postfixform) besprochen. ! ist kein Operator, der alles negiert, auf das er angewendet wird. Wenn beispielsweise das Ergebnis einer Bedingung wahr ist, wird die Anwendung von ! wandelt es in falsch um und umgekehrt.

Weiter wird &verwendet, um die Adresse einer Variablen abzurufen (wie bereits bei den Argumenten der Funktion scanf() gesehen), während der Operator sizeof Ihnen die Größe des übergebenen Operanden angibt. Der folgende Codeabschnitt sollte Ihnen eine bessere Vorstellung von diesen Operatoren geben:

#include <stdio.h>

int main()
{
int a = 10, b = 3, c =0, d =1, e=0, f=9;

printf("a = 10 and a++ = %d\n", a++);

printf("b = 3 and ++b = %d\n", ++b);

printf("c = 0 and c-- = %d\n", c--);

printf("d = 1 and --d = %d\n", --d);

if(!e)
{
printf("\n e is zero or FALSE and its address is: %u\n", &e);
printf("\n sizeof 'f' is: %u\n", sizeof(f));

}


return 0;

}

Und hier ist die Ausgabe:

a = 10 and a++ = 10 
b = 3 and ++b = 4
c = 0 and c-- = 0
d = 1 and --d = 0

e is zero or FALSE and its address is: 856178696

sizeof 'f' is: 4

Lassen Sie uns nun schnell einen Blick auf relationale und logische Operatoren werfen. Es folgen relationale Operatoren:

> >= < <= == !=

So können sie verwendet werden:

a > b
a >= b
a < b
a <= b
a == b
a != b

In der Reihenfolge ihres Erscheinens prüfen diese Operatoren, ob 'a' größer, größer oder gleich, kleiner als, kleiner oder gleich, gleich und ungleich 'b' ist. Die ersten vier Operatoren haben dieselbe Priorität, die höher ist als die letzten beiden. Beachten Sie, dass die letzten beiden Operatoren auch als Gleichheitsoperatoren bezeichnet werden.

Und schließlich kommen wir zu den logischen Operatoren. Es gibt im Wesentlichen zwei:&&und ||. Diese beiden Operatoren werden hauptsächlich verwendet, um Bedingungen oder Ausdrücke auszuwerten. Zum Beispiel:

if (cond1 && cond2)
{

}

if (expr1 && expr2)
{

}

if (cond1 || cond2)
{

}

if (expr1 || expr2)
{

}

Bei den ersten beiden if-Anweisungen tritt die Ausführung nur dann in den Block ein, wenn beide Bedingungen wahr sind. Wohingegen im Falle der letzten beiden if-Anweisungen die Ausführung in den Block eintritt, wenn eine der Bedingungen des Ausdrucks wahr ist.

Denken Sie daran, dass relationale Operatoren eine geringere Priorität haben als arithmetische Operatoren und dass logische Operatoren eine niedrigere Priorität haben als relationale Operatoren und Gleichheitsoperatoren. &&hat untereinander einen höheren Vorrang als ||.

Schlussfolgerung

In diesem Tutorial haben wir die Grundlagen von Operatoren, ihre Funktionsweise und ihren Vorrang besprochen. Es wird empfohlen, einige C-Beispielprogramme zu erstellen, um die hier besprochenen Konzepte zu testen. Teilen Sie uns im Zweifelsfall oder bei Fragen unten in den Kommentaren mit.


Linux
  1. Linux nice and renice Command Tutorial (7 Beispiele)

  2. C-Programmier-Tutorial Teil 5 - Zeichenvariablen

  3. Linux C-Programmier-Tutorial Teil 10 - Variable Gültigkeitsbereiche

  4. Linux C-Programmier-Tutorial Teil 9:Strings

  5. Linux C-Programmier-Tutorial Teil 8 – Aufruf nach Wert vs. Aufruf nach Zeiger/Adresse

5 interessante Kommandozeilen-Tipps und Tricks in Linux – Teil 1

Wie man Textdateien unter Linux vergleicht und zusammenführt (Teil 2)

So installieren und verwenden Sie KompoZer unter Linux - Tutorial

So installieren und verwenden Sie Kerkythea unter Linux - Tutorial

Sicherung und Wiederherstellung von LVM-Snapshots unter Linux

Diskussion über Windows, Linux und cPanel VPS – Teil II