Çalıştırılabilir C ifadeleri 2 iş yaparlar.
description
Transcript of Çalıştırılabilir C ifadeleri 2 iş yaparlar.
![Page 1: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/1.jpg)
• Çalıştırılabilir C ifadeleri 2 iş yaparlar. İşlem gerçekleştirir.( hesaplamalar, veri girdi/çıktısı)Karar verir.
Örneğim; bir kişinin bir sınavdan aldığı not 60’tan büyükse yada 60’a eşitse ‘tebrikler geçtiniz’ yazdirabiliriz.
• If kontrol yapısı Bir koşulun doğruluğu yada yanlışlığına karar veren, if kontrol
yapısı öncelikle basit bir biçimde tanıtılacaktır. Daha detaylı olarak sonra.
Eğer koşul doğru ise, if yapısının gövdesindeki ifade çalıştırılır.Yanlışsa, if yapısının gövdesindeki ifade çalışmaz.
Çalıştırma süreci if yapısından hemen sonraki ifadeyle devam eder.
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
![Page 2: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/2.jpg)
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Operatörler C’deki karşılığı
C’de örneği C’de anlamı
Eşitlik operatörleri
== x == y x eşittir y
!= x != y x eşit değildir y
Karşılaştırma operatörleri
> x > y x büyüktür y
< x < y x küçüktür y
≥ >= x >= y x büyüktür ya da eşittir y
≤ <= x <= y x küçüktür yada eşşitir y
![Page 3: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/3.jpg)
• ==, !=, >= ve<= operatörleri arasında boşluk kullanılması yazım hatasına sebep olur.• !=, >= ve <= operatörlerinin ters çevrilerek
=!, => ve =< şeklinde kullanılması yazım hatasına sebep olur.• == operatörünün = ile karıştırılması.
Genel Programlama Hataları
![Page 4: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/4.jpg)
#include <stdio.h>#include <conio.h>int main(){ int num1, num2; printf( "Iki tam sayi girin.\n" ); printf( "Bu iki sayinin karsilastirmasi yapilacaktir: " ); scanf( "%d%d", &num1, &num2 ); if ( num1 == num2 ) printf( "%d esittir %d\n", num1, num2 );
if ( num1 != num2 ) printf( "%d esit degildir %d\n", num1, num2 );
if ( num1 < num2 ) printf( "%d kucuktur %d\n", num1, num2 );
if ( num1 > num2 ) printf( "%d buyuktur %d\n", num1, num2 );
if ( num1 <= num2 ) printf( "%d kucuktur ya da esittir %d\n", num1, num2 );
![Page 5: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/5.jpg)
if ( num1 >= num2 ) printf( "%d buyuktur ya da esittir %d\n", num1, num2 ); getch(); return 0; }
![Page 6: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/6.jpg)
Şu ana kadar anlatılan operatörlerin öncelikleri ve işleyişleri
Operatörler İşleyişleri
( ) Soldan sağa
* / % Soldan sağa
+ - Soldan sağa
< <= > >= Soldan sağa
== != Soldan sağa
= Sağdan sola
![Page 7: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/7.jpg)
if Seçim Yapısı
• Seçim yapısıBir işin değişik yönlerinden birini seçmek için kullanılır.Sahte kodu(pseudocode)
Eğer (if) ögrenci notu 60’dan büyükse ya da 60’a eşitse ‘Geçtiniz’ yazdır.
• Eğer koşul doğru ise‘Geçtiniz’ yazdırılır ve diğer sahte koda geçilir.Değilse, yazdırma yaptırılmaz ve doğrudan diğer sahte
koda geçilir.
![Page 8: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/8.jpg)
if Seçim Yapısı
• Sahte kodu C’e yazarsak if ( not >= 60 ) printf( "Gectiniz\n" );
Sahte kod, C koduna oldukça yakındır.• Elmas Sembolü( Karar İşareti)
Burada bir kara verileceğini gösterir.Bir koşul içerir ve bu koşul doğru ya da yanlış
olabilir.Koşulu test et, uygun yolu seç.
![Page 9: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/9.jpg)
Tek Seçimli if Yapısının Akış Diyagramı
60
![Page 10: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/10.jpg)
İf/else Seçim Yapısı
• İfKoşul doğru ise belirlenen işi yapar, yanlış ise
belirlenen iş atlar.• if/else
Programcıya koşul doğruysa belirli işler, yanlışsa belli işleri yaptırabilme fırsatı verir.
• Sahte kodEğer ( if ) öğrencinin notu, 60 ya da daha büyükse
“Geçtiniz“ yazdır aksi takdirde ( else )
“Kaldınız” yazdır
![Page 11: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/11.jpg)
İf/else Seçim Yapısı• C kodu
if ( not >= 60 ) printf ( "Geçtiniz\n" );
else printf ( "Kaldınız\n" );
• Üçlü koşul operatörü (?:) Üç argüman(operand) alır.( koşul, doğruysa deyimin değeri,
yanlışsa değimin değeri)printf ( "%s\n", not >= 60 ? "Geçtiniz" : "Kaldınız" ); (not >= 60) ? printf ( "Geçtiniz\n") : printf ( "Kaldınız\n" );
![Page 12: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/12.jpg)
Çift Seçimli if/else Yapısının Akış Diyagramı
![Page 13: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/13.jpg)
İf/else Seçim Yapısı
• Yuvalı if/else seçim yapılarıif/else yapıları içerisine başka if/else
yapıları yerleştirerek birden fazla koşulu aynı anda test etmemizi sağlar.
Bir koşul sağlandığında, geriye kalan tüm ifadeler geçilir.
![Page 14: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/14.jpg)
İf/else Seçim Yapısı• Yuvalı if/else yapısı için sahte kod:
Eğer(if) öğrencinin notu 90'a eĢit ya da 90'dan büyükse “A” yazdır Aksi takdirde(else) Eğer(if) öğrencinin notu 80'a eĢit ya da 80'dan büyükse “B” yazdır Aksi takdirde(else) Eğer(if) öğrencinin notu 70'a eĢit ya da 70'dan büyükse “C” yazdır Aksi takdirde(else) Eğer(if) öğrencinin notu 60'a eĢit ya da 60'dan büyükse “D” yazdır Aksi takdirde(else) “F” yazdır
![Page 15: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/15.jpg)
İf/else Seçim Yapısı• Yuvalı if/else yapısı için C kodu:
if ( not >= 90 ) printf("A\n"); else if ( not >= 80 ) printf("B\n"); else if (not >= 70) printf ("C\n"); else if ( not >= 60 ) printf ( "D\n" ); else printf ("F\n" );
![Page 16: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/16.jpg)
İf/else Seçim Yapısı
• Birleşik ifadeİfadeler küme parantezi içine alınır.Örneğin;
if ( not >= 60 ) printf ( "Geçtiniz\n" ); else { printf (" Kaldınız\n" ); printf (" Bu dersi tekrar almalısınız\n" ); }
![Page 17: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/17.jpg)
while Döngüsü • Döngü yapısı
Programcıya bir koşul doğru olduğu sürece bir işlemi tekrarlatma imkanı sağlar.
Sahte kodualışveriş listemde birden fazla malzeme bulunduğu sürece ( while ) bir sonraki malzemeyi al ve alışveriş listemden bu malzemeyi çıkart
Bu işlem koşul doğru olduğu sürece tekrarlanır.Örneğin;
carpim = 2; while ( carpim <= 1000 ) carpim = 2 * carpim;
![Page 18: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/18.jpg)
•while koşulunu yanlış hale getirecek işlemi, while yapısının gövdesinde bulundurmamak. Normal olarak bu döngü yapısı hiç bir zaman sonlanmaz. Bu hataya “sonsuz döngü” hatası denir.
Genel Programlama Hataları
![Page 19: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/19.jpg)
while Döngüsü Akış Diyagramı
![Page 20: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/20.jpg)
Sayıcı Kontrollü Döngü
• Sayıcı Kontrollü DöngüSayaç(sayıcı) belli bir değere ulaşana kadar döngü
tekrarlanır.Belirli döngüler: Döngü başlamadan önce döngünün
kaçıncı tekrardan sonra sonlanacağı bilinir.Örneğin;
Bir sınıftaki 10 kişi bir sınava girmiştir. Notlar(0’dan 100’ e kadar tamsayılar) size verilmiş ve bu sınavın sonucunda sınıfın ortalamasını bulmanız istenmiştir.
![Page 21: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/21.jpg)
Sayıcı Kontrollü Döngü
• Sahte Kodu:toplamı 0'a ata sayıcı 'yı 1'e ata sayıcı 10' e git ya da 10'dan küçükken (while)
Diğer notu gir. Girilen notu, toplama ekle sayıcı‟ ya 1 ekle
Sınıf ortalamasını, toplamı 10'a bölerek bul Sınıf ortalamasını yazdır.
![Page 22: Çalıştırılabilir C ifadeleri 2 iş yaparlar.](https://reader033.fdocument.pub/reader033/viewer/2022061604/568164d3550346895dd70531/html5/thumbnails/22.jpg)
#include <stdio.h>#include <conio.h>int main(){ int counter, grade, total, average; total = 0; counter = 1; while ( counter <= 10 ) { printf( "Not girin: " ); scanf( "%d", &grade ); total = total + grade; counter = counter + 1; } average = total / 10; printf( "Sınıf Ortalaması: %d\n", average ); getch(); return 0; }