C++ programlama

Programlama ile alakalı öğrenmeniz gereken bilgiler kaynağı

2.04.2016

C ve C++ Yazılımcıları İçin En İyi 5 IDE

5 yorum :

Top 5 IDE’s For C_C++
Üst düzey programlama dillerinin popülerliklerine göre sıralanması genel olarak kısa sürede değişmiyor. Programlamlama dilleri vaatler getirerek çıkıyorlar ama çoğunluğu birkaç yıl sonra kullanılabilirliğini kaybediyor. Buna rağmen bilgisayarlar ilk çıktığında çıkan programlama dilleri hala popülerliğini sürdürüyor. Diğer çoğu dilin temelini oluşturan C ve C++ dilleri de bu dillerden biri.

C ve C++; PHP, Python, C#, Java ve diğer dillerin temeli olduğu için bir programcı bu dilleri bilmeli. Bir programcı C ve C++ daki mantığı ve kodlamayı anlarsa diğer dillerdeki mantığı ve kodlamayı da rahat bir şekilde anlayabilir.

Bu yüzden C ve C++ öğrenmek gerekir. Peki bu dilleri hangi IDE ile öğrenmemiz gerekir? Bu yazıda C ve C++ dilleri için en çok kullanılan 5 IDE ile ilgili bilgiler vereceğim. Bu bilgilerden faydalanarak da hangi IDE yi seçeceğinize karar verebilirsiniz.

1) Eclipse

eclipse

Eclipse C ve C++ programlamacılar için açık kaynak programı ve işlevsellik sunan C ve C++ için en popüler ve güçlü IDE lerden biridir.

Özellikler

  • Ücretsiz açık kaynak kodlu yazılım
  • Windows, Linux ve Mac OS X i destekler
  • Hata ayıklayıcı, derleyici, ayrımlama, otomatik tamamlayıcı, programın çıktılarını ve işlevlerini değiştirmeden iç yapısının yeniden düzenlenmesi hizmetlerini sunar
  • Sürükle ve bırak işlevlerini kullanarak öğe düzenlemek için grafik kullanıcı arayüzü (GUI) var
  • Ayrıca statik kod analizini destekler

2) Code::Blocks

codeblocks

Code::Blocks C ve C++ geliştiricilerinin en çok istenen ihtiyaçlarını karşılamak için oluşturulan bir IDE. Bu IDE C ve C++ geliştiricileri için istenen tüm özelliklere sahip.

Özellikleri

  • Olması gerektiği gibi Windows, Linux ve OS X de çalışır
  • Eklentileri ile tamamen yapılandırılabilir ve genişletilebilir olacak şekilde tasarlanmıştır
  • Derleyici, hata ayıklayıcı, ayrımlama, otomatik tamamlama, kod kapsamı kolaylıklarını sunar
  • Nesneler ile programı görselleştirme
  • Eclipse gibi sürükle ve bırak işlevlerini kullanarak öğe düzenlemek için grafik kullanıcı arayüzü (GUI) 

3) GNAT Programming Studio

GNAT Programming Studio

GNAT Programming Studio kısaltılışı GPS ile bilinen, yazılım ve geliştirici arasındaki etkileşimini kolaylaştıran son derece gelişmiş ücretsiz bir IDE. GPS doğal arayüzü ile kullanımı kolaylaştırır ayrıca programdaki temel fikirleri vurgulamak için yardımcı olur.

Özellikler

  • Çoklu platformu destekler
  • Derleyici, hata ayıklayıcı, ayrımlama, otomatik tamamlama, kod kapsamı kolaylıklarını sunar
  • Programın çıktılarını ve işlevlerini değiştirmeden iç yapısının yeniden düzenlenmesi
  • Sürükle ve bırak özellikleri ile programın kullanışını rahatlatır
  • Nesneler ile programı görselleştirme

4) CodeLitecodelite


CodeLite C ve C++ programlayıcıları için ücretsiz, mükemmel ve açık kaynak bir IDE. CodeLite Windows, Linux ve OS X platformlarını destekler.

Özellikleri

  • Derleme ve hatalar için genel destek BuildTab üzerinden ulaşılabilir
  • Yeni nesil ayıklayıcı destekler
  • Oldukça hızlı ve güçlü bir kod tamamlayıcısı var
  • Statik kod analizi, programın çıktılarını ve işlevlerinin değiştirmeden iç yapının yeniden düzenlenmesi, nesneler ile programı görselleştirme, ayrımlama özellikleri 
  • Ayrıca widget tabanlı uygulama yapmada kendi RAD aracı vardır

