30
BAŞLANGIÇ… 1. Ekrana herhangi birşey yazdırma #include <stdio.h> int main(){ Printf(“ Merhaba Dunya”); return 0; } // Tek satir açıklama yazmak için kullanılır. Derleyici bu satırları dikkate almaz.// /* Birden çok satır yani paragraf yazmak için kullanılır. Derleyici bu satırları dikkate almaz. */ \n Bir satır aşağı inmek için kullanılır. \t Bir tab miktarı ileri gitmek için kullanılır. 2. Degisken Cinsleri (Int, Float, Char, Double..) Fonksiyon tanımı ve değikenlere değer atamak int ise, %d float ise, %f double ise %lf char ise, %c int sinif_mevcudu = 28; printf(“%d”, sinif_mevcudu); int x,y,toplam; toplam=x+y; int a,b,c; (değişkenler) c=a+b; (fonksiyon) Değişken olan a ve b şu değerleri alsın: a=1 veb=2; fonksiyonumuz ise c = a+b olsun. Fonksiyonumuzun sonucu: c=1+2=3 Burada "a","b" değişkenini girerek ve "c=a+b" fonksiyonunukullanarak "c"değişkeninin değerini buluyoruz. int sayi; unsgined int a;

hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

BAŞLANGIÇ…1. Ekrana herhangi birşey yazdırma#include <stdio.h>int main(){Printf(“ Merhaba Dunya”);return 0;}

// Tek satir açıklama yazmak için kullanılır. Derleyici bu satırları dikkate almaz.///* Birden çok satır yani paragraf yazmak için kullanılır. Derleyici bu satırları dikkate almaz. */\n Bir satır aşağı inmek için kullanılır.\t Bir tab miktarı ileri gitmek için kullanılır.

2. Degisken Cinsleri (Int, Float, Char, Double..) Fonksiyon tanımı ve değikenlere değer atamak

int ise, %dfloat ise, %fdouble ise %lfchar ise, %c

int sinif_mevcudu = 28;printf(“%d”, sinif_mevcudu);

int x,y,toplam;toplam=x+y;

int a,b,c; (değişkenler)c=a+b; (fonksiyon)

Değişken olan a ve b şu değerleri alsın:a=1 veb=2; fonksiyonumuz ise c = a+b olsun. Fonksiyonumuzun sonucu: c=1+2=3Burada "a","b" değişkenini girerek ve "c=a+b" fonksiyonunukullanarak "c"değişkeninin değerini buluyoruz.

int sayi;       unsgined int a;       char karakter;       float sayi_2;       bool dogru_yanlis;       unsigned long uzunTamsayi;Yukarıdaki değişken tanımlamalarının hepsi kurallara uygundur. İstersek birden fazla değişkeni bir satırda tanımlama olanağımız vardır:       int sayi1, sayi2, sayi 3;       char karakter, baskabir_karakter;

Page 2: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Örnekte int tipinden üç değişkeni tek bir satırda tanımlamayı ve aynı şekilde char tipinden iki değişkeni tek bir satırda tanımlıyoruz. Burda dikkat edilmesi gereken nokta değişkenlerin arasına virgül koymamız gerektiğidir.Değişkenlere değer atama işlemi için eşittir (=) operatörünü kullanırız. Mesela aşağıdaki kod parçasında önce x değişkenini sonra da y değişkenini tamsayı (int) tipinde bildirdik. Sonra programın herhangi bir yerinde x'in içeriğini 25 yaptık. Bunun hemen ardından y'nin değerini 14 yaptık. En son kısımda x'in değerini y'de depoladık.     int x;       int y;       ......       x=25;       y=14;       ....       y=x;Değişkenlerin değerlerini ilk tanımladığımız anda da atayabiliriz. Aşağıda bununla ilgili örnekler verelim:      double t=3.25;      bool dogru_mu=false;      long int s1=12345, s2=-694312978425;     double t=3.25;

C Programlama Dersi 1 – Baslangic ( Kurulum ve Ilk Kod)C Programlama ders serisinin ilk dersi olan C Baslangic Dersi’ne hosgeldiniz.

Yazdigimiz herhangi bir C kodunu bilgisayarimizda calistirabilmemiz icin, oncelikle bu kodu compile edecek bir program yuklemeliyiz. Compilerlari bir cevirmen olarak dusunebiliriz. Compiler, C dilinde yazdigimiz bir kodu, bilgisayarin anlayabilecegi dile ceviren bir yazilimdir. Bunun icin oncelikle Dev-C++ yazlimini indiyoruz. Tercihen farkli bir compiler da kullanabilirsiniz.

Asagidaki adresten Dev-C++ i indirebilirsiniz. Eger link calismiyorsa, google’dan da aratip kolaylikla bulmaniz mumkun.

http://prdownloads.sourceforge.net/dev-cpp/devcpp-4.9.9.2_setup.exe

Programi calistirdigimizda, karsimiza gelen ekranin sol ust kosesinden,File -> New -> Source Filesecenegini seciyoruz. Yani Dosya -> Yeni -> Kaynak Kodu’na tekabul ediyor bu.

Page 3: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Bunu sectigimizde, Dev-C++ bize yeni bir kaynak kodu sayfasi acacak. Bu sayfa baslangicta bombos, biz kod yazarak dolduracagiz.

Unutmayalim ki, C bir programlama dili. Biz insanlar kendi aramizda Turkce, Ingilizce, Almanca… gibi diller kullanarak iletisim kuruyoruz. Bilgisayar ile ise de, C, C++, Java gibi diller kullanarak iletisim kuruyoruz. Nasil bizim kullandigimiz her dilin kurallari var ise, bilgisayarla iletisim kurarken kullandigimiz dillerin de kurallari var. Ve bu kurallar son derece kati, cunku aksi taktirde bilgisayar bunu anlayamiyor. Bu nedenle yazdigimiz her kodda, belli syntax kurallarina uymak zorundayiz. Bunu dilbilgisi kurallari olarak gorebiliriz.

Simdi asagida bulunan kod sablonuna oncelike bir goz atalim. Oncelikle, bu sablonu ilerideki tum derslerimizde kullanacagiz. Bu, yazacagimiz herhangi bir programin calismasi icin gerekli olan koddur.

Ilk Satirda, #include <stdio.h> yazisini goruyoruz. Bunun anlami sudur: Biz, C dilinde bir kod yazdigimizda, daha once baskalari tarafindan yazilmis ve

