Mantıksal operatörler
- C kursu
- Başlangıç
- Ders 27/116
- 4 dk
&&, || ve ! ile boolean mantık kurmayı öğrenirsin.
Mantıksal operatörler
Üç mantıksal operatör vardır: && (VE), || (VEYA) ve ! (DEĞİL). Bunlar doğru/yanlış değerlerini birleştirir.
int a = 1, b = 0;
int r = a && b; /* 0: ikisi de doğru değil */
int s = a || b; /* 1: en az biri doğru */
int t = !b; /* 1: b yanlış, tersi doğru */Sonuç yine inttir: 1 (doğru) veya 0 (yanlış). Mantıksal operatörler if koşullarında sık kullanılır.
Kısa devre değerlendirme
&& ve || operatörleri kısa devre yapar. &&'de sol yanlışsa sağ tarafa bakılmaz; sonuç kesin yanlıştır. ||'de sol doğruysa sağ tarafa bakılmaz; sonuç kesin doğrudur.
int x = 0;
if (x != 0 && 10 / x > 1) { /* güvenli */ }Bu davranış sıfıra bölme gibi tehlikeli durumları önlemek için kullanışlıdır. Sol koşul sağ tarafı korur.
Uygulama Mantıksal operatör sonuçlarını yazdır
int a = 5, b = 0; tanımla. Dört printf ile a && b, a || b, !b ve !a sonuçlarını ayrı satırlarda yazdır. Çıktı 0, 1, 1, 0 olmalı.
Başlangıç kodu
#include <stdio.h>
int main(void) {
int a = 5, b = 0;
/* a && b, a || b, !b, !a sonuçlarını yazdır */
return 0;
}Örnek çözüm
#include <stdio.h>
int main(void) {
int a = 5, b = 0;
printf("%d\n", a && b);
printf("%d\n", a || b);
printf("%d\n", !b);
printf("%d\n", !a);
return 0;
}Beklenen çıktı
0 1 1 0
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangi ifade 1 (doğru) verir?
- 1 && 0
- 0 || 0
- !1
- 1 && 1 Doğru cevap
Açıklama: 1 && 1 her iki taraf da doğru olduğundan 1 verir.
2 Mantıksal operatörleri eşleştir
| Kavram | Anlamı |
|---|---|
&& |
mantıksal VE |
|| |
mantıksal VEYA |
! |
değil |
1 && 1 |
doğru |
3 Mantıksal VE ile koşul
int a = 5, b = 3;
if (a > 0 ____ b > 0) { /* ikisi de pozitif */ }
int a = 5, b = 3;
if (a > 0 && b > 0) { /* ikisi de pozitif */ }
Açıklama: && her iki tarafın da doğru olmasını ister.