MIN() Makro dalam Bahasa C

Min Makro Dalam Bahasa C



Operasi perhubungan dalam C digunakan secara meluas dan boleh didapati dalam hampir setiap program yang ditulis dalam bahasa ini. Terdapat beberapa operator dalam bahasa ini – yang paling biasa digunakan adalah sama dengan ( = ), lebih besar daripada ( > ), dan kurang daripada ( < ). Jenis operasi ini sering digunakan dalam keadaan-jika. Sebagai contoh, keadaan input ialah nilai pembolehubah =, >, atau < kepada pembolehubah atau pemalar yang lain.

Operasi perhubungan ini sangat berguna. Tetapi ada kes di mana kita perlu tahu bukan sahaja sama ada satu pembolehubah lebih besar atau lebih kecil daripada yang lain, tetapi juga untuk mendapatkan nilainya. Walaupun ini mudah dilakukan dengan pernyataan 'jika' dan operasi hubungan yang mudah, bahasa C juga menyediakan makro dengan fungsi yang mengembalikan nilai maksimum atau minimum antara dua pembolehubah.

Dalam artikel Linuxhint ini, anda akan belajar cara menggunakan makro MIN() untuk mencari nilai minimum dua pembolehubah. Kami akan menunjukkan kepada anda sintaks, kaedah panggilan dan jenis data yang diterimanya. Kemudian, kita akan melihat penerangan tentang cara ia berfungsi dan menyemak ungkapan serta formula yang digunakan oleh makro ini.







Kami kemudian menggunakan perkara yang kami pelajari dalam contoh praktikal yang merangkumi coretan kod dan imej yang menunjukkan cara mencari minimum dengan jenis data yang berbeza sebagai input kepada makro MIN().



Sintaks Makro MIN() dalam Bahasa C

MIN ( a , b )

Perihalan Makro MIN() dalam Bahasa C



Makro MIN() mengembalikan nilai minimum antara pembolehubah 'a' dan 'b'. Ungkapan yang dipaparkan oleh makro MIN() ialah keadaan benar/salah di mana operasi hubungan '<' digunakan antara pembolehubah 'a' dan 'b'. Jika 'a' kurang daripada 'b', 'a' dikembalikan. Jika “b” kurang daripada “a”, “b” dikembalikan.





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

Makro MIN() berfungsi dengan semua jenis data dalam input dan outputnya dengan satu-satunya peraturan bahawa kedua-dua pembolehubah input mestilah nilai angka.

Makro ini ditakrifkan dalam pengepala 'param.h' dalam folder 'sys'. Untuk menggunakannya, kami perlu memasukkannya ke dalam kod kami seperti berikut:



#include

Cara Mencari Minimum Antara Dua Pembolehubah Integer dengan Makro MIN()

Dalam contoh ini, kami mencipta pembolehubah 'a' dan 'b' jenis int yang kami tetapkan nilai arbitrari dan dari mana kami dapati minimum dengan memanggil makro MIN(). Kami kemudian mengeluarkan nilai yang dikembalikan menggunakan fungsi printf().

Untuk melakukan ini, kami memasukkan pengepala 'stdio.h' dan 'param.h' dan membuka fungsi main() jenis void. Di dalamnya, kami mentakrifkan integer 'a' dan 'b' dan memberikannya dengan nilai rawak. Kami juga mentakrifkan integer 'c' untuk menyimpan hasilnya.

Kemudian, kami memanggil makro MIN() dan lulus 'a' dan 'b' sebagai argumen input dan 'c' sebagai argumen output. Kami memaparkan hasil yang dikembalikan dengan memanggil fungsi printf(). Berikut ialah kod untuk contoh ini:

#include

#include

batal utama ( ) {

int a = 32 ;

int b = 14 ;

int c ;

c = MIN ( a , b ) ;

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

}

Seterusnya, kita melihat imej dengan penyusunan dan pelaksanaan kod ini. Seperti yang kita lihat, makro MIN() mengembalikan nilai 'b' dalam kes ini.

Perkara yang sama berlaku jika kita menggunakan pembolehubah jenis berganda.

#include

#include

batal utama ( ) {

berganda a = 3 ;

berganda b = 1 ;

berganda c ;

c = MIN ( a , b ) ;

printf ( ' \n Minimum gandaan a dan b ialah %f \n ' , c ) ;

}


Minimum dan Maksimum dengan Pembolehubah Titik Terapung

Makro MIN() ialah fungsi yang berguna, tetapi penggunaannya tidak disyorkan untuk pembolehubah yang menggunakan nilai titik terapung. Untuk mencari nilai minimum jenis ini, perpustakaan matematik menyediakan satu set fungsi yang ditakrifkan dalam pengepala 'math.h'. Set ini terdiri daripada fungsi fmin(), fminf(), dan fminl(). Mari lihat sintaks berikut untuk setiap fungsi ini:

berganda fmin ( berganda x , berganda dan ) ;
terapung fminf ( terapung x , terapung dan ) ;
panjang berganda fminl ( panjang berganda x , panjang berganda dan ) ;

Fungsi fmin() beroperasi pada data jenis berganda (8 bait) dengan titik terapung. Fungsi fminf() berfungsi dengan data jenis float (4 bait), manakala fminl() berfungsi dengan data jenis long double (16 bait). Juga, fungsi ini memproses nilai bukan angka (NaN).

Kesimpulan

Dalam artikel Linuxhint ini, kami menerangkan semua yang anda perlu tahu untuk menggunakan makro MIN() untuk mencari nilai minimum antara dua pembolehubah. Kami melihat sintaks dan takrifan makro ini serta formula yang menggunakan keadaan benar/salah untuk operasi 'kurang daripada' (<) antara dua pembolehubah input.

Kami kemudian menggunakan teori yang kami pelajari kepada contoh praktikal menggunakan coretan kod dan imej untuk menunjukkan kepada anda cara bekerja dengan pelbagai jenis data. Kami juga menunjukkan kepada anda pilihan yang disyorkan untuk menangani nombor titik terapung di mana penggunaan MIN() tidak disyorkan.