Operator Logika Bagian 3
Termasuk bagian Dasar-Dasar dalam perjalanan C di Coddy. Pelajaran 23 dari 63.
Saat memeriksa beberapa kondisi, program berhenti memeriksa begitu mengetahui jawaban akhirnya. Ini disebut evaluasi hubung singkat.
Contohnya:
int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);Di sini x sama dengan 0, sehingga ekspresi ini tidak akan mengevaluasi y / x > 2. Jika urutannya kita balik:
int result = (y / x > 2) && (x != 0);Ini akan menyebabkan error karena y akan dibagi dengan 0, yang tidak terdefinisi dalam C. Jadi, sebaiknya pikirkan operasi dengan saksama agar kamu bisa membuat kode yang benar dan efektif tanpa error.
Teknik ini digunakan untuk mengoptimalkan evaluasi ekspresi logis. Contohnya:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);Dalam contoh ini, b < 2 dan d < 10 tidak akan dievaluasi karena a > 0 dan c < -5 sama-sama bernilai false.
Tantangan
MudahBuat program untuk menentukan apakah hari ini cocok untuk produksi energi dari panel surya
Inisialisasi variabel-variabel berikut:
isSunnydengan nilai 1 (true)windSpeeddengan nilai 5.4temperaturedengan nilai 23solarPanelOutputdengan nilai 9isCloudydengan nilai 0 (false)
Buat satu ekspresi logika yang memeriksa SEMUA kondisi berikut:
- Cuaca cerah
- Kecepatan angin kurang dari 10
- Output panel surya kurang dari 15
- Suhu di atas 20 ATAU tidak ada awan
Cetak "Good day for solar energy" jika semua kondisi terpenuhi, jika tidak, cetak "Not ideal for solar energy".
Coba sendiri
#include <stdio.h>
int main() {
// Inisialisasi variabel
int isSunny = 1;
float windSpeed = 5.4;
int temperature = 23;
int solarPanelOutput = 9;
int isCloudy = 0;
// Buat ekspresi logika
int isGoodDay =
// Jangan ubah bagian di bawah ini
if (isGoodDay) {
printf("Good day for solar energy\n");
} else {
printf("Not ideal for solar energy\n");
}
return 0;
}Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
2Variabel
Tipe DataBilangan BulatFloat - DoubleKarakterBooleanKonstantaDasar printfAturan Penamaan VariabelKonversi Tipe Bagian 1Konversi Tipe Bagian 2Tantangan Rangkuman3Operator
Operator AritmetikaOperator ModuloInkrementasi/PenurunanOperator PenugasanOperator RelasionalOperator Logika Bagian 1Operator Logika Bagian 2Operator Logika Bagian 3Tantangan RangkumanLatihan sendiri: Compiler C online