Page 4: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

C dilini compile edebilen her compilerin bildigi cesitli fonksiyonlar kullaniriz. Ornek olarak, C de bulunan bir fonksiyon, bir mesaji, ekranda gostermeye yariyor. Bunu adamlar daha once yapmis, biz sadece o fonksiyonun adini yazarak onu kullanabiliyoruz. Bu tarz fonksiyonlara her yazdigimiz kodun ihtiyaci var. Peki bu fonksiyonlar nerede tanimli? stdio.h dosyasinin icerisinde tanimli. Yani Dev-C++, bu kodlari kontrol edebilmek ve calistirabilmek icin, bu fonksiyonlarin tanimli oldugu stdio.h dosyasina bakiyor ve kontrol ediyor. Eger baslangicta bu dosyayi kullanacagimizi belirtmezsek, Dev-C++ bir yere bakmiyor ve bu fonksiyonlari tanimlayamadigi icin hata veriyor. (Bu ornek icin gecerli degildir, cunku bu ornekte hicbir fonksiyon kullanmadik)Bu nedenlerden oturu, #include <stdio.h> satiri, kullanacagimiz fonksiyonlarin tanimli oldugu stdio.h dosyasini programa dahil etmemizi saglar.

//*****C Programlama, Ders 1 Ilk Kod

#include <stdio.h>int main(){return 0;}//*****C Programlama, Ders 1 Ilk Kod Sonu

//https://programlamaogren.wordpress.com/Kodumuzu incelemeye devam edelim. Bunun ardindan,

int main(){return 0;}kodunu goruyoruz. Bu noktada her şey bize yabanci, ve bunlari sizlere aciklamaya calisacagim.

Page 5: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

main(), bizim ana fonksiyonumuzun ismi. C dilinde yazilmis bir kodun calisabilmesi icin, bu kodda main() fonksiyonunun olmasi sarttir. Yazdigimiz kodlari, main() icerisine yazariz.main() yazdiktan sonra, { isaretini koyariz. Kodumuzu yazdiktan sonra da, en sona } isaretini koyarak, actigimiz isareti kapatiriz. Bunun amaci sudur: { ve } sembolleri, main() fonksiyonunun baslangic ve bitis yerini gosterir. Boylece compiler, fonksiyonun nerede bittigini ve nerede duracagini anlar. Eger bu sinirlari tanimlamazsak, anlayamaz.

main() fonksiyonun basinda, int yazisini goruyoruz.main() fonksiyonunu } ile kapatmadan once de, return 0; yazisini goruyoruz.Peki bunlarin amaci nedir? Her fonksiyonun, return ettigi, yani geri dondurdugu bir deger vardir. Bu kavramlari fonksiyonlar konusunu anlattigimda cok daha iyi anlayacaksiniz. Ama simdilik sunlari bilmeniz yeterli: main() fonksiyonu, integer bir deger geri dondurur. Ve her fonksiyonun basina, isimden once geri dondurdugu degerin cinsi yazilir. 0, int cinsinde bir degisken oldugu icin, main() den once int yaziyoruz. Dedigim gibi, bunu ileriki derslerde daha iyi anlayacaksiniz.

Yukaridaki kod, hicbir sey yapmayan, ama dogru olan bir koddur. Yeni konular ogrendikce, bu ogrendigimiz kodlari, main() fonksiyonun icerisine koyacagiz ve sonuclarini gorecegiz.

Yazdigimiz kodu, Dev-C++’ta compile edebilmek icin, Execute -> Compile secenegini seciyoruz yukaridan. Bunu, ayni zamanda yaninda yazan kisayol tusuna basarak da yapabiliriz. Bu kisayol, Dev-C++ in versiyonuna gore farklilik gosterebilir.

Compile etmek istedigimizde, bize once dosyayi nereye saklamak istedigimizi soracak. Bilgisayarimizdan istedigimiz klasoru seciyoruz ve kayit turu olarak C Source File i secerek, kaydete tikliyoruz. Tikladigimiz anda kaydedecek ve kodu compile etmeye calisacak. Eger hicbir hata yoksa, basariyla compile edecek.

Page 6: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Goruldugu uzere, yazdigimiz kodda herhangi bir hata olmadigi icin, sorunsuz bir sekilde compile etti.

C Programlama Dersi 2 – Degisken Cinsleri (Int, Float, Char, Double..)C Programlama Ders 2’ye hosgeldiniz. Bu derste, programlamanin temellerinden biri olan degiskenleri ogrenecegiz. Bunlarin cinsleri integer, float, char, double, short gibi cinsler olabilir. Peki oncelikle degiskenler neden va rdirlar, ve bu degiskenler nelerdir?

Bir program yazarken, genellikle sayilarla ugrasiriz. Bunlar, bilgisayar icin sadece sayi olsa dahi, bizim icin cesitli anlamlari vardir. Mesela 28 sayisi, bilgisayar icin sadece 28 sayisi iken, biz aslinda 28 sayisi ile bir siniftaki ogrenci sayisini, veya eve gitmek icin katetmemiz gereken yolun kilometresini, veya da ilk tarih sinavindan aldigim notu kastediyor olabiliriz.

Bu sayilari, bilgisayarin hafizasinda tutmamiz gerekir. Aksi taktirde, bu sayilari sonradan degistiremeyiz, veya uzerinde islemler yapamayiz. Diyelim ki

Page 7: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

sinifimizda 28 kisi var. Eger bunu bilgisayarin hafizasinda tutmazsak, sinifa yeni birisi katildiginda bu sayiya 1 ekleyip 29 yapamayiz, cunku sinif mevcudunu bilgisayarda hic tutmadik.

Iste bu noktada degiskenler (variable) devreye girmekte. Peki degisken nedir? Degisken, kullanmak istedigimiz degeri icinde tutan hafiza noktasinin temsilidir. Biz sayilari hafizada tutarken, bu sayilar 2lik tabanda bilgisayarin fiziksel hafizasinda saklanir. Fakat bu sistem normal herhangi bir kullanici icin son derece karmasik oldugu icin, biz bir degisken tanimlariz ve bu degisken icin compiler otomatik olarak hafizada bir yer ayirir ve tum isleri halleder.