5) NetBeans

netbeans
NetBeans C ve C++ tabanlı birçok şablona sahiptir. Dinamik ve statik kitaplıkları ile uygulamalar oluşturma olanağı sağlar. Web geliştiriciler arasında daha popüler olmak için inanılmaz özellikler içerir.

Özellikler

  • Ücretsiz ve açık kaynak bir IDE dir
  • Çoklu platformu destekler
  • Kod tamamlayıcısı hızlıdır
  • Anlamsal vurgulandırma ve biçimlendirme (biçimlendirme seçenekleri vardır), kod katlama, parantez eşitleme ve şablonlar
  • Uzak bilgisayarlar üzerinde oluşturma, yönetme 

Son

İyi bir IDE programlamaya, uygulama veya site yapmaya yardımcı olur. İnternette C ve C++ için birçok IDE bulabilirsiniz. Ama en iyisini bulmak zor iştir. Yukarıdakilerden hangisi sizin için en iyidir. Buna karar verin ve programlamaya başlayın. Bunlar dışında iyi olduklarını düşündüğünüz IDE ler varsa veya bu konu ile ilgili sorularınız varsa aşağıya yorumunuzu paylaşabilirsiniz.  

30.03.2016

IDE Nedir?

Hiç yorum yok :

Top 10 IDE’s For C_C++

IDE (Integrated Development Environment)

IDE, "integrated development environment" kelimelerinin kısaltılmışıdır. Türkçesi ise "tümleşik geliştirme ortamı"dır. 

IDE bilgisayar programcılarının hızlı ve rahat bir şekilde yazılım geliştirebilmesini amaçlayan, geliştirme sürecini organize edebilen birçok araç ile birlikte geliştirme sürecinin verimli kullanılmasına katkıda bulunan araçların tamamını içerisinde barındıran bir yazılım türüdür.

Yazılımcıların programlamada kullandığı en önemli araç IDE lerdir. Hangi IDE yi kullanacağını seçme bir yazılımcı için çok önemli bir konudur. Çünkü yazılımcının seçtiği IDE ye göre kodun yazılma kolaylığı, derleme kalitesine de değişir. Bu da demek oluyor ki seçtiğimiz IDE ye göre bizim programlamayı sevmemiz değişecektir. Bu yüzden programa yapacağımız IDE yi seçerken özelliklerini iyi bir şekilde araştırmalıyız. Peki bu özellikler nelerdir?

IDE leri bir metin editörlerinden farklı yapan özellikler vardır. Bu özellikler:

  • Derleyici, yorumlayıcı
  • Hata ayıklama (Debugging) mekanizması
  • Programlama diline göre sözdizimi renklendirmesi yapabilen bir kod yazım editörü
  • Birden farklı kod dosyalarının eşzamanlı görünümü
  • Yazılımın derlenmesi, bağlanması, çalışmaya tümüyle hazır hale gelmesi
  • Birçok işi yapabilmesi için küçük araç gereç

Verilen özellikler IDE leri metin belgelerinden ayırır. Bu özelliklerin kalitesine göre IDE lerin popülerliği de artar. Günümüzde en çok kullanılan IDE ler : Eclipse, Code:Blocks, GNAT Programming Studio, CodeLite, NetBeans, Qt Creator, Dev C++, C++ Builder, Anjuta, MonoDevelop  


29.03.2016

Global ve Local Değişkenler

2 yorum :
Global ve Local

C++ Değişkenlerin Etkili Olduğu Alanlar

Global ve local değişkenlerin kullanıldığı etki alanı vardır. Bir değişkeni kendi etki alanı altında kullanmalıyız. Bir yerde değişken tanımlayıp diğer farklı yerde kullanmaya çalışırsak program derleme hatası verir. Örneğin for içinde tanımladığımız değişkenleri for un dışında kullanamayız. While, if ve fonksiyonlarda da bu böyledir.

Etki alanlarını iki grupta toplayabiliriz:

Blok tanınabilirlik alanı. (Block scope): Bir değişkenin tanımlandıktan sonra, derleyici tarafından, yalnızca belirli bir blok içinde tanınabilmesidir.
Dosya tanınabilirlik alanı (File scope) : Bir değişkenin tanımlandıktan sonra tüm kaynak dosya içinde, yani tanımlanan tüm fonksiyonların hepsinin içerisinde tanınabilmesidir.


