Vergleichsoperatoren in C (Vergleichsoperatoren in C), Lektion, Seite 722988
https://www.purl.org/stefan_ram/pub/vergleichsoperatoren_c (Permalink) ist die kanonische URI dieser Seite.
Stefan Ram

Vergleichsoperatoren in C

Der Kleiner-Operator »<«

Vereinfachte Syntax

Ausdruck
.----------. .-. .----------.
--->| Ausdruck |--->( < )-->| Ausdruck |--->
'----------' '-' '----------'

Die mathematische Schreibweise dieses Operators ist ‹<› (also genauso wie in C ).

Aussprache

Der Operator wird „kleiner“, „kleiner als“ oder „ist kleiner als“ gesprochen.

Semantik

#include <stdio.h>

int main( void )
{ printf( "%d\n", 1 < 2 ); /* 1 */
printf( "%d\n", 2 < 2 ); /* 0 */
printf( "%d\n", 2 < 1 ); /* 0 */ }

Bei diesem Operator können aber auch Vergleiche mit Gleitkommawerten sinnvoll sein.

#include <stdio.h>

int main( void )
{ printf( "%d\n", 1.0 < 2.0 ); /* 1 */
printf( "%d\n", 2.0 < 2.0 ); /* 0 */
printf( "%d\n", 2.0 < 1.0 ); /* 0 */ }

Zum lexikographischen Vergleich von Zeichenfolgen kann die Funktion »strcmp« (eventuelle in Kombination mit Vergleichsoperatoren) verwendet werden.

Der Größer-Operator »>«

Aussprache

Der Operator wird „größer“, „größer als“ oder „ist größer als“ gesprochen.

Semantik

#include <stdio.h>

int main( void )
{ printf( "%d\n", 1 > 2 ); /* 0 */
printf( "%d\n", 2 > 2 ); /* 0 */
printf( "%d\n", 2 > 1 ); /* 1 */ }

main.c

#include <stdio.h>

int main( void ){ printf( "%d\n", 4 > 3 > 2 ); }

stdout
0

Der Operator »<=«

Aussprache

Der Operator wird „kleiner-gleich“, „kleiner oder gleich“ oder „ist kleiner als oder gleich groß wie“ gesprochen.

Semantik

#include <stdio.h>

int main( void )
{ printf( "%d\n", 1 <= 2 ); /* 1 */
printf( "%d\n", 2 <= 2 ); /* 1 */
printf( "%d\n", 2 <= 1 ); /* 0 */ }

Der Operator »>=«

Aussprache

Der Operator wird „größer-gleich“, „größer oder gleich“ oder „ist größer als oder gleich groß wie“ gesprochen.

Semantik

#include <stdio.h>

int main( void )
{ printf( "%d\n", 1 >= 2 ); /* 0 */
printf( "%d\n", 2 >= 2 ); /* 1 */
printf( "%d\n", 2 >= 1 ); /* 1 */ }

main.c

#include <stdio.h>

void stern(){ printf( "*" ); }

void sterne( int const n )
{ if( n > 0 )stern();
if( n > 1 )stern();
if( n > 2 )stern();
if( n > 3 )stern(); }

int main( void )
{ sterne( 2 ); sterne( 1 ); puts( "" ); }

stdout
***
main.c

#include <stdio.h>

#include <limits.h>

int main()

{ int n = INT_MAX;

printf( "%d, %d\n", n + 1 > n, INT_MAX + 1 > INT_MAX ); }

transcript
1, 0

Übungsfragen

Welche Anweisung muß man am Ende des Rumpfs der Deklaration der Funktion »stern« noch hinzufügen, damit diese nicht nur bis zum Wert 4, sondern bis zu beliebig großen Werten des Parameters n, n  Sterne ausgibt?

/    Äquivalenz-Umformungen (Refaktoren)
Geben Sie zu den folgenden Ausdrücken jeweils einen Ausdruck mit gleichem Wert, aber weniger Operatoren an. Beispiel: Dem Ausdruck »!( x == y )« ist der Ausdruck »x != y« gleichwertig, enthält aber weniger Operatoren (einen Operator statt drei Operatoren).

!( x != y )

!( x < y )

!( x <= y )

!!( x >= y )

Übungsaufgaben

/    Zuschuß ermitteln
Eine Person erhalte beim Bausparen einen Zuschuß von 7 % pro Jahr bis zu einer Sparleistung von 1000 Euro pro Jahr. (Es kann zwar mehr gespart werden, der über 1000 Euro hinausgehende Teil werde aber nicht mehr bezuschußt.) Schreiben Sie eine Funktion, die zu jeder Sparleistung (auch über 1000 Euro pro Jahr) den jährlichen Zuschuß berechnet. (700 -> 49, 4000 -> 70 ).

Übungsaufgaben

Schreiben Sie eine Funktion, welche das Maximum zweier Werte ergibt.

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 stefanram722988 stefan_ram:722988 Vergleichsoperatoren in C Stefan Ram, Berlin, and, or, near, uni, online, slrprd, slrprdqxx, slrprddoc, slrprd722988, slrprddef722988, 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/vergleichsoperatoren_c