MIN() Makro C-kielellä

Min Makro C Kielella



C:n relaatiooperaatioita käytetään laajalti ja ne löytyvät lähes kaikista tällä kielellä kirjoitetuista ohjelmista. Tällä kielellä on useita operaattoreita – yleisimmin käytetyt ovat yhtä suuri kuin ( = ), suurempi kuin ( > ) ja pienempi kuin ( < ). Tämän tyyppistä toimintaa käytetään usein jos-olosuhteissa. Syöttöehto on esimerkiksi toisen muuttujan tai vakion =-, >- tai <-muuttujan arvo.

Nämä relaatiooperaatiot ovat erittäin hyödyllisiä. Mutta on tapauksia, joissa meidän on tiedettävä paitsi onko yksi muuttuja suurempi tai pienempi kuin toinen, myös saada sen arvo. Vaikka tämä on helppo tehdä 'if'-lauseiden ja yksinkertaisten relaatiooperaatioiden avulla, C-kieli tarjoaa myös makroille funktioita, jotka palauttavat kahden muuttujan välisen maksimi- tai minimiarvon.

Tässä Linuxhint-artikkelissa opit käyttämään makroa MIN() kahden muuttujan vähimmäisarvon löytämiseen. Näytämme sinulle syntaksin, kutsutavan ja sen hyväksymän tietotyypin. Sitten tarkastelemme kuvausta sen toiminnasta ja tarkastelemme lauseketta ja kaavaa, joita tämä makro käyttää.







Käytämme sitten käytännön esimerkissä oppimiamme tietoja, jotka sisältävät koodinpätkät ja kuvat, jotka osoittavat, kuinka löytää minimi eri tietotyypeillä makron MIN() syötteinä.



MIN()-makron syntaksi C-kielellä

MIN ( a , b )

Kuvaus MIN()-makrosta C-kielellä



Makro MIN() palauttaa 'a'- ja 'b'-muuttujien välisen vähimmäisarvon. Makron MIN() näyttämä lauseke on tosi/epätosi-ehto, jossa relaatiotoimintoa '<' käytetään 'a'- ja 'b'-muuttujien välillä. Jos 'a' on pienempi kuin 'b', palautetaan 'a'. Jos 'b' on pienempi kuin 'a', palautetaan 'b'.





#määritä MIN(a,b) (((a)<(b))?(a):(b))

Makro MIN() toimii kaikkien tietotyyppien kanssa sen tuloissa ja lähdöissä ainoalla säännöllä, jonka mukaan molempien tulomuuttujien on oltava numeerisia arvoja.

Tämä makro on määritelty 'param.h'-otsikossa 'sys'-kansiossa. Käyttääksemme sitä meidän on lisättävä se koodiimme seuraavasti:



#include

Kuinka löytää kahden kokonaislukumuuttujan välistä vähimmäisarvo makrolla MIN()

Tässä esimerkissä luomme int-tyyppiset muuttujat 'a' ja 'b', joille annamme mielivaltaisen arvon ja joista löydämme minimin kutsumalla makroa MIN(). Sitten tulostamme palautetun arvon printf()-funktiolla.

Tätä varten sisällytämme otsikot 'stdio.h' ja 'param.h' ja avaamme main()-funktion, jonka tyyppi on void. Siinä määritämme 'a' ja 'b' kokonaisluvut ja annamme niille satunnaisen arvon. Määrittelemme myös 'c'-kokonaisluvun tuloksen tallentamiseksi.

Sitten kutsumme makroa MIN() ja annamme 'a' ja 'b' tuloargumenteiksi ja 'c' lähtöargumenteiksi. Näytämme palautetun tuloksen kutsumalla printf()-funktiota. Seuraava on tämän esimerkin koodi:

#include

#include

mitätön pää ( ) {

int a = 32 ;

int b = 14 ;

int c ;

c = MIN ( a , b ) ;

printf ( ' \n Minimi on %i \n ' , c ) ;

}

Seuraavaksi näemme kuvan, jossa on tämän koodin käännös ja suoritus. Kuten näemme, makro MIN() palauttaa tässä tapauksessa arvon 'b'.

Sama tapahtuu, jos käytämme kaksoistyypin muuttujia.

#include

#include

mitätön pää ( ) {

kaksinkertainen a = 3 ;

kaksinkertainen b = 1 ;

kaksinkertainen c ;

c = MIN ( a , b ) ;

printf ( ' \n Tuplausten a ja b minimi on %f \n ' , c ) ;

}


Minimi ja maksimi liukulukumuuttujilla

Makro MIN() on hyödyllinen funktio, mutta sen käyttöä ei suositella muuttujille, jotka käyttävät liukulukuarvoja. Tällaisten arvojen vähimmäismäärän löytämiseksi matemaattinen kirjasto tarjoaa joukon funktioita, jotka on määritelty 'math.h'-otsikossa. Tämä joukko koostuu fmin(), fminf() ja fminl()-funktioista. Tarkastellaan seuraavaa syntaksia kullekin näistä funktioista:

kaksinkertainen fmin ( kaksinkertainen x , kaksinkertainen ja ) ;
kellua fminf ( kellua x , kellua ja ) ;
pitkä kaksinkertainen fminl ( pitkä kaksinkertainen x , pitkä kaksinkertainen ja ) ;

Fmin()-funktio toimii datalla, jonka tyyppi on double (8 tavua) liukulukulla. Fminf()-funktio toimii float-tyyppisten tietojen kanssa (4 tavua), kun taas fminl() toimii long double -tyypin (16 tavua) tietojen kanssa. Nämä funktiot käsittelevät myös ei-numeerisia arvoja (NaN).

Johtopäätös

Tässä Linuxhint-artikkelissa selitimme kaiken, mitä sinun tulee tietää käyttääksesi makroa MIN() löytääksesi kahden muuttujan välisen vähimmäisarvon. Tarkastelimme tämän makron syntaksia ja määritelmää sekä kaavaa, joka soveltaa tosi/epätosi-ehtoa 'pienempi kuin'-operaatiolle (<) kahden syöttömuuttujan välillä.

Sen jälkeen sovelsimme oppimaamme teoriaa käytännön esimerkissä koodinpätkien ja kuvien avulla näyttääksemme sinulle, miten erityyppisten tietojen kanssa työskennellään. Näimme sinulle myös suositellut vaihtoehdot liukulukujen käsittelyyn, kun MIN():n käyttöä ei suositella.