Değişkenleri de tanınabilirlik alanlarına göre ikiye ayırabiliriz :



Yerel değişkenler (local variables)
Global değişkenler (global variables)


Yerel Değişkenler (Local Variables)

Fonksiyonların içinde tanımlanan değişkenlere yerel değişkenler denir. Yerel değişkenlere sadece içinde olduğu fonsiyonlardan erişilir. Kısacası süslü parantezler ( {} ) içerisinde tanımlanan değişkenler yine o parantezler içerisinde geçerlidir. For gibi operatörlerde tek satırla yazılan kodlarda süslü parantez yoktur. Ama biz onu süslü parantez içinde olduğunu düşüneceğiz. Yani tek satırlık for, if, while gibi operatörlerde tanımlanan değişkenleri o operatörün dışında kullanamayız.

Operatör içinde operatör olan durumlar da vardır. Bu durumlarda kullanılan bir yerel değişken o operatördeki tanımlanmış bir değişkeni ifade edebilir veya kullanıldığı operatörü içine alan bir operatörde tanımlanmış bir değişkeni ifade eder. 

Aynı isimli değişkenler aynı operatörlerde tanımlanamaz ama iç içe tanımlanmış operatörlerde tanımlanabilir. Bu durumda x isminde tanımlanmış bir değişken en son tanımlanmış x ismindeki değişkeni ifade eder.

Örnek 

int main() {
    
    {
        int sonuc = 10;
        cout << sonuc;
        {
            int sonuc = 20;
            cout << sonuc;
        }
    }
    
}
Burada iki tane sonuc yerel değişkeni tanımladık. İlk sonuc değişkeni birinci ve ikinci parantezde kullanılabilir, ikinci sonuc değişkeni ise ikinci parantezde kullanılabilir.

Yerel değişkenlerin tanımlandığı yerleri daha iyi anlamak için doğru ve yanlış kullanımlarıyla ilgili örnek verelim.

Yanlış Kullanım

int main() {
    
    int x = 5;
    if (x==5) {
        int dogru = 1;
    }
    else int dogru = 0;
    cout << dogru;
    
}
dogru değişkenini if içinde tanımladıysak if içinde kullanmak zorundayız. Yukarıda olduğu gibi cout << dogru yazarak if dışında kullanırsak derleme hatası verir. Peki bu kodun doğrusu nasıl yazılır?

Doğru Kullanım

int main() {
    
    int x = 5;
    int dogru;
    if (x==5) {
        dogru = 1;
    }
    else dogru = 0;
    cout << dogru;
    
}

dogru değişkenini main fonksiyonunda kullanılabilir olarak tanımladık. Böylelikle if ve else içinde de kullanılabilir oldu. 


Tanımlanmış bir yerel değişkeni ondan önce kullanamayız.

Örnekler

int main() {
    
    int a;
    float a;
    
}

Aynı etki alanda iki tane aynı isimli değişken tanımlanmıştır. Yanlış kullanım

Etki Alanları Örnek

int main() {
    
    // a nın etki alanı değil
    
    int a;
    
    // a nın etki alanı
    
    {
        // a nın etki alanı
        // b nin etki alanı değil

        int b;
        
        // a nın etki alanı
        // b nin etki alanı
        
        {
            // a nın etki alanı
            // b nin etki alanı
            // c nin etki alanı değil
            
            int c;
            
            // a nın etki alanı
            // b nin etki alanı
            // c nin etki alanı

        }
    }
}

Farklı void, int vb. fonksiyonlarda aynı isimli yerel değişkenler tanımlanabilir ama tanımlanan değişkenler kendi fonksiyonundan çağrılabilir.

void ornek()
{
    int  k;

}

void ornek1()
{
    int  k;
    
}

void ornek2()
{
    int  k;
    
}

Global Değişkenler (Global Variables)

Tüm fonksiyonların dışında tanımlanan değişkenlere global değişkenler denir. Bu tür değişkenler tanımlandıktan sonraki her yerde kullanılabilir.

Örnek

#include <iostream>

using namespace std;

// global değişken burada tanımlanabilir

int a;

void ornek()
{
    // a burada kullanılabilir
    // b burada kullanılamaz

}

// global değişken burada tanımlanabilir

void ornek1()
{
    // a burada kullanılabilir
    // b burada kullanılamaz

}

// global değişken burada tanımlanabilir

int b;

