*Sitemize Üye Olunca Elinize Ne Geçer?

<--- 1. Üye Olarak Linkleri Görebilirsiniz... --->

<--- 2. İstediğiniz Kadar Paylaşım Yapabilirsiniz... --->

<--- 3. Güzel Bir Forum Hayatı Yaşayabilirsiniz... --->


Join the forum, it's quick and easy


*Sitemize Üye Olunca Elinize Ne Geçer?

<--- 1. Üye Olarak Linkleri Görebilirsiniz... --->

<--- 2. İstediğiniz Kadar Paylaşım Yapabilirsiniz... --->

<--- 3. Güzel Bir Forum Hayatı Yaşayabilirsiniz... --->

Would you like to react to this message? Create an account in a few clicks or log in to continue.

● En Güncel Paylaşım Platformu ●

---Misafir--- Hos Geldiniz Daha iyi Bir Hizmet İçin Üye olunuz.ÜyeLer Link GörebiLir

2 posters

    C++ Nedir ve Temel Dersler!

    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:44 pm

    Temel Bilgiler [Linkleri görebilmek için üye olun veya giriş yapın.]

    C++ bilindiği gibi programlama dünyasında en
    çok ilgi gören C dilinden türemiştir. C++'ı klasik C dilinden farklı
    yapan yanı; Nesne Yönelimli Programlamayı da ( Object Oriented
    Programming) C'nin sözdizimi kurallarıyla birlikte desteklemesidir.
    Normalde C ile sadece yapısal programlama yaparken C++ dili ile hem
    yapısal hem de nesne yönelimli programlar yazabilirisiniz. C++ diline
    başlarken önce dilin C'den gelen ve temel olan özelliklerini öğrenmek
    gerekir. Örneğin* değişken tanımlama* atama ve diğer basit aritmektik
    işlemler* kontrol yapıları ve döngüler gibi.

    Teknolojinin ulaştığı son noktadaki programlama
    dillerinden olan C ve C++* bir çok yeni ve güçlü özellikleri içerir.
    Derslerimiz devam ettikçe bunların teker teker içine gireceğiz. C
    dilinin özelliklerinin %80 i C++'da da mevcuttur (bu karşılaştırma şahsi
    görüşümdür). Zaten C++* C'nin üst gurubudur. Bunu şöyle
    sıralayabiliriz. C* C++ ve C# dır.

    C dilinin avantajları* az komut kümesinden oluşması
    ve bu komutların diğer yüksek seviyeli dillere nazaran daha hızlı
    çalışmasıdır. Ayrıca C deki kütüphaneler sayesinde fonksiyon
    tanımlamanıza gerek kalmadan işlemlerinizi yapmak mümkün olacaktır. Bu
    konuda çok detaya inmeden* programlamaya geçmek istiyorum. Çünkü*
    programlamaya başladığımızda her örnekten sonra o an kullandığımız
    programın içinde geçen fonksiyon* hata* değişken* belirleyiciler*
    kısıtlamalar* notasyonlar v.s gibi bilgilerden ara ara bahsedeceğim.
    Yalnız çok önemli olan bir konuya burada değinmek istiyorum. C nin
    avantajlarını programlamayla birlikte görmek güzel ama C nin
    dezavantajlarını programlamadan önce bilmeliyiz ki bunlardan sakınalım.
    Öncelikle Tanımlayıcılardan bahsetmek istiyorum. Her derleyici ve
    assmbley için değişkenleri* sabitleri* etiketleri ve fonksiyon adlarını
    tanımlama kuralları vardır. Bu notasyonlara* tanımlayıcı denir. C++ da
    tüm tanımlayıcılar a* . . . * z - A* . . . * Z harfleri ile ya da alt
    çizgi "_" ile başlar. Bundan sonra rakam* harf* ya da alt çizgi
    kullanılabilir. ANCI C uyumlu derleyiciler 31 karaktere kadar
    tanımlayıcı kabul ederler fakat tanımlayıcının ilk sekiz karakterini
    kullanmayı kendimize alışkanlık etmeliyiz. Dikkat etmemiz gereken
    özelliklerden biri de kullandığımız ifadelerdeki büyük küçük harflerdir.
    C ve C++ büyük ve küçük harf duyarlılığına sahiptir. Kullandığımız
    ifadeleri birbirinden farklı ve aynı ifade olarak kullanıyorsak
    programımız hata verecektir. Bunu bir örnekle anlatayım:

    Program
    PROGRAM
    progRAM
    ProgRam Bu şekilde tanımlarsak hepsi birbirinden
    farklı ifadeler olarak C++ da okunacaktır. Biz Şunu alışkanlık
    edinmeliyiz; tanımlayıcılarımızın baş harfi büyük olacak. Büyük ve küçük
    harf kombinasyonlarının kullanılması ile önceden yapılan tanımlamalar
    bazen işi zorlaştırabilir. Eğer bu değişkenlerden birini kullanmak
    isterseniz* bu zamana kadar nasıl tanımladığınızı bilmeniz gerekir.
    Örneğin printf()`in PRINTF() olarak çağrılması durumunda " bilinmeyen
    tanımlayıcı " (Unknown identifier) hata mesajı vererek sizi uyarır. Buna
    benzer olarak %f ve %F kullanımı hata verdirecektir. Programlamayı
    yaparken bunlara dikkat etmemiz gerekecek. Çünkü bir değişkeni veya
    tanımlayıcıyı başta nasıl kullandıysanız üç* dört sayfa kod yazdıktan
    sonrada aynı şekliyle kullanmak zorundasınızdır. İşte burada en büyük
    handikap yaşanacaktır. Çünkü C/C++ derleyicileri her zaman hatanın nerde
    olduğunu göstermez. Bunu programcı kendisi satır satır takip ederek
    bulacaktır. Bundan dolayı bu söylediklerime baştan dikkat etmemiz
    gerekiyor.


    Tavsiyeler:

    İyi bir programlama yapabilmek için benim size olan tavsiyelerim;
    daha az kod kullanarak daha çok işlem yapabilme. Gerçi bunu yapsak zaten
    profesyonel oluruz C++ Nedir ve Temel Dersler! Smile. Zaten C++ `ın
    paradigması da buradan geliyor. Aslında C++ da yapabileceğimiz tüm
    programları C de yapma olanağımız var ama bu bize hem fazla kod yazmayı
    gerektirecek hem de zaman kaybetmemize sebep olacak. Zaten bunlardan
    kaçındığımız için C++ diyoruz. Elimizde nesneye yönelik bir dil varken
    ve kullanacağımız fonksiyonlar içinde hazır olarak mevcutsa* tabi bize
    de bunun keyfini sürmek kalıyor. Tavsiyelerimden biride derslerde
    verdiğimiz örneklerin dışında aynı algoritmaya benzer farklı örnekler
    yapın. Öğrenmenin en iyi yolu yanlış yapmaktır. Bunu şöyle izah edeyim:
    eğer yanlış yapıyorsanız ve de o yanlışın kaynağını bulup
    düzeltebiliyorsanız* o an onu öğrenmişsiniz demektir. Tabi örnekler
    sizin için alıştırma olacaktır ve hafızanızda kalıcı bir yer tutacaktır.
    Bunca kodu başka türlü hafızada tutamayız. İlk başlarda sık sık not
    alınız* mümkün olduğunca da bol örnek yapınız. Örneklerinizi de kendiniz
    düşünüp kendi hayal gücünüzle oluşturursanız eminim bu işi
    başaracaksınızdır. Başta çok zor gelebilir ama başarı ter dökülmeden
    olmaz. Bu kısmı fazla uzatıp sizi daha başlamadan C/C++ dan
    uzaklaştırmak istemiyorum.




    C++ İle Programlamaya Giriş

    İlk programımız!

    // ilk1.cpp
    // Ekrana "Bu benim ilk programım" yazdırıyoruz
    #include

    int main()
    {
    cout << "Bu benim ilk programım";

    return 0;
    } Şimdi Yazdığımız programı inceleyelim:
    "//" işaretini açıklama satırlarında kullanıyoruz. C++ derleyicisi bu
    notasyonla başlayan satırı okumaz. Bununla birlikte daha uzun
    cümlelerimiz olursa bunları da " /* */ " notasyonunun içinde yazıcağız.
    Bu özellik de C den bize kalma. Demiştik zaten C `nin tüm özelliklerini
    C++ içerir. Fakat biz genelde " // " yi kullanacağız.
    #include : Bu bizim C++ da bulunan kütüphane
    dosyamızı çağırmaya yarıyor. Ben size şöyle tarif edeyim. iostream.h
    kütüphanesindeki hazır olan " cout " fonksiyonunu çağırıyor. Yani buda
    bizim fazla kod yazmamıza engel oluyor. .h ile biten dosyalar kütüphane
    dosyalarıdır. Bunu şuna da benzetebiliriz. Farz edelim ki elimizde bir
    alet çantası var içinden tornavidayı çağırdığımızda vida sıkacağızdır.
    Bu da ona benziyor. C++ da ki hazır kütüphanelerde bir çok hazır
    fonksiyonlar vardır. İlerde Bu hazır fonksiyonlar işimizi görmemeye
    başlayınca kendi kütüphanemizi yapmaya başlayacağız. Tabi bu seviyeye
    geldiğimizde olayı hemen hemen kavramış olacağız* tabi neden olmasın
    öyle değil mi?
    Daha sonraki satır her C++ programında mutlaka bulunması gereken bir
    satırdır. Her C++ programında main() fonksiyonu olmak zorundadır; bu
    fonksiyonumuzun önünde ise o fonksiyonun dönderdiği değişkenin veri tipi
    olmalıdır. Tabi ki C++ fonksiyonlar ve onların dönderdikleri değerler
    konusunu da ileride işleyeceğiz.
    Bir sonraki satırda ise; C++ fonksiyonlar ve kod blokları " { } "
    parantezleri arasında bulunmalıdır. main de bir fonksiyon ise onun
    içindeki kodlar doğal olarak { } parantezleri arasındadır.
    Program derlenip çalıştırıldığında ise ( Turbo C++ 3.1 kullanıyorsanız
    ctrl+f9 kısa yoluyla programı çalıştırabilirsiniz (Run) ) karşımıza "Bu
    benim ilk programım" yazısı çıkacaktır. İşte bu yazıyı ekrana veren
    komut da iostream.h kütüphanesindeki cout fonksiyonudur.
    Önemli bir nokta ise C++ dilinde her satır ifadenin sonuna " ; " koymak
    zorundayız. Bundan farklı olarak #include satırlarının ve bir kaç farklı
    satırın arkasına " ; " gelmez. Bunları ileride göreceğiz.
    Return 0 : programımızın (aynı zamanda main fonksiyonumuzun) çıkış
    noktasıdır. Eğer return ile 0 değeri dönderirsek programımızın güvenle
    çıktığını işletim sistemine bildirmiş oluruz. Bu sayede güvenle
    programımızın çalıştığını göreceğiz.
    Şimdi size bir örnek daha vereceğim bununla da aynı çıktıyı elde
    edeceğiz. Arasındaki farkları eminim basit olarak sizlerde
    göreceksinizdir.
    // ilk2.cpp
    // Ekrana "Bu benim ilk programım" yazdırıyoruz
    #include
    main()
    {
    printf("Selam bu benim ilk programım.\n");
    return 0;
    } Evet şimdi burada çok fark varmış gibi gözüküyor aslında ama öyle
    değil. Sadece kütüphanemiz stdio.h oldu ve ekrana yazdır fonksiyonumuzda
    printf oldu. Bu özellik C den kalma. Bunlar diğer program ile aynı
    işlevi görüyor. Buradaki fark " \n " notasyonu. Bu noptasyon bir sonraki
    satıra geçmek için kullanılır. Bu notasyonlara Escape dizileri denir.
    Tablo olarak bunları size veriyorum. Son yazdığımız ilk2.cpp de
    yerlerine koyarsanız çalışacaktır
    .

    C++ Nedir ve Temel Dersler! C13nu
    Şu an bunları bilmeniz yeterli.

    Dizi:





    Değişkenler

    Şimdi bize yine çok lazım olacak bir özellik de değişken tanımlamak ve
    atama yapmaktır. Bunu bir örnek üzerinde anlatmak istiyorum. Örneğimiz;
    // degisken.cpp
    // Burda değişken tanımlamayı göreceğiz.
    // Aynı zamanda verilen bir sayıyı kendisi ile carpma 2.2=4 gibi

    #include
    #include // kütüphane dosyamız
    main()
    {
    int i; // Değişken tanımlama
    cout << "Bir sayı giriniz: ";
    cin >> i;
    i=i*i;
    cout << "sonuc: " << i ;
    return 0;
    } Burada bundan önce yaptığımız programlardan farklı olarak int i
    kullandık* yani değişken tanımladık.
    Değişken Nasıl Tanımlanır?

    Değişkenleri tanımlamak için aşağıdaki şema kullanılır.
    [Veri Tipi] [Değişken Adı];
    Örneğin
    int sayi;
    Şimdi degisken.cpp örneğindeki int i; kısmını anlamışsınızdır. Burada
    değişkenlere değinmek istiyorum. Biz yukarda İçinde sayı tutan bir
    değişkeni tanımladık. Benzer olarak aşağıdaki tanımlamalar da vardır.
    char c;
    int i;
    float f;
    double d;
    unsigned int ui;
    Burada [Veri Tipi] [Değişken Adı]; bu kalıba göre tanımlama yaptığımız
    için önce Veri Tiplerini inceleyelim.




    Veri Tipleri


    1) İnt tip.

    Integer = Tamsayı

    Tamsayıları içerir. Bellekte 2 Byte tutar. DOS'ta ve Win3.1'de 16 bit
    uzunlugunda ama Windows9x* WinNT* Win200 ve WinXP 32 bit uzunluğundadır.

    Değer aralıkları Short ve long için değişir.
    Örnek: 5* -20* 1 gibi.

    2) Sort tip.

    Tam sayıları içerir. 16 bit uzunluğundadır.
    signed: -32768 ile +32767 arasinda değer alır* unsigned: 0 ile 65535
    arasinda değer alır.
    3) Long tip.

    Tam sayılar içerir. 32 bit uzunluğundadır.
    signed: -2147483648 ile +2177483647 arasinda değer alır* unsigned: 0 ile
    65535 arasinda değer alır.
    4) Gerçel Tipler (Float* Double* Long double)

    Gerçel sayıları içerirler.
    float : Bellekte 4 Byte yer tutar. 3.4E-38 ile 3.4E+38 aralığında değer
    alır. Hassasiyet 7-8 basamaktır.
    double : Bellekte 8 Byte ter tutar. 1.7E-308 ile 1.7E308 aralığında
    değer alır. Hassasiyet 15-16 basamaktır.
    long double : doublenin tipinin daha genişidir.1.2E-4932 ile 1.2E-4932
    aralığında değer alır. Hassasiyet 19-20 basamak.
    5) Char Tip

    Char : Karakter
    Alfanumerik karakterleri içerir. Ve ya 8 bit uzunluğunda tamsayı.
    signed: -128 ile 127 arasinda değer alır* unsigned: 0 ile 255 arasında
    değer alır.
    Örneğin: ' 0*1*2*3*4*5*6*7*... ' * ' **-*+*... ' *
    'a*b*c*....*A*B*C*D***** '
    6) Bool tip.

    true(dogru) = 1 veya false(yanlis) = 0 değerini alır. Eski derleyiciler
    bu türü desteklemeyebilir. Yeni ANSI C++ standardında eklenmiştir. Bu
    soyut matematik gördüyseniz. "p V q" ya benzer C++ Nedir ve Temel Dersler! Smile ( matematikçiyiz*
    konuşturalım azıcık). Değer aralığı ise ya 1 dir (doğru) yada 0 dır
    (yanlış).
    7) Enum tip.

    enum sıralanmış değerleri tutar. Short int ile aynı değeri taşır.
    Başta Fazla Detaya inip sizi bunaltmak istemiyorum. Çünkü C++ dili
    başlarda karmaşık gelen bir dildir. Bu da zaten kendisini yüksek
    seviyeli bir dil yapıyor C++ Nedir ve Temel Dersler! Smile. Ben size Bu
    dilin temel özelliklerini anlatarak basit programlar yapmayı
    göstereceğim.
    Bu temel bilgileri aldıktan sonra programlamaya geçebiliriz. Derleyici
    Olarak ben Turbo C++ 3.1 i tavsiye ederim. Şu an bununla başlar iseniz
    işiniz daha kolay olacaktır (bence). İlerde Borland a geçeceğiz.
    Değişken tanımlama konusunda bir konuya daha değinmek istiyorum.
    Değişkenlere değer atama ve aynı anda bir çok değişken tanımlamamız C++
    da mümkündür.
    char c = 'c';
    int i = 5;
    Daha sonradan değer atama:
    char c;
    int i;
    c = 'c ';
    i = 5;
    Bir de aynı anda bir çok değişken tanımlayalım.
    Örneğin:
    int x * y * z;
    x = y = z = 5;
    x*y*z' nın değeri 5 oldu
    Bir sonraki derste ise değişkenlerle birlikte bir de Operatörleri ele
    alacağız.


    Operatörler I


    Operatör ve Operand nedir?

    Bunu bir örnek üzerinde anlatmak istiyorum. Örneğin; x + y 'de x ve y
    operand + ise operatördür. Bu bir aritmetiksel operatördür. Matematikte
    işlemler operatörler ve operandlar ile anlatılır.
    Operatörleri öncelikle türlerine göre ayıralım:
    1) Aritmetiksel operatörler + * - * * * / * % * ++ * --
    2) Karşılaştırma operatörleri < * > * <=* >= * ==* !=
    3) Eşitleme operatörleri = * += * -=* *= * /= * %= * <=* >>=*
    &=* != * ^=
    4) Mantıksal Operatörler ! * || * &&
    5) Bit bazında işlem yapan operatörler & * ! * ^ * ~ *
    Aritmetiksel (Matematiksel) Operatörler:

    Matematiksel ifadeleri günlük hayattaki biçimde bilgisayarda
    yazamadığımız için belli kurallara uymamız gerekir. Bu kısım önemli
    olduğu için biraz geniş yer vereceğim. Kullandığımız matematiksel
    işlemler ve anlamları şöyledir:
    C++ Nedir ve Temel Dersler! C26qr

















    Bu operatörle verilen iki veya daha fazla operand toplanabilir. Yazılış
    şekli Aşağıdaki gibidir.
    değişken1 + değişken2
    Eğer bu iki değişkeni Sonuç gibi başka bir değişkene atarsak eşitleme
    operatörüyle aşağıdaki gibi yaparız.
    Sonuç = değişken1 + değişken2
    Buna bir örnek verelim.
    // toplama.cpp
    //Vize ve final notlarinindan geçme notunu hesaplama

    #include
    #include

    main()
    {
    int vize* final* ort;
    vize = 10;
    final = 80;
    ort = vize * 0.4 + final * 0.6;
    cout<< "Geçme notunuz: " << ort;
    } Burada çarpma operatörünü de kullandık sanırım* artık diğerlerinin de
    ne olduğunu kavramış oldunuz. Bir örnekte işi ucuza getirdim C++ Nedir ve Temel Dersler! Smile. Fakat bir artma
    ve bir azalmaya örnek verelim. Bu bana çok lazım olmuştu.
    Burada dikkat etmemiz gereken olay " ++ " operatörünü değişkenin önüne
    yazmanız gerektiğidir. Bu sayede değişken bir arttırılarak işleme konur.
    Arkasına konursa değişken işlenir* sonra bir arttırılır. " -- "
    operatöründe ise aynı şekilde de bir azaltma yapılır.
    // carpim.cpp
    // x i bir arttırıp y yi bir azaltıp çarptık.

    #include

    main()
    {
    int x = 5;
    int y = 10;
    cout << "x = " <<< endl;
    cout << "y = " << y << endl;

    cout <<"++x * --y = " << ++x * --y ;

    } İşte bir fark daha yakaladık bunu da hemen örnek üzerinde anlatalım.
    Sanırım buraya kadar geldiğimiz yerlerde int i * çarpma işlemini* bir
    arttırıp azaltmayı gördük* ama diyeceksiniz ki " endl " ne oluyor? Hemen
    açıklayayım; Satır sonunu belirterek yeni satıra geçmemizi sağlar* bir
    nevi " \n " Escape operatörü gibi bir işleve sahiptir.




    Operatörler II


    Karşılaştırma Operatörleri:

    C++ Nedir ve Temel Dersler! C38jw
    Bunların teker teker ne olduğunu söylemeye gerek
    yok. İfadeler gayet basittir. Burada dikkat etmemiz gereken önemli bir
    şey var: " >=* <=* ==* !=" notasyonlarını kullanırken iki notasyon
    arasında boşluk bırakmamalıyız. Buna dikkat edelim!
    Eşitleme ( Atama) Operatörleri:

    Bunlarıda liste halinda verelim.
    C++ Nedir ve Temel Dersler! C42ll





    Operatörler III


    Mantıksal Operatörler (Lojik Operatör Sembolleri) :

    C++ Nedir ve Temel Dersler! C54au

    Burası biraz Soyut Matematik* biraz değinmek istiyorum. Yukarıda
    gördüğümüz mantıksal operatörler* Doğru (1) yada Yanlış (0) sonucunu
    argümanlara bakarak üretirler. Mantıksal Değil (!)* değeri tersine
    çevirir. Ve ( && ) operatörü ise yalnızca her iki ifadede Doğru
    (1) ise sonuç Doğru (1) ` dur; diğer durumlarda Yanlış (0)` dır. Veya`
    da ( || ) ise yalnızca iki ifadenin Yanlış (0) durumunda sonuç Yanlış
    (0) olur diğer durumlarda Doğru (1)`dur.
    Ne diyorlardı? En iyi programcılar matematikçilerden çıkar C++ Nedir ve Temel Dersler! Smile. Arkadaşlar
    umarım zorlanmıyorsunuzdur. Olabildiğince ince eliyorum ve anlayacağınız
    şekle indirgemeye çalışıyorum. Bunun üstüne bir çay içerim. Geldiğimde
    devam edeceğim...
    Bit bazında İşlem Yapan Operatörler :

    Bu kısımda Soyut Matematiğin daha da ayrıntılarına girilmesi gerekiyor.
    Ben size kısaca bunu anlatayım. Çok karışıklık da sizi yoracaktır.
    Örnekleri yaparken yine üstünde dururuz.
    Bit bazında işlem yapan operatörler şunlardır: AND (Ve ( & ) * OR
    (Veya ( ~ ))* XOR ( ^ ).
    And (&) operatörü; bitleri karşılaştırır. Eğer her ikisi de Doğru
    (1) ise sonuç Doğru (1)* aksi halde Yanlış (0)`dır.
    OR (~) operatörü; iki biti karşılaştırır ve eğer ikisi de Doğru (1) ise
    yada birisi Doğru (1) ise sonucu Doğru (1) yapar. OR işlemi belirli bir
    bit i Doğru (1) e çekmek için kullanılabilir.
    XOR (^) operatörü; bit düzeyinde EXCLUSIVE OR (dışında tutan veya)
    (Türkçe'sini çevirince saçma oluyor) işlemi yalnızca karşılaştırılan
    bitler bir birinden farklı ise Doğru (1) üretir* aksi halde Yanlış (0)
    üretir.
    ! işareti ise her bir bit i ters çevirir.
    Not: Bunlar yeni başlayanlar için yorucu olabilir. Son iki bölümün fazla
    üstünde durmayın
    < Bir de bize C++ile gelmiş olan operatörlerden bahsetmek istiyorum.
    Bunlar;
    " :: " Erim çözünürlüğü (Scope resolution operatörü).
    " * " Dolaylı adresleme (Pointerlerle kullanacağız).
    " & " Adres operatörü (Pointerlerle kullanacağız).
    " new " Dinamik bellek ayırma .
    " sizeof " Nesne Boyutu.
    İlerde fonksiyonlara geçince* bunları ve diğerlerini de göreceğiz. Şu an
    için sizi bunlarla yormak istemiyorum.




    Program Kontrol ve Döngü Komutları


    Daha önceki bölümlerde* standart veri tiplerini
    öğrendik* bununla birlikte diğer dillerde olmayan fakat C/C++`a özgü
    işlemleri de tanıdık. Şimdi ise C/C++ mantıksal kontrol yapılarını
    öğreneceğiz. Bu komutların bir çoğu diğer yüksek seviyeli dillerde de
    mevcuttur. Örneğin; if* if-else* switch* for* while ve do-while
    döngüleri. Fakat ?:* break* ve continue komutları gibi yalnızca C/C++`a
    özgü kontrol komutları da vardır. Ne demiştik C++ * C yi kapsar. O halde
    C de olan tüm mantıksal kontrol yapıları C++ da da mevcuttur.
    Programlar (algoritmalar) üç temel blok kullanılarak
    gerçekleştirilebilirler. Bunlar; artarda* bir koşula bağlı olarak ve
    sonlu sayıda yineleme (döngü) dür.
    Biz şimdi bu Mantıksal ifadeleri teker teker ele alacağız. Hem Bu sayede
    hepsine daha çok yer vermiş olacağız ve de örneklerle bunu
    pekiştireceğiz. Şimdiye kadar geldiğimiz bölümleri iyi bilip* Mantıksal
    ifadelerin yapılarını da öğrendiğimizde* bayağı bir yol kat etmiş
    olacağız.



    If Komutu


    if komutu anlaşılması ve yazılımı en basit
    olanıdır. if komutu* bir grup komutun koşullu olarak yürütülmesi
    amacıyla kullanılır. Buna bir örnek verecek olursak; düşünün ki bir
    sınav yapılıyor ve 50 ve üzeri alanlar geçecek. Bunun için if i
    kullanırsak not 50 ye eşit veya büyükse (büyük eşit) geçer not olacak.

    //not.cpp
    // 50 ve 50 den yukarsı geçiyor.
    #include

    main()
    {
    int not;
    cout << "Notu yazınız:";
    cin >> not;

    if ( not >= 50 )
    cout << "Geçtiniz!";

    } Sanırım bu örnekte ne dediğimi anlamış
    olacaksınız.

    if ( not >= 50 )
    cout << "Geçtiniz!";

    if (ifade)
    {
    Komut;
    Komut;
    ...
    } Burda görüldüğü gibi if (ifade) ve sonraki
    komutlarda { } bloğunun içine yazılır. Şimdi if`e bir de şu açıdan
    yaklaşalım. if in kelime anlamı "eğer" dir. Mantık şudur: eğer
    belirtilen parametre doğruysa* if komutu* if ten sonra gelen bloktaki
    fonksiyonları gerçekleştirir. Doğru değilse* if den sonraki bloğu yok
    sayar. Burada bir detaya daha inmek istiyorum. Ne demiştik* mantık
    işlemlerinde olay ya doğrudur (1) ya da yanlıştır (0). Şimdi yukarıdaki
    if in genel kullanım şekline tekrar bakalım. Bunu* eğer parametre doğru
    ise kullanabiliriz. Bir de bunun tersini düşünelim. Bit bazında
    işlemlerde sanırım ( ! ) bunu görmüştük. Her bir biti ters çevirir.

    if (!ifade)
    {
    komut (yanlış (0));
    Komut (yanlış (0));
    ....
    } Derdimi anlamış olduğunuzu ümit ediyorum C++ Nedir ve Temel Dersler! Smile. Ama bence
    buranın üstünde biraz daha duralım. Çünkü bunu anlarsak diğerlerinde
    zorlanmayız. Son yaptığımızda ifadeyi tersine çevirdik.


    //pozitif.cpp
    // Bunada açıklama yaptırmayınC++ Nedir ve Temel Dersler! Smile ( yapamadımda)
    #include
    main()
    {
    int x;
    cout << "Bir sayı girin:" ;
    cin>> x;
    if ( x > 0 )
    cout << "Pozitif" ;
    } Aynısının negatif ini de siz yapın. Şimdi bir de
    iç içe if örneğine bakalım:

    //gecti.cpp
    // Buna açıklama yapmıycam!
    #include
    main()
    {
    int not;
    cout << "Notunuzu giriniz:";
    cin >> not;
    if ( not> 50)
    cout << "Geçtiniz!" ;
    if (not < 50)
    cout << "Kaldınız!" ;
    if ( not==50)
    cout << "zar zor geçtin C++ Nedir ve Temel Dersler! Smile";
    } Anlamış olduğunuzu umut ederek if komutunu burada
    bitiriyorum
    .





    If-else Komutları


    if-else komutu iki işlemden hangisinin
    uygulanacağına karar verir. Else kısmı seçimlidir* gerekmiyorsa
    kullanılmayabilir. Yazılım kuralı ile şöyledir;
    if ( ifade)
    komut1;
    else
    komut2; daha genel şekliyle
    if ( ifade )
    {
    komut1;
    komut2;
    ...
    }
    else
    {
    komut1;
    komut2;
    ...
    } Veya lojik olarak baktığımızda sanırım daha iyi anlayacaksınız
    if (ifade)
    blok_dogru (1);
    else
    blok_yanlis (0); Sanırım artık açıklama yapmama gerek kalmayacak. Şimdi
    örneklerle bunu pekiştirmeye çalışalım.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    //sayı tekmi çiftmi onu görüceğiz
    #include
    main()
    {
    int sayi;
    cout<< "Bir sayı giriniz:";
    cin >> sayi;
    if (sayi %2==1 )
    cout <<"tek";
    else
    cout << "çift" ;
    } Bir örnek daha verelim:
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    #include
    main()
    {
    int not;
    cout<< "Notu giriniz:";
    cin >> not;
    if (not >= 50)
    cout << "Geçti!";
    else
    cout << "Kaldı!";
    } if kısmından anlatmaya başlayacağım. Eğer notumuz 50 ye eşit veya 50
    den büyük ise geçiyoruz aksi halde kalıyoruz.
    Bir de bir if-else in altında bir tane daha if-else kullanalım.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // alt alta if-else
    #include
    main()
    {
    int not;
    cout<< "Not`u giriniz:";
    cin >> not;
    if (not >= 50)
    cout << "Geçtiniz!";
    else
    {
    cout <<"Bütten alınan not:";
    cin >>not;
    if( not>=60 )
    cout << "Geçtiniz!";
    else
    cout <<"Kaldınız!";

    }
    } Burada da şunu inceledik: diyelim ki sınava girdik ve notumuzu
    öğrendik* notu giriyoruz 50 nin altındaysa kalıyoruz. ve bütünleme
    sınavına giriyoruz. Bütte de geçer not en az 60. Sanırım bu basit
    örneklerle olayı iyice kavramışızdır. if-else i de burada bitiriyoruz.



    En son TanriLar_OkuLu tarafından Perş. Mayıs 06, 2010 4:50 pm tarihinde değiştirildi, toplamda 1 kere değiştirildi
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:44 pm

    ?: Komutu


    Bu komut* yalnızca C++ a özgüdür. Kendine özgü
    bir yazılımı ve mantıksal kullanımı vardır. if-else komutunun
    kısaltılmışıdır. Fakat* tüm if-else komutları yerine kullanılmaz.
    Yalnızca karşılaştırma sonrası* tek komut kullanılan uygulamalar için
    geçerlidir. Bu söylediklerimizi örnek üstünde gösterelim:
    [Linkleri görebilmek için üye olun veya giriş yapın.] yi bu sefer ?: ile yapıyoruz
    #include
    main()
    {
    int sayi;
    cout<< "Bir sayı giriniz:";
    cin >> sayi;
    cout << (sayi %2==1 ? "tek" : "çift") ;
    } Kullanış biçimi: cout << (sayi %2==1 ? "tek" : "çift") ; çok
    basit ama dikkat edelim. Her zaman kullanmıyoruz.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:45 pm

    Switch-case Komutları


    Switch Case deyimi işlev bakımından if deyimine
    çok benzemektedir. Çok sayıda if işlem blokları kullandığımızda
    programın okunurluğu azalacak ve programı izlemek zorlaşacaktır.
    Programımızın bir değerini bir çok değerle karşılaştırmak gerektiğinde
    switch komutunu kullanacağız. Switch seçeneği ile değişkenin durumuna
    göre bir çok durum içersinden bir tanesi gerçekleştirilir. İstersek de
    if deyimi ile switch case' yi birlikte kullanabiliriz. Switch in yaptığı
    iş kısaca* ifadenin değerini sırayla sabitlerle karşılaştırarak ve her
    satırı işlemektir.
    switch( Kontrol Değişkeni )
    {
    case Sabit1 : komut1;
    case Sabit2 : komut2;
    .
    .
    .
    default : Komutson;
    } Buna en basit örneğimizi verelim

    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // switch-case yi öğreniyoruz.

    #include

    main()
    {
    int i;
    cout<< " 1 ile 4 arası sir sayı giriniz:";
    cin>>i;
    switch(i)
    {

    case 1 :cout<<"1 Girdiniz"; break;
    case 2 :cout<<"2 Girdiniz"; break;
    case 3 :cout<<"3 Girdiniz"; break;
    case 4 :cout<<"4 Girdiniz"; break;

    default:cout<<"1 ile 4 ten farklı";
    }
    } Burada gördüğümüz gibi i değişkenine bağlı olarak program işliyor.
    Case'lerinin aldığı değere göre kendinden sonra gelen komutları
    işliyorlar. Burada daha önce görmediğimiz break komutunu gördük. Buna
    ilerde daha detaylı olarak değineceğim. Fakat biraz bahsetmek istiyorum.
    Programımızda değişkene 1 değerini verdiğimizi farz edelim. Case 1 adlı
    satırı geçip ondan sonraki komut dizisini işleme soktuk. Bu işlemin
    tamamlanması için break komutu kullanılıyor. Yazılımda break komutu goto
    gibi işlev görür ve derleyiciye switch komutundan çıkması için talimat
    verir. Sorunu ortadan kaldırmak için her durum için break deyimi
    eklemeliyiz (tavsiye). Ne demiştik; bir çok karşılaştırma olduğunda
    switch'e ihtiyaç duyuyoruz. Karşılaştırmaların hiç biri olmadığı anda da
    ortaya default tan sonraki satırın işlenmesi kalıyor. Sanırım bu
    örnekte basit olarak anlamış olacağız.
    Daha karmaşık bir örnek verecek olursak:
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // Program gireceğimiz ölçülere göre üçgenin Alan* Yükseklik ve Tabanını
    bulur
    // switch-case örneğimiz.

    #include

    int main()
    {
    char secenek;
    float alan* yukseklik* taban;

    cout << "Program gireceğimiz ölçülere göre üçgen'in Alan*
    Yükseklik ve Tabanını bulur!\n" << endl
    << " A ---> Alan : Bulmak için yükseklik ve tabanı gireceğiz:"
    << endl
    << " h ---> Yükseklik : Bulmak için alan ve tabanı gireceğiz:"
    << endl
    << " t ---> Taban : Bulmak için alan ve yüksekliği gireceğiz:"
    << endl
    << endl << endl;
    cout<< "Seçeneğiniz? ---> A* h* t :";
    cin>> secenek;

    switch(secenek)
    {
    case 'a':

    case 'A':
    {
    cout<< endl <cin>> yukseklik;
    cout<cin >> taban;

    alan = 0.5 * taban * yukseklik;

    cout< endl;

    break;
    }

    case 'h':
    case 'H':
    {
    cout<< endl << endl <<"Alanı: ";
    cin>> alan;
    cout<cin >> taban;

    yukseklik = 2.0 * alan / taban;

    cout << endl << endl << "Yükselik: " <<
    yukseklik << endl;
    break;
    }

    case 't':
    case 'T':
    {
    cout << endl <cin >> alan;
    cout << endl << "Yüksekliği: ";
    cin >> yukseklik;

    taban = 2.0 * yukseklik / alan;

    cout << endl << endl <<"Tabanı: " << taban
    << endl;
    break;
    }
    }
    return 0;
    } Gayet basit bir örnek değişkenleri tanımladık. Caseleri koyduk ve
    caselerden sonra gelecek komut satırlarını yerleştirdik. Bu program
    göründüğü gibi zor değildir.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:45 pm

    Döngü Komutları


    Bir ya da birden fazla deyimin tekrar
    edilmesini sağlarlar. Döngüler* " belli bir koşul sağlandığı sürece
    sürekli çalıştırılacak kod parçası " olarak nitelendirilebilir. For
    döngüsü* while döngüsü* do-while döngüleri* diğer yüksek seviyeli
    dillerdeki gibidir. Ancak en büyük fark* programın bu tekrar döngüleri
    istediğinde terk edebilmesidir. C/C++* döngüden çıkmak için beş ayrı
    yöntem vardır.


    C++ Nedir ve Temel Dersler! C68ad
    C/C++ da ki döngülerin arasındaki fark* beklenen
    döngü sayıları arasındaki farktan kaynaklanır. Eğer önceden belirli bir
    döngü sayımız mevcut ise For döngüsü kullanılır. while ve do-while
    döngülerinde döngü sayısı belli değildir. C++ nın bize vermiş olduğu
    esneklik sayesinde* döngüleri son derece esnek bir biçimde kullanma
    şansımız vardır
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:45 pm

    While Döngüsü


    İçlerinde anlatımı ve anlaşılması en kolay olan
    döngüdür. While döngüsü* döngü sayısının belli olmadığı zamanlarda
    kullanılır.
    while ( koşul )
    Komut; While döngüsü* içinde bulunan ifade doğru olduğu sürece altındaki
    komut veya komut bloğu yürütülür. Eğer yanlış ise kontrol bir sonraki
    komut veya komut bloğuna geçer.
    While döngüsü daha genel şekliyle:

    while ( ifade )
    {
    komut;
    komut;
    komut;
    .
    .
    .
    } Burada bir şeye dikkat etmenizi istiyorum. Çoklu komutlar
    kullandığımızda " { } "parantezleri gereklidir.
    // while1.cpp
    // while döngüsünü kullandık
    // girdiğimiz sayıdan 100 e kadar olan sayıları topladık

    #include

    main()
    {
    int x* y;
    y= 0;
    cout<< " Bir Sayı Giriniz ( Sayı 100 den küçük olucak ) : ";
    cin>>x;
    while (x< 101)
    {

    y =y+x;
    x =x+1;


    }

    cout<< "Toplam= "<< y;
    } Burada önce x ve y yi tanımladık. y=0 değerini verdik. Sonra klavyeden
    girilen değerin x olduğunu yazdık. while (x< 101) işte burada
    ifademiz x< 101. Şimdi bu koşul sağlanıncaya kadar döngümüz devam
    edecek. While' den sonraki bloğa geçtiğimizde ise. y` ye x i ekliyoruz
    ve x in değerini her seferinde 1 arttırıyoruz. Sanırım bu basit örnekte
    döngünün basit yapısını ve mantığını anlamış oldunuz.
    Döngünün verilen ifade veya koşula göre sağlanması döngülerin en önemli
    konusudur. Eğer bir döngüden çıkılmazsa o döngü sonsuza gider. Buna da
    "sonsuz döngü" denir. Döngüler konusunda en çok rastlayacağımız hata da
    budur.Şimdi buna bir örnek verelim. Fakat* şimdiden uyarıyorum* sonsuz
    döngü yapıldığında bilgisayarınız kilitlenebilir. Onun için buna
    şimdiden hazır olun. Zaten bir sefer denediğimizde ne demek istediğimi
    anlayacaksınızdır.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    //while döngüsü ile sonsuz bir döngü yaptık

    #include

    main()
    {
    int x=1;
    while(x)

    cout<< "x= "<< x++<< endl;

    } Burada neden sonsuz bir döngü oldu? Evet işte x ifadesini koşula
    bağlamadık. Şayet while(x<10) demiş olsaydık. 1*2*3*4*5*6*7*8*9 a
    kadar x sayısı sıralanacaktı.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    //while döngüsü ile klavyeden girilen sayı

    #include

    main()
    {
    int x* y = 0;

    while (y< 20)
    {
    cin>>x;
    y = y+x;
    }
    cout<< "Toplam= "<< y ;
    } Bu programda da klavyeden girilen sayıların toplamı 20' den büyük
    olunca program Toplam olarak söylüyor. Sanırım basit While yapısını
    anladınız. Şimdi birazda karmaşık progr*****lar yapalımC++ Nedir ve Temel Dersler! Smile.
    1. Örnek: Girilen altı not'un ortalamasını alıyor.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // while döngüsü ile girilen notların ortalamasını aldık.


    #include

    int main()
    {
    int toplam*
    sayac*
    not*
    ortalama;

    toplam = 0;
    sayac = 1;

    while ( sayac <= 6 )
    {
    cout << "Notu giriniz: ";
    cin >>not;
    toplam = toplam + not;
    sayac = sayac + 1;
    }

    ortalama = toplam / 6;
    cout << "Sınıf ortalaması = " << ortalama << endl;

    return 0;

    } Bu örneğimizde yine toplam* sayac* not* ortalama gibi değişkenleri
    tanımladık. ( toplam =0 ; ve sayac = 1; ) de değişkenlere ilk
    değerlerini atadık. While döngüsünün içinde sayac değişkenimizi altı
    defa işlemesini söyledik. Sonra alttaki toplam ve sayac bölümlerinde ise
    toplam a not' u ekliyoruz* her seferinde de sayac değerini bir
    arttırıyoruz ve sayac değeri 6' ya gelince while döngümüz duruyor.
    Program sonra toplamı alıp altıya böler bu sayede ortalamayı alır*
    sonrada çıktısını gerçekleştirir.
    2. Örnek:
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // while ile faktoriyel hesaplama

    #include
    int main()
    {
    int sayi;
    long int faktoriyel=1;
    cout << "Bir sayı giriniz: ";
    cin >> sayi;
    cout << sayi << " `in Faktöriyeli: ";
    while (sayi > 1)
    faktoriyel *= sayi--;

    cout << faktoriyel << endl;
    return 0;
    } Burda while (sayi>1) şeklinde koşulumuzu belirttik. Bir altında ise
    faktoriyel *= sayi--; evet burda da daha önce gördüğümüz gibi eşitleme
    operatörü olan ( *= ) i kullandık. Yani faktoriyel'e faktoriyel*sayi--
    nin değeri atanır. Matematiğini düşünürseniz; 7 sayısının faktöriyeli 7
    *= 7-- gibi. yani 7 ye devamlı 7-- oda 6 demektir. 6 ile carpımı
    eklenir* bu 6-- ile devam eder. En basit anlatımı buC++ Nedir ve Temel Dersler! Smile Sonrada tüm while
    döngüsü bittikten sonrada faktoriyel' in sonucu çıktı olarak ekrana
    gelir. Bu örnekte negatif sayıların faktöriyelini de 1'e eşit tutuyor.
    Dikkat ediniz. Negatif sayıların faktöriyeli alınmaz şartını koymadık.
    Şayet siz koymak isterseniz bir if else bloğu yerleştirmelisiniz
    if(sayi>=0) faktoriyel al yoksa faktoriyel alma gibi.
    3. Örnek:
    // maas.cpp
    // while if-else ile bir maas vergi uygulaması


    #include

    int main( )
    {
    unsigned long maas* net* vergi = 0.0; // maas net vergi bunları
    tanımladık

    cout<< "Lütfen maaşınızı giriniz: "; // maası giriyoruz
    cin>> maas; // maası programa alıyoruz

    while( maas >= 0.0 ) // maaşın koşlunu yazıyorus döngüye
    {
    if( maas <= 250000000 ) // maaş 250 milyondan az ise
    vergi = 0.0;
    else // vergi yokC++ Nedir ve Temel Dersler! Smile
    if( maas < 500000000 ) // maas 500 den az ise
    vergi = maas * 0.10; // vergi %10
    else // 500 den fazla ise
    vergi = maas * 0.20; // vergi %20

    net = maas - vergi; // net maaşımız vergi düşünce çıkar
    cout<< "Ödenmesi Gereken vergi " << vergi << endl; //
    vergi ekranda
    cout<< "Net maaşınız: " << net << endl; // geriye
    kalan maaşımız


    cout<< "Lütfen maaşınızı giriniz: "; // bir dahaki ayki yeni
    maaşımız
    cin>> maas; // maaşı program alıyor

    }
    return 1;

    } Bu örnekte sanırım fazla açıklama yok. Sizden istediğim* üç kişinin
    maaşını girdikten sonra onların alacağı toplam maaş ve ödemeleri gereken
    toplam vergiyi bulmanız. Bunu yaparsanız buraya kadar olanlardan bir
    şeyler anlamışızdır.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:45 pm

    Do-while Döngüsü


    Do - while Döngüsü:

    Bu döngü while döngüsünün biraz değiştirilmiş halidir. Do-while
    döngüsünde karşılaştırma işlemi* döngünün sonunda gerçekleşir. Bunun
    sonucu olarak döngünün içine en az bir defa girilmiş olur. Yapısı
    aşağıdaki gibidir.
    do

    cümle

    while ( koşul ); do' nun altındaki cümle kısmındaki komut satırları
    birden fazla olursa diğer döngülerde olduğu gibi " { } " içine alıyoruz.
    Bunu kullanmamız kodları okuma da ve ayırma da daha çok işimize
    yarayacaktır.
    do
    {
    cümle
    cümle
    cümle
    ...
    }
    while ( koşul ); Şimdi yukarıda demek istediğimizi standart kod satırı
    üzerinde anlatalım. Kodları yazdığımızda* komut sırası do'ya geldiği
    zaman* do' dan sonraki komutun döngünün başı olduğunu belirtiyor.
    Diğerlerinden farklı ( for* While ) olarak döngüye giriş yapıyor* yani
    hiçbir kontrol yapmadan en az bir defa döngünün içine girmiş oluyoruz.
    While'e geldiğinde ise koşulu kontrol ediyor* eğer doğru ise döngünün
    başındaki komuta giderek yeniden komutları işliyor. Eğer koşul kontrolü
    yanlış ise while'den bir sonra ki komutu veya komutları işleyip döngüden
    çıkıyor. Şimdi bu söylediklerimizi örnek üzerinde gösterelim.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // number echoer
    //do-while döngüsünü kullandık

    #include

    int main ()
    {
    unsigned long x;
    do {
    cout<< "Bir sayı giriniz ( Durdurmak için 0 ) : ";
    cin>> x;
    cout<< "Girdiğiniz sayı: " << x << "\n";
    }
    while (x != 0);
    return 0;
    } Örneğimizde de görüldüğü gibi önce do dan sonraki komutlar işleniyor.
    Şayet 0 girersek while işlemeye başlıyor. Do-while döngüsü C++ da çok
    fazla kullanılmaz bunun yerine biz for' u kullanacağız çünkü for döngüsü
    çok daha güçlüdür.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:46 pm

    For Döngüsü


    For döngüsünün çalışması* döngünün kontrol
    değişkenine başlangıç değerinin atanması ile başlar. Aşağıda vereceğimiz
    ilk değer atama cümlesinden kastımızda budur. Yani bu kısımda başlangıç
    tanımları yapılır. For döngüsünün başlangıç adımıdır. Bu kısımda
    yapılan bir değişken tanımındaki değişkenin ömrü* for döngüsünün sonunda
    biter. Sonra döngü koşul kısmına gelinir ve bu test edilir. Şayet
    değeri !0* doğru (1) olduğunda döngü içindeki komutlar uygulanır.
    Arttırma ise for döngüsü işleminin sonunda meydana gelir. for içindeki
    tüm deyimler meydana geldikten sonra uygulanır.
    Genel yapısı:
    for ( ilk değer atamalar* koşul* arttırma)
    cümle Bunu daha da genellersek* diğerlerinde de olduğu gibi cümleler
    birden fazla olduğunda komut bloğu arasına alınacaktır.
    for ( ilk değer atamalar* koşul* arttırma)
    {
    cümle1
    cümle2
    cümle3
    ...
    } Bu söylediklerimizi bir örnek üzerinde izah edelim.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // for döngüsüyle bir örnek.


    #include
    int main ()
    {
    for (int n=10; n> 0; n--)
    {
    cout << n << " -> ";
    }
    cout<< "Bitti!";
    return 0;
    } Ben sadece for (int n=10; n>0; n--) bu kısmı anlatacağım* diğer
    kısımlar apaçık gözüküyor zaten. For diyip () imizi açtık. Sonra içine
    ilk basamağımız olan değişken tanımlamamızı yaptık. İnt n=10; Bu bizim
    yukarıda bahsettiğimiz ilk değer atamalar kısmı. Daha sonra koşulumuzu
    yazdık. n>0; bunu test ettik ve !0 yani doğru (1) çıktı. Sonrada n--
    yi yazdık. Genel tanımda yazdığımız arttırma kısmı. Aslında buna
    yenileme komutları desek daha doğru olur. Biz bu örnekte örneğin azaltma
    yaptık. Neyse umarım bu for örneğini anlamışsınızdır.
    C++ da yapacağımız çoğu örnekte for u kullanacağız. C++ 'nın en güçlü
    yanlarından biriside for döngüsüdür. For döngüsünün başında yani ilk
    değer atama kısmında birden çok değişken tanımlayıp değer atıyorsak
    bunları virgül ( * ) ile bir birinden ayırmalıyız. İlk değer atamadan
    koşul bölümüne geçtiğimizde ve koşul bölümünden arttırma ya geçerken
    noktalı virgül ( ; ) kullanmalıyız. Tabi kullandığımız bu üç kısım
    seçimlidir istersek boş bırakabiliriz. Fakat* noktalı virgüller ( ; )
    konulması zorunludur.
    1.Örneğimiz:
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    //for döngüsüyle faktöriyel hesap.


    #include

    int main()

    {
    int fac* sayi;

    cout<<"Sayıyı giriniz: ";
    cin>>sayi;
    fac=1;

    for (int j=1; j<=sayi; j++)
    {
    fac=fac*j;
    }

    cout<<"Sonuc: \a"<< fac;
    return 0;

    } Bu örneğimiz oldukça basit. Bildiğimiz matematiksel faktöriyel
    işlemini C++ kodları olarak yazdık. (\a yı kullandım bip! demesi içinC++ Nedir ve Temel Dersler! Smile ).
    2.Örneğimiz:
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // iç içe for döngüsüyle çarpım tablosu


    #include


    main()
    {
    cout<<"Çarpım Tablosu! \n"<int x*y;
    for (x=1; x<=10; x++)
    {
    for (y =1; y<=10; y++)
    cout<<" "<cout<<"\n";
    }
    } Görüldüğü gibi ilk for döngüsünde* birinci bileşen olan x i önce 1 e
    eşitledik sonra birer arttırarak 10' a kadar ***ürdük. Sonraki for da da
    aynısını y için yaptık ve bu iki bileşeni çarparak ekrana yazdırdık.
    Son derece basit bir örnek.
    3.Örneğimiz:
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    // for * if ve while ile asal sayı bulma

    #include

    int main()
    {
    int sayi;
    cout << "Bir sayı girinizr: ";
    cin >> sayi;

    for (int sayac=1; sayac< sayi; sayac++)
    {
    int asal* test;
    test = sayac;
    asal = 1;
    while (test--> 2)
    if ((sayac % test) == 0)
    asal = 0;
    if (asal == 1)
    cout<< sayac << " bir asal sayıdır!\n";
    }
    return 0;
    } Bu örneğimizde ikinci örneğimize benziyor. İçinde for* while ve if de
    var. While ve if' in içindeki matematiksel ifadeleri biliyorsak örnek
    gayet basit gelicektir. Burada bırakmak istiyorum. Bir sonraki ders
    görüşmek üzere.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:47 pm

    Break Komutu


    Break komutunu* swtich komutundan çıkmak için
    önceki derslerimizde görmüştük. Komutun kendine özgü bir kullanımı daha
    vardır. Break komutu bir döngünün içinde çalıştırılırsa o an o döngü
    biter. Bir goto gibi işlem gördüğünü de söyleyebiliriz. Break kullanınca
    program döngüyü bitirir ve döngünün sonundaki satırdan çalışmaya devam
    eder. Bir örnek verelim.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    //break komutunu kullandik.


    #include

    main()

    {

    for (int x = 1; x <= 10; x++) {
    if (x == 7) {
    break;
    }
    cout<< x << " ";
    }
    } İşte örneğimizde gördüğünüz gibi. X 7'ye eşit olunca break; döngüyü
    bitiriyor ve döngüden sonraki satırı çalıştırmaya başlıyor.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:47 pm

    Continue Komutu


    Continue komutu bir döngü içinde çalıştırılırsa
    * o döngü içinde bulunan tur sona erer ancak döngü devam eder. Diğer
    bir deyişle* gövdenin içinde bulunan continue komutundan sonra gelen
    cümleleri atlayarak* döngüyü devam ettirir. Bunu bir örnekle
    açıklayayım.
    [Linkleri görebilmek için üye olun veya giriş yapın.]
    //continue ve break komutunu kullandik.


    #include

    main()

    {

    for(int i=0; i <= 9; i++)
    {
    if(i==5)
    break;
    cout<}


    for(int x=0; x <= 9; x++)
    {
    if(x ==3)
    continue;
    cout<< x;
    }

    } Bu örnekte break ve continue'yu birlikte kullandım. Hem continue'yu
    hem de break ve continue karışımını bir arada vermiş oluruz diye
    düşünüyorum. Örneğimizi inceleyecek olursak. Break olan kısımda
    görüleceği gibi 5'e kadar döngü devam ediyor* döngü bitiyor ve ondan
    sonraki cümleye geçiliyor. Sonra yine bir for döngüsü başlıyor ve bu
    sefer x 3' e eşit olana kadar devam ediyor. 3'e eşit olunca da if
    içindeki x==3 koşulunu sınıyor ve continue ye olduğu için bunu atlıyor.
    Zaten ekran çıktısını aldığınızda ne demek istediğimi daha rahat
    anlayacaksınız.
    Benim size tavsiyem break ve continue komutlarını yapmış olduğunuz basit
    programlarda kullanmanızdır.
    MnyTirith
    MnyTirith
    ● Admin ●
    ● Admin ●


    <b>Doğum tarihi</b> Doğum tarihi : 20/06/90

    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından MnyTirith Ptsi Mart 08, 2010 8:47 pm

    Exit Fonksiyonu


    Hayati hata durumlarını ele almak için exit()
    fonksiyonundan yararlanılır. Bu hatalar main() fonksiyonunu return ile
    normal olarak sonlandırılmadan önce oluşabilir. Exit() fonksiyonu* durum
    değerini bir tam sayı parametre olarak döndürür.
    Exit() ile özel bir değerin gönderilmesi bazı işlemler yapması için
    kullanılabilir. Örneğin program komut satırında kullanılıyorsa ve durum
    değeri bazı hataları gösteriyorsa* işletim sistemi bunları mesaj olarak
    yazabilir. Exit() fonksiyonu programı sonlandırmanın yanında* tüm
    bekleyen yazma işlemlerini tamamlar ve açık tüm dosyaları kapatır.
    Exit() fonksiyonunu kullanırken kullanmamız gerek kütüphaneler ise
    process.h ve stdlib.h tır.
    regenbogen166
    regenbogen166
    Yeni Üye
    Yeni Üye


    C++ Nedir ve Temel Dersler! Empty Geri: C++ Nedir ve Temel Dersler!

    Mesaj tarafından regenbogen166 C.tesi Nis. 17, 2010 11:13 pm

    saolun beyler

      Forum Saati Cuma Mayıs 03, 2024 12:14 am