C Programlama #11 | Mantık İşleçleri: &&, || ve ! — 1900 Artık Yıl mıydı?
Operatörler ve KullanımıEğitmen: Dr. Süleyman Burak ÇELİK
29 Şubat dört yılda bir gelir; öyleyse 1900 artık yıl mıydı? On birinci derste, ikinci bloğun ilk dersinde, birden çok koşulu tek bir if'te birleştiren üç mantık işlecini öğreniyoruz: ve (&&), veya (||) ve değil (!). Yalnızca 4'e bölünmeye bakan basit bir program 1900'e artık yıl diyor; oysa 1900'de şubat 28 gün çekti. Sertifika örneğiyle && işlecini (85 ve 90 → verildi, 85 ve 60 → verilmedi), müze bileti örneğiyle || işlecini (öğrenci ya da 65 yaş ve üstü) gerçek çalıştırmalarla görüyor, doğruluk tablosunu programa ürettiriyoruz. ! işlecini ve stdbool.h'deki bool, true, false'u tanıyor, De Morgan kuralıyla kalma koşulunu iki yoldan yazıyoruz. Kısa devre değerlendirmesini sıfıra bölmeyle sınıyoruz: koruyan koşul soldayken Intel için derlenen program çalışıyor, sıra ters çevrilince Floating point exception ile çöküyor. Ardından gerçek takvim kuralını tek satırda kuruyor (2024 ve 2000 artık yıl, 1900 ve 2100 değil), parantezsiz yazınca gcc -Wall'ın verdiği uyarıyı görüyoruz. Son olarak iki klasik tuzak: "0 küçüktür x küçüktür 10" yazımının matematikteki anlamına gelmemesi (50 bile aralıkta çıkıyor) ve secim == 1 || 2'nin hep doğru olması (gcc -Wall sessiz, clang uyarıyor). Ekrandaki her çıktı, kodun gerçekten derlenip çalıştırılmasından geliyor. Bu derste: 1. && (ve), || (veya) ve ! (değil); doğruluk tabloları 2. bool, true, false (stdbool.h) ve De Morgan kuralı 3. Kısa devre değerlendirmesi: koruyan koşul solda (sıfıra bölme) 4. Artık yıl kuralı tek satırda; && önceliği ve -Wparentheses 5. Tuzaklar: zincirleme karşılaştırma (0 küçüktür x küçüktür 10) ve secim == 1 || 2 Bölümler: 0:00 Blok 2 başlıyor: koşulları birleştirmek 0:23 29 Şubat her dört yılda bir mi? 0:55 && (ve): ikisi de doğru olmalı 1:46 || (veya): en az biri doğru olmalı 2:19 ! (değil) ve bool 2:56 Kısa devre: sonuç belli olunca durur 3:47 Artık yıl: üç koşul, iki işleç 4:36 İki klasik tuzak 5:35 Bugünün dört kuralı 6:05 Sonraki ders: fonksiyonlara giriş Kaynak kitap: Paul Deitel, Harvey Deitel — C How to Program, 9. baskı (2022), §4.9. Konu sırası ve kavramlar kaynak kitaptan izlenir; anlatım, örnekler ve ekranlar özgündür. Hedef kitle: C'ye yeni başlayan tüm mühendislik ve bilgisayar/yazılım öğrencileri. Ön koşul: C Programlama #01–#10.