Ornegin, degisken adimiz “mevcut_sayisi” olsun. Biz bu degiskeni bilgisayara tanittigimizda, bilgisayar hafizada bir yer ayarlar ve mevcut_sayisi degiskeninin icindeki degeri oraya saklar. Fakat biz sadece mevcut_sayisi ismini kullanarak bu sayiya erisebiliriz, ve de degistirebiliriz.

Peki degisken cinsleri (variable type) nedir? Bizim kaydetmek ve kullanmak istedigimiz deger, tam sayi olabilir, küsürlü bir sayi olabilir, veya sadece bir karakter de olabilir, ‘a’ harfi gibi. Bunlarin cinsine gore, degiskenimizin cinsini tanimlariz ki, degiskenimiz tuttugu degere uykun olarak yaratilmis olsun.

Tam sayilar icin integer kullanilir. Kod yazarken int ile temsil edilir. Eger sayimizin her zaman tam sayi olarak kalmasini, hic kusurati olmasini istemiyorsak, integer kullaniriz. (Ornek: 3 sayisi, 5 sayisi, 100213 sayisi icin int kullaniriz)Diger bir tam sayi degisken cinsi de long‘dur. Kodlamada da long olarak yazilir. Long’un integer’dan farki, long’un hafizada daha fazla yer tutmasidir. Boylece, cok daha buyuk sayilar icerisinde tutulabilir. Kod yazarken genellikle int tercih ederiz, cunku long kullanmayi gerektirecek sayilari nadiren kullaniriz.Ondalik sayilar icin float kullanilir. Kodlamada yine float ile temsil edilir. Sayimiz kusuratliysa, veya basta tam sayi ise ama sonra degistirdigimizde kusuratli olma ihtimali varsa, float kullaniriz. (Ornek: 2,54 sayisi, 1,921352 sayisi, 123951,231 sayisi)Diger bir ondalik sayi cinsi de double‘dir. Kod yazarken yine double kelimesi ile tanimlariz. Eger kusurlu bir sayi kullaniyorsak, kesinlikle double kullanmaliyiz, float kullanmamaliyiz. Cunku bazi islemlerde float yanlis sonuclar vermektedir. (Ornek: Bir isleminiz sonucu sayiniz 2.0 olmasi gerekirken, float kullanirsaniz 1.99999 olabilir ve programiniz dogru calismaz. Double kullanmak bunu bir noktaya kadar engeller.)Tek bir harf saklamak istiyorsak, character kullaniriz. Kod yazarken char ile temsil edilir karakterler. (Ornek: ‘a’ harfi, ‘z’ harfi, ‘)’ sembolu, ‘$’ semboli gibi…)C dilinda direk olarak kelimeleri saklayamayiz. Kelimeleri nasil saklayacagimizi ileriki derslerde gorecegiz.

Kullanacagimiz degisken cinslerini tanimladik. Peki C kodu yazarken, bunlarin yazim kurallari nelerdir?

Page 8: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

degiskencinsi degiskenadi  ;Ornegin sinifta kac kisi oldugunu bir degiskene kaydetmek istiyoruz. Sinif mevcudu kisi sayisini gosterdigi icin, her zaman tam sayi olmak zorunda. Bir insan sayisi kusurlu olamaz. Bu nedenle kullanmamiz gereken degisken cinsi int olmali. Peki isim olarak ne verecegiz? Isim olarak diledigimiz ismi verebiliriz. Fakat kodu okurken anlasilabilir olmasi icin, sayinin asil temsil ettigi sey ile alakali bir isim kullanmak daha dogru olur. Bunun icin mevcut veya sinif_mevcudu degisken adlarini kullanibiliriz hangisini istiyorsak.Bunlari bir araya getirdigimizde, ortaya su cikmakta.

int mevcut;Noktali virgulun kullanilma nedenini bir sonraki derste aciklayacagim. Yukaridaki satir bize sunu anlatmakta: mevcut adinda bir degiskenim var. Bu degiskenin icersinde de bir tam sayi kullanilacak.

Baska bir ornek yapalim. Diyelim ki bir program yaziyoruz ve bu programda kac paramiz oldugunu tutuyoruz. Cesitli islemlere gore de paramiz azaliyor veya artiyor. Peki bu parayi nasil tanimlariz?

Oncelikle para, kusuratli bir kavram. Elbette 35TL gibi tam sayi olan bir miktarda paramiz olabilir. Ama unutmayalim ki herhangi bir islem sonucu bu 21.25TL ye dusebilir. Bu nedenle kusuratli bir sayi olmalidir her zaman, ve kusuratli sayilar icin de doublekullaniyoruz. Degiskenimizin cinsini belirledik, peki adi ne olmali? Anlasilabilir olmasi acisindan, para, para_miktari gibi isimler kullanabiliriz. Bu bilgiler isiginda ortaya su sonuc cikmakta:double para_miktari;Son olarak da karakterler icin bir ornek verelim. Ornegin bir program yazdik ve en son kullaniciya diyoruz ki, devam etmek istiyor musun? Eger kullanici devam edecekse, program en bastan calismaya basliyor. Dos ekranlarinda “Devam etmek istiyor musunuz (Y/N)” yazisini hatirlayanlar olacaktir. Bu soruya kullanici “Y” veya “N” harflerinden birisini klavyede yazarak cevap verir ve eger “Y” ye basmissak program devam eder, “N” ye basmissak program sona erer. (Y, Yes icin; N ise No icin kisaltmadir) Iste bu noktada, cevabi saklamak icin bir degiskene ihtiyac duyariz. Bu degisken tek bir karakter tutacagi icin, cinsi char‘dir. Ismi ise, cevap olarak tanimlayabiliriz. Sonuc:char cevap;

C Programlama Dersi 3 – Printf Fonksiyonuna Giris (Ekranda Yazi Gostermek)

Page 9: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

C Programlama Dersi serisinin 3. dersi olan, C Programlama Dersi 3 – Printf Fonksiyon (Ekranda Yazi Gostermek) dersine hosgeldiniz. Bu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz.

Bir yaziyi ekranda gostermek, en basit diretiflerden birisi de olsa, ayni zamanda en onemli fonksiyonlardan. Unutmayalim ki bir sayi, bilgisiyar icin sadece bir sayi. Bizim icin ise, her sayi farkli bir seyi temsil etmekte. Iste bu noktada, bir yaziyi ekranda gostermek cok onem arz ediyor cunku bu fonksiyon adeta bir sayiyi sadece sayi olmaktan cikarip, kullanici icin anlamlandiriyor. Bu dersimizde ekranda degisken degil sadece cumle veya sabit bir sayi gostermeyi ogrenecegiz.

