GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Pemrograman Linux C Part 11 - Operator Aritmatika, Relasional, dan Logika

Sampai sekarang, dalam seri tutorial pemrograman C ini, kita telah membahas hal-hal dasar seperti fungsi, array, variabel, dan lainnya. Melanjutkan alur, dalam tutorial ini, kita akan membahas konsep dasar lainnya:operator.

Sebagai pemula dalam bahasa pemrograman C, Anda akan berurusan dengan tiga jenis operator:aritmatika, relasional, dan logis. Mari kita mulai dengan operator airthmetic.

Pada dasarnya ada 5 jenis operator aritmatika di C: +, -, *, /, dan %. Sedangkan +, -, dan / cukup jelas, * mengacu pada perkalian dan % adalah operator modulus. Jika Anda tidak mengetahuinya, operator % memberi Anda sisa. Misalnya:

a % b

Di sini, operator % memastikan Anda mendapatkan nilai sisa saat 'a' dibagi dengan 'b.' Ini berarti sisanya bisa menjadi nol jika 'a' habis dibagi 'b'. Berikut adalah contoh kecil yang akan memberi Anda kejelasan yang lebih baik tentang operator ini:

#include <stdio.h>

int main()
{
int a = 10, b = 3, c =0;
c = a + b;
printf("%d\n", c);

c = a - b;
printf("%d\n", c);

c = a*b;
printf("%d\n", c);

c = a/b;
printf("%d\n", c);

c = a%b;
printf("%d\n", c);

return 0;
}

Berikut adalah output dari program ini:

13 
7
30
3
1

Perlu disebutkan di sini bahwa ketika berhadapan dengan float dan double, Anda tidak boleh menggunakan operator %. Juga, operator + dan - yang kami gunakan di sini adalah operator biner, artinya mereka memerlukan dua operan (misalnya, 'a' dan 'b' dalam kasus kami). Ada juga operator unary + dan -, yang bekerja pada satu operan.

Berikut ini contoh unary - operator beraksi:

#include <stdio.h>

int main()
{
int a = 10, b = 3, c =0;
c = -a;
printf("c = %d", c);
}

Berikut outputnya:

c = -10

Di antara semua operator yang dibahas sejauh ini, prioritas, unary + dan - berbagi posisi teratas, diikuti oleh *, / dan %, yang kemudian diikuti oleh biner + dan -.

Harap dicatat bahwa ada beberapa operator unary lainnya, beberapa di antaranya telah kita bahas secara tidak langsung di tutorial kami sebelumnya. Berikut daftarnya:++, --, !, &, dan sizeof.

Kita telah membahas operator increment dan decrement ++ dan -- (dalam bentuk prefix dan postfix). ! BUKAN operator yang meniadakan apa pun yang diterapkannya. Misalnya, jika hasil dari suatu kondisi benar, terapkan ! akan mengubahnya menjadi false, dan sebaliknya.

Pindah, &digunakan untuk mengambil alamat variabel (seperti yang sudah terlihat dalam kasus argumen fungsi scanf()), sementara operator sizeof memberi Anda ukuran operan yang diteruskan ke sana. Potongan kode berikut akan memberi Anda gambaran yang lebih baik tentang operator ini:

#include <stdio.h>

int main()
{
int a = 10, b = 3, c =0, d =1, e=0, f=9;

printf("a = 10 and a++ = %d\n", a++);

printf("b = 3 and ++b = %d\n", ++b);

printf("c = 0 and c-- = %d\n", c--);

printf("d = 1 and --d = %d\n", --d);

if(!e)
{
printf("\n e is zero or FALSE and its address is: %u\n", &e);
printf("\n sizeof 'f' is: %u\n", sizeof(f));

}


return 0;

}

Dan inilah hasilnya:

a = 10 and a++ = 10 
b = 3 and ++b = 4
c = 0 and c-- = 0
d = 1 and --d = 0

e is zero or FALSE and its address is: 856178696

sizeof 'f' is: 4

Selanjutnya, mari kita segera melihat operator relasional dan logis. Berikut ini adalah operator relasional:

> >= < <= == !=

Berikut cara penggunaannya:

a > b
a >= b
a < b
a <= b
a == b
a != b

Dalam urutan penampilan mereka di atas, operator ini memeriksa apakah 'a' lebih besar, lebih besar dari atau sama dengan, lebih kecil dari, kurang dari atau sama dengan, sama, dan tidak sama dengan 'b'. Empat operator pertama memiliki prioritas yang sama, yaitu lebih tinggi dari dua operator terakhir. Perhatikan bahwa dua operator terakhir juga disebut operator kesetaraan.

Dan akhirnya, datang ke operator logis. Pada dasarnya ada dua:&&dan ||. Kedua operator ini banyak digunakan untuk mengevaluasi kondisi atau ekspresi. Misalnya:

if (cond1 && cond2)
{

}

if (expr1 && expr2)
{

}

if (cond1 || cond2)
{

}

if (expr1 || expr2)
{

}

Dalam kasus dua pernyataan if pertama, eksekusi hanya akan memasuki blok jika kedua kondisi benar. Sedangkan dalam kasus dua pernyataan if terakhir, eksekusi akan memasuki blok jika salah satu kondisi ekspresi benar.

Perlu diingat bahwa operator relasional memiliki prioritas yang lebih rendah daripada operator aritmatika, dan operator logika lebih rendah daripada operator relasional dan kesetaraan. Di antara mereka sendiri, &&memiliki prioritas lebih tinggi daripada ||.

Kesimpulan

Dalam tutorial ini, kami membahas dasar-dasar operator, cara kerjanya, dan prioritasnya. Disarankan agar Anda membuat beberapa contoh program C untuk menguji konsep yang dibahas di sini. Jika ada keraguan atau pertanyaan, beri tahu kami di komentar di bawah.


Linux
  1. Tutorial Perintah Linux nice and renice (7 Contoh)

  2. Tutorial Pemrograman C Bagian 5 - Variabel karakter

  3. Tutorial Pemrograman Linux C Bagian 10 - Lingkup Variabel

  1. Tutorial Pemrograman Linux C Bagian 9 :String

  2. Tutorial Pemrograman Linux C Bagian 8 - Call by Value Vs Call by Pointer/Alamat

  3. Tutorial Pemrograman Linux C Bagian 8 - Call by Value Vs Call by Pointer/Alamat

  1. Tutorial Pemrograman Linux C Bagian 8 - Call by Value Vs Call by Pointer/Alamat

  2. Tutorial Pemrograman Linux C Bagian 14 - Contoh praktis operator Bitwise

  3. Tutorial Pemrograman Linux C Bagian 12 - Operator Penugasan dan Ekspresi Bersyarat