Merhaba, hoş geldiniz. Yeni bir bölüme başlıyoruz ve kontrol
hakkında konuşmaya başlayacağız. Akış kontrol akışı temel
olarak koşullu ifadeler, deyimler, eğer
ifadeleri ve programınızda kararlar almanın yanı sıra döngüler
olan tekrar eden kodlarla ilgilenir.
Dolayısıyla bu önemli bir bölümdür ve bunlar çoğu dilde kullanılan temel
programlama teknikleridir. C'ye nasıl özgü oldukları hakkında konuşacağız.
Ancak, sözdizimi hakkında konuşmaya
başlamadan ve örneklere geçmeden önce size genel bir bakış sunmak için.
Size bir program açısından kontrol akışının ne anlama geldiğini anlatmak istiyorum.
Dolayısıyla, kaynak dosyalarınızdaki ifadeler genellikle göründükleri sırayla yukarıdan
aşağıya doğru yürütülür, buna sıralı denir.
Tüm bu ifadeler elinizde. İfadelerin içindeki veya dışındaki
ifadeleri öğrendik, ancak siz baştan sona gidiyorsunuz.
Şimdiye kadar öğrendiklerimiz bunlar.
Biz hiç atlamadık. Başından sonuna kadar otomatik olarak tekrarladığımız hiçbir
şey yapmadık.
Ancak kontrol akışı ifadeleri, karar verme, esasen soru sorma, kodu
tekrarlama, döngü ve dallanma gibi şeyler ekleyerek
bu yürütme akışını bölecektir.
Bu, programınızın belirli kod bloklarını koşullu
olarak yürütmesini sağlar.
Yani sadece ana işlevin en üstünden başlayıp en altına gitmeyecek.
Şimdi bir ileri bir geri gidiyor olabilirsiniz.
Dallara ayrılıyor ya da kod bloklarına girip çıkıyor
olabilirsiniz. Dolayısıyla programdaki
kod biraz daha karmaşık hale gelecektir.
Yani kontrol akışı karar verme ifadeleri açısından
bahsettiğimiz şeyler. Bu, esasen bir soru sorduğunuz
ve ardından doğru veya yanlış bir cevap aldığınız yerdir.
C'de desteklenen şeyler if karar deyimi ve ardından
if else ve ayrıca bir switch deyiminiz
ve bir go to deyiminiz vardır.
Bunların hepsi karar alma ifadeleridir. Git, buraya koydum
çünkü c'de var.
Muhtemelen kullanmak istemeyeceksiniz. Kısaca bundan bahsedeceğim.
Bu gerçekten de programcının bir etikete kodlayacağı bir şeydir.
Ayrıca c dilinde desteklenen döngü ifadelerimiz de var.
4 anahtar sözcüğü, while anahtar sözcüğü ve do while anahtar sözcüğü.
Bunlar üç tür döngüdür. Döngüler kodu tekrarlayacaktır.
Ve sonra dallanma ifadeleri de benzerdir. Genellikle bir döngünün içinde
veya bir kararın içinde kullanılırlar.
Bunlar, kesintisiz iade gibi şeylerdir.
Bu nedenle, bu bölümde karar ve döngü için belirli derslere odaklanmaya çalışacağız
ve daha sonra biraz devam etme hakkında konuşacağız.
Yine çok önemli bir ders.
Yani karar verme. Bir programın içinde bu gerçekten ne anlama geliyor?
Yine, şu ana kadar temel olarak değişkenler oluşturduk, bunları bildirdik
ve hesaplamalar yaptık.
Ancak hiçbir zaman belirli bir mantık kararı vermedik.
Yani bir karar verme kavramı, programcının program tarafından değerlendirilecek
veya test edilecek bir veya daha fazla koşulu belirtmesini gerektirecektir.
Esasen olan şey, programın içinde bir soru sormanızdır, mantık budur.
Ve eğer koşul ya da sorunun cevabı doğruysa, o zaman
bazı kodları, bazı ifadeleri
çalıştıracaksınız. Bu sorunun yanıtı yanlışsa, başka
deyimleri çalıştırabilir veya hiçbir şey yapmayabilirsiniz.
İşte size bir programda karar verme kavramını gösteren küçük
veri akış diyagramımız. Sende bu durum var.
Bu koşulun cevabına bağlı olarak, doğru ya da yanlış, kodu
çalıştıracak ya da çalıştırmayacaksınız.
Duruma göre değişir. Biraz daha karmaşık hale gelebilir, ancak programınızda
nasıl karar verebileceğinizin temel yapısı budur.
Bunun anlamı, kaynak kodunuzun içinde, bir sorunun cevabının doğru ya da yanlış olmasına
bağlı olarak bazı kodları atlıyor
olabileceğinizdir.
Dolayısıyla, c tarafından desteklenen ifadeler if ifadesidir.
if deyiminin özel bir anahtar sözcüğü vardır.
Eğer bu konu hakkında ayrıntılı olarak konuşacak ve örnekler
verecek olursak, bu ifade esasen şu soruyu soracaktır.
Parantezlerin içinde bir Boolean ifadesi olacak.
Boolean ifadelerinin ne olduğunu biliyoruz.
Temel olarak doğru veya yanlış bir değer
döndürebilirler, ifadesi dışında
doğru veya yanlış bir değer döndüren bir deyim ve if deyiminin
gövdesi içinde bir veya daha fazla deyim olabilir.
Ayrıca bir if else var.
Yani bu, isteğe bağlı bir else tarafından takip edilebilen bir if ifadesidir.
Eğer doğruysa, bunu yap. Yanlışsa, başka bir şey yapın.
Ve sonra iç içe geçmiş if ifadelerimiz var.
Bu, başka bir if deyiminin içinde bir if deyimi olduğunda gerçekleşir.
Bu yüzden birden fazla soru soruyor olabilirsiniz.
Ve yine, bu spesifik örnekler ve sözdizimi
ile detaylandırılacaktır. Bu noktada sadece genel bir bakış sunmaya çalışıyorum.
Kodun tekrarlanmasına gelince, bu yine başka bir kontrol akışı mekanizmasıdır
çünkü artık sırayla gitmiyorsunuz.
Yinelenen kodla, aynı kodu birkaç kez çalıştıracaksınız.
Dolayısıyla, bir kod bloğunu birkaç kez çalıştırmanız gereken bir durum olabilir, ifadeler sırayla
çalıştırılır, bir işlevdeki ilk ifade önce
çalıştırılır, ardından ikinci ifade çalıştırılır ve bu böyle devam eder.
Her şey değişir. Bu, döngü gövdesinin kod bloğu gibi bir şeydir.
Dolayısıyla bir döngü deyimi, her bir deyimin birçok kez tekrarlanmasına gerek
kalmadan bir deyimi veya deyimler grubunu birden çok kez çalıştırmamızı
sağlar.
Döngü kontrol deyimleri yürütmeyi normal sırasından değiştirir.
Yürütme kapsamdan ayrıldığında,
bu kapsamda oluşturulan tüm otomatik nesneler yok edilir.
Yani bu, değişkenlerle ilgili kapsamdan bahsediyor
ve temel olarak bir döngünün gövdesinde olduğunuzda ve yerel değişkenleriniz
olduğunda, bunlara döngü dışından erişemeyeceğinizi
söylüyor.
Bir koşul hiçbir zaman yanlış olmazsa bir döngü sonsuz döngü haline gelir.
Bu da programınızın takılacağı anlamına gelir çünkü kodu tekrar tekrar
çalıştırırsınız ve asla gerçekten çıkamazsınız.
Bazen bunu gerçekten yapmanız gerekebilir.
Bir şeyi izlediğinizde veya bir şeyi dinlediğinizde.
Ve bunu gerçekten uygulamanın ve görmenin yolu, büyük olasılıkla bir for döngüsü kullanmaktır, ancak
bir while döngüsü de kullanabilirsiniz.
Sonsuz döngülerden ve bunlara neden ihtiyaç duyabileceğinizden ve bunun ne anlama geldiğinden daha sonraki
bir derste bahsedeceğiz.
Yani bir döngünün gerçek veri akışı şuna benzer.
Bir durumu kontrol edersiniz. Ve koşul doğruysa, bazı kodlar çalıştırırsınız
ve ardından koşul yanlış olarak değerlendirilene kadar bunu tekrar tekrar yapmaya
devam edersiniz.
Koşul yanlış olarak değerlendirildiğinde, döngüden çıkarsınız.
C'de desteklenen döngüler while döngüsü, for döngüsü ve do while döngüsüdür.
Özel anahtar kelimeler.
While döngüsü, belirli bir koşul doğru olduğu sürece bir deyimi
veya bir grup deyimi tekrarlar. Yani koşul en üstte, vahşi parantezler içinde.
Koşul, döngü gövdesini çalıştırmadan önce en üstte test edilir.
Desteklenen üç farklı döngü türü olsa da, birini diğerinden daha
fazla kullanabilirsiniz. while ve for döngüleri hemen hemen aynıdır, sadece
farklı sözdizimine sahiptirler. Ve daha farklı şeyler yapabilirsiniz.
Do while döngüsü farklıdır çünkü aslında en
altta testiniz vardır. Böylece döngünün gövdesini her zaman en az bir kez çalıştırmayı
garantilemiş olursunuz.
Ama yine de bu konu hakkında konuşacağız. For döngüsü, özel anahtar sözcük, dizi ifadelerini
birden çok kez yürütür. Sadece temelde daha
kolay sözdizimine sahiptir. Döngü kontrol değişkenini ve koşulları tek
bir deyimde başlatabilirsiniz.
Dediğim gibi, do a while döngüsü biraz farklıdır çünkü
bu bir son test döngüsüdür, bir çıkış kontrol döngüsüdür, yani döngünün
gövdesine her zaman en az bir kez girmeniz garanti edilir.
Ayrıca iç içe döngüler hakkında da konuşacağız. Bu yine bir döngünün içindeki bir döngüdür,
tıpkı iç içe geçmiş bir for if deyiminin bir if deyiminin içindeki bir if deyimi olması gibi,
aynı şey döngüler için de geçerlidir ve bunun bazen nasıl gerekli olduğunu ve
işleri nasıl karmaşıklaştırabileceğini göreceğiz, ancak programlama
için gereklidir.
Farklı kontrol akışı mekanizmalarına hızlı bir genel bakış, yüksek
seviye ve daha sonra bunu gerçekten uygulamak için c tarafından desteklenen
bazı anahtar kelimeler.
Şimdi devam edelim ve bazı örnekler verelim ve karar verme hakkında konuşmaya başlayalım.
Teşekkür ederim.