Bir yaziyi ekranda gostermek icin, alttaki satiri kullaniyoruz.

printf (“Ekranda Gostermek Istedigimiz Yazi”);Fonksiyonumuzun adi printf() . () parantezlerinin icine, 2 kere cift tirnak koyuyoruz.

printf (” “)

Bu 2 tirnagin arasina ne yazarsak yazalim, program calistiginda bu ekranda gosterilecektir. Ornegin, bir programimiz var ve bu programin bir noktasinda, kullanicidan devam etmek iseyip istemedigini ogrenmek icin “Devam etmek istiyor musunuz? (Y/N)” yazisini ekranda gostermek istiyoruz ki, programi calistiran herhangi bir kisi, hangi noktada ne yapmasi gerektigini anlasin. Bunu da elde etmek icin, programin ilgili noktasina;printf(“Devam etmek istiyor musunuz? (Y/N)”);satirini ekliyoruz. Boylece tam o noktada karsimiza bu cumle geliyor.Veya baska bir program dusunelim. Bu programin tek amaci, ekranda “12, 6’nin bir katidir.” yazisini gostermek olsun. Son derece amacsiz ve basit bir program. Simdi bu programi yazalim. Ilk dersteki sablonumuzu aynen kullaniyoruz.#include <stdio.h>int main(){return 0;}Simdi, main() fonksiyonun icerisinde bu satiri yazmamiz gerekiyor. Boylece, yazdigimiz satir mainin icerisinde oldugu icin calistirilacak. Main() fonksiyonu hatirlarsaniz { sembolu ile basliyordu ve } sembolu ile bitiyordu. Satirimizi, bu 2 sembol arasinda yazmamiz gerekiyor.#include <stdio.h>int main(){printf(“12, 6’nin bir katidir.”);return 0;}Kodumuzu calistirmadan once, onemli bir noktadan bahsetmek istiyorum. Yukaridaki kod, calisan tamamen dogru bir kod. Fakat bunu Dev-C++ kullanarak calistirdigimizda, Dev-C++ yazliminin versiyonuna bagli olarak, calisan program saniyeden kisa bir surede kapanabilir ve siz sonucu

Page 10: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

goremeyebilirsiniz, cunku programin tek yaptigi ekranda bir yazi gostermek ve programin calismasi bittiginde kapandigi icin, sonucu goremeden kapanabilir.

Bu sebepten dolayi, kodumuza bir satir daha ekliyoruz.

#include <stdio.h>int main(){printf(“12, 6’nin bir katidir.”);getchar();return 0;}Ekledigimiz satir, getchar(); satiri. Kisaca bahsedecek olursak. program return 0; satirina ulastiginda bitiyor ve kapaniyor. getchar(); fonksiyonu ise, kullanicidan bir karakter almaya yarar. Yani kullanicinin klavyede bir harfe basip sonra enter tusuna basmasini bekler. Eger tam return 0; dan once bu satiri eklersek, program o satira geldiginde kullanicinin bir karakter girmesini bekleyecek klavyeden. Ve bu bekleme sirasinda da biz yazdigimiz programin calismasini gorebilecegiz.

eger programi calistirdigimizda, herhangi bir harfe basip entera basarsak, o satirin da islevi bitmis olacak ve return 0; satirina gelerek program kapanacak.

Simdi yazdigimiz kodu calistiralim: Yukaridaki menuden, Execute -> Run secenegi ile programi calistiyoruz. Eger bu secenegi secersek, once otomatik olarak kendisi compile etmeyi deneyecektir, ve yazim kurallarinda hata yapmamissak programi calistirip bize gosterecektir.

 Asagida gordugumuz gibi, programimiz calisti.

Page 11: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

 

Eger ekranda daha farkli bir yazi gostermek istersek, dilegimize gore printf(“12, 6’nin bir katidir.”); satirinin icindeki cumleyi degistirerek baska yazilar gostermeyi saglayabiliriz. Asagidaki resimde 4 farkli ornek gorebilirsiniz. Resmi daha net gorebilmek icin uzerine tiklayiniz.

C Programlama Dersi 4 – Printf Fonksiyonu 2 (Ekranda Yazi Gostermek)C Programlama Dersi serisinin 3. dersi olan, C Programlama Dersi 4 – Printf Fonksiyonu 2 (Ekranda Yazi Gostermek) dersine hosgeldiniz. Bu derste, printf bilgimizi bir basamak ilerletecegiz.

Bir onceki C programlama dersinde, printf fonksiyonunu basit bir sekilde kullanmayi ogrenmistik. Buna gore, ekranda bir yazi gosterebiliyorduk.

Peki istedigimiz yaziyi alt alta satirlarda gostermek icin ne yapacagiz?

Ornegin ilk satirda, “12, 6’nin bir katidir” yazmak yerine,“12, 6’ninbirkatidir.”yazisini nasil gosterebiliriz?

Page 12: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Bunun icin, ozel bir sembol olan “\n” harflerini kullaniyoruz. Printf(“”); icerisinde, hangi noktadan sonra yeni bir satira gecmek istiyorsak, “\n” koyuyoruz tam oraya.Yani;printf(“12, 6’nin bir katidir.”);yerine,printf(“12, 6’nin\nbir\nkatidir”);yaziyoruz verilen ornek icin. Boylece 6’nin der demez ekran alt satira geciyor, ve yine bir dedikten sorna alt satira geciyor.

Yalniz bu printf() in icin okumak biraz zor. Bunu su hale de getirebiliriz.

printf(“12, 6’nin \nbir \nkatidir”);Buradaki fark, 6’nin dedikten sonra ekranda bir de bosluk gosterecek, fakat bunu ekranda farkedemiyoruz cunku zaten bir bosluk, sadece hem ardindan bir yazi gelirse ayirt edilebilir.

Peki, printf(“12, 6’nin \nbir \nkatidir”); komutu bu satiri gostermenin tek yolu mu? Tabii ki hayir. Farkli sekillerde de ayni yaziyi gosterebiliriz.printf(“12”);printf(” “);printf(“6’n”);printf(“in”);printf(“\n”);printf(“bir \n”);printf(“katidir”);yazarak da ayni seyi yapabiliriz. Eger alt alta printf() ler kullaniyorsak, ve usttekinin icinde “\n” kullanarak alt satira gecmesini emretmezsek, alttaki printf icersindeki yazi, usttekinin kaldigi yerden aynen devam eder.

