C PROGRAMLAMA DİLİ
Karşılaştırma Deyimleri if, if-else Yapısı switch -case Yapısı
Program içerisinde bazen iki veya daha fazla değerin karşılaştırılması gerekebilir. Bunun için, bütün programlama dillerinde karşılaştırma deyimleri mevcuttur. C Programlama dili, IF ve CASE deyimleri ile karşılaştırma işlemi yapmaya izin verir.
Bu deyimler koşullu işlem yapma deyimidir. ifve else tek bir karşılaştırma deyimi olup else kullanımı isteğe bağlıdır. Eğer bu koşul olumlu ise ifden sonraki bölüm yürütülür ve else den sonraki bölüm atlanır. Koşul olumsuz ise ifden sonraki küme atlanır ve eğer varsa, else den sonraki kümedeki işlemler gerçekleştirilir. if(koşul) { deyimler; (küme)
Karşılaştırma Operatörleri ve Mantıksal Operatörler İki veya daha fazla değerin mukayese edilmesi için karşılaştırma operatörleri ve mantıksal operatörler kullanılır. Eski Operatör Yeni Açıklama Örnek Anlamı.GT. > büyüktür x > y x, y den büyük mü?.lt. < küçüktür x < y x, y den küçük mü?.eq. == eşittir x == y x, y ye eşit mi?.ge. >= büyük-eşittir x >= y.le. <= küçük-eşittir x <= y x, y den büyük yada eşit mi? x, y den küçük yada eşit mi?.ne. /= eşit değil x /= y x, y den farklı mı?
Mantıksal Operatörler Operatör Açıklama Örnek Anlamı.AND. mantıksal VE x>2.and. x<y.or. mantıksal VEYA x>2.or. x<y x, 2 den büyük VE y den küçük mü? x, 2 den büyük VEYA y den küçük mü?.not. mantıksal DEĞİL.NOT. x>2 x, 2 den büyük DEĞİL ise.eqv. mantıksal EŞDEĞER (veya DENK) x.eqv. y x ve y mantıksal olarak DENK mi?.neqv. mantıksal EŞDEĞER (veya DENK) DEĞİL x.neqv. y x ve y mantıksal olarak DENK DEĞİL mi?
Kullanıcıdan girilen 2 sayıyı karşılaştıran program #include<stdio.h> #include<conio.h> intx, y; /* global değişkenler */ main() { printf("x degeri: "); scanf("%d",&x); printf("y degeri: "); scanf("%d", &y); if(x == y) printf("x, y ye esit\n"); if(x > y) printf("x, y den buyuk\n"); if(x < y) printf("x, y den kucuk\n"); getch();
if-else Kullanımı if deyiminin else ile birlikte kullanımı şu şekildedir: if(koşul){ deyimler; (küme1) else{ deyimler; (küme2)
Eğer program içinde kullanılacak koşulların sayısı 2 den çok ise yandaki yapı kullanılır. if(koşul_1) { deyimler; (küme_1) } else if(koşul_2) { deyimler; (küme_2) }... else if(koşul_n-1) { deyimler; (küme_n-1) } else { deyimler; (küme_n) }
switch -case Yapısı Bu deyim bir değişkenin içeriğine bakarak, programın akışını bir çok seçenekten birine yönlendiren bir deyimdir. case (durum) deyiminden sonra değişkenin durumu yazılır ve takip eden gelen satırlar(deyimler) işlenir. Bütün durumların aksi söz konu olduğunda gerçekleştirilmesi istenen deyimler default deyiminden sonraki kısımda bildirilir.
Genel yazım biçimi: switch(değişken) { casesabit_1: deyimler; casesabit_2: deyimler;... casesabit_n: deyimler; default: hata deyimleri veya varsayılan deyimler; }
#include <stdio.h> #include <conio.h> main() { charkr; printf("lutfen bir karakter girin\n"); kr= getchar(); /* tek bir karakterin okunması */ switch(kr) { case'a': printf("a harfine bastiniz\n"); case'b': printf("b harfine bastiniz\n"); default: printf("a veya b ye basmadiniz\n"); getch();
#include <stdio.h> #include <conio.h> main(void) { charkr; printf("lutfen bir karakter girin\n"); kr= getchar(); /* tek bir karakterin okunması */ switch(kr) { case'a': printf("a harfine bastiniz\n");break; case'b': printf("b harfine bastiniz\n");break; default: printf("a veya b ye basmadiniz\n");break; getch();
Dersten geçip geçemeyeceğinizi hesaplayan program?
#include <stdio.h> #include <conio.h> intx, y,ort; main() { printf("vize Notunuzu giriniz= ");scanf("%d",&x); printf("final Notunuzu giriniz= ");scanf("%d",&y); ort=x*0.4+y*0.6; if(ort>= 60) printf("tebrikler GECTINIZ\n"); else printf("uzgunum KALDINIZ\n"); getch();
ax^2+bx+c denkleminin reel kökleri varsa bulan ve reel kök yoksa ekrana Reel Kök Yoktur! yazdıran C programını yazınız?
#include<stdio.h> #include<conio.h> #include<math.h> float a,b,c,delt,x1,x2; main() { printf("ax^2+bx+c denkleminin a katsayısını giriniz=");scanf("%f",&a); printf("ax^2+bx+c denkleminin b katsayısını giriniz=");scanf("%f",&b); printf("ax^2+bx+c denkleminin c katsayısını giriniz=");scanf("%f",&c); delt=b*b-4*a*c; if(delt>0) { x1=(float)(-b+sqrt(delt))/(2*a); x2=(float)(-b-sqrt(delt))/(2*a); printf("\nreelkokler:"); printf("\nx1 = %f ve x2 = %f",x1,x2); else { printf("\nkoklerreel Degildir! "); getch();
Belirlenen şifre ile girilen şifreyi karşılaştıran program
Örnek: Şifre kontrolü yapan program #include<stdio.h> #include<conio.h> inta,b,; main() { printf("sifreyigiriniz=");scanf("%d",&a); if(a==12345) { printf("\nsifre dogru HOSGELDINIZ!"); } else { printf("\nsifre YANLIS\a\a\a\a\a\a "); } getch(); }
Karakter şifre tanımlama #include<stdio.h> #include<conio.h> #include <string.h> chara[5]; main() { printf("karakter Sifreyi giriniz=");scanf("%s",&a); if( strcmp(a,"mku")==0 ) { printf("\nsifre dogru HOSGELDINIZ!"); } else { printf("\nsifre YANLIS\a\a\a\a\a\a "); } getch(); }
Örnek: FONKSİYON Hesaplama
Kullanıcıya yaşını soran; Yaş 18 den küçükse ekrana Hayatın başındasın 18 ile 30 arasında ise ekrana Gençlik bambaşka 30 ile 50 arasında ise olgunluk birbaşka Yazdıran programı yazınız
#include<stdio.h> int main( void ) { int girilen_yas; printf("lütfen yaşınızı giriniz> "); scanf("%d",&girilen_yas); if( girilen_yas < 18 ) printf("hayatın başındasınız.\n"); else if( girilen_yas >= 18 && girilen_yas <= 30 ) printf("gençlik bambaşka!\n"); else if( girilen_yas > 30 && girilen_yas <= 50 ) printf("olgunluk birbaşka!\n"); else printf("hata: Girilen yaş tanımlı değildir!\n"); return 0;
İki tam sayı alacak ve verilecek operatöre göre (+, -, *, /, %) işlem yapacak bir program yazınız.
#include<stdio.h> int main( void ) { int sayi_1, sayi_2; char operator_simgesi; printf("lütfen işlem simgesi giriniz> "); scanf("%c",&operator_simgesi); printf("lütfen birinci sayıyı giriniz> "); scanf("%d",&sayi_1); printf("lütfen ikinci sayıyı giriniz> "); scanf("%d",&sayi_2); switch( operator_simgesi ) { case '+': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 + sayi_2); break; case '-': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 - sayi_2); break; case '%': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 % sayi_2); break; case '*': printf("%d %c %d = %d\n",sayi_1,operator_simgesi, sayi_2, sayi_1 * sayi_2); break; case '/': printf("%d %c %d = %.2f\n",sayi_1,operator_simgesi, sayi_2, (float)sayi_1 / sayi_2);break; default: printf("hata: Tanımsız bir operatör girdiniz!\n"); return 0;
Bir alışveriş sitesi fiyatı 150TL yi geçen siparişlerden kargo ücreti almamaktadır. Eğer ki sipariş miktarı 150TL değilse kargo ücreti olarak 10TL almaktadır. Yapılan alışverişte ödenecek tutarı hesaplayan programı yazınız?