GNU/Linux >> Belajar Linux >  >> Linux

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

Dalam seri tutorial pemrograman C yang sedang berlangsung ini, kita telah membahas beberapa hal dasar seperti operator aritmatika, logika, dan relasional serta loop kondisional seperti 'jika' dan 'sementara'. Selain itu, tutorial ini akan fokus pada operator penugasan (selain =) dan ekspresi kondisional.

Mari kita mulai dengan operator penugasan. Jika Anda telah membuat program C dasar sampai sekarang (yang saya yakin Anda akan memilikinya terutama setelah mengikuti seri tutorial kami), ada kemungkinan besar Anda akan melakukan sesuatu yang mirip dengan berikut ini:

a = a + 1;

Benar?

Hal baru yang akan kita pelajari hari ini adalah Anda dapat menulis ulang ekspresi ini sebagai berikut:

a += 1;

Ya,  +=adalah operator dan juga disebut sebagai operator penugasan.

Sekarang, jika saya mengatakan menggunakan operator penugasan seperti ini membuat kode lebih ringkas dan mudah dibaca, beberapa dari Anda mungkin berpendapat bahwa dalam konteks contoh yang kami gunakan, operator kenaikan akan sama baiknya karena itu juga memastikan nilai 'a ' bertambah 1.

a++;

Saya setuju, tetapi pikirkan skenario lain seperti berikut:

b = b + 10;
b = b + c

Dalam kasus ini, menggunakan operator penugasan pasti membuat penulisan kode, membaca, dan meninjau satu langkah menjadi mudah.

Masih belum yakin? Mungkin, contoh umum berikut akan memberi Anda ide yang lebih baik tentang nilai operator penugasan. Lihat:

arr1[arr2[integer1 + integer2] + arr3[integer3 + integer4] + arr4 [integer5 + integer6]] = arr1[arr2[integer1 + integer2] + arr3[integer3 + integer4] + arr4 [integer5 + integer6]] + 5 

Baris kode ini membutuhkan waktu untuk dipahami secara khusus karena Anda harus memastikan kedua array (di setiap sisi operator =) merujuk ke nilai yang sama atau tidak. Dalam hal ini, mereka melakukannya, jadi cara yang lebih baik adalah menggunakan operator penugasan dengan cara berikut:

arr1[arr2[integer1 + integer2] + arr3[integer3 + integer4] + arr4 [integer5 + integer6]] += 5;

Jadi, menggunakan operator penugasan dalam hal ini tidak hanya membuat baris menjadi sangat mudah dipahami tetapi juga membuatnya lebih ramah kompiler dalam arti dapat membantu kompiler menghasilkan kode yang efisien.

Sekarang setelah Anda yakin (saya sangat berharap Anda melakukannya) tentang fakta bahwa operator penugasan berguna, berikut adalah daftar operator yang memiliki operator biner yang sesuai:

+ - * / % << >> & ^ |

Lima operator pertama dalam daftar yang telah kita bahas dalam tutorial kita sejauh ini. Lima yang terakhir adalah operator bitwise, dan kami akan membahasnya di salah satu tutorial kami yang akan datang. Sementara itu, berikut adalah referensi singkat untuk operator penugasan yang sesuai dengan beberapa operator ini:

a += b;
a -= b;
a *= b;
a /= b;
a %= b;

Jadi secara umum, Anda dapat mengingat hal berikut:

expression1 = (expression1) op (expression2)

dapat dinyatakan sebagai:

expression1 op= expression2

di mana 'op' adalah operator yang digunakan, seperti +, -, *, dan lainnya.

Harap diperhatikan bahwa ungkapan berikut juga ungkapan yang mirip dengannya:

a *= b - c 

akan diperluas sebagai:

a = a * (b-c)

Saya harap saya dapat menjelaskan konsep operator penugasan setidaknya pada tingkat dasar. Lanjutkan, sekarang mari kita bahas ekspresi kondisional.

Ambil contoh berikut:

if(a==b)
c = c + 1;
else
c = c - 1;

Ekspresi bersyarat membantu Anda menulis logika seperti ini dalam satu baris. Begini caranya:

c = (a==b) ? (c+1) : (c -1)

Jadi di sini, pertama kondisi (a==b) diperiksa. Jika benar, maka (c+1) ditugaskan ke c, yang lain (c-1) ditugaskan ke c. Berikut ini contoh kode untuk memperjelas semuanya:

int main()
{
int a = 6, b = 5, c = 9;

c = (a==b) ? (c+1) : (c -1) ;

printf("\n %d \n", c);

return 0;
}

Karena a tidak sama dengan b di sini, maka c ditetapkan (c-1), yang berarti nilai baru dari c menjadi 8. Untuk berjaga-jaga jika Anda membutuhkan, inilah bentuk umum dari ekspresi kondisional:

expression1 ? expression2 : expression3

Saya harap Anda mendapatkan ide dasar tentang operator penugasan dan ekspresi kondisional. Anda sekarang didorong untuk menggunakan ini dalam aktivitas pengkodean sehari-hari Anda, dan jika Anda mengalami masalah apa pun, jangan lupa untuk memberi kami komentar di sini.


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 Part 11 - Operator Aritmatika, Relasional, dan Logika