Page 13: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Bir baska yazim sekli de,

printf(“12, 6’nin”);printf(“\n”);printf(“bir”);printf(“\n”);printf(“katidir”);seklinde olabilir.

Goruldugu uzere, istedigimiz gibi bir yaziyi yazabilriiz. Ayni seyi farkli sekillerde kullanmayi ve bunu resimlerle aciklamayi gostererek, yeterince aciklayici oldugumu dusunuyorum. Yine de kod icindeki satir, Dev-C++ ekranina sigdigi, yani tamamen gozuktugu surece, gostermek istedigimiz yaziyi tek bir printf() ile gostermeyi tercih etmeliyiz. Aksi taktirde yazdigimiz kod kafa karistirici olacaktir.

Bu noktada, son olarak, akla bir soru gelebilir. Tamam, “\n” kullanmak alt satira gecmemizi sagliyor. Peki ya ben ekranda “\n” gostermek istiyorsam, “\n”i alt satira gecmek icin kullanmak istemiyorsam?

Bu durumda “\n” yerine “\\n” kullaniyoruz. Boylece, ekranda “\n” gozukmus olacaktir.

printf(“\\n”);  —> \n

Yani printf icerisinde bulunan her “\\”, ekranda “\” a donusuyor.

Page 14: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Eger ekranda “\\” gostermek istoyorsak,

printf (“\\\\”); kullanmaliyiz.

C Programala Dersi 4, Printf Fonksiyonu 2 (Ekranda Yazi Gostermek) dersinin sonuna geldik. Bu derste, bir yaziyi ekranda gosterirken kullanabileceklerimizi bir adim oteye tasimis olduk. Asagidaki resimde, kullandigimiz her seyi tek bir kodda gormeniz mumkun.

C Programlama Dersi 5 – Degiskenlere deger vermek ve degerleri degistirmekPosted on November 24, 2012C programlama ders serisinin 5. dersi olan C Programlama Dersi 5 – Degiskenlere deger vermek ve degerleri degistirmek dersine hosgeldiniz. 2. dersimizde, degiskenlere bir giris yapmistik ve degiskenleri tanimlamayi ogrenmistik. Fakat bu degiskenlere degerler de vermemiz gerekiyor kullanabilmemiz icin.

Hatirlarsak, int sinif_mevcutu; seklinde bir satirimiz vardi. Bu satir, sinif_mevcudu adinda bir degisken tutuyordu, ve icinde tutacagi sayi tam sayiydi. Fakat bu degiskenin icine herhangi bir sayi koymamistik.Bu derste ve bu dersten itibaren, degiskenlerin icindeki degerleri ve guncellemeleri gozlemlemek icin, asagidaki sekli kullanacagim. Kutu icerisinde, degerler tutuluyor, kutunun ustunde de o kutu hangi degiskeni temsil ediyorsa onun adi yaziyor.

Page 15: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Diyelim ki sinif mevcudumuz 34 kisi. siniv_mevcudu degiskeninin degerini 34 yapmak icin, alttaki satiri kullaniyoruz.

int sinif_mevcudu;sinif_mevcudu = 34;Bu, 34 sayisini degiskenimizin icerisine koymakta.

Simdi de ders 2 de yaptigimiz para ornegine bakalim. para_miktari adinda bir degisken yaratmistik. Para kusuratli olabildigi icin de, degisken cinsi olarak double kullanmistik.

double para_miktari;

Diyelim ki, 115 lira 50 kurusumuz var. Yani, 115.50 TL. Para miktarimizi bu sayiya esitlemek icin de sunu yaziyoruz.

double para_miktari;para_miktari = 115.50;Unutmayalim ki TL birimi, 115.50’nin bize gore anlami. Ama bilgisayara bunu sadece bir sayi olarak kaydediyoruz, TL yazmiyoruz.

Page 16: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Peki eger bir karakter tutmak istiyorsak? Ornegin adimizin ilk harfini bir degiskende tutmak istiyoruz, ve ilk harfi ‘t’ olsun. Bu durumda da:

char adimizin_ilk_harfi;

adimizin_ilk_harfi = ‘c’; 

Peki, ilk degerimizi degiskenlerimize koydu. Peki bunlari sonra nasil degistirebiliriz.

int sinif_mevcudu;sinif_mevcudu = 34;dedigimizde sinif_mevcudu degiskenimizin ilk degeri 34 oldu. Sonradan sinifa bir kisi daha eklenirse, bu sayinin 35 olarak degismesi gerekmekte. O zaman soyle yapiyoruz:

int sinif_mevcudu;sinif_mevcudu = 34;sinif_mevcudu = 35;

Page 17: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Unutmayalim ki bu sekiller sembolize amacli. Yani sinif_mevcudu degiskeninin degeri 34 yerine artik 35 oluyor, ve 34 tamamen kayboluyor. Ama sekil ile gosterirken eski degeri silip yerine yeni degeri yazmak yerine eski degerin uzerini cizmeyi tercih ediyorum cunku boylece eskiden icinde olan degerleri hatirlamamiz veya takip etmemiz gerekiyorsa bu bize kolaylik sagliyor.

para miktarimizi da yine,

double para_miktari;para_miktari = 115.50;para_miktari = 85;seklinde guncelleyebiliriz. Baslangicta 115.50 TL vardi, fakat sonra degisti ve artik 85 TL var.

Karakter ornegi icin de asagidaki sekilde degiskenin icerisindeki hard degeri guncellenebilir.

char ilk_harf;ilk_harf = ‘t’;ilk_harf = ‘k’;Genellikle programlarda sayisal degiskenler kullaniriz, ve degiskenlerimizi belli bir sayida artirmak veya azaltmak cok sik kullandigimiz bir durumdur.

su anki paramiza 82 TL eklemek istiyorsak sunu yazariz.

para_miktari = para_miktari + 82;

Page 18: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Burada bilmemiz gereken onemli bir bilgi var, bu bilgi ilke bu satiri daha rahat anlayabiliriz.

