DERS 3 SEÇME KOMUTLARI
Koşul Đfadesi Örnek : Sayac >= 100 Ortalama < 50 Final>=45 && Ortalama<50 Koşul ifadeleri ilişkisel ve mantıksal operatörler kullanılarak oluşturulur. Đlişkisel operatörler, değerlerin karşılaştırılmasında kullanılır. Mantıksal operatörler, ilişkisel operatörlerden oluşturulmuş basit koşul ifadelerini bir araya getirerek daha karmaşık koşul ifadeleri oluşturmak için kullanılır.
Đlişkisel Operatörler Đlişkisel Operatör Anlamı > Büyük >= Büyük veya eşit < Küçük <= Küçük veya eşit == Eşit!= Eşit değil
Đlişkisel Operatörler int sayac=12; double alfa=20.5; char ch='h'; Koşul Đfadesi (21+sayac) <= 50 alfa == 65.8 ch == 'h' ch!= 'h' alfa < (sayac-1) sayac <= 12 Sonuç 1(doğru) 0(yanlış) 0(yanlış) 1(doğru) 0(yanlış) 1(doğru)
Mantıksal Operatörler Mantıksal Operatör && Anlamı Ve Veya! Değil Örnek K. Đfadesi1 && K. Đfadesi2 K. Đfadesi1 K. Đfadesi2 Final>=45 && Ortalama<50 Final>=45 Ortalama<50! K.Đfadesi!(Final>=45)
Mantıksal Operatörler Đfadesi1 Đfadesi2 Đfade1&&Đfade2 Đfade1 Đfade2 0(yanlış) 0(yanlış) 0 0 1(doğru) 0(yanlış) 0 1 0(yanlış) 1(doğru) 0 1 1(doğru) 1(doğru) 1 1 Koşul Đfadesi 0(yanlış) 1(doğru)! Koşul Đfadesi 1(doğru) 0(yanlış)
Mantıksal Operatörler int a=12, b=-2, c=0; double d=7.5; char ch='h'; Koşul Đfadesi Sonuç (a<5.0) &&(d>b/2) 0 (yanlış)! (b!=8.5) 0(yanlış) (c>=10) (ch=='h') 0(yanlış)!(d-2.5<0) 1(doğru) (c==0) (d!=0) 1(doğru) a && (a<10) 0(yanlış)
Öncelik Sırası Örnek a=5 b=8 c=6.8 olmak üzere c!=3+b-2*a==7 ifadesinin sonucu c!=3+b-10==7 c!=11-10==7 c!=1==7 1==7 0(yanlış)
Öncelik Sırası Örnek i=5 j=8 k=20 olmak üzere i > 5*k % 3 &&!(k-2!=18) ifadesinin sonucu i >5*k % 3 &&!(18!=18) i >5*k % 3 &&!(0) i >5*k % 3 && 1 i >100 % 3 && 1 i >1 && 1 1 && 1 1(doğru)
if Komutu.. Önceki komutlar if (Koşul ifadesi) Koşul ifadesi doğruysa Yanlış Önceki işlemler if Koşul Đfadesi Doğru yapılacak işlem; Đşlemler Sonraki komutlar Sonraki işlemler
Problem Girilen bir sayının pozitif bir sayı olması durumunda ekrana girilen_sayi pozitif sayıdır şeklinde uyarı yazan programı geliştiriniz.
Girilen Sayı Pozitif dir Başla Girilen sayıyı oku, sayi Yanlış sayi>0 Doğru Ekrana sayi pozitif sayıdır yaz Bitir
Girilen Sayı Pozitif dir #include <stdio.h> main() { int sayi; printf ( Bir sayi giriniz: ); scanf( %d,&sayi); if (sayi>0) printf( %d pozitif sayidir.\n,sayi); printf( ---------- ); }
Çift Yönlü if Komutu.. Önceki komutlar if if (Koşul ifadesi) Koşul ifadesi doğruysa yapılacak işlem; else Koşul ifadesi yanlışsa yapılacak işlem Yanlış Đşlem2 Kontrol Đfadesi Doğru Đşlem1 Sonraki komutlar
PROBLEM Girilen iki sayıdan büyüğünü bulan programı geliştiriniz.
Đki Sayının Büyüğü Başla S1,S2 oku Yanlış En büyük sayı S2 dir yazdır S1>S2 Doğru Büyük sayı S1 dir yazdır Bitir
Đki Sayının Büyüğü #include <stdio.h> main ( ) { int S1,S2 ; printf( iki tamsayi giriniz \n ); scanf( %d %d, &S1,&S2); if (S1>S2) printf( Buyuk olan sayi %d dir, S1); else printf( Buyuk olan sayi %d dir, S2); }
.. Önceki komutlar if (Koşul ifadesi) { Đşlem1; Đşlem2; Đşlem3;. } Sonraki komutlar Bileşik Komut Kullanımı
Bileşik Komut Kullanımı.. Önceki komutlar if (Koşul ifadesi) { Đşlem1; Đşlem2;. } else { Đşlem3; Đşlem4;. } Sonraki komutlar
Đç içe if Kullanımı.. Önceki komutlar if (Koşul ifadesi1) if (Koşul ifadesi2) Yapılacak Đşlem1; else Yapılacak işlem2; else Yapılacak işlem3; H Đşlemler3 Önceki Komutlar Koşul Đfadesi1 H Sonraki Komutlar E Koşul ifadesi2 E Đşlemler2 işlemler1 Sonraki komutlar
PROBLEM Bir derse ilişkin iki yazılı, bir de final sınavı yapılmaktadır. Bu sınavlardan alınan notlara göre, geçme şu şekilde belirlenir ; 1. Final notu, 50 den düşükse öğrenci bu dersten başarısızdır. 2. Final notu 50 den yüksekse, final notunun %70 i ile yazılıların ortalamasının %30 u toplanır. Toplam 50 den düşükse öğrenci başarısızdır, yüksekse başarılı kabul edilir. Buna göre sınav notları verilen öğrencinin başarı durumunu bulan programı geliştiriniz.
Öğrenci Ders Başarısı Başla Yazılı1, Yazılı2 ve Final notlarını oku H Final>= 50 E Kaldı Ortalama= (Yazılı1+Yazılı2)/2*0.3+Final*0.7 H Kaldı Ortama>=50 E Geçti Bitir
#include <stdio.h> #define GecmeNotu 50 main ( ) { int Yazili1,Yazili2,Final; double Ortalama; printf( 1. Ve 2. Yazili notlarini giriniz :\n ); scanf( %d %d,&yazili1,&yazili2); printf( Final notunu giriniz :\n ); scanf( %d,&final); if (Final >= GecmeNotu) { Ortalama= ((Yazili1+Yazili2)/2)*0.3+Final*0.7; If (Ortalama >= GecmeNotu) printf( Gecti, Ortalamasi = %3.2f,Ortalama); else printf( Kaldı, Ortalamasi = %3.2f,Ortalama); } else printf( Kaldi ); }
PROBLEM Kullanıcının isteği göz önüne alınarak, dikdörtgen veya üçgen alanını hesaplayacak programı geliştiriniz.
PROBLEM Üç kenarının uzunluğu verilen bir üçgenin eşkenar, ikizkenar veya çeşitkenar olduğunu söyleyecek programı geliştiriniz.