void ornek2()
{
    // a burada kullanılabilir
    // b burada kullanılabilir

    
}

// global değişken burada tanımlanabilir

int main() {
    
    // a burada kullanılabilir
    // b burada kullanılabilir

}

Not : Yerel değişkenler etki alanı olarak global değişkenlerden büyüktür. Yani aynı isimli değişken hem global hem de yerel olarak tanımlanmış ise yerel olanın olduğu operatörde yerel olanın etkisi olacaktır. Tabiki yerel değişkenin altında olan yer o yerel değişkenin etki alanına dahildir. Bir operatörde yerel değişkenden önce o isimde bir değişken kullanılırsa global değişkenin etki alanına girer.


25.03.2016

2016 Mart En Çok Kullanılan Programlama Dilleri

Hiç yorum yok :
Yazılım endüstrisinin hızlı değişmesi sonucu kullanılan programlama dilleri de değişir. 2016 Mart'ta en çok kullanılan 10 programlama dillerine baktığımız zaman fazla bir değişiklik olmadığını görürüz. Tek farklılık Visual Basic, PHP ve Perl dillerinin ilk 10'da C#, Python ve JavaScript dilleri ile birlikte yer değiştirmesidir.

Objective-C son 10 yıldır ilk 10'a girmişti hatta 3. sıraya kadar yükselmişti. Ama Apple'ın duyurusundan hemen sonra Objective-C ile Swift yer değiştirdi.

Mar 2016Mar 2015ChangeProgramming LanguageRatingsChange
12changeJava20.528%+4.95%
21changeC14.600%-2.04%
34changeC++6.721%+0.09%
45changeC#4.271%-0.65%
58changePython4.257%+1.64%
66PHP2.768%-1.23%
79changeVisual Basic .NET2.561%+0.24%
87changeJavaScript2.333%-1.30%
912changePerl2.251%+0.92%
1018changeRuby2.238%+1.21%
1113changeDelphi/Object Pascal2.005%+0.85%
1228changeAssembly language1.847%+1.23%
1310changeVisual Basic1.674%-0.28%
1423changeSwift1.587%+0.77%
153changeObjective-C1.461%-5.23%
1620changeR1.285%+0.33%
1736changeGroovy1.193%+0.78%
1819changeMATLAB1.193%+0.19%
1917changePL/SQL1.193%+0.16%
2031changeD1.139%+0.64%

22.03.2016

Değişken İsimlerinin Tanımlanması

Hiç yorum yok :
değişkenler

Değişken İsimleri Tanımlarken Dikkat Edilmesi Gerekenler