Eger degiskenin icerisindeki degeri guncelliyorsak, esitligin sol tarafi degiskenin kendisini temsil eder, esitligin sag tarafi ise sadece sayilari temsil eder. Yani, biz para_miktari = para_miktari + 82; dedigimiz zaman, = isaretinin solundaki isim bizim degiskenimizdir. = isaretinin sagindaki para_miktari ise degisken degildir, degiskenin icindeki sayidir. Fakat biz bu sayiya direk ulasamayiz, bu yuzden degiskenin ismini yazarak ulasilir. Yani esittir isaretinin sagindaki her degisken adi, o anda o degiskenin icerisindeki sayiyi temsil eder.Sinif mevcudunu + artirmak istiyorsak:

sinif_mevcudu = sinif_mevcudu + 5; diyoruz. Bu satiri aciklayacak olursa:sinif_mevcudu’nu, sinif_mevcudunun su anda icinde tuttugu sayinin 5 ile toplamina esitle.

Eger toplama yerine cikarma veya carpma veya bolme yapmak istiyorsak, + yerine -. *, / isaretlerini kullaniriz.

Son olarak da, bir degiskeni ilk olarak bilgisayara tanitirken, tanittigimiz anda ona bir deger verebiliriz.

int sinif_mevcudu;sinif_mevcudu = 28;demek yerine,

int sinif_mevcudu = 28;diyebiliriz. 2’sinin arasinda harhangi bir fark bulunmamakta.

Page 19: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Asagidaki resimde, tum islemleri gorebilirsiniz. Resimdeki acik mavi kisimlar, yorumlardir. Yorumlar, // ile baslar ve // dan sonra o satirdaki her yazi yorum olarak degerlendirilir. Yorumlar kodun okunabilirligini kolaylastirmak ve kodu anlatmak icin yazilir. Yorum kisminin programin calismasina hicbir etkisi yoktur.

C Programlama Dersi 6 – Degiskenlerin Degerlerini Ekranda GostermekC programlama ders serisinin 6. dersi olan C Programlama Dersi 6 – Degiskenlerin Degerlerini Ekranda Gostermek dersine hosgeldiniz. Bu derste, yarattigimiz degiskenlerin degerlerini ekranda gostermeyi ogrenecegiz.

Bundan onceki derslerde, sadece ekranda herhangi bir degere bagli olmayan yazi ve sayilari gostermistik.  Ornegin:

printf(“Sinif mevcudu = 28”);dedigimizde, bu satir bize her zaman

Sinif mevcudu = 28yazisini gosterecektir ekranda. Fakat, sinif mevcudu dinamik bir tanim. Sinif mevcudu her zaman degisebilir. Ve ekranda sinif mevcudunun yeni halini de gostermemiz gerekebilir. Iste bu durumda yukaridaki satiri kullanamayiz. Aslinda teorik olarak kullanabiliriz, cunku kodu biz yazdigimiz icin degisiklikleri biliyoruz. Once sinif mevcudunu 5 artirip sonra

Page 20: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

printf(“Sinif mevcudu = 33”);dersek yanlis olmaz. Fakat, ya sinif mevcudunun degerini kod yazarken degil de, programin calismasi sirasinda belirliyorsak? Ornegin kullanici sinifta kac kisi oldugunu program calistiktan sonra girerse, bu sefer ne 28, ne de 33 dogru olur, cunku kisi herhangi bir sayi girebilir. Bu yuzden, ekranda degisken degerlerini gosterdigimiz zaman, bu degisikliklere uyum saglayabilecek sekilde ekranda gostermem gerekli.

Bir degiskenin icerisindeki sayiyi ekranda gostermek icin, birden fazla kuralimiz var. Oncelikle, ezberlememiz gereken bir bilgi: Eger icerisindeki sayiyi ekranda gostermek istedigimiz degiskenin cinsi:

int ise, %dfloat ise, %fdouble ise %lfchar ise, %ckullaniyoruz.

Eger bir degiskenin degerini ekranda gostermek istiyorsak, printf() ici 2 kisimdan olusuyor.

