MIN() Makro i C-sprog

Min Makro I C Sprog



Relationelle operationer i C er meget udbredt og kan findes i næsten alle programmer, der er skrevet på dette sprog. Der er flere operatorer på dette sprog – de mest brugte er lig med ( = ), større end ( > ) og mindre end ( < ). Denne type operation bruges ofte under if-forhold. For eksempel er inputbetingelsen værdien af ​​variablen =, > eller < til en anden variabel eller konstant.

Disse relationelle operationer er meget nyttige. Men der er tilfælde, hvor vi ikke kun skal vide, om en variabel er større eller mindre end en anden, men også for at få dens værdi. Selvom dette nemt gøres med 'if'-sætninger og simple relationelle operationer, giver C-sproget også makroer med funktioner, der returnerer maksimum- eller minimumværdien mellem to variable.

I denne Linuxhint-artikel lærer du, hvordan du bruger makroen MIN() til at finde minimumsværdien af ​​to variable. Vi viser dig syntaksen, opkaldsmetoden og den datatype, den accepterer. Derefter vil vi se på en beskrivelse af, hvordan det fungerer, og gennemgå udtrykket og formlen, som denne makro anvender.







Vi anvender derefter det, vi har lært, i et praktisk eksempel, der inkluderer kodestykkerne og billeder, der viser, hvordan man finder minimum med forskellige datatyper som input til makroen MIN().



Syntaks for MIN()-makroen i C-sprog

MIN ( -en , b )

Beskrivelse af MIN()-makroen i C-sprog



Makroen MIN() returnerer minimumsværdien mellem 'a' og 'b' variablerne. Udtrykket, der vises af makroen MIN() er en sand/falsk betingelse, hvor en relationel operation '<' anvendes mellem variablerne 'a' og 'b'. Hvis 'a' er mindre end 'b', returneres 'a'. Hvis 'b' er mindre end 'a', returneres 'b'.





#define MIN(a,b) (((a)<(b))?(a):(b))

Makroen MIN() arbejder med alle datatyper i sine input og output med den eneste regel, at begge inputvariabler skal være numeriske værdier.

Denne makro er defineret i 'param.h'-headeren i 'sys'-mappen. For at bruge det skal vi indsætte det i vores kode som følger:



#include

Sådan finder du minimum mellem to heltalsvariabler med makroen MIN()

I dette eksempel opretter vi variablerne 'a' og 'b' af typen int, som vi tildeler en vilkårlig værdi, og hvorfra vi finder minimum ved at kalde makroen MIN(). Vi udsender derefter den returnerede værdi ved hjælp af printf()-funktionen.

For at gøre dette inkluderer vi 'stdio.h' og 'param.h' overskrifterne og åbner en main() funktion af typen void. I den definerer vi 'a' og 'b' heltal og tildeler dem en tilfældig værdi. Vi definerer også 'c'-heltallet for at gemme resultatet.

Derefter kalder vi makroen MIN() og sender 'a' og 'b' som input-argumenter og 'c' som output-argumenter. Vi viser det returnerede resultat ved at kalde printf()-funktionen. Følgende er koden til dette eksempel:

#include

#include

ugyldig vigtigste ( ) {

int -en = 32 ;

int b = 14 ;

int c ;

c = MIN ( -en , b ) ;

printf ( ' \n Minimum er %i \n ' , c ) ;

}

Dernæst ser vi et billede med kompilering og udførelse af denne kode. Som vi kan se, returnerer makroen MIN() værdien af ​​'b' i dette tilfælde.

Det samme sker, hvis vi bruger variablerne af dobbelttypen.

#include

#include

ugyldig vigtigste ( ) {

dobbelt -en = 3 ;

dobbelt b = 1 ;

dobbelt c ;

c = MIN ( -en , b ) ;

printf ( ' \n Minimum af dobbelt a og b er %f \n ' , c ) ;

}


Minimum og maksimum med flydende kommavariable

Makroen MIN() er en nyttig funktion, men dens brug anbefales ikke til variabler, der bruger flydende kommaværdier. For at finde minimum af denne slags værdier, tilbyder matematikbiblioteket et sæt funktioner, der er defineret i 'math.h'-headeren. Dette sæt består af funktionerne fmin(), fminf() og fminl(). Lad os se på følgende syntaks for hver af disse funktioner:

dobbelt fmin ( dobbelt x , dobbelt og ) ;
flyde fminf ( flyde x , flyde og ) ;
lang dobbelt fminl ( lang dobbelt x , lang dobbelt og ) ;

Funktionen fmin() fungerer på data af typen double (8 bytes) med flydende komma. Funktionen fminf() fungerer med data af typen float (4 bytes), mens fminl() arbejder med data af typen long double (16 bytes). Disse funktioner behandler også de ikke-numeriske værdier (NaN).

Konklusion

I denne Linuxhint-artikel forklarede vi alt, hvad du behøver at vide for at bruge makroen MIN() til at finde minimumsværdien mellem to variable. Vi så på syntaksen og definitionen af ​​denne makro samt formlen, der anvender en sand/falsk betingelse for en 'mindre end'-operation (<) mellem de to inputvariable.

Vi anvendte derefter teorien, som vi lærte, til et praktisk eksempel ved at bruge kodestykkerne og billederne for at vise dig, hvordan du arbejder med forskellige typer data. Vi viste dig også de anbefalede muligheder for at håndtere tal med flydende komma, hvor brugen af ​​MIN() ikke anbefales.