C++ iç içe ternary (üçlü) operatör kullanımı

C++ programında, ternary operatörü; iç içe bir yapıda da kullanılabilir.

kosul ? ifade1 : (kosul2 ? ifade2 : ifade3) ;

  • Eğer kosul doğru ise ifade1 çalışacaktır.
  • Eğer kosul yanlış ise içerideki ternary çalışacaktır.
#include <iostream>
#include <string>
using namespace std;

int main() {

    int rakam;
    string sonuc;

    cout << "Rakam giriniz (0-9): ";
    cin >> rakam;


    // rakam 0 ise sonuc değişkeni "Sıfır" olur.
    // rakam -1 ise sonuc değişkeni "Negatif" olur.
    // rakam 1 ise sonuc değişkeni "Pozitif" olur.
    sonuc = (rakam == 0) ? "Sıfır" : ((rakam > 0) ? "Pozitif" : "Negatif");

    cout << "Girilen rakam: " << sonuc;

    return 0;
}

C++ iç içe if…else kullanımı

C++ programında, bir koşula bağlı olarak farklı koşullar da kullanılabilir. Bu durumda If deyimi, iç içe (nested) yapıda kullanılabilir.

#include <iostream>
using namespace std;

int main() {
    int num;
    
    cout << "Bir tamsayı giriniz: ";  
    cin >> num;    

    // sayı 0 değilse çalış
    if (num != 0) {
        
        // sayının 2 ile bölümünden kalan 0 ise çifttir
        if ((num % 2) == 0) {
            cout << "Sayı çifttir." << endl;
        }
         // aksi durumda
        else {
            cout << "Sayı tektir." << endl;
        }  
    }
    // sayı 0 ise
    else {
        cout << "0 çift ya da tek sayı değildir." << endl;
        cout << "Birler basamağında yer alirsa çift sayıyı oluşturur" << endl;
    }
    
}
#include <iostream>

using namespace std;

int main(){
    
    int a; 
    cin >> a;
    
    if (a <= 9) {
    
        if (a==1) {
           cout << "one";
        }
        else if (a==2) {
           cout << "two";
        }
        else if (a==3) {
           cout << "three";
        }
        else if (a==4) {
           cout << "four";
        }
        else if (a==5) {
           cout << "five";
        }
        else if (a==6) {
           cout << "six";
        }
        else if (a==7) {
           cout << "seven";
        }
        else if (a==8) {
           cout << "eight";
        }
        else if (a==9) {
           cout << "nine";
        }
    
    
    }
    else{
        cout << "Greater than 9";
    }
    
    return 0;
    
}

C++ if…else kullanımı

C++ programında, belirtilen koşula bağlı olarak (conditional) bir eylemin yapılması söz konusu ise if deyiminden yararlanılır. If deyimi kullanılırken, karşılaştırma işleçlerinin yanı sıra mantıksal işleçler de kullanılabilir.

if (sayi > 10)Eğer sayi 10’dan büyük ise
koşul sağlanır. (TRUE)
if (deger != 5)Eğer değer 5’e eşit değil ise
koşul sağlanır. (TRUE)
if (sayac == 100)Eğer sayaç 100’e eşit ise
koşul sağlanır. (TRUE)
if (sonuc > eski_sonuc)Eğer sonuç, eski sonuçtan büyük ise
koşul sağlanır. (TRUE)
if (sayi > 17 && durum == “M”)Eğer sayi, 17’den büyük
VE
aynı zamanda durum M ise
koşul sağlanır. (TRUE)
if (sayac == 50 || toplam < 100)Eğer sayac 50’ye eşit
VEYA
toplam 100’den küçük ise
koşul sağlanır. (TRUE)

Koşulun sağlanmaması durumunda bir kod bloğu çalıştırmak istersek else deyiminden yararlanırız.

if: eğer
else: aksi halde (değilse) anlamına gelir.

if (koşul) {
// koşul sağlanıyorsa çalışır.
}
else{
// koşul sağlanmıyorsa çalışır.
}


#include <iostream>


using namespace std;

int main()
{
    int yas;

    cout << "Kac yasindasin? : ";
    cin >> yas;
    cout << endl;


    
    if (yas >= 18){
      
        // yas 18'den BÜYÜK ya da EŞİTSE çalışır.
        cout << "Oy kullanabilirsiniz." << '\n';
      
    }else{
      
        // yas 18'den BÜYÜK DEĞİL ya da EŞİT DEĞİL ise çalışır!
        // yani 18'den küçükse...
        cout << "Oy kullanamazsiniz." << '\n';
    }


    /*
     * bu satır ise her zaman çalışır.
     * çünkü if ya da else bloğu içerisinde
     * yer almamaktadır.
     */
    cout << "Program sona erdi" << '\n';


    // sadece if şeklinde de kullanılabilir
    if (yas < 18){
        cout << "18 yasindan kucuksunuz." << '\n';
    }



    // if else arasına ekstra koşullar ekleyebilirsiniz (else if)
    if (yas < 6){
        cout << "anaokul ogrencisi" << '\n';
    }
    else if (yas >= 6 && yas < 12){
        cout << "ilkokul ogrencisi" << '\n';
    }
    else{
        cout << "ogrenci" << '\n';
    }


    return 0;
}

C++ register değişkenler

Değişkenlerin tümü bellek üzerindeki alanları kullanır ancak C++ register değişkenler bu durumdan müstesnadır.

Bir değişkenin register olarak tanımlanması; derleyiciye, değişkenin RAM içerisinde değil, cpu register içerisinde depolanacağını bildirmektir.

Bazı uygulamalarda, değişkenlere çok daha hızlı biçimde erişmek söz konusu olabilir. Böyle durumlarda, register değişkenler tanımlanarak; bellek alanları yerine, makinenin hızlı bellek yazmaçları kullanılabilir.

Her ne kadar değişken register ile tanımlanmış olsa da, register içerisine kayıt edileceği kesin değildir. Bu alanların miktarı sınırlı olduğundan, fazla sayıda register değişken tanımlanırsa amacına ulaşmaz. Kısacası, o anki donanımın durumuna bağlıdır. Eğer CPU içerisinde değişken için boş ve uygun olan bir register yok ise derleyici fazla bulduklarını normal bellek alanlarına yerleştirir.

#include <iostream>

using namespace std;

int main() {

    register int a = 100;
    cout << a;
    return 0;

}