KISIM 1:printf(“%d”,

Bu kisimda, gostermek istedigimiz degiskenin cinsine tekabul eden isareti 2 cift tirnak icerisine koyuyoruz, tirnaktan sonra da virgul koyuyoruz.

KISIM 2:virgulun ardindan, degiskenimizin adini yaziyoruz.

sinif_mevcudu

SONUC:

printf ( “%d”, sinif_mevcudu);Bunu hemen ornekle gorsellestirelim.

int ise, %dfloat ise, %fdouble ise %lfchar ise, %c

int sinif_mevcudu = 28;printf(“%d”, sinif_mevcudu);Ilk satir, sinif_mevcudu adinda integer cinsli bir degisken yaratiyor, ve icine 28 sayisini koyuyor. 2. satir ise, ekranimizda sinif mevcudunun o an icinde olan sayiyi gosteriyor. Yani 28e esitledigimiz icin 28 gosteriyor.

Page 21: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Onceki derslerde tekrarladigim gibi, sayilar bizim icin belirli anlamlar ifade ediyor ama bilgisayar icin bu sadece sayidir. Biz ise, bu sayilari anlamlandirmaliyiz ki programimiz bir sey ifade etsin.

Yazdigimiz kodun, kullanici icin tek ilgili kismi, programi calistirdigimizda acilan pencere. Yani bu pencerede gozukenler kullaniciyi ilgilendiren tek sey. Eger sadece 28 gosterirsek, kullanici hicbir sey anlayamaz. 28 ne? seklinde tepki verir. Kullaniciyi daha net bilgilendirmek icin, 28 sayisinin sinifin mevcuduna ait oldugunu belirtmeliyiz. Belirtmezsek yanlis olmaz, ama belirtirsek cok daha iyi olur.

Bu nedenle, printf icerisindeki tirnaklarin arasinda sadece %d degil, bilgilendirici aciklamalar da kullanalim, ve o satiri su sekilde degistirelim.

printf(“Su anki sinif mevcudu: %d”, sinif_mevcudu);Peki bu %d, %f, %lf, %c sistemi nasil calisiyor? Aciklamasini su sekilde yapabiliriz: Program, virgulden sonraki yazilan kelimenin, bir degisken adi oldugunu biliyor, cunku yazim kurali geregi oyle olmak zorunda. Ve o degiskenin icerisindeki degeri aliyor. Bu degeri de, %d yerine koyuyor. Yani tirnak icerisindeki %d, ekranda %d olarak gozukmuyor, onun yerine virgulden sonraki degiskenin icerisindeki degeri gosteriyor.

Asagidaki resimde, durumu daha iyi gostermeye calistim.

Page 22: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Adim 1: 6. Satirda, sinif_mevcudu adinda bir degisken yaratiyoruz ve degerini 28 yapiyoriz.Adim 2: 7. Satirda, program sinif_mevcudu icerisindeki degeri aliyor.Adim 3: Bu degeri %d ile degistiriyor.Adim 5: Ekranda %d yerine sayimizi goruyoruz.Benzer bir ornegi, paramiz icin de yapalim.

Oncelikle paramizi yaratip icine degerimizi koyuyoruz. Sonra bu degeri ekranda gosteriyoruz. Daha sonra paramiza 20 TL ekliyoruz, ve tekrar gosteriyoruz.

Adim 1: 6. satirda para degiskeni yaratip degerini 105 yapiyoruz.Adim 2: 7. satirdaki printf fonksiyonu, virgulden sonraki degiskenin degerini degiskenin icinden aliyor.Adim 3: Bu degeri %lf e aktariyor.Adim 4: 7. Satirdaki printf fonksiyonu, icerisindeki yazilari ekranda gosteriyor, %lf yerine de degeri gosteriyor.Adim 5: Parami 20 TL artiriyorum, program degiskenin icerisindeki degeri 20 artiriyor.Adim 6: Printf fonksiyonu cagiriliyor tekrar, bunun icin degiskenime ulasiyor.Adim 7: Degiskenin icerisindeki degeri aliyor.Adim 8: Bu degeri %lf e aktariyor.Adim 9: 11. satirdaki printf fonksiyonu icerisindeki yaziyi ekranda gosteriyor, %lf yerine de aldigi sayiyi kullaniyor.

Page 23: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

C Programlama Dersi 7 – Satir Sonuna Noktali Virgul (;) KoymakPosted on December 4, 2012C programlama ders serisinin 7. dersi olan C Programlama Dersi 7 – Satir Sonuna Noktali Virgul (;) Koymak dersine hosgeldiniz. Bu ders kisa bir ders olacak, su ana kadar yazdigimiz kodlarda, neden satir sonlarina noktali virgul koydugumuzu anlayacagiz.

int mevcut = 28;

printf(“Mevcut: %d”, mevcut);

Ilk derslerde belirttigim gibi, her dilin dilbilgisi kurallari oldugu gibi, C dilinin de kurallari var. Bunlara syntax diyoruz. Nerelerde noktali virgul kullanacagimizi tek tek siralamak ve ezberlemek yerine, genel olarak sunu bilmeliyiz.

Biz, int mevcut = 28; dedigimizde, sunu soyluyoruz. mevcut adinda bir degisken yarat, bu degisken integer (tam sayi) degerler tutsun her zaman, ve degeri de 28 olsun yaratilinca. Noktali virgul, bizim soyledigimiz seyin nerede bittigini anlatiyor compilera. Ve ona gore basladigi yer ile bittigi yer (noktali virgul) arasinda kismi programimiz calistiriyor.

Ornegin, int mevcut = 28; yerine

int mevcut=28;

de yazabiliriz. Aradaki bosluklar ve satir atlamalarin aslinda herhangi bir anlami yok. Program burada ne yapiyor diye bakacak olursak, bir sekilde bizim anlattigimiz seyin nerede basladigini biliyor. Bunu nasil anliyor peki? Eger main() in en basindaysa, mainin basladigi yer bizim yaptirmak istedigimiz seyin baslangici oluyor, eger ustunde baska seyler de varsa, kendisinden once biten seyin bittigi yer, su ankinin baslangici oluyor.

Bittigi yeri ise ; ile belirtiyoruz. Bunlar isin daha cok detay kismi, bu yuzden bu ders icin resimli anlatim kullanmayacagim. Acikcasi bunlari bilmek cok da onemli degil.Sadece sunu unutmayalim, ne zaman degisken(ler) tanimlasak veya fonksiyonlari kullansak (printf gibi), sonuna ; (noktali virgul) koyuyoruz.

Page 24: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

Boylece compiler, neyin nerede basladigini ve nerede bittigini anliyor ve programi dogru bir sekilde calistiriyor.Noktali virgulu yazmayi unutmak, C dilini ogrenirken kullanicilarin cok sik bir sekilde karsilastigi durumdur. Eger unutmussaniz, compile etmeye calistiginizda Dev-C++ size hata mesaji gosterir. Siz de kodunuzu kontrol edip unuttugunuz yere noktali virgulu koyabilirsiniz.

Daha önce yazdığımız "merhaba dünya" programı hariç hemen hemen tüm programlarda değişkenlerle çalışmak zorundayız. Bu yazımızda değişken kavramını, C++ dilinde değişkenleri nasıl isimlendireceğimizi ve kullanacağımızı öğreneceğiz. Dahası C++ dilindeki temel veri türlerini inceleyeceğiz. 

Programlarımızda işlemlerimizi yaparken verileri kullanırız. Mesela herhangi iki sayıyı toplarız veya iki tane karakter dizisini (string) karşılaştırırız. Bu işlemler için kullandığımız verilerimizi değişkenler içinde tutarız. Değişkenler bilgisayar hafızasında verileri depolayan ve isimleri olan programlamının en temel elementleridir. Değişkenlerin isimlerinin olmasını gerektiğini söyledik. Bir değişkeni kullanmadan önce onu tanımlamalıyız. Tanımlamayı değişkene uygun bir isim verme ve değişkenin hangi tipten olduğunu bildirmeyle yaparız.  Önce isterseniz değişleri C++ dili kuralların uygun bir biçimde nasıl isimlendireceğimizi görelim. Değişken isimlerini verirken C++'ın bir takım sıkı kurallarına uymamız gerekir. Bu kurallar:

Değişkenlerin isimleri alfabede bulunan karakterlerle başlamalı. Ama ilk harf hariç diğer karakterler sayı olabilir.

C++ büyük ve küçük harf duyarlıdır. Yani Sayi, sayi ve SAYI hepsi ayrı değişken olarak algınalırlar. Değişken isimleri birden fazla kelime olduğu zaman; kelimelerin arasına boşluk konmaz. Bu

tür değişkenleri ya kelimeleri birleştirerek veya kelimeler arasına _ (alt çizgi) karakteri koyararak isimlendiririz.

Değişkenlerin isimleri !, ?, {, ] gibi karakterler içeremezler. C++'ın anahtar kelimelerini de değişken isimleri olarak kullanamayız.

sayi, tamsayi1, toplam, Fark, KullaniciAdi, isim, _Adres, sinif_ortalaması,  kurallar göre adlandırılmış değişkenlerdir. Diğer taraftan 1.sayi, tamsayi 1, fark!, 3.sinif_ortalamasi geçersiz değişken isimleridir. Böyle yanlış adlandırılmış değişkenleri içeren programlar derlenmez!Anahtar kelimeler C++ dilinde bulunan komutların isimleridir. Bunları direk olarak değişken ismi olarak kullanamayız. Ayrıca alt çizgi ile başlayan değişken tanımlamadan kaçınmalıyız. Çünkü genelde C++ kütüphanelerini yazan programcılar değişkenlerini alt çizgi ile başlayan isimler verirler. Bu da isimler arasında çakışma yaratabilir. Değişkenleri isimlendirmeyi öğrendikten sonra sonra sıra C++ dilindeki temel veri türlerini öğrenmeye geldi.Verileri bilgisayarda program çalışırken bellekte(RAM) depolanır. Bilgisayar belleği bitlerden oluşmuştur. Bir bit temel olarak 1 veya 0 değerini alır. Sekiz tane bit bir byte eder. Bilgisayarın hafızasında verilerin kapladıkları alanlar byte türünden ifade ederiz (bir çok sistemde bu böyledir). C++ verileri ihtiyacımıza göre değişik tiplerde tanımlarız kullanırız.C++ dilinde hazır bulunan temel veri tipleri şunlardır:Değişken Boyu* Açıklaması Değer Aralığıchar 1 karakter veya 8 bit uzunluğunda tamsayı signed: -128 ile 127 arasında 

unsigned: 0 ile 255

short 2 16 bit uzunluğunda tamsayı signed: -32768 ile +32767 arasında unsigned: 0 ile 65535 arasında

long 4 32 bit uzunluğunda tamsayı signed: -2147483648 ile +2177483647 arasında unsigned: 0 ile 65535 arasında

int Tamsayı tipidir. DOS'ta ve Win3.1'de 16 bit uzunluğunda ama Windows9x, WinNT, Win200 ve WinXP 32 bit.

short ve long türlerine bakınız.

float 4 Kesirli sayı. 3.4e +/- 38 (7 basamak)

double 8 Geniş ve fazla duyarlıklı kersirli sayı. 1.7e +/- 308 (15 basamak)

long double

10 double tipinin daha genişidir. 1.2e +/- 4932 (19 basamak)

bool 1 true(doğru) veya false(yanlış) değerini alır. Eski derleyiciler bu türü desteklemeyebilir. Yeni ANSI C++ standardında eklenmiştir.

doğru veya yanlış.

wchar_t 2 char tipinden geniş olur Unicode tipinde değişkenleri geniş karakterler (unicode)

Page 25: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

destekler.*Yalnız platform ve işletim sistemine göre değişkenlerin boyutları yukarıdakilerden farklı olabilir. Ama ANSI C++ standart derleyicilerinin hepsi yukarıdaki veri tiplerini desteklerler. Yukarıda dikkate ederseniz değişkenlerin çoğunun unsgined ve signedversiyonları var. Bunlardan signed olanları hem pozitif hem de negatif değerler alırken; unsigned versiyonlar ise sadece pozitif değerler alırlar.Değişkenleri isimlendirdik ve onların tiplerini öğrendik. Şimdi değişkenleri bildirmeyi ve onları kullanmayı öğrenelim. Genel olarak temel veri tiplerinden olan değişkenleri şu şekilde tanımlarız:;Yukarıdaki kurala uygun olarak aşağıda bununla ilgili örnekler vardır:       int sayi;       unsgined int a;       char karakter;       float sayi_2;       bool dogru_yanlis;       unsigned long uzunTamsayi;Yukarıdaki değişken tanımlamalarının hepsi kurallara uygundur. İstersek birden fazla değişkeni bir satırda tanımlama olanağımız vardır:       int sayi1, sayi2, sayi 3;       char karakter, baskabir_karakter;Örnekte int tipinden üç değişkeni tek bir satırda tanımlamayı ve aynı şekilde char tipinden iki değişkeni tek bir satırda tanımlıyoruz. Burda dikkat edilmesi gereken nokta değişkenlerin arasına virgül koymamız gerektiğidir.Değişkenlere değer atama işlemi için eşittir (=) operatörünü kullanırız. Mesela aşağıdaki kod parçasında önce x değişkenini sonra da y değişkenini tamsayı (int) tipinde bildirdik. Sonra programın herhangi bir yerinde x'in içeriğini 25 yaptık. Bunun hemen ardından y'nin değerini 14 yaptık. En son kısımda x'in değerini y'de depoladık.     int x;       int y;       ......       x=25;       y=14;       ....       y=x;Değişkenlerin değerlerini ilk tanımladığımız anda da atayabiliriz. Aşağıda bununla ilgili örnekler verelim:      double t=3.25;      bool dogru_mu=false;      long int s1=12345, s2=-694312978425;     double t=3.25;

// İki tamsayı alan ve toplamını bulan program#include 

int main(){    int sayi1;    int sayi2;

    int toplam;

    cout << "\n Lütfen birinci tamsayıyı girniz: ";    cin   >> sayi1;

    cout <<"\n Lütfen ikinci tamsayıyı girniz: ";    cin   >> sayi2;

Page 26: hacicelik/notlar/CProgramlamaDersi.docx · Web viewBu derste, ilk calisan ve bizlere bir sey gosteren programimizi yazacagiz. Bir yaziyi ekranda gostermek, en basit diretiflerden

    toplam = sayi1 + sayi2;

    cout << "\n " << sayi1 << " + " << sayi2 << " = " << toplam << endl;

   return 0;

}

Son olarak yukarıdaki programı yazalım. Programda int tipinden sayi1, sayi2 ve toplam değişkenlerimizi tanımladık. Sırası ile kullanıcıdan bu değişkenlerin değerlerini aldık ve sonucu ekrana yazdırdık. Program basit gibi görünebilir ama mutlaka yazın, derleyin ve çalıştırın.