Değişken isimlerini istediğimiz şekilde oluşturamayız. Değişken isimleri oluşturmanın da kuralları vardır. Bu kuralları şu şekilde sıralayabiliriz:
  • Değişken isimleri önceden bilgisayarda tanımlanmış isimler olmamalı. (int, void, return)
  • Değişken isimleri harfler (büyük harf veya küçük harf), sayılar ve alttan tire (_) ile oluşturulur. Yani semboller (+, *, - , / vb.) içeremez.
  • Değişken isimleri rakam ile başlayamaz.
  • Değişken isimleri büyük küçük harflere duyarlıdır. Yani bir kelime büyük harf ile başlarsa farklı bir tanımlama, küçük harf ile başlarsa farklı bir tanımlama olur. (int value ile int vAluE farklı tanımlama)
  • Değişken isimleri arasında boşluk olmamalıdır. (int araba hizi; // yanlış kullanım)
Tanımlanan değişken bir kelime olacaksa hepsini küçük harf ile yapmamız kodumuzun anlaşılabiliriliği açısından daha iyi olacaktır.

int deger; // daha kolay yazılabilir ve akılda tutulabilir
int Deger; // kullanımı daha zor olur

Aynı şekilde bir tanımlamanın harflerini büyüterek veya küçülterek yeni bir tane isim tanımlamamız kullanılabilirliği açısından daha zor olacaktır.

Eğer değişken ismini iki kelimeden oluşturmak istiyorsak şu şekilde yapabiliriz.

int arabaHizi;
int araba_hizi;

int atisSüresi;
int atis_süresi;


Yukarıda gösterilen iki türü de kullanabiliriz. Böylelikle değişkenler daha kolay aklımızda kalabilir. Koda bakıldığı zaman anlaşılabilirliği daha kolay olur.

21.03.2016

Birleşik ve İlişkisel Operatörler (&& || !)

Hiç yorum yok :
Birleşik ve İlişkisel Operatörler

İlişkisel (Relational) Operatörler

Bir koşulun doğruluğunu kontrol etmek için kullandığımız operatörlere ilişkisel operatörler denir. Bu operatörler aşağıda verilmiştir.

<
Küçüktür
>
Büyüktür
==
Eşittir
<=
Küçük eşittir
>=
Büyük eşittir
!=
Eşit değildir

Birleşik (Compound) Operatörler

Kontrol edeceğimiz koşul, tek bir parametreye bağlı olmadığı zaman birleşik operatörleri kullanmamız gerekir. Örneğin; bir sayının 10'dan büyük olup olmadığını tek bir parametre ile karşılaştırabiliriz ama 20'den küçük olup olmadığını da anlamak için ikinci parametreye ihtiyacımız olur, o zaman Birleşik/Birleştirici Operatörler'i kullanmamız uygun olacaktır.

Birleşik operator'ler aşağıdaki gibidir:
&&
and
ve
||
or
veya
!
not
tersi


Bu operatörlerin mantıksal (logical) doğruluk tablosu da şu şekildedir:

p
q
p&&q
p||q
!p
0
0
0
0
1
0
1
0
1
1
1
0
0
1
0
1
1
1
1
0



Örnek 1


bir sayının 10 ile 20 arasında olup olmadığını bulmak istiyorsak birleşik operatörleri şöyle kullanırız:


int main() {
    
    int a = 0;
    cin >> a;
    if (a>10 && a<20cout << "10 ile 20 arasında";
    else cout << "10 ile 20 arasında değil";
    

}

Örnek 2


Bir sayının 0 olup olmadığını kontrol etmek için ! işaretini kullanırız:


int main() {
    
    int a = 0;
    cin >> a;
    if (!a) cout << "sayı 0";
    else cout << "sayı 0 değil";
    

}

Burada da görüldüğü gibi bir sayını başına ! işareti getirilirse sayının tersi alınır. Yani sayı 0 ise 1 olur sıfırdan farklı ise 0 olur. Negatif bir sayının tersi de 0 olur.

15.03.2016

For Döngüsü

Hiç yorum yok :
For Döngüsü

for(ifade1 ; ifade2 ; ifade3) {
işlem;
}

for dongüsünde ilk olarak ifade1 yapılır ve ifade1 bir daha döngü sırasındayken yapılmaz. Sonra ifade2'nin doğruluğu olursa işlem'i yapar ve son olarak ifade3'ü yapar. Döngü böyle gerçekleşir.


ilk olarak ifade1-sadece başlangıçta-

ifade2'nin doğruluğu - işlem - ifade3


For döngüsünde ifadelerin arasına noktalı virgül konulmasına dikkat edilmelidir. Konulmazsa derleme hatası verecektir.



Eğer for un içinde break yoksa döngü ifade2'nin yanlış olmasıyla sonlanır. İfade2 daima doğru olursa sonsuz bir döngü gerçekleşir.


For döngüsünün while döngüsü ile gösterimi



ifade1;

while(ifade2){
işlem;
ifade3;
}


Örnek


int main() {
    
    int a = 0;
    for (int i = 0; i < 10; i++) {
        a+=i;
    }
    cout << a;
    

}

a sayısı 1'den 9'a kadar olan sayılarla toplanır ve çıktı 45 olur. a sayısı 10 ile toplanmaz çünkü i < 10 olması durumunda a ile toplanır.

Üçlü Karşılaştırma Operatörü [? :]

Hiç yorum yok :
Üçlü Karşılaştırma Operatörü [? :]


? : Operatörü neden kullanılır?


? : operatörü, if-else operatörünün yerine kullanılır. if-else ile yazılan kod satırımızı hem kısaltmak hem de bu kodu daha kısa bir şekilde ifade etmek için ? : operatörü kullanılır.


? : Operatörü Kullanımı


Koşul ? işlem1 : işlem2;

? : operatörü, koşul sağlanırsa işlem1'i sağlanmazsa işlem2'yi yapar. Böylelikle if-else ile yapacağımız işlemi ? : operatörü ile tek satırda halletmiş olduk.

Örnek

int main() {
    
    int a;
    cin >> a;
    a>10 ? printf("sayı 10'dan büyük") : printf("sayı 10'dan küçük eşit");
    
}

Eğer girilen sayı 10 dan büyük ise ?'den sonraki işlemi değilse :'dan sonraki işlemi yapar.