- if - else zinciri
- switch case
- for - while döngüleri
- C fonksiyonları
If - Else Zinciri
Herhangi bir koşul sağlandığı zaman herhangi bir işlemi yapmak için if komutunu kullanırız.
if (<#koşul#>) {
<#işem#>
}
if (arc4random_uniform(10)+1< 5) {
printf("büyük");
}
arc4random_uniform() fonksiyonu aldığı bir x sayısı için 0 ile x-1 arasında rastgele bir tamsayı dödürür.
Sıradaki hedefimiz ise 5 ten büyükse büyük değilse küçük yazdırmak olsun. Bunun için else komutunu kullanırız. Else komutu içindeki işlemler if içerisindeki koşulun sağlanmaması durumunda gerçekleşir.
if (arc4random_uniform(10)+1<5) {
printf("büyük");
} else {
printf("küçük");
}
Ve son olarak öğrenmemiz gereken else if komutu. Else if komutu bir çok koşul söz konusu olduğunda uzun if-else zincirleri oluşturmamızı sağlar. Bu zincirleri istediğimiz kadar uzatabiliriz. Örnek üzerinden nasıl çalıştığını anlatalım.
int x = arc4random_uniform(5)+1;
if (x == 1) {
printf("merhaba");
} else if (x == 2){
printf("dünya");
} else if (x == 3){
printf("yaşasın");
} else if (x == 4){
printf("if elsi öğrendim");
}
else printf("görüşürüz");
Bu kod parçası öncelikle "x" e 1-5 arasında bir tamsayı atıyor. Sonra eğer x 1 ise merhaba
yazıyor. 1 değil 2 ise
dünya yazıyor. Ne 1 ne 2 değil 3 ise yaşasın yazıyor. 1, 2 ve ya 3 ten hiçbiri değil 4 ise if elsi öğrendim yazıyor. Hiç biri değilse görüşürüz yazıyor.
Switch Case
Uzun if else zincirleri yazmak yerine Switch Case i kullanabiliriz. Yalnız Switch Case çok kullanışlı bir komut değildir. Bir Switch Case aşağıdaki gibidir.
switch (<#ifade#>) {
case <#sabit#>:
<#işlem#>
break;
default:
<#işlem#>
break;
}
Herhangi bir değişkeni ifade yazan yere yazarız. Sonra her bir durum için yeni bir case açıp içine sabit bir değer girilir. Eğer ifade sabite eşit olursa işlem kısmına gelir ve işlemleri yapar. Ardından break satırına gelir ve Switch Case sonlanır. Eğer ifade hiçbir case e eşit değilse default kısmının işlemini yapar. Hadi bir örnek yapalım.
Bu Switch Case ile aşağıdaki if-else zinciri eşdeğerdir.
Evet bu iki kod içinden seçim size kalmış. Ama benim tavsiyem if-else kullanmanızdır. Bu arada Switch Case kullanacaklar için söyleyeyim sakın "break;" koymayı unutayın.
Döngü gövdesi koşul deyimi true olduğu sürece çalıştırılır, koşul false olduğunda ise döngüden çıkılır. While döngüsünde döngü değişkeni bulunmaz, bunun yerine while bloğuna girmeden başlangıçta değeri bilinen bir değişken kullanılır. Koşul ifadesiyle ilişkili olan bu değişkenin değeri döngü bloğu içerisinde değiştirilir. Bir örnek verelim.
Bu kod parçası x 0 dan büyük olduğu sürece x in değerini consola yazıyor ve ardından x in değerini 1 azaltıyor.
int x = arc4random_uniform(5)+1;
switch (x) {
case 1:
printf("x = 1");
break;
case 2:
printf("x = 2");
break;
case 3:
printf("x = 3");
break;
case 4:
printf("x = 4");
break;
default:
printf("x = 5");
break;
}
Bu Switch Case ile aşağıdaki if-else zinciri eşdeğerdir.
int x = arc4random_uniform(5)+1;
if (x == 1) {
printf("x = 1");
}else if (x == 2){
printf("x = 2");
}else if (x == 3){
printf("x = 3");
}else if (x == 4){
printf("x == 4");
}else printf("x == 5");
For-While Döngüleri
While Döngüsü
While döngüsü, belirlenen komut bloğunu koşul sağlandığı sürece çalıştıran temel döngü yapılarından bir tanesidir. Bu döngü, basit bir kullanıma sahip olması sebebiyle tercih edilir. While döngüsünün genel formu aşağıdaki gibidir.
while (<#koşul#>) {
<#işlem#>
}
int x = 10;
while (x > 0) {
printf("%d",x);
x--;
}
Bu kod parçası x 0 dan büyük olduğu sürece x in değerini consola yazıyor ve ardından x in değerini 1 azaltıyor.
For Döngüsü
for deyimi ve for deyimi kullanılarak oluşturulacak döngü yapısı, işlemlerin tekrar sayısının önceden belli olduğu durumlarda kullanılır. for deyiminin yazılışı:
şeklindedir.
İlk olarak ifade1 hesaplanır; bu genellikle bir ya da daha fazla değişkene ilk değeri veren bir atamadeyimidir. Sonra ifade2 hesaplanır. Bu, deyimin koşulsal kısmıdır. ifade2 yanlışsa, programın kontrolü for deyiminden çıkar ve program akışı programdaki bir sonraki deyime geçer (deyim_x). Eğer ifade2 doğru ise, deyim veya deyimler grubu uygulanır. Deyim ya da blok yapılı şekilde deyimler grubu çalıştırıldıktan sonra, ifade3 çalıştırılarak hesaplanır. O zaman çevrim yine geriye, ifade2'ye döner. İfade1 sadece bir kez çalıştırılır; ifade2 ve ifade3 ise, çevrimin her tekrarında (iteration) çalışıtırılır.
for (<#işlem1#>; <#işlem2#>; <#işlem3#>) {
<#deyim#>
}
İlk olarak ifade1 hesaplanır; bu genellikle bir ya da daha fazla değişkene ilk değeri veren bir atamadeyimidir. Sonra ifade2 hesaplanır. Bu, deyimin koşulsal kısmıdır. ifade2 yanlışsa, programın kontrolü for deyiminden çıkar ve program akışı programdaki bir sonraki deyime geçer (deyim_x). Eğer ifade2 doğru ise, deyim veya deyimler grubu uygulanır. Deyim ya da blok yapılı şekilde deyimler grubu çalıştırıldıktan sonra, ifade3 çalıştırılarak hesaplanır. O zaman çevrim yine geriye, ifade2'ye döner. İfade1 sadece bir kez çalıştırılır; ifade2 ve ifade3 ise, çevrimin her tekrarında (iteration) çalışıtırılır.
for (int i = 0; i<10; i++) {
printf("%d",i);
}
C Fonksiyonları
Objective C içerisinde Classlar için yazılan fonksiyonların dışında C fonksiyonlarınıda kullanabiliriz. Örneğin matematiksel işlemleri yapmak için C fonksiyonunu kullanabiliriz.
C de fonksiyon dizimi
En basitçe iki sayının toplamını hesaplayan bir C fonksiyonu yazalım.
C de fonksiyon dizimi
<#döndürülecek nesnenin türü#> <#fonksiyon adı#> ( <#arguman1#> , <#arguman2#> ... ){
<#işlem#>
return <#sonuç#>
}
En basitçe iki sayının toplamını hesaplayan bir C fonksiyonu yazalım.
int topla (int x , int y){
int cevap = x+y;
int cevap = x+y;
return cevap;
}
Eğer fonksiyon bir sonuç döndürmüyor sadece işlem yapıyorsa fonksiyonun başına void yazılır.Void fonksiyonlar birşey return etmek zorunda değildir. Void dışındaki fonksiyonlar return etmek zorundadır. Son olarakta bir void fonksiyonu örneği yapalım.
void selam(){
printf("Hello World!\n");
}
Daha Çok C
Objective C yazmak istiyorsanız C dilini bilmeniz gerekir. C dili ile ilgili bir site olmadığımız için daha fazla C ye yer vermek istemiyorum. Daha fazla C öğrenmek için şu blogu takip edebilirsinizhttp://cpp-programlama.blogspot.com.tr
Hiç yorum yok :
Yorum Gönder