- 20 Ağu 2017
- 83
- 0
Selamun aleyküm Devrem Komutanım ve paşam bu konumda size c++ programla dilini göstereceğim - çaka han
C++ İLE PROGRAMLAMAYA GİRİŞ
// C++ ile ilk programım
#include <iostream>
int main()
{
std::cout << Herkese Merhaba!\n;
return 0; // program sonu
}
Herkese Merhaba!
// C++de açıklama satırının başına konur. Bu satırlar için derleyici bir iş yapmaz; bu satırlar program dökümünde aynen yer alan; programın okunabilirliği, anlaşılabilirliği için gerekli açıklama satırlarıdır. İyi bir programcı gerekli yerlere gerekli açıklamaları koyar.
C dilinde ise açıklama /* */ arasına konur.
# ile başlayan satırlar ön derleyici (preprocessor) içindir. Örnek programımızda # ile başlayan satır ön derleyiciye giriş/çıkış ile ilgili iostream başlık dosyasını (header file) programa dahil etmesini söyler.
int main () her C++ programında olması gerekir.
Her C++ programı bir veya birkaç fonksiyondan oluşur. ()ler mainin bir fonksiyon olduğunu; main sözcüğü de bunun ana fonksiyon olduğunu belirtmektedir.
int integer (tamsayı) anlamında.
int main ()in anlamı: bu ana fonksiyonun çalıştıktan sonra verdiği değer, bir tamsayıdır.
(return 0 ile dönen sıfır )
Bir fonksiyonun gövdesi (body) köşeli sol parantez ile { başlar, köşeli sağ parantez ile } biter.
std::cout ekrana çıkış almak için. İlerki bölümlerde daha ayrıntılı göreceğiz.
std::cin klavyeden girileni okumak için
<< stream insertion operator
\n karakterlerinin çıktıda yer almadığına dikkat edin!
\ escape karakteri
n imlecin alt satıra konumlanmasını söyler.
\n yeni satır
\t bir tab ileri gitmek için
\r imleç yeni yazılan sol başına konumlanır (carriage return)
\a uyarı sesi
Herkese Merhaba! cümlesini başka nasıl yazdırabilirdik?
std::cout << Herkese ;
std::cout << Merhaba!\n;
ŞÖYLE YAZARSAM ÇIKTI NASIL OLUR???
std::cout <<Herkes\ne\nMerhaba!\n;
Herkes
e
Merhaba!
BAŞKA BİR BASİT PROGRAM: iki tamsayının toplanması
// İKİ TAMSAYIYI TOPLAYAN PROGRAM
#include <iostream>
int main()
{
int tamsayi1, tamsayi2, toplam; //tanımlamalar
std::cout << Birinci tamsayıyı giriniz\n;
std::cin >> tamsayi1; //klavyeden girilen sayıyı oku
std::cout << İkinci tamsayıyı giriniz\n;
std::cin >> tamsayi2; // klavyeden girilen sayıyı oku
toplam = tamsayi1 + tamsayi2;
std::cout << Toplam = << toplam << std::endl;
return 0; // programın başarıyla bittiğini gösterir
}
std::endl =è endl end line yani satır sonu demektir. Yaptığı iş, yeni satırı yazdıktan (ekrana yolladıktan sonra) çıkış bufferlarını temizlemektir. Bilindiği gibi, çıkışa gönderilecek veriler, gönderilmeden önce çıkış bufferlarında biriktirilir. Çıkış işleminden sonra bufferların boşaltılması/temizlenmesi için endl kullanırız.
NOT:
C++, büyük ve küçük harfe duyarlı bir dildir.
Cümleler ; (noktalı virgül) ile biter.
Devrem komtanim pasam İyi Bir Program yazmak istiyorsanız burayıda okumanızı tavsiye ederim -
1- Bir fonksiyonun gövdesinin içine yazılan satırlar 3 boşluk içerden yazılır (indentation)
2- Tanımlamalar ile yürütülebilir cümleler arasında bir satır boşluk bırakınız.
3- Anlamlı değişken isimleri kullanınız.
4- İkili (binary) operatörlerin sağ ve solunda birer boşluk bırakını
ARİTMETİK OPERATÖRLER
C++ işlemi Aritmetik operatör Cebirsel ifade C++ ifadesi
Toplama + f+7 f + 7
Çıkarma p-c p c
Çarpma * bm b * m
Bölme / x/y x / y
Modulus % r mod s r % s
C++da aritmetik işlemlerde operatörlerin öncelik sırası kuralları:
1- Parantez içleri en önce hesaplanır.
2- Daha sonra, çarpma, bölme, modulus işlemleri yapılır. Bir aritmetik ifadede birden fazla çarpma, bölme, modulus işlemi varsa, bu işlemlerdeki operatörler SOLDAN SAĞA doğru uygulanır. Çarpma, bölme, mod operatörlerinin önceliği aynıdır.
3- En son toplam ve çıkarma işlemleri yapılır. Bir ifade, birden fazla toplama ve çıkarma işlemi içeriyorsa, bunlara ait operatörler SOLDAN SAĞA uygulanır.
Örnek olarak : ss. 31 33 (Deitel)
İyi Program yazmak için :
Cebirde olduğu gibi, gereksiz parantezler konmayabilir. Ancak, özellikle uzun ifadelerde alt ifadeleri parantez içlerin alarak anlaşılabilirliği artırmak iyidir.
İLİŞKİSEL OPERATÖRLER ve EŞİTLİK OPERATÖRLERİ
İlişkisel operatörler C++ karşılığı C++ örneği Anlamı
> > x > y x, yden büyüktür
< < x < y x, yden küçüktür
>= x >= y x, yden büyüktür veya yye eşittir
<= x <= y x, yden küçüktür veya yye eşittir.
Eşitlik operatörleri
= == x ==y x, yye eşittir
!= x != y x, yye eşit değildir
Arkadaşlar birde sık sık yapılan hatalar var bunlardan bahzıları:
==, >=, <=, != operatörlerini yazarken iki karakter arasında boşluk bırakılmamalıdır veya iki karakterin yeri değiştirilmemelidir.
Eşitlik operatörü == yi, atama için kullanılan = ile karıştırmayınız.
EŞİTLİK VE BAĞINTI OPERATÖRLERİNİ KULLANAN BİR PROGRAM ÖRNEĞİ :
// if cümlesi ile eşitlik ve ilişki/bağıntı operatörlerini kullanan bir program
#include <iostream>
using std::cout; // program cout kullanır
using std::cin; // program cin kullanır
using std::endl; // program endl kullanır.
int main ()
{
int sayi1, sayi2;
cout << İki tamsayi giriniz.\n
<< Ben aralarındaki ilişkiyi söyleyeceğim: ;
cin >> sayi1 >> sayi2;
if (sayi1 == sayi2)
cout << sayi1 << sayi2 << ye eşittir. << endl;
if (sayi1 != sayi2)
cout << sayi1 << sayi2 << ye eşit değildir. << endl;
if (sayi1 < sayi2)
cout << sayi1 << , << sayi2 << den küçüktür. << endl;
if (sayi1 > sayi2)
cout << sayi1 << , << sayi2 << den büyüktür. << endl;
if (sayi1 <= sayi2)
cout << sayi1 << , << sayi2 << den küçük veya eşittir. << endl;
if (sayi1 >= sayi2)
cout << sayi1 << , << sayi2 << den büyük veya eşittir. << endl;
return 0;
}
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 3 7
3, 7ye eşit değildir.
3, 7den küçüktür.
3, 7den küçük veya eşittir.
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 22 12
22, 12ye eşit değildir.
22, 12den büyüktür.
22, 12den büyük veya eşittir.
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 7 7
7, 7ye eşittir.
7, 7den küçük veya eşittir.
7, 7den büyük veya eşittir.
Using cümleleri: cout ve cinden önce std:: kullanımını ortadan kaldırır. Hatırlanacağı gibi ilk basit örneğimizde std::cout kullanmıştık. Çok sayıda giriş / çıkış yapılacağı zaman her cout ve cinden önce std:: kullanmak çok pratik olmayacaktır. Bu nedenle using kullanmakta fayda vardır.
Yeniden iyi bir program yazma tavsiyeleri :
1- Programın okunabilirliğini artırmak için if yapısının içinde yer alan cümleleri 3 boşluk içerden yazınız.
2- Bir satırda birden fazla cümle yer almamalı.
3- Bir cümle bir satıra sığmayıp alt satırdan devam edecekse, cümleyi anlamlı bir yerinden bölmeye özen gösteriniz.
C++ İLE PROGRAMLAMAYA GİRİŞ
// C++ ile ilk programım
#include <iostream>
int main()
{
std::cout << Herkese Merhaba!\n;
return 0; // program sonu
}
Herkese Merhaba!
// C++de açıklama satırının başına konur. Bu satırlar için derleyici bir iş yapmaz; bu satırlar program dökümünde aynen yer alan; programın okunabilirliği, anlaşılabilirliği için gerekli açıklama satırlarıdır. İyi bir programcı gerekli yerlere gerekli açıklamaları koyar.
C dilinde ise açıklama /* */ arasına konur.
# ile başlayan satırlar ön derleyici (preprocessor) içindir. Örnek programımızda # ile başlayan satır ön derleyiciye giriş/çıkış ile ilgili iostream başlık dosyasını (header file) programa dahil etmesini söyler.
int main () her C++ programında olması gerekir.
Her C++ programı bir veya birkaç fonksiyondan oluşur. ()ler mainin bir fonksiyon olduğunu; main sözcüğü de bunun ana fonksiyon olduğunu belirtmektedir.
int integer (tamsayı) anlamında.
int main ()in anlamı: bu ana fonksiyonun çalıştıktan sonra verdiği değer, bir tamsayıdır.
(return 0 ile dönen sıfır )
Bir fonksiyonun gövdesi (body) köşeli sol parantez ile { başlar, köşeli sağ parantez ile } biter.
std::cout ekrana çıkış almak için. İlerki bölümlerde daha ayrıntılı göreceğiz.
std::cin klavyeden girileni okumak için
<< stream insertion operator
\n karakterlerinin çıktıda yer almadığına dikkat edin!
\ escape karakteri
n imlecin alt satıra konumlanmasını söyler.
\n yeni satır
\t bir tab ileri gitmek için
\r imleç yeni yazılan sol başına konumlanır (carriage return)
\a uyarı sesi
Herkese Merhaba! cümlesini başka nasıl yazdırabilirdik?
std::cout << Herkese ;
std::cout << Merhaba!\n;
ŞÖYLE YAZARSAM ÇIKTI NASIL OLUR???
std::cout <<Herkes\ne\nMerhaba!\n;
Herkes
e
Merhaba!
BAŞKA BİR BASİT PROGRAM: iki tamsayının toplanması
// İKİ TAMSAYIYI TOPLAYAN PROGRAM
#include <iostream>
int main()
{
int tamsayi1, tamsayi2, toplam; //tanımlamalar
std::cout << Birinci tamsayıyı giriniz\n;
std::cin >> tamsayi1; //klavyeden girilen sayıyı oku
std::cout << İkinci tamsayıyı giriniz\n;
std::cin >> tamsayi2; // klavyeden girilen sayıyı oku
toplam = tamsayi1 + tamsayi2;
std::cout << Toplam = << toplam << std::endl;
return 0; // programın başarıyla bittiğini gösterir
}
std::endl =è endl end line yani satır sonu demektir. Yaptığı iş, yeni satırı yazdıktan (ekrana yolladıktan sonra) çıkış bufferlarını temizlemektir. Bilindiği gibi, çıkışa gönderilecek veriler, gönderilmeden önce çıkış bufferlarında biriktirilir. Çıkış işleminden sonra bufferların boşaltılması/temizlenmesi için endl kullanırız.
NOT:
C++, büyük ve küçük harfe duyarlı bir dildir.
Cümleler ; (noktalı virgül) ile biter.
Devrem komtanim pasam İyi Bir Program yazmak istiyorsanız burayıda okumanızı tavsiye ederim -
1- Bir fonksiyonun gövdesinin içine yazılan satırlar 3 boşluk içerden yazılır (indentation)
2- Tanımlamalar ile yürütülebilir cümleler arasında bir satır boşluk bırakınız.
3- Anlamlı değişken isimleri kullanınız.
4- İkili (binary) operatörlerin sağ ve solunda birer boşluk bırakını
ARİTMETİK OPERATÖRLER
C++ işlemi Aritmetik operatör Cebirsel ifade C++ ifadesi
Toplama + f+7 f + 7
Çıkarma p-c p c
Çarpma * bm b * m
Bölme / x/y x / y
Modulus % r mod s r % s
C++da aritmetik işlemlerde operatörlerin öncelik sırası kuralları:
1- Parantez içleri en önce hesaplanır.
2- Daha sonra, çarpma, bölme, modulus işlemleri yapılır. Bir aritmetik ifadede birden fazla çarpma, bölme, modulus işlemi varsa, bu işlemlerdeki operatörler SOLDAN SAĞA doğru uygulanır. Çarpma, bölme, mod operatörlerinin önceliği aynıdır.
3- En son toplam ve çıkarma işlemleri yapılır. Bir ifade, birden fazla toplama ve çıkarma işlemi içeriyorsa, bunlara ait operatörler SOLDAN SAĞA uygulanır.
Örnek olarak : ss. 31 33 (Deitel)
İyi Program yazmak için :
Cebirde olduğu gibi, gereksiz parantezler konmayabilir. Ancak, özellikle uzun ifadelerde alt ifadeleri parantez içlerin alarak anlaşılabilirliği artırmak iyidir.
İLİŞKİSEL OPERATÖRLER ve EŞİTLİK OPERATÖRLERİ
İlişkisel operatörler C++ karşılığı C++ örneği Anlamı
> > x > y x, yden büyüktür
< < x < y x, yden küçüktür
>= x >= y x, yden büyüktür veya yye eşittir
<= x <= y x, yden küçüktür veya yye eşittir.
Eşitlik operatörleri
= == x ==y x, yye eşittir
!= x != y x, yye eşit değildir
Arkadaşlar birde sık sık yapılan hatalar var bunlardan bahzıları:
==, >=, <=, != operatörlerini yazarken iki karakter arasında boşluk bırakılmamalıdır veya iki karakterin yeri değiştirilmemelidir.
Eşitlik operatörü == yi, atama için kullanılan = ile karıştırmayınız.
EŞİTLİK VE BAĞINTI OPERATÖRLERİNİ KULLANAN BİR PROGRAM ÖRNEĞİ :
// if cümlesi ile eşitlik ve ilişki/bağıntı operatörlerini kullanan bir program
#include <iostream>
using std::cout; // program cout kullanır
using std::cin; // program cin kullanır
using std::endl; // program endl kullanır.
int main ()
{
int sayi1, sayi2;
cout << İki tamsayi giriniz.\n
<< Ben aralarındaki ilişkiyi söyleyeceğim: ;
cin >> sayi1 >> sayi2;
if (sayi1 == sayi2)
cout << sayi1 << sayi2 << ye eşittir. << endl;
if (sayi1 != sayi2)
cout << sayi1 << sayi2 << ye eşit değildir. << endl;
if (sayi1 < sayi2)
cout << sayi1 << , << sayi2 << den küçüktür. << endl;
if (sayi1 > sayi2)
cout << sayi1 << , << sayi2 << den büyüktür. << endl;
if (sayi1 <= sayi2)
cout << sayi1 << , << sayi2 << den küçük veya eşittir. << endl;
if (sayi1 >= sayi2)
cout << sayi1 << , << sayi2 << den büyük veya eşittir. << endl;
return 0;
}
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 3 7
3, 7ye eşit değildir.
3, 7den küçüktür.
3, 7den küçük veya eşittir.
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 22 12
22, 12ye eşit değildir.
22, 12den büyüktür.
22, 12den büyük veya eşittir.
İki tamsayı giriniz.
Ben size aralarındaki ilişkiyi söyleyeceğim: 7 7
7, 7ye eşittir.
7, 7den küçük veya eşittir.
7, 7den büyük veya eşittir.
Using cümleleri: cout ve cinden önce std:: kullanımını ortadan kaldırır. Hatırlanacağı gibi ilk basit örneğimizde std::cout kullanmıştık. Çok sayıda giriş / çıkış yapılacağı zaman her cout ve cinden önce std:: kullanmak çok pratik olmayacaktır. Bu nedenle using kullanmakta fayda vardır.
Yeniden iyi bir program yazma tavsiyeleri :
1- Programın okunabilirliğini artırmak için if yapısının içinde yer alan cümleleri 3 boşluk içerden yazınız.
2- Bir satırda birden fazla cümle yer almamalı.
3- Bir cümle bir satıra sığmayıp alt satırdan devam edecekse, cümleyi anlamlı bir yerinden bölmeye özen gösteriniz.