TEMEL C PROGRAMLAMA DERSİ 2 HAZIRLAYAN GÖKHAN YALINIZ HUNROBOTX 2012
OPERATÖRLER Degişkenler veya sabitler üzerinde daha önceden belirlendiği şekilde işlem yaptıran sembollerdir. Aritmetik Operatörler Değişkenler veya sabitler üzerinde temel aritmetiksel işlemler yapar. Operator Açıklama Ornek Anlami + toplama x+y x ve y nin toplamı - cikarma x-y x ve y nin farkı * carpma x*y x ve y nin çarpımı / bolme x/y x ve y nin oranı % artık bölme x%y x/y den kalan sayı HUNROBOTX 2012
Karşılaştırma ve Mantıksal Operatörler Değişkenler veya sabitleri karşılaştırmak için kullanılır. Mantıksal işlemler için kullanılır. Operator Açıklama Ornek Anlamı > büyüktür x>y x, y den büyük mü? < küçüktür x<y x, y den küçük mü? == eşittir x==y x, y ye eşit mi? >= büyük-eşittir x>=y x, y den büyük yada eşit mi? <= küçük-eşittir x<=y x, y den küçük yada eşit mi? != eşit değil x!=y x, y den farklı mı? && mantıksal VE x>2 && x<y x 2 den büyük VE y den küçük mü? || mantıksal VEYA x>2 || x<y x 2 den büyük VEYA y den küçük mü? HUNROBOTX 2012
Atama Operatörleri Değişkenlere bir deger atamak için kullanılır. Operator Açıklama Ornek Anlamı = atama a=2; += ekleyerek atama a+=3; a=a+3; -= eksilterek atama a-=4; a=a-4; *= çarparak atama a*=5; a=a*5; /= bölerek atama a/=6; a=a/6; %= bölüp, kalanını atama a%=7; a=a%7; ++ bir arrtırma a++; veya ++a; s=a+1; -- bir azaltma a--; veya --a; a=a-1; HUNROBOTX 2012
Operatörlerde Öncelik Sırası HUNROBOTX 2012
KARAR VERME KONTROL DEYİMLERİ Karar verme kontrol deyimleri verilen şartı kontrol eder.Kontrol sonucuna göre istenen işlemleri yapar. if , if else , switch case HUNROBOTX 2012
if TANIMI if deyimi verilen şartın gerçekleşmesine bağlı olarak komut veya komutların çalışmasını sağlar. YAPISI if(sart) { komut(lar); } ÖRNEK if(sayi>0) printf(“Sayi pozitiftir\n”); HUNROBOTX 2012
İf else TANIMI if else deyimi parantez içindeki şartın gerçekleşme ve gerçekleşmeme durumuna göre ayrı ayrı komut(lar) yerine getirir. YAPISI if (sart) { komut(lar); } else { ÖRNEK if(sayi%2==0) printf(“Cift\n”); else printf(“Tek\n”); HUNROBOTX 2012
İç içe if else TANIMI İç içe if else deyimini sartın 2den fazla olduğu durumlarda tercih edilir YAPISI if (sart_1) { komut(lar); } else if( sart_2) . ÖRNEK if (sayi<0) printf(“Sayi negatiftir\n”); else if (sayi>0) printf(“Sayi pozitiftir\n”); else printf(“Sayi 0 dır\n”); HUNROBOTX 2012
switch case TANIMI Verilen ifade veya değişkenin aldığı değere göre işlem yapmak için kullanılır. YAPISI switch(degisken) { case sabit_1: komut(lar); break; case sabit_2: . default: } ÖRNEK switch(kaynama_nokt) case 100: printf(“su \n”); case 357: printf(“civa\n”); case 2660: printf(“altın\n”); printf(“bulunamadı”); HUNROBOTX 2012
DÖNGÜ DEYİMLERİ Yazılan programda yapılacak komutlar belli bir sayıda veya belli koşul sağlandığında sürekli tekrar edecekse döngü deyimleri kullanılır. while, do while, for HUNROBOTX 2012
while TANIMI Bu döngü belirtilen şart sağlandığı sürece istenen komutlar gerçekleştirilir. YAPISI while(sart) { komut(lar); } ÖRNEK int i=0; while(i<5) { printf(“i=%d\n”,i); i++; //////// while(1) { printf(“Hunrobotx\n”); HUNROBOTX 2012
do while TANIMI Bu döngünün çalışma mantığının while döngüsünden farkı içerisindeki komutların en az bir kere gerçekleşecegidir. YAPISI do { komut(lar); } while(sart); ÖRNEK int i=0; printf(“hunrobotx\n”); i++; } while(i<10); HUNROBOTX 2012
for TANIMI for deyiminde verilen şart doğru olduğu sürece belirlenen islemler tekrarlanır. Diğer döngülere göre yapısal farklılığı vardır. YAPISI for(atama;sart:adım) { komut(lar); } ÖRNEK for(i=0;i<10;i++) printf(“Hunrobotx\n”); //////////// for(;;) HUNROBOTX 2012
FONKSİYONLAR C dilinde kullanıla alt programlara fonksiyon denilmektedir. Program alt porgramlara bölünerek hata bulma hızı ve zaman kazacı arttırılır. Terimler Parametre:Fonksiyona gönderilen sayı. Argüman:Fonksiyonun girdi olarak aldığı sayı. Prototip:Fonksiyonların kullanılmadan önce programa tanıtılması. Programlar argüman ve parametreye bağlı olarak gruplandırılabilir.Bunlardan 2’sini işleyecegiz. HUNROBOTX 2012
Fonksiyon Cagırımı: Foksiyon Prototipi: fon_veri_tipi fon_ismi (parametre_veri_tip(ler)i parametre_ism(ler)i); int fon_1(int x,int y) ; int fon_2(int , int ); double fon_3(int ,); Fonksiyon Cagırımı: fon_1(3,5); fon_2(6,123); fon_3(9); Dönderilecek deger için(argüman) return komutu kullanılmalıdır. HUNROBOTX 2012
Parametre Alıp Argüman Döndüren TANIMI Bu fonksiyonlar ana fonksiyondan veri alır, gerekli işlemleri yapar, tekrar argüman tipine göre oluşan degeri fonksiyonun çagırıldığı yere gönderir. YAPISI fon_veri_tipi fon_ismi (par_veri_tipi par) { komut(lar); return argumant; } ÖRNEK int toplama(int x,int y) int sonuc; sonuc=x+y; return sonuc; HUNROBOTX 2012
Parametresiz Olup Argüman Döndürmeyen TANIMI Bu fonksiyonlar ne ana fonksiyondan veri alır ne de veri gönderir. Bilgi verme anaclı kullanılabilir. *Kendi içinde veri işleyebilir. YAPISI void fon_ismi(void) { komut(lar); } ÖRNEK void tanıtım( ) printf(“Hunrobotx\n”); printf(“2012\n”); printf(“Temel C\n”); printf(“***************”); HUNROBOTX 2012
DİZİLER Dizi,aynı tipdeki verilerin birlikte tutulduğu yapıdır. Dizilerin ilk elemanının index i 0 dan baslar , eleman_sayisi-1 en büyük indexidir. Dizi tanımı dizi_veri_tipi dizi_ismi[eleman_sayısı]; int array[5]; Dizelere ulaşım için for döngüsü yapılır. for(i=0;i<eleman_sayısı;i++) printf(“array[%d]=%d \n”,i,eleman); for(i=0;i<5;i++) printf(“array[%d]=%d \n”,i,array[i]); HUNROBOTX 2012
Diziye Değer Atama Dizi tanımı yaptıktan hemen sonra dizi_veri_tipi dizi_ismi[eleman_sayısı]={elemanlar}; int array[5]={1,2,3,4,5}; Dizi tanımından ayrı dizi_ismi[eleman_sayısı]={elemanlar}; array[5]={1,2,3,4,5}; Tek tek dizi_ismi[eleman_1]={1_eleman}; array[0]=1; array[1]=2; array[2]=3; array[3]=4; array[4]=5; HUNROBOTX 2012
Soru Vakti HUNROBOTX2012