Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
1
Bir Döngünün Bölümleri (hatırlatıcı)
Her döngü her zaman 3 ana bileşeni içerir: Ateşleme: değişkenleri başlangıç durumuna getir Test et: bazı bilinen şartlara karşı test et Güncelleme: test edilen değişkeni güncelle
2
Döngü Türleri (hatırlatıcı)
Sonsuz döngü: Döngünüzün gelecekte kaç kez yürütüleceğini bilmezsiniz. Örneğin, Bir kişinin kaç kitap sipariş etmiş olabileceğini bilmezsiniz Sonlu Döngü: Döngünün kaç kez yürütülmesini istediğinizi tam olarak bilirsiniz. ille de derleme anında değil
3
For döngüleri C’ deki bir başka döngü türü de for döngüleridir.
Sonlu döngüleri için oldukça uygundur. Bütün bölümler (ateşleme, test etme ve güncelleme) bir yerdedir. format: for (ateşleme ifadesi; test ifadesi; güncelleme ifadesi) İfadelerin tümü aynı yerde olduğu için, pek çok insan tekrarlama sayısı bilindiğinde while döngüsüne tercih eder.
4
Basit For Döngüsü Yazımı
For döngüleri, sonlu döngüler oluşturmak için uygundur. int counter; for (counter =1;counter <= 10;counter++) printf ("%d\n", counter); 1. Ateşleme: Başlangıç değerini belirle 2. Test koşulu: Bitirme değerini belirle 3. Güncelle: Değeri güncelle 1. Priming: Set the start value. 2. Test Condition: Set the stop value. 3. Update: Update the value. Note that each section is separated by a semicolon. Her bir bölümün noktalı virgüllerle ayrıldığına dikkat edin
5
for Döngüsü Akış Diyagramı
1. Ateşleme: Sayıcı=1 olarak belirle 1. Priming Set counter=1 2. Test counter <= 10 TRUE 3a. print counter 3b. Update counter++; 2. Test: sayıcı <= 10’ mu 3a. Sayıcıyı yaz 3b. Sayıcı++; olarak güncelle FALSE
6
Sonsuz Döngü for (counter=0; counter<=10; counter--)
for döngülerini kullanarak hala sonsuz döngü yapabilirsiniz. for (counter=0; counter<=10; counter--)
7
For Döngüleri Varyasyonları
Arttırma negatif olabilir: for (i=100; i>=1; i--) Bu 100’den 1’e kadar geri sayar Arttırma 1’den büyük olabilir: for (i=100; i>=5; i-=5) Bu 100’den 5’e kadar 5’er 5’er geri sayar
8
For Döngü Varyasyonları
herhangi bir ifade daha karmaşık olabilir: for (i=100*y; i>=1; i--) for (i=100; i>=y/2; i--) for (i=100; i>=1; i-=4*y)
9
For Döngü Varyasyonları
virgüller kullanarak, herhangi bir ifadenin içine birden fazla deyim koyabilirsiniz. for (i=100, y=0; i>=1; i--)
10
İç İçe For Döngüleri Bir for döngüsünü bir başka for döngüsü içine yerleştirmek mümkündür. int rows, columns; for (rows=1; rows<=5; rows++) { for (columns=1; columns<=10; columns++) printf ("*"); printf ("\n"); } Output: Çıktı: ********** Outer Loop Dıştaki döngü Inner Loop İçteki döngü
11
İç İçe For Döngüleri, Örnek #2
Output: Çıktı: * ** *** **** ***** #include <stdio.h> main () { int rows, columns; for (rows=1; rows<=5; rows++) for (columns=1; columns<=rows; columns++) printf ("*"); printf ("\n"); } Dıştaki döngü Outer Loop İçteki döngü Inner Loop
12
Uyarılar Sayıcı olarak gerçelleri (float veya double) kullanmayın
Tam ve doğru olmayan sayıcı değerleri ve döngü sonlandırma amaçları için hatalı değerlendirmelere neden olur. for döngüsü bileşenlerini ayırmak için noktalı virgüller yerine virgüller kullanmayın (çok genel hata) if ve while’ da olduğu gibi, parantezden hemen sonra bir noktalı virgül koymayın - boş bir döngü olacaktır.
13
Bir-öteye hatası }/* end for counter */ counter < 10
İlk örnekte, burada gösterildiği gibi, şöyle yazılmış olsaydı counter < 10 döngü 9 kez yürütülmüş olurdu, istendiği gibi 10 kere değil for (counter = 1; counter <= 10; counter++) { printf ("%d\n", counter); }/* end for counter */ /* sayıcı için son */
14
Bir-öteye hatalarından kaçınmak için yardım
Kontrollerinizi <= formatında yapmaya çalışın < değil Şu şekilde koddan sakının sayıcı < 11 veya sayıcı < 10
15
İyi Programlama Pratikleri
Eğer döngüde sayıcı değişkeni kullanıyorsanız (bazı programcılar bundan tamamen kaçınır) onun değerini değiştirmeyin! Çıkmaya zorlamak için onun değerini elinizle değiştirmeye kalkışmayın Yakalaması zor, güç algılanan hatalara neden olabilir Bunun yerine mantığınızı değiştirin
16
İyi Programlama geri sayım
for kontrol yapısı içine başka ifadeler koymayın Diğer değişkenlerin kullanımı, onları tekrarlamak isteyip istemediğinize bağlı olarak gövdeden önce veya gövdenin içinde bulunabilir. Her bir ana kontrol yapısından önce ve sonra bir boş satır koyun Mümkünse, iç içe yapıları üç seviye ile sınırlandırın Üç seviyeden fazla girintili yazma karışıklık getirebilir. Mümkünse for kontrolü başlığını bir satırla sınırlandırın
17
Harfler, sayıları temsil eden rakamlar ve diğer semboller olabilir.
Karakterler Harfler, sayıları temsil eden rakamlar ve diğer semboller olabilir. Kaynak programlarda blok oluşturmak için temeldir Her program karakterleri doğru olarak birleştirildiğinde komutlar olarak yorumlanan karakterlerin birleştirilmesidir. Bir program karakter sabitler içerebilir.
18
E.g. ‘A’, ‘a’, ‘1’ or ‘\n’ Karakter sabitler
Karakterler int değerleri aracılığıyla dahili olarak temsil edilirler. Karakterlerin çevresinde tek tırnak kullanarak onlara başvurabilirsiniz. E.g. ‘A’, ‘a’, ‘1’ or ‘\n’ Bilgisayar bunları sayılar olarak depoladığında gerçekten neler oluyor? ‘A’ nın tamsayı değeri 65’dir ve ‘a’ nınki 97’dir, vb. Ek D’yi görün, sayfa 1198, metninizde her bir karakterin tamsayı değerini bir tablo olarak görmek için
19
karakter değişkenlerinin bildirilmesi
Tamsayılar olarak kaydedildiklerinden, şöyle kullanabiliriz int gradeLetter ; Daha iyisi, daha anlaşılır kullanım char gradeLetter ;
20
char değerlerini scanf fonksiyonu ile okuyabilirsiniz
karakterleri okuma char değerlerini scanf fonksiyonu ile okuyabilirsiniz C, bir giriş satırındaki karakterlerin her seferinde bir tanesini okumaya izin veren getchar() fonksiyonunu sağlar.
21
getchar() stdio.h kütüphanesinde bulunur
Hatırlatıcı: Bir fonksiyon, diğer programların bazı işleri yerine getirebilmesi için kullandığı küçük bir program gibidir. (printf() kullandığınız bir örnek) getchar() standart girişten (klavye) girilen bir karakter için bir tamsayı kod geri döndürür. char c; c = getchar() ;
22
bir karakterin yazdırılması
Printf %c format kontrol metni ile kullanılabilir Örneğin, printf( “The character is %c\n”, c ); stdio.h’daki putchar() isimli bir başka fonksiyon kullanılabilir putchar( c ) ;
23
putchar() Standart çıkışa (ekran) bir karakter yazar
yine stdio.h’dan çağrılan bir fonksiyondur
24
getchar() kullanımı örneği
#include <stdio.h> int main() { char c ; /* declare character variable */ /* karakter değişkenini tanımlama */ /* read a character and store it in c */ /* bir karakter oku ve c’de depola */ c = getchar() ; /* print it twice, two different ways */ /* iki kere yaz, iki değişik şekilde */ printf("%c\n", c ); putchar( c ) ; /* one character at a time so here’s the newline */ /* her seferinde bir karakter böylece işte yeni satır */ c = '\n' ; putchar( c ); } /* end program */ /* program sonu */
25
scanf kullanımına örnek
#include <stdio.h> int main () { char c; printf ("Enter a character: "); scanf ("%c", &c); printf ("You entered: %c\n", c); printf ("You entered: %d\n", c); return 0; } Enter a character: c You entered: c You entered: 99 Note the difference in format specifiers. Format belirleyicilerdeki farka dikkat edin
26
Problem Harf notlarını A, B, C, D, F şeklinde alabilmek için bir nöbetçili while döngüsü kullanın. Notları sayısal karşılıklarına dönüştürün, aşağıdaki tabloyu baz alarak, sonra ortalama notu sayısal formatta yazdırın. 0.0 1.0 2.0 3.0 4.0 Num F D C B A Letter
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.