Nun, da Du mit den ersten "Basics" vertraut bist, geht es weiter: Die Operatoren sind sehr wichtig in C.
In dem folgenden Logik-Programm sind drei verschiedene Operatoren versteckt: der Operator + (für die Addition), der für die Subtraktion - und der Operator * (für die Multiplikation).
//logic.c
#include <stdio.h>
#include <conio.h> //getch()
int main()
{
int a = 1;
int b = 100;
printf("Die binomischen Formeln testen und ein Pythagoras-Test:");
printf("\n-------------------------------------------------------");
int bool1 = (a*a + 2*a*b + b*b == (a + b) * (a + b));
int bool2 = (a*a - 2*a*b + b*b == (a - b) * (a - b));
int bool3 = (a*a - b*b == (a + b) * (a - b));
printf("\n%d", bool1);
printf("\n%d", bool2);
printf("\n%d", bool3);
a = 3; b = 4;
int c = 5;
int boolpyth = (a*a + b*b == c*c);
printf("\n\n%d", boolpyth);
getch();
return 0;
} //main()
In C gibt es richtig viele verschiedene Operatoren.
Da gibt es zuerst einmal die Operatoren, die aus der arithmetischen Welt bekannt sind: + (plus), - (minus), * (mal), / (geteilt).
Aber es gibt noch eine Menge mehr Operatoren. Der Restoperator z. B. (%) ergibt den Rest einer Division (einer Ganz-Zahl-Division).
Auch gibt es noch die "unären" Operatoren: ! (NICHT), - (Vorzeichen minus), ++ und --.
Damit nicht genug: Es gibt für Vergleiche die Operatoren: < (kleiner), > (größer), <=, >=, == (gleich), != (ungleich).
Für die Logik gibt es dann noch && (das logische Und) und || (das logische Oder).
Der Bedingungs-Operator ist auch ein Operator, obwohl es ja eine Bedingung ist. Ein schönes Beispiel:
return (i<100)?true:false; was bedeutet: Wenn i < 100 ist, dann gib true zurück, sonst false.
Last, not least: die Zuweisung = und der Operator, der mit der Zuweisung verbunden werden kann, zum Beispiel +=, -= usw.
Wir fangen hier in der Tabelle einmal mit einigen dieser Operatoren an. Das ist schon kompliziert genug:
Spalte 1 | Spalte 2 |
! ++ -- - | Unär |
* / % | Multiplikativ |
+ - | Additiv |
< > <= >= | Ungleich |
== != | Gleich |
&& | Und |
|| | Oder |
= | Zuweisung |
In der 2. Reihe der oben stehenden Tabelle kommt der Operator % vor: Das hier % ist der Restoperator (oder der Modulo-Operator). Er dient dazu, den Rest einer ganzzahligen Division zu berechnen. Hier kannst Du sehen, was damit gemeint ist:
//rest.c
#include <stdio.h>
int main(void)
{
printf("Rechnen mit dem Restoperator ......\n");
int b, c;
printf("Bitte erste ganze Zahl eingeben: ");
scanf("%d", &b);
printf("Bitte zweite ganze Zahl eingeben: ");
scanf("%d", &c);
int a = b % c;
printf("Der Rest: %d\n", a);
return 0;
}
Zum besseren Verständnis: Wikipedia.
Hier geht es einmal um die Rangfolge der Operatoren in C. Eigentlich ist so eine Rangfolge nur eine "Konvention". Das heißt: Die Rangfolge ist künstlich eingeführt, aus lauter "Intuition" und aus Berechnung.
Man nennt die Operatoren && auch "logisches Und" und die || "logisches Oder". Das Ausrufezeichen ist das "logische Nicht" - oder sagen wir "logische Negation" dazu. Das ist zunächst
einmal einfacher. Man kann mit diesen so etwas programmieren: if (a == 0 && b == 0) ... Das kommt
später.
Zur weiteren Untersuchung dieser "Rangfolge der Operatoren": Klick!
Ein Beispielprogramm:
//boolool.c
#include <stdio.h>
#include <stdbool.h>
int main()
{
bool b = true;
bool b2 = false;
bool c0, c1, c2, c3;
c0 = b && b2;//false
c1 = b || b2;//true
c2 = b ^ b2;//true
c3 = !b;//false
if (c0 == true)
printf("c0 ist true.\n");
if (c1 == true)
printf("c1 ist true.\n");
if (c2 == true)
printf("c2 ist true.\n");
if (c3 == true)
printf("c3 ist true.\n");
return 0;
}
Jetzt habe ich stillschweigend noch einen Operator (^) verwendet, der oben noch nicht vorkam. Das ^ ist der "Exklusiv-Oder-Operator".
Diese Webseite wurde mit Jimdo erstellt! Jetzt kostenlos registrieren auf https://de.jimdo.com