<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3487013766561038185</id><updated>2011-11-08T11:00:03.795-08:00</updated><category term='bool tipi'/><category term='deger atama'/><category term='void malloc'/><category term='if ornegi'/><category term='ramazan programı'/><category term='if then else ornegi'/><category term='okek obeb programı'/><category term='Degisken tipleri'/><category term='Faktoriyel bulma'/><category term='strcat'/><category term='C dilinin avantajlari'/><category term='include'/><category term='kucuk ornekler'/><category term='while yapisi'/><category term='diziler'/><category term='int putchar'/><category term='nüfüs artış programı'/><category term='Dizi Bildirimleri'/><category term='for'/><category term='isaretci degiskeni'/><category term='veri tipi'/><category term='strcmp'/><category term='Switch Case'/><category term='For Döngüsü'/><category term='atoi'/><category term='while ornegi'/><category term='Return'/><category term='ay ornegi'/><category term='İşaretçi ve dizgi kullanımı'/><category term='Fonksiyonlar'/><category term='if'/><category term='sort'/><category term='c dili'/><category term='while'/><category term='dowhile döngüsü'/><category term='long'/><category term='örnek diziler'/><category term='c veri tipleri'/><category term='do while'/><category term='Exit Komutu'/><category term='ilk program'/><category term='gösterici'/><category term='işaretçi'/><category term='char tipi'/><category term='Dizilerin Tanımlanması'/><category term='fonksiyon'/><category term='program'/><category term='strcpy'/><category term='Pointer'/><category term='if komutu'/><category term='Switch Case Yapısı'/><category term='Break komutu'/><category term='tahmin programı'/><category term='c dili operatorleri'/><category term='ornekler'/><category term='carpım tablosu'/><category term='sayı tahmini program kodları'/><category term='Switch Case ornegi'/><category term='int tipi'/><category term='İşaretçiler ve Diziler'/><category term='exit'/><category term='Operatörler'/><category term='Putchar Fonksiyonu'/><category term='faktöryel'/><category term='İlişkisel işleçler'/><category term='strlen'/><category term='degisken nası tanımlanır'/><title type='text'>C Dili Öğren</title><subtitle type='html'>C dili hakkında öğrenmek isteyenlere Düzey Başlangıç-Orta</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-5741562552608265079</id><published>2008-10-19T16:04:00.000-07:00</published><updated>2008-10-19T16:04:00.701-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C dilinin avantajlari'/><category scheme='http://www.blogger.com/atom/ns#' term='c dili'/><title type='text'>C Dili Temel Bilgiler</title><content type='html'>&lt;a href="http://i9.tinypic.com/815t7hk.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px;" src="http://i9.tinypic.com/815t7hk.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;C Dili Temel Bilgiler&lt;br /&gt;  C++ bilindigi gibi programlama dünyasinda en çok ilgi gören C dilinden türemistir. C++'i klasik C dilinden farkli yapan yani; Nesne Yönelimli Programlamayi da ( Object Oriented Programming) C'nin sözdizimi kurallariyla birlikte desteklemesidir. Normalde C ile sadece yapisal programlama yaparken C++ dili ile hem yapisal hem de nesne yönelimli programlar yazabilirisiniz. C++ diline baslarken önce dilin C'den gelen ve temel olan özelliklerini ögrenmek gerekir. Örnegin, degisken tanimlama, atama ve diger basit aritmektik islemler, kontrol yapilari ve döngüler gibi.&lt;br /&gt;&lt;br /&gt;Teknolojinin ulastigi son noktadaki programlama dillerinden olan C ve C++, bir çok yeni ve güçlü özellikleri içerir. Derslerimiz devam ettikçe bunlarin teker teker içine girecegiz. C dilinin özelliklerinin %80 i C++'da da mevcuttur (bu karsilastirma sahsi görüsümdür). Zaten C++, C'nin üst gurubudur. Bunu söyle siralayabiliriz. C, C++ ve C# dir. &lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;C dilinin avantajlari&lt;/a&gt;, az komut kümesinden olusmasi ve bu komutlarin diger yüksek seviyeli dillere nazaran daha hizli çalismasidir. Ayrica C deki kütüphaneler sayesinde fonksiyon tanimlamaniza gerek kalmadan islemlerinizi yapmak mümkün olacaktir. Bu konuda çok detaya inmeden, programlamaya geçmek istiyorum. Çünkü, programlamaya basladigimizda her örnekten sonra o an kullandigimiz programin içinde geçen fonksiyon, hata, degisken, belirleyiciler, kisitlamalar, notasyonlar v.s gibi bilgilerden ara ara bahsedecegim. Yalniz çok önemli olan bir konuya burada deginmek istiyorum. C nin avantajlarini programlamayla birlikte görmek güzel ama C nin dezavantajlarini programlamadan önce bilmeliyiz ki bunlardan sakinalim. Öncelikle Tanimlayicilardan bahsetmek istiyorum. Her derleyici ve assmbley için degiskenleri, sabitleri, etiketleri ve fonksiyon adlarini tanimlama kurallari vardir. Bu notasyonlara, tanimlayici denir. C++ da tüm tanimlayicilar a, . . . , z - A, . . . , Z harfleri ile ya da alt çizgi "_" ile baslar. Bundan sonra rakam, harf, ya da alt çizgi kullanilabilir. ANCI C uyumlu derleyiciler 31 karaktere kadar tanimlayici kabul ederler fakat tanimlayicinin ilk sekiz karakterini kullanmayi kendimize aliskanlik etmeliyiz. Dikkat etmemiz gereken özelliklerden biri de kullandigimiz ifadelerdeki büyük küçük harflerdir. C ve C++ büyük ve küçük harf duyarliligina sahiptir. Kullandigimiz ifadeleri birbirinden farkli ve ayni ifade olarak kullaniyorsak programimiz hata verecektir. Bunu bir örnekle anlatayim:&lt;br /&gt;&lt;br /&gt;Program&lt;br /&gt;program&lt;br /&gt;PROGRAM&lt;br /&gt;&lt;br /&gt;Bu sekilde tanimlarsak hepsi birbirinden farkli ifadeler olarak C++ da okunacaktir. Biz Sunu aliskanlik edinmeliyiz; tanimlayicilarimizin bas harfi büyük olacak. Büyük ve küçük harf kombinasyonlarinin kullanilmasi ile önceden yapilan tanimlamalar bazen isi zorlastirabilir. Eger bu degiskenlerden birini kullanmak isterseniz, bu zamana kadar nasil tanimladiginizi bilmeniz gerekir. Örnegin &lt;a href=""&gt;printf&lt;/a&gt;()`in PRINTF() olarak çagrilmasi durumunda " bilinmeyen tanimlayici " (Unknown identifier) hata mesaji vererek sizi uyarir. Buna benzer olarak %f ve %F kullanimi hata verdirecektir. Programlamayi yaparken bunlara dikkat etmemiz gerekecek. Çünkü bir degiskeni veya tanimlayiciyi basta nasil kullandiysaniz üç, dört sayfa kod yazdiktan sonrada ayni sekliyle kullanmak zorundasinizdir. Iste burada en büyük handikap yasanacaktir. Çünkü C/C++ derleyicileri her zaman hatanin nerde oldugunu göstermez. Bunu programci kendisi satir satir takip ederek bulacaktir. Bundan dolayi bu söylediklerime bastan dikkat etmemiz gerekiyor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-5741562552608265079?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/5741562552608265079/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=5741562552608265079' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/5741562552608265079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/5741562552608265079'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/c-dili-temel-bilgiler.html' title='C Dili Temel Bilgiler'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i9.tinypic.com/815t7hk_th.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-8187780292079579223</id><published>2008-10-19T16:00:00.000-07:00</published><updated>2008-10-19T16:00:01.157-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='program'/><category scheme='http://www.blogger.com/atom/ns#' term='Return'/><category scheme='http://www.blogger.com/atom/ns#' term='include'/><category scheme='http://www.blogger.com/atom/ns#' term='ilk program'/><title type='text'>1. c dili programı ve acıklaması</title><content type='html'>&lt;table&gt;&lt;br /&gt;&lt;td bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Ilk programimiz!&lt;br /&gt;// ilk1.cpp&lt;br /&gt;// Ekrana "Bu benim ilk programim" yazdiriyoruz&lt;br /&gt;#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;int main()&lt;br /&gt;{ &lt;br /&gt;         cout &lt;&lt; "Bu benim ilk programim";&lt;br /&gt;&lt;br /&gt;         return 0;               &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;"//" isaretini açiklama satirlarinda kullaniyoruz. C++ derleyicisi bu notasyonla baslayan satiri okumaz. Bununla birlikte daha uzun cümlelerimiz olursa bunlari da " /* */ " notasyonunun içinde yazicagiz. Bu özellik de C den bize kalma. Demistik zaten C `nin tüm özelliklerini C++ içerir. Fakat biz genelde " // " yi kullanacagiz.&lt;br /&gt;&lt;br /&gt;#include : Bu bizim C++ da bulunan kütüphane dosyamizi çagirmaya yariyor. Ben size söyle tarif edeyim. iostream.h kütüphanesindeki hazir olan " cout " fonksiyonunu çagiriyor. Yani buda bizim fazla kod yazmamiza engel oluyor. .h ile biten dosyalar kütüphane dosyalaridir. Bunu suna da benzetebiliriz. Farz edelim ki elimizde bir alet çantasi var içinden tornavidayi çagirdigimizda vida sikacagizdir. Bu da ona benziyor. C++ da ki hazir kütüphanelerde bir çok hazir fonksiyonlar vardir. Ilerde Bu hazir fonksiyonlar isimizi görmemeye baslayinca kendi kütüphanemizi yapmaya baslayacagiz. Tabi bu seviyeye geldigimizde olayi hemen hemen kavramis olacagiz, tabi neden olmasin öyle degil mi?&lt;br /&gt;&lt;br /&gt;Daha sonraki satir her C++ programinda mutlaka bulunmasi gereken bir satirdir. Her C++ programinda main() fonksiyonu olmak zorundadir; bu fonksiyonumuzun önünde ise o fonksiyonun dönderdigi degiskenin veri tipi olmalidir. Tabi ki C++ fonksiyonlar ve onlarin dönderdikleri degerler konusunu da ileride isleyecegiz.&lt;br /&gt;&lt;br /&gt;Bir sonraki satirda ise; C++ fonksiyonlar ve kod bloklari " { } " parantezleri arasinda bulunmalidir. main de bir fonksiyon ise onun içindeki kodlar dogal olarak { } parantezleri arasindadir. &lt;br /&gt;&lt;br /&gt;Program derlenip çalistirildiginda ise ( Turbo C++ 3.1 kullaniyorsaniz ctrl+f9 kisa yoluyla programi çalistirabilirsiniz (Run) ) karsimiza "Bu benim ilk programim" yazisi çikacaktir. Iste bu yaziyi ekrana veren komut da iostream.h kütüphanesindeki cout fonksiyonudur.&lt;br /&gt;&lt;br /&gt;Önemli bir nokta ise C++ dilinde her satir ifadenin sonuna " ; " koymak zorundayiz. Bundan farkli olarak #include satirlarinin ve bir kaç farkli satirin arkasina " ; " gelmez. Bunlari ileride görecegiz.&lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;Return&lt;/a&gt; 0 : programimizin (ayni zamanda main fonksiyonumuzun) çikis noktasidir. Eger return ile 0 degeri dönderirsek programimizin güvenle çiktigini isletim sistemine bildirmis oluruz. Bu sayede güvenle programimizin çalistigini görecegiz&lt;br /&gt;&lt;br /&gt;En cok kullanılan prinf kullanmamızın sebebi stdio.h olması 1. örnek kafanızı karıştırmasın &lt;br /&gt;&lt;br /&gt;&lt;table&gt;&lt;br /&gt;&lt;td bgcolor="#ffffcc"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// ilk2.cpp&lt;br /&gt;// Ekrana "Bu benim ilk programim" yazdiriyoruz&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;printf("Selam bu benim ilk programim.\n"); &lt;br /&gt;return 0; &lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-8187780292079579223?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/8187780292079579223/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=8187780292079579223' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8187780292079579223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8187780292079579223'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/1-c-dili-program-ce-acklamas.html' title='1. c dili programı ve acıklaması'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-2014557337559022803</id><published>2008-10-19T15:51:00.000-07:00</published><updated>2008-10-19T15:51:00.178-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='veri tipi'/><category scheme='http://www.blogger.com/atom/ns#' term='Degisken tipleri'/><category scheme='http://www.blogger.com/atom/ns#' term='degisken nası tanımlanır'/><title type='text'>Değişkenler</title><content type='html'>&lt;table&gt;&lt;br /&gt;&lt;td bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// degisken.cpp&lt;br /&gt;// Burda degisken tanimlamayi görecegiz.&lt;br /&gt;// Ayni zamanda verilen bir sayiyi kendisi ile carpma 2.2=4 gibi&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;         // kütüphane dosyamiz&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt; int i;               // Degisken tanimlama&lt;br /&gt; cout &lt;&lt; "Bir sayi giriniz: ";  &lt;br /&gt; cin &gt;&gt;  i;        &lt;br /&gt; i=i*i;&lt;br /&gt; cout &lt;&lt; "sonuc: " &lt;&lt; i ;&lt;br /&gt;return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Burada bundan önce yaptigimiz programlardan farkli olarak int i kullandik, yani degisken tanimladik. &lt;br /&gt;&lt;br /&gt;Degisken Nasil Tanimlanir?&lt;br /&gt;&lt;br /&gt;Degiskenleri tanimlamak için asagidaki sema kullanilir.&lt;br /&gt;&lt;br /&gt;[&lt;a href=""&gt;Veri Tipi&lt;/a&gt;] [Degisken Adi];&lt;br /&gt;&lt;br /&gt;Örnegin&lt;br /&gt;int sayi; &lt;br /&gt;Simdi degisken.cpp örnegindeki int i; kismini anlamissinizdir. Burada degiskenlere deginmek istiyorum. Biz yukarda Içinde sayi tutan bir degiskeni tanimladik. Benzer olarak asagidaki tanimlamalar da vardir. &lt;br /&gt;&lt;br /&gt;char c;&lt;br /&gt;int i;&lt;br /&gt;float f; &lt;br /&gt;double d; &lt;br /&gt;unsigned int ui;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-2014557337559022803?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/2014557337559022803/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=2014557337559022803' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2014557337559022803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2014557337559022803'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/deikenler.html' title='Değişkenler'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-1236059227019494806</id><published>2008-10-19T15:43:00.000-07:00</published><updated>2008-10-18T15:43:05.106-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='long'/><category scheme='http://www.blogger.com/atom/ns#' term='c veri tipleri'/><category scheme='http://www.blogger.com/atom/ns#' term='char tipi'/><category scheme='http://www.blogger.com/atom/ns#' term='bool tipi'/><category scheme='http://www.blogger.com/atom/ns#' term='int tipi'/><category scheme='http://www.blogger.com/atom/ns#' term='sort'/><title type='text'>Veri Tipleri</title><content type='html'>&lt;strong&gt;1) Int tipi&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Integer = Tamsayi&lt;br /&gt;&lt;br /&gt;Tamsayilari içerir. Bellekte 2 Byte tutar. DOS'ta ve Win3.1'de 16 bit uzunlugunda ama Windows9x, WinNT, Win200 ve WinXP 32 bit uzunlugundadir. &lt;br /&gt;&lt;br /&gt;Deger araliklari Short ve long için degisir. &lt;br /&gt;&lt;br /&gt;Örnek: 5, -20, 1 gibi.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2) &lt;a href=""&gt;Sort&lt;/a&gt; tipi&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Tam sayilari içerir. 16 bit uzunlugundadir. &lt;br /&gt;&lt;br /&gt;signed: -32768 ile +32767 arasinda deger alir, unsigned: 0 ile 65535 arasinda deger alir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3) &lt;a href=""&gt;Long&lt;/a&gt; tipi&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Tam sayilar içerir. 32 bit uzunlugundadir. &lt;br /&gt;&lt;br /&gt;signed: -2147483648 ile +2177483647 arasinda deger alir, unsigned: 0 ile 65535 arasinda deger alir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4) Gerçel Tipler (Float, Double, Long double)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Gerçel sayilari içerirler.&lt;br /&gt;&lt;br /&gt;float : Bellekte 4 Byte yer tutar. 3.4E-38 ile 3.4E+38 araliginda deger alir. Hassasiyet 7-8 basamaktir.&lt;br /&gt;&lt;br /&gt;double : Bellekte 8 Byte ter tutar. 1.7E-308 ile 1.7E308 araliginda deger alir. Hassasiyet 15-16 basamaktir.&lt;br /&gt;&lt;br /&gt;long double : doublenin tipinin daha genisidir.1.2E-4932 ile 1.2E-4932 araliginda deger alir. Hassasiyet 19-20 basamak. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5) &lt;a href=""&gt;Char Tipi&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Char : Karakter&lt;br /&gt;&lt;br /&gt;Alfanumerik karakterleri içerir. Ve ya 8 bit uzunlugunda tamsayi. &lt;br /&gt;&lt;br /&gt;signed: -128 ile 127 arasinda deger alir, unsigned: 0 ile 255 arasinda deger alir.&lt;br /&gt;&lt;br /&gt;Örnegin: ' 0,1,2,3,4,5,6,7,... ' , ' *,-,+,... ' , 'a,b,c,....,A,B,C,D,,,,, '&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;6) &lt;a href=""&gt;Bool tipi&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;true(dogru) = 1 veya false(yanlis) = 0 degerini alir. Eski derleyiciler bu türü desteklemeyebilir. Yeni ANSI C++ standardinda eklenmistir. Bu soyut matematik gördüyseniz. "p V q" ya benzer :) ( matematikçiyiz, konusturalim azicik). Deger araligi ise ya 1 dir (dogru) yada 0 dir (yanlis). &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;7) Enum tipi&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;enum siralanmis degerleri tutar. Short int ile ayni degeri tasir. &lt;br /&gt;&lt;br /&gt;Bu temel bilgileri aldiktan sonra programlamaya geçebiliriz. Derleyici Olarak ben Turbo C++ 3.1 i tavsiye ederim. Su an bununla baslar iseniz isiniz daha kolay olacaktir (bence). Ilerde Borland a geçecegiz.&lt;br /&gt;&lt;br /&gt;Degisken tanimlama konusunda bir konuya daha deginmek istiyorum. Degiskenlere deger atama ve ayni anda bir çok degisken tanimlamamiz C++ da mümkündür. &lt;br /&gt;&lt;br /&gt;char c = 'c'; &lt;br /&gt;int i = 5; &lt;br /&gt;&lt;br /&gt;Daha sonradan deger atama: &lt;br /&gt;&lt;br /&gt;char c; &lt;br /&gt;&lt;a href=""&gt;int&lt;/a&gt; i; &lt;br /&gt;c = 'c '; &lt;br /&gt;i = 5; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bir de ayni anda bir çok degisken tanimlayalim. &lt;br /&gt;&lt;br /&gt;Örnegin:&lt;br /&gt;int x , y , z; &lt;br /&gt;x = y = z = 5; &lt;br /&gt;x,y,z' nin degeri 5 oldu&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-1236059227019494806?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/1236059227019494806/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=1236059227019494806' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1236059227019494806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1236059227019494806'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/veri-tipleri.html' title='Veri Tipleri'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-3881937736786084207</id><published>2008-10-18T15:40:00.000-07:00</published><updated>2008-10-18T15:40:00.858-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c dili operatorleri'/><category scheme='http://www.blogger.com/atom/ns#' term='Operatörler'/><category scheme='http://www.blogger.com/atom/ns#' term='İlişkisel işleçler'/><title type='text'>İlişkisel işleçler Operatörler</title><content type='html'>İki değer arasındaki ilişkiyi test etmek için kullanılır.&lt;br /&gt; işleç anlamı&lt;br /&gt; &gt; büyük&lt;br /&gt; &gt;= büyük - eşit&lt;br /&gt; == eşit&lt;br /&gt; &lt; küçük&lt;br /&gt; &lt;= küçük - eşit&lt;br /&gt; != eşit değil&lt;br /&gt;     &lt;br /&gt; x=8,  y=5 için&lt;br /&gt; x &gt; y Doğru &lt;br /&gt; x &lt; y Yanlış&lt;br /&gt; x !=y Doğru&lt;br /&gt;&lt;br /&gt;Mantıksal işleçler : İki mantıksal ifade arasındaki ilişki üzerindeki ilişkide kullanılır. &lt;br /&gt;!       DEĞİL  (NOT)&lt;br /&gt;&amp;&amp;  VE         (AND)&lt;br /&gt;||       VEYA   (OR)&lt;br /&gt;&lt;br /&gt; (X&gt;0) &amp;&amp; (X&gt;Y)        &lt;br /&gt;(X&gt;0) || (Y&gt;0)&lt;br /&gt;&lt;br /&gt;İfadelerde işleçlerin yürütülme sırası&lt;br /&gt; işleç   Önceliği&lt;br /&gt; (  )  en yüksek (ilk yürütülür)&lt;br /&gt; !    &lt;br /&gt; *, /, %&lt;br /&gt; +, - &lt;br /&gt; &lt;, &lt;=,  &gt;=, &gt;&lt;br /&gt; ==, !=&lt;br /&gt; &amp;&amp;, ||&lt;br /&gt; =  en düşük (son yürütülür) &lt;br /&gt;= işleci sağdan sola, diğerleri soldan sağa doğru yürütülür. &lt;br /&gt;Görüldüğü gibi ifadelerde  matematiksel ve mantıksal işlemler bittikten sonra ilişki test edilir.&lt;br /&gt; X=50, Y=80, Z=45 için&lt;br /&gt; ( ( X / 4 + Y / 4 + Z / 2 ) &gt;= 50  ) &amp;&amp; ( Z &gt;= 50 )&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-3881937736786084207?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/3881937736786084207/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=3881937736786084207' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/3881937736786084207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/3881937736786084207'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/c-dili-operatrleri.html' title='İlişkisel işleçler Operatörler'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-2713052548236043958</id><published>2008-10-18T15:37:00.000-07:00</published><updated>2008-10-18T15:37:00.963-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='for'/><category scheme='http://www.blogger.com/atom/ns#' term='For Döngüsü'/><title type='text'>For Döngüsü</title><content type='html'>&lt;a href=""&gt;  for&lt;/a&gt; (ifade1 ; ifade2 ; ifade3 )&lt;br /&gt;      ifade;&lt;br /&gt;&lt;br /&gt;  ifade2 doğru ( veya farklı 0) olduğu sürece ifade yürütülür (bitiş koşulu).&lt;br /&gt;  Döngünün ilk adımından önce ifade1 yürütülür ( başlangıç adımı).&lt;br /&gt;  Döngünün her adımında ifade3 yürütülür (artış miktarı).&lt;br /&gt;&lt;br /&gt;  for (i = 1; i &lt; 5; i++)&lt;br /&gt;      printf("%d ",i);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  ifade1, ifade2 ve ifade3 seçimliktir. ifade2 belirtilmez ise herzaman&lt;br /&gt;doğru olduğu ( == 1 ) kabul edilir. Yani sonsuz döngü oluşur.&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  for (i = 1; ; i++)&lt;br /&gt;      printf("%d ",i);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Örnek 3.2.2.1:  1'den 100'e kadar olan sayıların toplamı.&lt;br /&gt;&lt;br /&gt; j =0;&lt;br /&gt; for (i=1; i&lt;=100; i=i+1)&lt;br /&gt;                      j =j+i;&lt;br /&gt; printf("Toplam %d",j);  &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-2713052548236043958?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/2713052548236043958/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=2713052548236043958' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2713052548236043958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2713052548236043958'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/for-deyimi-for-ifade1-ifade2-ifade3.html' title='For Döngüsü'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-2898269228046296165</id><published>2008-10-18T15:22:00.000-07:00</published><updated>2008-10-18T15:22:00.442-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='deger atama'/><category scheme='http://www.blogger.com/atom/ns#' term='diziler'/><category scheme='http://www.blogger.com/atom/ns#' term='Dizilerin Tanımlanması'/><title type='text'>Diziler</title><content type='html'>&lt;a href=""&gt;&lt;strong&gt;Diziler&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;Diziler, "indisleri olan degiskenler" olarak adlandirilirlar. Diger bir deyisle, birden fazla tek düze veri tipi içeren degiskenlerdir. Diziler birbirine bitisik bellek gözleri kullanilarak olusturulurlar. Bunu biraz daha açarsak: farz edelim ki elimizde üç tane kutu var, birinde yesil kalemler, birinde kirmizi kalemler ve birinde de mavi kalemler olsun. Bu kutucuklari 1,2,3 diye adlandirdigimizi düsünelim. Biz diziler ile numarasini bildigimiz kutucugun içindeki malzemeyi alabilecegiz. Daha dogrusu numarasini vermis oldugumuz kutunun içindeki bilgiyi bilgisayar okuyacaktir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Not:&lt;/strong&gt; For döngüsü dizi elemanlarina ulasmak için en çok kullanilan yöntemdir.&lt;br /&gt;&lt;br /&gt;Dizilerin indislerden olustugunu söylemistik. Diger yüksek seviyeli dillerle karsilastirildiginda arasindaki fark ilk elemanin indisi daima sifir (0) olmasidir. &lt;br /&gt;&lt;br /&gt;for(int i=0; i&lt;boyut; i++)&lt;br /&gt;Burada dikkat etmek istedigimiz "int i=0" kismidir. Görüldügü gibi indisin ilk aldigi degeri sifir (0)`dan baslatiyoruz. Bu kismi unutmayiniz. Genellikle yapilan en büyük hatalardan biridir.&lt;br /&gt;&lt;br /&gt;Bir dizi tanimlayicisi -adi-, dizinin ilk elemaninin adresini tanimlayan adrestir. Bunu söyle izah edelim; elimizde bir dizi var ve ilk elemani karakter ise biz "char DiziAdi[boyut]" seklinde tanimlariz. Tam sayi ise "int DiziAdi[boyut]" seklinde olur.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;Dizilerin Tanımlanması&lt;/a&gt;Dizi tanımlamalarının genel biçimi:&lt;br /&gt;&lt;br /&gt;&lt;tür&gt; &lt;dizi ismi&gt; [&lt;eleman sayısı&gt;];&lt;br /&gt;&lt;br /&gt;Yukaridaki gösterimde köşeli parantez eleman sayısının seçimlik olduğunu değil, eleman sayısı bilgisinin köşeli parantez içine yazılması gerektiğini göstermektedir.&lt;br /&gt;&lt;br /&gt;tür 	          		: Dizi elemanlarının türünü gösteren anahtar sözcüktür.&lt;br /&gt;dizi ismi     		: İsimlendirme kurallarına uygun olarak verilecek herhangi bir isimdir.&lt;br /&gt;eleman sayısı  	: Dizinin kaç elemana sahip olduğunu gösterir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Dizilere &lt;a href=""&gt;Deger atama&lt;/a&gt;&lt;/strong&gt;:&lt;br /&gt;Bu yöntemleri madde madde verelim, &lt;br /&gt;&lt;br /&gt;1. Duragan ve global (erisilen) dizilerde yaratildiklari anda içerik otomatik olarak belirlenebilir. Programin taniminda erisilen tüm degiskenler, otomatik olarak sifir yapilir.&lt;br /&gt;&lt;br /&gt;2. Duyuru sirasinda sabit degerler belirtilerek belirlenebilir. &lt;br /&gt;&lt;br /&gt;3. Programin çalismasi sirasinda indisler kullanilarak her elemana tek tek veri kopyalanabilir. &lt;br /&gt;&lt;br /&gt;1. maddenin örnegi #include &lt;iostream.h&gt;&lt;br /&gt;&lt;br /&gt; const int boyut=5;&lt;br /&gt; int GlobalDizi[boyut];&lt;br /&gt;&lt;br /&gt;   main() {&lt;br /&gt;&lt;br /&gt;//"satatic" yerel degiskende tanimlanmasina ragmen tüm program boyunca&lt;br /&gt;//geçerlidir. Ancak sadece tanimlandigi fonksiyon tarafindan erisilebilir.&lt;br /&gt;&lt;br /&gt;	   static int DuraganDizi[boyut];&lt;br /&gt;&lt;br /&gt;	   for(int i=0; i&lt;boyut;i++)&lt;br /&gt;		   cout&lt;&lt;GlobalDizi[i];&lt;br /&gt;	   return 0;&lt;br /&gt;   }&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Programin çiktisinada göreceginiz gibi, dizi aratilirken indislere ait eleman bloklari temizlenmis ve sifir degerlerini almistir. &lt;br /&gt;&lt;br /&gt;Burada bir konuya daha dikkat çekmek istiyorum. Çok yaptigimiz hatalardan biri olarak da, dizi duyurusunu yaparken belirttigimiz degerden fazla sayida deger girmemizdir.&lt;br /&gt;&lt;br /&gt;int DiziAdi[5]={1,8,9,5,4,6};Görmüs oldugunuz gibi bes tane dedik ama alti tane yazdik. !!! hata !!!. Bu tür hatalar için elimizde kullanabilecegimiz bir kalip var. &lt;br /&gt;&lt;br /&gt;char DiskOkunmuyor[ ] = "Disk okunmuyor";&lt;br /&gt;char DosyaYok[ ]= "Dosya Yok";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-2898269228046296165?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/2898269228046296165/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=2898269228046296165' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2898269228046296165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2898269228046296165'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/diziler.html' title='Diziler'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-5332505023869894703</id><published>2008-10-18T14:58:00.000-07:00</published><updated>2008-10-18T14:58:00.605-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='int putchar'/><category scheme='http://www.blogger.com/atom/ns#' term='Putchar Fonksiyonu'/><title type='text'>Putchar Fonksiyonu</title><content type='html'>int putchar(int ch);&lt;br /&gt;&lt;br /&gt;putchar standart bir C fonksiyonudur. Bütün sistemlerde bulunması zorunludur. Parametresi olan karakteri ekranda imlecin bulunduğu yere yazar. Örneğin:&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt; char ch;&lt;br /&gt;&lt;br /&gt; ch = getchar();&lt;br /&gt; putchar (ch);&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Burada putchar fonksiyonunun yaptığı işi printf fonksiyonuna da yaptırabilirdik;&lt;br /&gt;&lt;br /&gt;printf("%c", ch);&lt;br /&gt;&lt;br /&gt;putchar(ch) ile tamamen aynı işleve sahiptir.&lt;br /&gt;&lt;br /&gt;putchar fonksiyonu ile '\n' karakterini yazdırdığımızda printf fonksiyonunda olduğu gibi imleç sonraki satırın başına geçer. putchar fonksiyonu ekrana yazılan karakterin ASCII karşılığı ile geri dönmektedir.&lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;putchar&lt;/a&gt; fonksiyonu derleyicilerin çoğunda stdio.h dosyası içinde bir makro olarak tanımlanmıştır. Makrolar konusunu ileriki derslerde detaylı olarak öğreneceğiz.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-5332505023869894703?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/5332505023869894703/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=5332505023869894703' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/5332505023869894703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/5332505023869894703'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/putchar-fonksiyonu.html' title='Putchar Fonksiyonu'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-8708255358797709567</id><published>2008-10-18T14:55:00.000-07:00</published><updated>2008-10-18T14:55:00.719-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Fonksiyonlar'/><category scheme='http://www.blogger.com/atom/ns#' term='fonksiyon'/><category scheme='http://www.blogger.com/atom/ns#' term='Faktoriyel bulma'/><title type='text'>Fonksiyonlar</title><content type='html'>&lt;p&gt; y=F(x) fonksiyonu; Bu matematiksel fonksiyon parametre olarak aldinan deger üzerinde bir islem gerçeklestirip, bir sonuç degerini döndürür. Mesela F(x)=x^3+5 seklinde bir fonksiyonumuz olsun, x=2 için F(x)=13 olur. Burada x fonksiyonun parametresi, 13 ise fonksiyonun geri döndürdügü degerdir. Simdi de bu matematiksel ifadeyi kodlarimizla yorumlayalim.&lt;/p&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Int x;&lt;br /&gt;x=F(2,5)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;//buradan da "&lt;code&gt; int f(2,5)&lt;/code&gt; " gibi görebiliriz...&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Dikkat edersek ikinci satirda, daha önce islemedigimiz bir kod var. &lt;code&gt;Int x&lt;/code&gt;, F(2,5) degerine esitlenmistir. Simdi bir fonksiyonun nasil yazildiginin kalibini çikartabiliriz.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;Döndürdügü deger&amp;gt; &amp;lt;Fonksiyonun adi&gt; ( &amp;lt;parametre listesi&amp;gt; ) {&lt;br /&gt;&lt;br /&gt;&amp;lt;ifadeler&amp;gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Buradaki parantezlere ve küme isaretlerine dikkat ediniz. Simdi yukarda yazdigimiz kalibi biraz açalim.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&amp;lt;Döndürdügü deger&amp;gt; :&lt;/b&gt; Fonksiyon her hangi bir tipte deger döndürebilir. Bu bilesen fonksiyonun döndürecegi degerin tipini ifade eder. (örnegin, int, dounle, float v.s v.s )&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&amp;lt;Fonksiyonun adi&amp;gt; :&lt;/b&gt; Yapmak istedigimiz islemin adidir. Örnegin bir asal sayi fonksiyonu yazacagiz. Burada yazacagimiz fonksiyonun adini belirtiyoruz. Benim size tavsiyem AsalSayi veya asal_sayi seklinde kullanmanizdir. Okunabilirlik açisindan size avantaj saglayacaktir.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&amp;lt;parametre listesi&amp;gt; :&lt;/b&gt; Fonksiyonun kullanacaga parametrelerin tipleri ile siralanir. Örnegin, &lt;code&gt;FonksiyonAdi(int x, double y)&lt;/code&gt; gibi.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;&amp;lt;ifadeler&amp;gt; :&lt;/b&gt; Fonksiyonun kullanacagi tanimlamalar ve kodlardan olusan kisimdir. Nasil biz &lt;code&gt;main() { kodlar }&lt;/code&gt; seklinde kullaniyorsak. Bunu da ona benzetebiliriz. Ama main() i bunlarla karistirmayiniz.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Simdi bu &lt;a href=""&gt;fonksiyon&lt;/a&gt; kalibina uygun bir kod yazalim. Örnegin, &lt;a href=""&gt;Faktoriyel bulma &lt;/a&gt;islemini ele alalim. Biz bir sayinin Faktörüyelini nasil bulurduk?&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;n!=n(n-1)(n-2)...1&lt;/b&gt; Yani, 1 den n e kadar olan sayilarin çarpimidir.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;long Faktoriyel(int n) {&lt;br /&gt;return n*Faktoriyel(n-1);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Evet, burada fonksiyonumuzu tanimladik. Sanirim yukaridaki blokla karsilastirinca, ne kadar kolay oldugunu sizde görmüssünüzdür. Simdi bu Faktoriyel fonksiyonumuzu nasil bir programda kullanacagiz?  Hemen devamini yazayim.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;long Faktoriyel(int n) {&lt;br /&gt;return n*Faktoriyel(n-1);&lt;br /&gt;}&lt;br /&gt;void main() {&lt;br /&gt;cout&amp;lt;&amp;lt;"5! (Bes Faktoriyel)=  "&amp;lt;&amp;lt;Faktoriyel(5);&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Iste gördügünüz gibi ne kadar basit degil mi? J Fonksiyonumuzu tanimladik. Sonra programimizda n`e 5 degerini verdik. Faktoriyel fonksiyonu hesaplayip bize söyledi.&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;&lt;p&gt;Biraz da yaygin yapilan hatalardan ve dikkat etmemiz gereken noktalardan bahsedelim. Kodlama yaparken fonksiyon adini belirttigim sekilde yazarsaniz 30-40 sayfalik kodlarda hata bulmaniz ve de fonksiyonlarin yerini belirlemeniz açisindan büyük kolaylik olucaktir. Yukarida verdigimiz x=F(2,5) fonksiyonununu göz önünde tutalim. Görüldügü gibi F(2,5) degeri x e atanmistir. Hiç bir zaman Fonksiyonun aldigi deger sola yazilmaz. Ayrica bir Fonksiyon çagrisi, baska bir fonksiyonun çagrisi olabilir. Örnegin, x=F(a,F(a,5) gibi. Burada F Fonksiyonun iki parametresi vardir a ve F(a,5) dir. Bu durumda öncelikle parametreler hesaplananacagi için F(a,5) in degeri ile a nin degeri F te parametreler olarak kullanilir.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-8708255358797709567?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/8708255358797709567/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=8708255358797709567' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8708255358797709567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8708255358797709567'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/fonksiyonlar.html' title='Fonksiyonlar'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-1265239039823278530</id><published>2008-10-18T13:49:00.001-07:00</published><updated>2008-10-18T13:49:00.215-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='ay ornegi'/><category scheme='http://www.blogger.com/atom/ns#' term='Switch Case ornegi'/><title type='text'>Örnek Program 5</title><content type='html'>Belirtilen tarihteki ayın kaç gün sürdüğünü veren işlevi yazınız.&lt;br /&gt;Girdi : Ay ve yıl&lt;br /&gt;Çıktı : Aydaki gün sayısı&lt;br /&gt;&lt;br /&gt;int aydakigun(int ay, int yil)&lt;br /&gt;{&lt;br /&gt;  int i;&lt;br /&gt;  switch (ay) {&lt;br /&gt;      case 1:&lt;br /&gt;      case 3:&lt;br /&gt;      case 5:&lt;br /&gt;      case 7:&lt;br /&gt;      case 8:&lt;br /&gt;      case 10:&lt;br /&gt;      case 12 : i = 31;break;&lt;br /&gt;      case 2 :&lt;br /&gt;              if (yil % 4 == 0)&lt;br /&gt;                 i = 29;&lt;br /&gt;              else&lt;br /&gt;                 i = 28;&lt;br /&gt;              break;&lt;br /&gt;      default : i = 30;&lt;br /&gt;  }&lt;br /&gt;  return i;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-1265239039823278530?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/1265239039823278530/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=1265239039823278530' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1265239039823278530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1265239039823278530'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/rnek-program-5.html' title='Örnek Program 5'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-2183139548560664758</id><published>2008-10-18T13:49:00.000-07:00</published><updated>2008-10-18T13:49:00.441-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='ramazan programı'/><category scheme='http://www.blogger.com/atom/ns#' term='if ornegi'/><title type='text'>Örnek Program 6</title><content type='html'>Önümüzdeki yılda Ramazan Bayramı nın hangi tarihte olacağını hesaplayan program Bu yılki tarih klavyeden gün ay ve yıl olarak okunacakır.&lt;br /&gt;Girdi: Bu yıl kutlanılan tarih&lt;br /&gt;Çıktı : Sonraki tarih&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;&lt;br /&gt;int aydakigun(int, int);&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int gun,ay, yil;&lt;br /&gt;  int i, j ;&lt;br /&gt;&lt;br /&gt;  clrscr();&lt;br /&gt;  printf("Bu yılki tarihi giriniz (G A Y) : ");&lt;br /&gt;  scanf("%d %d %d",&amp;gun, &amp;ay, &amp;yil);&lt;br /&gt;  yil = yil + 1;&lt;br /&gt;  gun = gun - 11;&lt;br /&gt;  if (gun &lt; 1 ) {&lt;br /&gt;     ay = ay - 1;&lt;br /&gt;     if (ay &lt; 1 ) {&lt;br /&gt;        ay = 12;&lt;br /&gt;        yil = yil - 1 ;&lt;br /&gt;     }&lt;br /&gt;     gun = gun + aydakigun(ay, yil);&lt;br /&gt;  }&lt;br /&gt;  printf("\nGelecek bayram = %d/%d/%d\n",gun,ay,yil);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-2183139548560664758?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/2183139548560664758/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=2183139548560664758' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2183139548560664758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2183139548560664758'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/rnek-program-6.html' title='Örnek Program 6'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-4588188204554079636</id><published>2008-10-18T13:47:00.000-07:00</published><updated>2008-10-18T13:47:00.355-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='okek obeb programı'/><title type='text'>Örnek Program 4</title><content type='html'>İki sayının ortak katlarının en küçüğünü veren işlevi yazınız.&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;long okek(long, long);&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  long i, j;&lt;br /&gt;  clrscr();&lt;br /&gt;  printf("İki tamsayı giriniz :");&lt;br /&gt;  scanf("%ld%ld", &amp;i, &amp;j);&lt;br /&gt;  printf("sayıların okeki = %ld \n" okek(i, j));&lt;br /&gt;   &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;long okek(long p, long q)&lt;br /&gt;/* p &lt; q olmali. Degil ise yerlerini değiştir. */&lt;br /&gt;{&lt;br /&gt;  long i, k;&lt;br /&gt;  if (p&gt;q) {&lt;br /&gt;      i=p;&lt;br /&gt;      p=q;&lt;br /&gt;      q=i;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  /* p nin öyle bir katını bul ki q sayısına tam bölünsün&lt;br /&gt;     2 sayısından itibaren taranmaya başlanabilir fakat&lt;br /&gt;     p/q yeterli&lt;br /&gt;  */&lt;br /&gt;&lt;br /&gt;  i = q / p;&lt;br /&gt;  do {&lt;br /&gt;    k = p*i;&lt;br /&gt;    i = i+1;&lt;br /&gt;  } while ( k % q != 0);&lt;br /&gt;  return&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-4588188204554079636?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/4588188204554079636/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=4588188204554079636' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/4588188204554079636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/4588188204554079636'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/rnek-program-4.html' title='Örnek Program 4'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-1556848145699417142</id><published>2008-10-18T13:45:00.000-07:00</published><updated>2008-10-18T13:45:00.585-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='tahmin programı'/><category scheme='http://www.blogger.com/atom/ns#' term='sayı tahmini program kodları'/><title type='text'>Örnek Program 3</title><content type='html'>0 - 100 arasında tutulan sayının tahmini.&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int       tahmin;   /*  tahminimiz  */&lt;br /&gt;  int          min;   /*  Tahminin alt siniri  */&lt;br /&gt;  int          max;   /*  Tahminin ust siniri  */&lt;br /&gt;  char       cevap;   /*  Kullanicinin cevabi  */&lt;br /&gt;  min = 0;   max = 100;&lt;br /&gt;  do {&lt;br /&gt;    tahmin = (max - min) / 2 + min;&lt;br /&gt;    printf("Tahminim %d\n",tahmin);&lt;br /&gt;    printf("Buyuk / Kucuk / Esit ");&lt;br /&gt;    scanf("%c",&amp;cevap);&lt;br /&gt;    if (cevap == 'B')&lt;br /&gt;       max = tahmin - 1;&lt;br /&gt;     else&lt;br /&gt;        if (cevap == 'K')&lt;br /&gt;          min = tahmin + 1;&lt;br /&gt;  } while (cevap != 'E');&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-1556848145699417142?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/1556848145699417142/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=1556848145699417142' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1556848145699417142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1556848145699417142'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/rnek-program-3.html' title='Örnek Program 3'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-9055453159031730621</id><published>2008-10-18T13:41:00.000-07:00</published><updated>2008-10-18T13:41:01.020-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='carpım tablosu'/><category scheme='http://www.blogger.com/atom/ns#' term='kucuk ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='for'/><category scheme='http://www.blogger.com/atom/ns#' term='if'/><category scheme='http://www.blogger.com/atom/ns#' term='faktöryel'/><title type='text'>Kücük Örnekler</title><content type='html'>&lt;strong&gt;Kücük Örnekler&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1'den 100'e kadar olan sayıların toplamı&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt; j =0;&lt;br /&gt; for (i=1; i&lt;=100; i=i+1)&lt;br /&gt;                      j =j+i;&lt;br /&gt; printf("Toplam %d",j);  &lt;br /&gt;-------------------------------------------&lt;br /&gt;&lt;strong&gt;Girilen sayının &lt;a href=""&gt;faktöriyel&lt;/a&gt;ini&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;     fact =1;&lt;br /&gt;     for (j=1; j&lt;=i; j++)&lt;br /&gt;  fact =fact*j;&lt;br /&gt;     printf("Faktöriyel  =%f",fact); &lt;br /&gt; }&lt;br /&gt;-------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=""&gt;Çarpım tablosu&lt;/a&gt;. (içi içe döngüler)&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt;     int i,j;&lt;br /&gt;     for (i=1; i&lt;=10; i++) {&lt;br /&gt;           for (j =1; j&lt;=10; j++)&lt;br /&gt;  printf("%4.0d",i*j); &lt;br /&gt;          printf("\n"); &lt;br /&gt;     } &lt;br /&gt; }&lt;br /&gt;--------------------------------------------&lt;br /&gt;&lt;strong&gt;Bir tamsayının kübünü veren işlev&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt; int sayi;&lt;br /&gt; int kub(int); /* işlevin prototipi */&lt;br /&gt;&lt;br /&gt; printf("sayıyı gir ");&lt;br /&gt; scanf("%d", &amp;sayi);&lt;br /&gt;&lt;br /&gt; printf("Kübü = %d\n", kub(sayi));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int kub(int i)&lt;br /&gt;{  return i*i*i; }&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-9055453159031730621?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/9055453159031730621/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=9055453159031730621' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/9055453159031730621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/9055453159031730621'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/kck-rnekler.html' title='Kücük Örnekler'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-676258781797174811</id><published>2008-10-18T13:38:00.000-07:00</published><updated>2008-10-18T13:38:00.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='while ornegi'/><category scheme='http://www.blogger.com/atom/ns#' term='nüfüs artış programı'/><title type='text'>Örnek Program 2</title><content type='html'>&lt;strong&gt;Örnek Program 2&lt;/strong&gt;1993 yılı itibarı ile ülke nüfüsu 60 milyondur. Yıllık nüfüs artış oranı %2.3 tür. Sonraki 10 yılda ülke nüfüsunu yıllara göre listeleyen program&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/* Nufus Tablosu  */&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int       i;   /* sayac */&lt;br /&gt;  int     yil;   /* yillar */&lt;br /&gt;  float nufus;   /* nufus miktari */&lt;br /&gt;  float artis;   /* artis orani */&lt;br /&gt;&lt;br /&gt;  artis = 0.023;&lt;br /&gt;  yil = 1993;&lt;br /&gt;  nufus = 60000000;&lt;br /&gt;  printf("%d - %10.0f\n",yil,nufus);&lt;br /&gt;  i = 1;&lt;br /&gt;  while (i &lt; 11)&lt;br /&gt;    {&lt;br /&gt;      nufus = nufus * (1 + artis);&lt;br /&gt;      printf("%d - %10.0f\n",yil + i,nufus);&lt;br /&gt;      i = i + 1;&lt;br /&gt;    }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-676258781797174811?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/676258781797174811/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=676258781797174811' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/676258781797174811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/676258781797174811'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/rnek-program-2.html' title='Örnek Program 2'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-2731856283960650591</id><published>2008-10-18T13:35:00.000-07:00</published><updated>2008-10-18T13:35:00.827-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ornekler'/><category scheme='http://www.blogger.com/atom/ns#' term='if then else ornegi'/><title type='text'>Girilen tarihteki günün adını veren program</title><content type='html'>İf Then Else İcice Örenği &lt;br /&gt;&lt;br /&gt;#include &lt;studio.h&gt;&lt;br /&gt;main ( )&lt;br /&gt;{&lt;br /&gt;   int gun, ay, yıl ;&lt;br /&gt;  long gt ;&lt;br /&gt;  printf(“Tarihi gir”) ; scanf ( “%d %d %d “,&amp;gun)&lt;br /&gt;&lt;br /&gt;/* oncekı yıllardakı gun sayısını hesapla */&lt;br /&gt;&lt;br /&gt;  gt=( yıl*1)*365 + yıl/4;&lt;br /&gt;&lt;br /&gt;/* bu yildaki aylardaki gunleri ekle */&lt;br /&gt;&lt;br /&gt;if (ay==2)&lt;br /&gt; gt = gt + 31 ;&lt;br /&gt;else if (ay ==3)&lt;br /&gt; gt = gt + 31 + 28 ;&lt;br /&gt;else if (ay ==4)&lt;br /&gt; gt = gt + 31 + 28 +31;&lt;br /&gt;else if (ay ==5)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 ;&lt;br /&gt;else if (ay ==6)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 +31;&lt;br /&gt;else if (ay ==7)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 +31+ 30 ;&lt;br /&gt;else if (ay ==8)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31 ;&lt;br /&gt;else if (ay ==9)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 ;&lt;br /&gt;else if (ay ==10)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 + 31;&lt;br /&gt; else if (ay ==11)&lt;br /&gt; gt = gt  + 31 + 28 +31+ 30 +31+ 30 + 31+30 + 31+ 30 ;&lt;br /&gt;else if (ay ==12)&lt;br /&gt; gt = gt + 31 + 28 +31+ 30 +31+ 30 + 31+30 + 31+ 30 +31;&lt;br /&gt;&lt;br /&gt;/*Bu ayı ekle */&lt;br /&gt;gt = gt+ gun; &lt;br /&gt;if(yıl%4==0 &amp;&amp; ay&gt;2),&lt;br /&gt; gt =gt+1;&lt;br /&gt;gt=gt %7,&lt;br /&gt;if(gt==1)&lt;br /&gt;printf(“Pazar”);&lt;br /&gt;else if(gt==2)&lt;br /&gt;printf(“Pazartesi”);&lt;br /&gt;else if(gt==3)&lt;br /&gt;printf(“Salı”);&lt;br /&gt;else if(gt==4)&lt;br /&gt;printf(“Carsamba”);&lt;br /&gt;else if(gt==5)&lt;br /&gt;printf(“Persembe”);&lt;br /&gt;else if(gt==6)&lt;br /&gt;printf(“Cuma”);&lt;br /&gt;else if(gt==7)&lt;br /&gt;printf(“Cumartesi”);&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-2731856283960650591?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/2731856283960650591/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=2731856283960650591' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2731856283960650591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/2731856283960650591'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/girilen-tarihteki-gnn-adn-veren-program.html' title='Girilen tarihteki günün adını veren program'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-5057629837956624863</id><published>2008-10-18T13:24:00.000-07:00</published><updated>2008-10-18T13:24:00.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pointer'/><category scheme='http://www.blogger.com/atom/ns#' term='İşaretçi ve dizgi kullanımı'/><category scheme='http://www.blogger.com/atom/ns#' term='isaretci degiskeni'/><category scheme='http://www.blogger.com/atom/ns#' term='gösterici'/><category scheme='http://www.blogger.com/atom/ns#' term='İşaretçiler ve Diziler'/><category scheme='http://www.blogger.com/atom/ns#' term='işaretçi'/><category scheme='http://www.blogger.com/atom/ns#' term='void malloc'/><title type='text'>Pointer</title><content type='html'>&lt;strong&gt; Tanımlanması ve Kullanımı&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;    Bir veri bloğunun bellekte bulunduğu adresi içeren (gösteren) veri tipidir. Tanımlama biçimi:&lt;br /&gt;&lt;br /&gt;     veri tipi  *p;&lt;br /&gt;&lt;br /&gt;p değişkeni &lt;veri tipi&gt; ile belirtilen tipte bir verinin bellekte saklandığı adresi içerir.&lt;br /&gt;&lt;br /&gt;     int *iptr;&lt;br /&gt;     float *fptr;&lt;br /&gt;&lt;br /&gt;Bu kadar tanımla sonucunda bellekte p değişkeni mevcuttur. Ancak işaret ettiği veri bloğu yoktur. Bunun için iki yol vardır. Birincisi  kullanılan herhangi bir değişkeni işaret etmek, ikincisi ise  veri bloğunu boş belleği kullanarak oluşturmak.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;İşaretçi değişkenin var olan bir değişkenin bulunduğu adresi göstermesi&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Bu işlemi yapabilmek için var olan değişkenin adresinin bilinmesi gerekmektedir. &lt;br /&gt;&lt;br /&gt;&amp; işleci : Bir değişkenin adresinin belirlenmesi için kullanılır. Kullanım biçimi:&lt;br /&gt;&lt;br /&gt;	&amp;değişken&lt;br /&gt;&lt;br /&gt;&amp;i  : i değişkenin adresini verir.&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int i;&lt;br /&gt;  int *iptr;&lt;br /&gt;  i = 5;&lt;br /&gt;  iptr = &amp;i;&lt;br /&gt;  clrscr();&lt;br /&gt;  printf("i değişkeninin adresi    %p\n", &amp;i);&lt;br /&gt;  printf("iptr değişkeninin değeri %p\n", iptr);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Bellek modeline göre SSSS:OOOO veya OOOO biçiminde adres yazar.&lt;br /&gt;&lt;br /&gt;8FF8:1000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Veri bloğunu boş belleği kullanarak oluşturmak.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Bu yolla veriler için dinamik yer ayırılır. Bunun için malloc işlevi kullanılır&lt;br /&gt;void *malloc(n) : Boş bellekten n byte yer ayırıp başlangıç adresini döndürür.&lt;br /&gt;iptr = (*int) malloc(2);&lt;br /&gt;!!!!!!!!!    Daha sonra dönüş yapılacak. sizeof,  cast işleci (*tip) ... &lt;br /&gt;&lt;br /&gt;Veriye i&lt;a href=""&gt;şaretçi&lt;/a&gt; değişken yoluyla erişim&lt;br /&gt;&lt;br /&gt;Bir işaretçinin gösterdiği adresteki veriye erişmek için işaretçi değişkeninin önüne * karakteri konur.&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int i;&lt;br /&gt;  int *iptr;&lt;br /&gt;  iptr = &amp;i;&lt;br /&gt;  *iptr = 8;&lt;br /&gt;  printf("i değişkeninin değeri %d\n", i);  &lt;br /&gt;  printf("iptr adresinin içeriği %d\n", *iptr);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Ekranda çıktı :&lt;br /&gt;i değişkeninin değeri 8 &lt;br /&gt;iptr adresinin içeriği 8&lt;br /&gt;&lt;br /&gt;!!! İşaretçi değişkenin gösterdiği adresin içeriği değişken ilklendirmeden kullanılmamalıdır&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;İşaretçi Aritmetiği&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;İşaretçi değişkenler üzerinde toplama ve çıkartma işlemleri (++, --)  geçerlidir. Ancak eklenecek değer tamsayı olmalıdır.&lt;br /&gt;&lt;a href=""&gt;İşaretçi değişkeni&lt;/a&gt;n değeri 1 arttırıldığı zaman değişken bir sonraki veri bloğunu işsaret eder. Değişkenin alacağı yeni değer işaretçi değişkenin ne tip bir veri bloğunu işaret ettiğine bağlıdır.&lt;br /&gt;&lt;br /&gt;int *iptr, i;&lt;br /&gt;...&lt;br /&gt;iptr = &amp;i;                   i değişkenin adresinin 1000 olduğunu varsayalım. iptr nin değeri 1000 dir.&lt;br /&gt;iptr++;                       iptr nin değeri 1002 olur. (  int değeri işaret ettiği için)  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;aynı örneği double için yaparsak&lt;br /&gt;double *iptr, i;&lt;br /&gt;...&lt;br /&gt;iptr = &amp;i;                   i değişkenin adresinin 1000 olduğunu varsayalım. iptr nin değeri 1000 dir.&lt;br /&gt;iptr++;                       iptr nin değeri 1008 olur. (  double değeri işaret ettiği için)  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int *iptr, i, j;&lt;br /&gt;...&lt;br /&gt;iptr = &amp;i;                   i değişkenin adresinin 1000 olduğunu varsayalım. iptr nin değeri 1000 dir.&lt;br /&gt;*(iptr+4)=2;             1008 adresinin içeriğini 2 yapar.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;!!! Arttırma işaret edilen veri bloğuna göre yapılır Yani bir sonraki veri bloğunun gösterilmesi sağlanır.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;iptr++ ;       bir sonraki veri bloğunu göster&lt;br /&gt;(*iptr)++;   iptr değişkeninin gösterdiği adresteki değeri 1 arttır&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;&lt;strong&gt;İşaretçiler ve Diziler&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;İşarteçiler üzerinde geçerli aritmetik yardımıyla dizilere işaretçi değişkenler ile erişmek mümkündür.&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int i[10], j;&lt;br /&gt;  int *iptr;&lt;br /&gt;&lt;br /&gt;  for (j=0; j&lt;10; j++)&lt;br /&gt;       i[j]=j;&lt;br /&gt;&lt;br /&gt;  /* Dizinin başlangıç adresine erişmek için ilk elemanın adresi kullanılabilir  &amp;i[0]  veya doğrudan */&lt;br /&gt;&lt;br /&gt;  iptr = i; &lt;br /&gt;&lt;br /&gt;  clrscr();&lt;br /&gt;&lt;br /&gt;  for (j=0; j&lt;10; j++) {&lt;br /&gt;      printf("%d ", *iptr);&lt;br /&gt;      iptr++;&lt;br /&gt;  }&lt;br /&gt;  printf("\n");&lt;br /&gt;/* iptr artık dizinin başını göstermez */&lt;br /&gt;&lt;br /&gt;  iptr = i;&lt;br /&gt;  for (j=0; j&lt;10; j++)&lt;br /&gt;      printf("%d ", *(iptr+j));&lt;br /&gt;&lt;br /&gt;  printf("\n");&lt;br /&gt;/* iptr hala dizinin başını gösterir */&lt;br /&gt;  getch();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Örnek:&lt;/strong&gt; &lt;a href=""&gt;İşaretçi ve dizgi kullanımı&lt;/a&gt;.&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  char *a="1234567890";&lt;br /&gt;  char b[11];&lt;br /&gt;  char *p1, *p2;&lt;br /&gt;&lt;br /&gt;  printf("%s\n", a);&lt;br /&gt;  p1 = a;&lt;br /&gt;  p2 = b;&lt;br /&gt;  while (*p1 != '\0') {&lt;br /&gt;      *p2 = *p1;&lt;br /&gt;      p1++;&lt;br /&gt;      p2++;&lt;br /&gt;  }&lt;br /&gt;  printf("%s\n", b);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;İşlevleri Referans Yoluyla Çağırma&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Şu ana yazdığımız işlevlerde gönderilen parametrelerin (diziler hariç) değerlerinin değiştirilmesi mümkün değil idi. İşlev çağırıldığı zaman parametrelerin bir kopyası çıkartılıp işleve gönderiliyordu. Bir işlevin birden fazla değer gönderebilmesi için işaretçilere gereksinimiz vardır.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void arttir(int);&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int i;&lt;br /&gt;  i = 5;&lt;br /&gt;  printf("öncesi %d\n", i);&lt;br /&gt;  arttir(i);&lt;br /&gt;  printf("sonrası %d\n", i);&lt;br /&gt;  getch();&lt;br /&gt;}&lt;br /&gt;void arttir(int k)&lt;br /&gt;{&lt;br /&gt;  k++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Çıktı :&lt;br /&gt;öncesi 5&lt;br /&gt;sonrası 5&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Gönderilen parametrenin kopyası işleve gönderildiği için işlev içerisinde yapılan değişiklikler işlevin çağırıldığı yeri etkilemez. Eğer parametredeki değişikliklerin işlevin çağırıldığı yerde de geçerli olmasını istiyorsak işleve parametrenin adresini göndermek gerekir.&lt;br /&gt;&lt;br /&gt;void arttir(int*);&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  int i;&lt;br /&gt;  i = 5;&lt;br /&gt;  printf("öncesi %d\n", i);&lt;br /&gt;  arttir(&amp;i);&lt;br /&gt;  printf("sonrası %d\n", i);&lt;br /&gt;  getch();&lt;br /&gt;}&lt;br /&gt;void arttir(int *k)&lt;br /&gt;{&lt;br /&gt;  (*k)++;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;öncesi 5&lt;br /&gt;sonrası 6&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Örnek :&lt;/strong&gt; Sayısal dizgiyi tamsayıya dönüştüren işlevde iyileştirme. Geçersiz karakterin konumu da verilsin.&lt;br /&gt;int deger(char *s, int *konum)&lt;br /&gt;konum = -1 ise tüm karakterler rakam&lt;br /&gt;            &gt;=0 ise geçersiz karakterin konumu&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;&lt;strong&gt;Örnek :&lt;/strong&gt; Sıraya dizme. Yer değişikliği işlevde ve parametrelere referans yolu ile erişim.&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;conio.h&gt;&lt;br /&gt;&lt;br /&gt;#define N 20&lt;br /&gt;void degistir (int *, int *);&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;   int s[N];&lt;br /&gt;   int i, k;&lt;br /&gt;&lt;br /&gt;   clrscr();&lt;br /&gt;&lt;br /&gt;   for (i=0; i&lt;N; i++) {&lt;br /&gt;       s[i] = rand() % 100;&lt;br /&gt;       printf("%4d",s[i]);&lt;br /&gt;   }&lt;br /&gt;   printf("\n");&lt;br /&gt;   k=1;&lt;br /&gt;   do {&lt;br /&gt;      k=0;&lt;br /&gt;      for (i=0; i&lt;N-1; i++)&lt;br /&gt;          if (s[i] &gt; s[i+1]) {&lt;br /&gt;             degistir (&amp;s[i], &amp;s[i+1]);&lt;br /&gt;             k = 1;&lt;br /&gt;          }&lt;br /&gt;   } while (k);&lt;br /&gt;&lt;br /&gt;   for (i=0; i&lt;N; i++)&lt;br /&gt;       printf("%4d",s[i]);&lt;br /&gt;   printf("\n");&lt;br /&gt;   getch();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void degistir (int *a, int *b)&lt;br /&gt;{&lt;br /&gt;  int gec;&lt;br /&gt;  gec = *a;&lt;br /&gt;  *a = *b;&lt;br /&gt;  *b = gec;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;!!! Dizilerde işaretçi olduğu için a değişkeni bir dizi(veya işaretçi ise)&lt;br /&gt;a[i] ile *(a+i) ifadeleri aynı anlamı taşır.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Örnek :&lt;/strong&gt; İşleve gönderilen dizinin işlev içerisinde işaretçi olarak kullanımı.&lt;br /&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;conio.h&gt;&lt;br /&gt;&lt;br /&gt;#define N 5&lt;br /&gt;&lt;br /&gt;float ort (int *);&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;   int s[N];&lt;br /&gt;   int i, k;&lt;br /&gt;&lt;br /&gt;   clrscr();&lt;br /&gt;   for (i=0; i&lt;N; i++) {&lt;br /&gt;       s[i] = rand() % 100;&lt;br /&gt;       printf("%4d",s[i]);&lt;br /&gt;   }&lt;br /&gt;   printf("\n");&lt;br /&gt;   getch();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;float ort (int *a)&lt;br /&gt;{&lt;br /&gt;  int i;&lt;br /&gt;  float t = 0;&lt;br /&gt;&lt;br /&gt;  for (i=0; i&lt;N; i++)&lt;br /&gt;      t = t + *(a+i);&lt;br /&gt;&lt;br /&gt;  return t/N;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Örnek :&lt;/strong&gt; işleve gönderilen işaretçinin işlev içerisinde dizi olarak kullanımı .&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=""&gt;void malloc&lt;/a&gt;(&lt;/strong&gt;n):  En az n byte uzunluğunda bellekten yer ayırır. İşlevin değeri&lt;br /&gt;		&gt;0 ise bloğun bellekteki yeri, NULL yer yok demektir.&lt;br /&gt;&lt;br /&gt;int *i;&lt;br /&gt;i = (int *) malloc(2000) ;    2000 byte yer ayırıp bloğun başlangıç adresini i 'ye atar&lt;br /&gt;                                             ( 1000 elemanlı int dizisi )&lt;br /&gt;double *x;&lt;br /&gt;x = (double *) malloc(8*2000);  2000 elemanlı double dizi&lt;br /&gt;&lt;br /&gt;sizeof(n) : n ifadesinin/tipinin byte olarak uzunluğunu verir.&lt;br /&gt;i = (int *) malloc(1000*sizeof(int)) ;    1000 tane int değer içerecek bellek uzunluğu&lt;br /&gt;&lt;br /&gt;x = (double *) malloc(2000*sizeof(double));  2000 elemanlı double dizi&lt;br /&gt;&lt;br /&gt;void free (void *block) : mallock işlevivi tersi. Block değişkenin tuttuğu yeri boş belleğe gönderir&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-5057629837956624863?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/5057629837956624863/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=5057629837956624863' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/5057629837956624863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/5057629837956624863'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/pointer.html' title='Pointer'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-9199582106398353322</id><published>2008-10-18T13:17:00.000-07:00</published><updated>2008-10-18T13:17:00.983-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='strcpy'/><category scheme='http://www.blogger.com/atom/ns#' term='strcat'/><category scheme='http://www.blogger.com/atom/ns#' term='strlen'/><category scheme='http://www.blogger.com/atom/ns#' term='atoi'/><category scheme='http://www.blogger.com/atom/ns#' term='strcmp'/><title type='text'>Strlen Strcpy Strcmp Strcat Strcmp Atoi</title><content type='html'>&lt;a href=""&gt;&lt;strong&gt;strlen()&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;Bu fonksiyon bir karakter dizisinin uzunlugunu verir ve "string.h" kitapliginda tanimlidir. Strlen() fonksiyonu, sözcükler (strings) bölümünde bahsettigimiz string ifadeleri okumak için kullanilir. Fakat sondaki "nul terminator" diger sekliyle ''\0'' degerini okumaz. Örnegimizde de oldugu gibi "Deneme" ve ''d'' ''e'' ''n'' ''e'' ''m'' ''e'' sözcükler kisminda ki biz buna 7 karakter demistik, "null" ile birliktedir ama strlen() bunu bize 6 diye okuyacaktir.&lt;br /&gt;&lt;br /&gt;int boy = strlen(h);&lt;br /&gt;for (int i = 0; i&lt;=boy; i++)&lt;br /&gt;y[i] = h[i] ;&lt;br /&gt;strcpy() &lt;br /&gt;Bu fonksiyonda sözcük kopyalamaya yarar ve "string.h" kitapligindadir. &lt;br /&gt;&lt;br /&gt;#include &lt;iostream.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;&lt;br /&gt;#define OTUZ 30&lt;br /&gt;&lt;br /&gt;void main(void)&lt;br /&gt;{&lt;br /&gt;	char Dosya1[OTUZ]="C:\\belgelerim\\deneme.txt",&lt;br /&gt;	     Dosya2[OTUZ];&lt;br /&gt;		 &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;strcpy&lt;/strong&gt;(Dosya2, Dosya1);&lt;br /&gt;cout&lt;&lt;Dosya2&lt;&lt;endl;&lt;br /&gt;&lt;br /&gt;cout&lt;&lt;"\n ikinci dosyayi gir: ";&lt;br /&gt;cin&gt;&gt;Dosya1;&lt;br /&gt;&lt;br /&gt;strcpy(Dosya2, Dosya1);&lt;br /&gt;cout&lt;&lt;"\n"&lt;&lt;Dosya2&lt;&lt;"\n";&lt;br /&gt;}&lt;br /&gt;&lt;strong&gt;&lt;a href=""&gt;strcat()&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;strcat() fonksiyonu iki karakter katarini bir birine ekler. &lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;&lt;strong&gt;strcmp()&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;Iki sözcügün (iki karakter katarinin) ayni olup olmadigini kontrol etmek için kullanilir. Bu fonksiyon büyük/küçük harf duyarli degildir.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=""&gt;atoi&lt;/a&gt;()&lt;/strong&gt;&lt;br /&gt;Bazen sayilari karakter dizisi olarak okumamiz gerekebilir. Ancak esas, bu sayilarin sayi degerlerine gereksinmemiz vardir. Atoi fonksiyon, bir karakter dizisini alir ve onu sayiya çevirir. &lt;br /&gt;&lt;br /&gt;Örnegin; "123456" dizisini alir 123456 sayisina döndürür.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-9199582106398353322?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/9199582106398353322/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=9199582106398353322' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/9199582106398353322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/9199582106398353322'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/strlen-strcpy-strcmp-strcat-strcmp-atoi.html' title='Strlen Strcpy Strcmp Strcat Strcmp Atoi'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-4441903458824472228</id><published>2008-10-18T13:12:00.000-07:00</published><updated>2008-10-18T13:12:00.536-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='örnek diziler'/><category scheme='http://www.blogger.com/atom/ns#' term='Dizi Bildirimleri'/><title type='text'>Örnek Dizi Bildirimleri</title><content type='html'>Örnek &lt;a href=""&gt;Dizi Bildirimleri&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;double a[20];   /* a, 20 elemanlı ve elemanları double türden olan bir dizidir*/&lt;br /&gt;float ave[10];  /* ave 10 elemanlı ve her elemanı float türden olan bir dizidir. */&lt;br /&gt;unsigned long total[100]; /* total 100 elemanlı ve her elemanı unsigned long türden olan bir dizidir */&lt;br /&gt;char path[80];  /* path 80 elemanlı ve her elemanı char türden olan bir dizidir. */&lt;br /&gt;&lt;br /&gt;Tanımlamada yer alan eleman sayısının mutlaka tamsayı türlerinden birinden sabit ifadesi olması zorunludur. (Sabit ifadesi [constant expression] tanımını hatırlayalım; değişken ve fonksiyon çağırımı içermeyen, yani yalnızca sabitlerden oluşan ifadelere, sabit ifadesi denir.)&lt;br /&gt;&lt;br /&gt;int dizi[x]; /* x dizisinin bildirimi derleme zamanında hata olusturur .*/&lt;br /&gt;int dizi[5.]; /* gerçek sayı türünden sabit ifadesi olduğu için derleme zamanında hata olusturur . */&lt;br /&gt;&lt;br /&gt;int sample[10 * 20] /* sample dizisinin bildirimi geçerlidir. Eleman sayısını gösteren ifade sabit ifadesidir. */&lt;br /&gt;&lt;br /&gt;Dizi bildirimlerinde eleman sayısı yerine sıklıkla sembolik sabitler kullanılır:&lt;br /&gt;&lt;br /&gt;#define  MAXSIZE 100&lt;br /&gt;...&lt;br /&gt;int dizi[MAXSIZE];  /* geçerli bir bildirimdir */&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Diğer değişken bildirimlerinde olduğu gibi, virgül ayıracıyla ayrılarak, birden fazla dizi tek bir tür belirten anahtar sözcükle tanımlanabilir.&lt;br /&gt;&lt;br /&gt;int x[100], y[50], z[10]; &lt;br /&gt;&lt;br /&gt;x, y ve z  elemanları int türden olan dizilerdir.&lt;br /&gt;&lt;br /&gt;Dizi tanımlamaları diğer değişken tanımlamaları ile kombine edilebilir.&lt;br /&gt;&lt;br /&gt;int a[10], b, c;&lt;br /&gt;&lt;br /&gt;a int türden 10 elemanlı bir dizi, b ve c int türden nesnelerdir.&lt;br /&gt;&lt;br /&gt;Dizi elemanlarının her biri ayrı birer nesnedir. Dizi elemanlarına index operatörüyle [] ulaşılabilir. Index operatörü bir gösterici operatörüdür. Göstericiler konusunda ayrıntılı bir şekilde ele alınacaktır.&lt;br /&gt;&lt;br /&gt;İndex operatörünün operandı dizi ismidir. (Aslında bu bir adres bilgisidir, çünkü dizi isimleri adres bilgisi belirtirler.) Köşeli parantez içinde dizinin kaçıncı indisli elemanına ulaşacağımızı  gösteren bir tamsayı ifadesi olmalıdır.&lt;br /&gt;&lt;br /&gt;C dilinde dizilerin ilk elemanı sıfırıncı indisli elemandır.&lt;br /&gt;&lt;br /&gt;a[n] gibi bir dizinin ilk elemanı a[0] son elemanı ise a[n - 1] dur. &lt;br /&gt;&lt;br /&gt;Örnekler:&lt;br /&gt;&lt;br /&gt;dizi[20] /* a dizisinin 20. indisli yani 21. sıradaki elemanı. */&lt;br /&gt;ave[0]  /* ave dizisinin 0. indisli yani birinci sıradaki elemanı */&lt;br /&gt;total[j]  /* total dizisinin j indisli elemanı */&lt;br /&gt;&lt;br /&gt;Görüldüğü gibi bir dizinin n. elemanı ve bir dizinin n indisli elemanı terimleri dizinin farklı elemanlarına işaret eder. Bir dizinin n indisli elemanı o dizinin n + 1 . elemanıdır.&lt;br /&gt;Bir dizi tanımlaması ile karşılaşan derleyici, tanımlanan dizi için bellekte yer tahsis edecektir..Ayrılacak yer şüphesiz dizinin eleman sayısı * bir elemanın bellekte kapladığı yer kadar byte olacaktır.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-4441903458824472228?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/4441903458824472228/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=4441903458824472228' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/4441903458824472228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/4441903458824472228'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/rnek-dizi-bildirimleri.html' title='Örnek Dizi Bildirimleri'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-8811779394510805025</id><published>2008-10-18T12:56:00.000-07:00</published><updated>2008-10-18T12:56:00.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='do while'/><category scheme='http://www.blogger.com/atom/ns#' term='dowhile döngüsü'/><title type='text'>Do-While Döngüsü</title><content type='html'>Bir koşul doğru olana kadar döngü yürütülür.&lt;br /&gt;&lt;br /&gt; do&lt;br /&gt;      Deyim&lt;br /&gt; while (&lt;mantıksal ifade&gt;)&lt;br /&gt;&lt;br /&gt; Mantıksal ifade doğru olduğu sürece döngü tekrar edilir. Yanlış olduğunda while sözcüğünden &lt;br /&gt;sonraki deyim yürütülür.    &lt;br /&gt;&lt;br /&gt; 5 sayısı girilene kadar oku&lt;br /&gt;&lt;br /&gt; do &lt;br /&gt;     scanf("%d",&amp;i);&lt;br /&gt; while (i!=5);&lt;br /&gt;&lt;br /&gt; i =1;&lt;br /&gt; do {&lt;br /&gt;     printf("%d",i*i);&lt;br /&gt;     i =i+1;&lt;br /&gt; } while (i&lt;=10);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-8811779394510805025?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/8811779394510805025/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=8811779394510805025' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8811779394510805025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8811779394510805025'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/do-while-dngs.html' title='Do-While Döngüsü'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-1280265284379502585</id><published>2008-10-18T12:42:00.000-07:00</published><updated>2008-10-18T12:42:00.837-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Break komutu'/><category scheme='http://www.blogger.com/atom/ns#' term='Exit Komutu'/><category scheme='http://www.blogger.com/atom/ns#' term='exit'/><title type='text'>Break ve Exit Komutu</title><content type='html'>&lt;strong&gt;&lt;a href=""&gt;Break&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;Break komutunu, swtich komutundan çikmak için önceki derslerimizde görmüstük. Komutun kendine özgü bir kullanimi daha vardir. Break komutu bir döngünün içinde çalistirilirsa o an o döngü biter. Bir goto gibi islem gördügünü de söyleyebiliriz. Break kullaninca program döngüyü bitirir ve döngünün sonundaki satirdan çalismaya devam eder. Bir örnek verelim.&lt;br /&gt;&lt;table bgcolor="#FFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//break.cpp&lt;br /&gt;//break komutunu kullandik.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &lt;iostream.h&gt;&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    for (int x = 1; x &lt;= 10; x++) {&lt;br /&gt;      if (x == 7) {&lt;br /&gt;         break;&lt;br /&gt;      }&lt;br /&gt;      cout&lt;&lt; x &lt;&lt; " ";&lt;br /&gt;   }&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;Iste örnegimizde gördügünüz gibi. X 7''ye esit olunca break; döngüyü bitiriyor ve döngüden sonraki satiri çalistirmaya basliyor.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=""&gt;Exit&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Hayati hata durumlarini ele almak için exit() fonksiyonundan yararlanilir. Bu hatalar main() fonksiyonunu return ile normal olarak sonlandirilmadan önce olusabilir. Exit() fonksiyonu, durum degerini bir tam sayi parametre olarak döndürür. &lt;br /&gt;&lt;br /&gt;&lt;a href=""&gt;Exit&lt;/a&gt;() ile özel bir degerin gönderilmesi bazi islemler yapmasi için kullanilabilir. Örnegin program komut satirinda kullaniliyorsa ve durum degeri bazi hatalari gösteriyorsa, isletim sistemi bunlari mesaj olarak yazabilir. Exit() fonksiyonu programi sonlandirmanin yaninda, tüm bekleyen yazma islemlerini tamamlar ve açik tüm dosyalari kapatir. &lt;br /&gt;&lt;br /&gt;Exit() fonksiyonunu kullanirken kullanmamiz gerek kütüphaneler ise process.h ve stdlib.h tir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-1280265284379502585?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/1280265284379502585/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=1280265284379502585' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1280265284379502585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/1280265284379502585'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/break-ve-exit-komutu.html' title='Break ve Exit Komutu'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-8831333066544144606</id><published>2008-10-18T12:30:00.000-07:00</published><updated>2008-10-18T12:30:00.798-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='while'/><category scheme='http://www.blogger.com/atom/ns#' term='while yapisi'/><title type='text'>While Döngüsü</title><content type='html'>Mantıksal ifade doğru olduğu sürece Deyim yürütülür. Eğer yanlış ise kontrol bir sonraki deyime geçer.&lt;br /&gt;&lt;a href=""&gt;while &lt;/a&gt;( ifade )&lt;br /&gt;{&lt;br /&gt;komut;&lt;br /&gt;komut;&lt;br /&gt;komut;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;}&lt;br /&gt;Burada bir seye dikkat etmenizi istiyorum. Çoklu komutlar kullandigimizda " { } "parantezleri gereklidir. &lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;// while1.cpp&lt;br /&gt;// while döngüsünü kullandik&lt;br /&gt;// girdigimiz sayidan 100 e kadar olan sayilari topladik&lt;br /&gt;&lt;br /&gt;  #include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt; {&lt;br /&gt; int x, y;&lt;br /&gt; y= 0;&lt;br /&gt; cout&amp;lt;&amp;lt;  " Bir Sayi Giriniz ( Sayi 100 den küçük olucak ) : ";&lt;br /&gt; cin&amp;gt;&amp;gt;x;&lt;br /&gt; while (x&amp;lt; 101)&lt;br /&gt;    {&lt;br /&gt;&lt;br /&gt;y =y+x;&lt;br /&gt;x =x+1;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;   cout&amp;lt;&amp;lt;  "Toplam= "&amp;lt;&amp;lt;  y;&lt;br /&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Burada önce x ve y yi tanimladik. y=0 degerini verdik. Sonra klavyeden girilen degerin x oldugunu yazdik. while (x&lt; 101) iste burada ifademiz x&lt; 101. Simdi bu kosul saglanincaya kadar döngümüz devam edecek. While'' den sonraki bloga geçtigimizde ise. y` ye x i ekliyoruz ve x in degerini her seferinde 1 arttiriyoruz. Sanirim bu basit örnekte döngünün basit yapisini ve mantigini anlamis oldunuz.&lt;br /&gt;&lt;br /&gt;Döngünün verilen ifade veya kosula göre saglanmasi döngülerin en önemli konusudur. Eger bir döngüden çikilmazsa o döngü sonsuza gider. Buna da "sonsuz döngü" denir. Döngüler konusunda en çok rastlayacagimiz hata da budur.Simdi buna bir örnek verelim. Fakat, simdiden uyariyorum, sonsuz döngü yapildiginda bilgisayariniz kilitlenebilir. &lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;  //sonsuz.cpp&lt;br /&gt; //while döngüsü ile sonsuz bir döngü yaptik&lt;br /&gt;&lt;br /&gt; #include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt; int x=1;&lt;br /&gt; while(x)&lt;br /&gt;&lt;br /&gt; cout&amp;lt;&amp;lt;  "x= "&amp;lt;&amp;lt;  x++&amp;lt;&amp;lt;  endl;&lt;br /&gt; &lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;p&gt;Burada neden sonsuz bir döngü oldu? Evet iste x ifadesini kosula baglamadik. Sayet &lt;code&gt;while(x&amp;lt;10)&lt;/code&gt; demis olsaydik. 1,2,3,4,5,6,7,8,9 a kadar x sayisi siralanacakti.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;//klavye.cpp&lt;br /&gt; //while döngüsü ile klavyeden girilen sayi&lt;br /&gt;&lt;br /&gt; #include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt; int x, y = 0;&lt;br /&gt;&lt;br /&gt;while (y&amp;lt; 20)&lt;br /&gt;{&lt;br /&gt;cin&amp;gt;&amp;gt;x;&lt;br /&gt;y = y+x;&lt;br /&gt;}&lt;br /&gt;cout&amp;lt;&amp;lt;  "Toplam= "&amp;lt;&amp;lt;  y ;&lt;br /&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; &lt;p&gt;Bu programda da klavyeden girilen sayilarin toplami 20'' den büyük olunca program Toplam olarak söylüyor.  Sanirim basit &lt;a href=""&gt;While yapisi&lt;/a&gt;ni anladiniz. Simdi birazda karmasik programciklar yapalim:).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;1. Örnek: Girilen alti not''un ortalamasini aliyor.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt; //ortalama.cpp&lt;br /&gt;  // while döngüsü ile girilen notlarin ortalamasini aldik.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;   int toplam, &lt;br /&gt;        sayac,  &lt;br /&gt; not,       &lt;br /&gt; ortalama;   &lt;br /&gt;&lt;br /&gt;toplam = 0;&lt;br /&gt;sayac = 1;&lt;br /&gt;&lt;br /&gt;while ( sayac &amp;lt;= 6 )&lt;br /&gt;{&lt;br /&gt;     cout &amp;lt;&amp;lt;   "Notu giriniz: ";&lt;br /&gt;     cin &amp;gt;&amp;gt;not;   &lt;br /&gt;     toplam = toplam + not;&lt;br /&gt;     sayac = sayac + 1;    &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;ortalama = toplam / 6;&lt;br /&gt;cout &amp;lt;&amp;lt;   "Sinif ortalamasi = " &amp;lt;&amp;lt;   ortalama &amp;lt;&amp;lt;   endl;&lt;br /&gt;&lt;br /&gt;return 0;&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt; &lt;p&gt;Bu örnegimizde yine toplam, sayac, not, ortalama gibi degiskenleri tanimladik. &lt;code&gt;( toplam =0 ; ve sayac = 1; )&lt;/code&gt;  de degiskenlere ilk degerlerini atadik. While döngüsünün içinde sayac degiskenimizi alti defa islemesini söyledik. Sonra alttaki toplam ve sayac bölümlerinde ise toplam a not'' u ekliyoruz, her seferinde de sayac degerini bir arttiriyoruz ve sayac degeri 6'' ya gelince while döngümüz duruyor. Program sonra toplami alip altiya  böler bu sayede ortalamayi  alir, sonrada çiktisini gerçeklestirir. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;2. Örnek:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;//faktoriyel.cpp&lt;br /&gt;// while ile faktoriyel hesaplama&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;    int sayi;&lt;br /&gt;    long int faktoriyel=1;&lt;br /&gt;    cout &amp;lt;&amp;lt;   "Bir sayi giriniz: ";&lt;br /&gt;    cin &amp;gt;&amp;gt; sayi;&lt;br /&gt;    cout &amp;lt;&amp;lt;  sayi &amp;lt;&amp;lt;   " `in Faktöriyeli: ";&lt;br /&gt;    while (sayi &amp;gt; 1)&lt;br /&gt;        faktoriyel *= sayi--;&lt;br /&gt; &lt;br /&gt;    cout &amp;lt;&amp;lt;   faktoriyel &amp;lt;&amp;lt;   endl;&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt; &lt;p&gt;Burda &lt;cide&gt;&lt;a href=""&gt;while&lt;/a&gt; (sayi&gt;1)&lt;/code&gt; seklinde kosulumuzu belirttik. Bir altinda ise  &lt;code&gt;faktoriyel *= sayi--;&lt;/code&gt; evet  burda da daha önce gördügümüz gibi esitleme operatörü olan ( *= ) i kullandik. Yani faktoriyel''e faktoriyel*sayi--  nin degeri atanir. Matematigini düsünürseniz; 7 sayisinin faktöriyeli 7 *= 7-- gibi. yani 7 ye devamli 7-- oda 6 demektir. 6 ile carpimi eklenir, bu 6-- ile devam eder. En basit anlatimi bu:) Sonrada tüm while döngüsü bittikten sonrada faktoriyel'' in sonucu çikti olarak ekrana gelir. Bu örnekte negatif sayilarin faktöriyelini de 1''e esit tutuyor. Dikkat ediniz. Negatif sayilarin faktöriyeli alinmaz sartini koymadik. Sayet siz koymak isterseniz bir if else blogu yerlestirmelisiniz if(sayi&gt;=0) faktoriyel  al yoksa faktoriyel alma gibi.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;3. Örnek:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;// maas.cpp&lt;br /&gt;// while if-else ile bir maas vergi uygulamasi&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#include &amp;lt;iostream.h&amp;gt;  &lt;br /&gt;&lt;br /&gt;int main( )&lt;br /&gt;{&lt;br /&gt;unsigned long maas, net, vergi = 0.0;   // maas net vergi bunlari tanimladik&lt;br /&gt;&lt;br /&gt;  cout&amp;lt;&amp;lt;   "Lütfen maasinizi giriniz: ";  // maasi giriyoruz&lt;br /&gt;  cin&amp;gt;&amp;gt; maas;                           // maasi programa aliyoruz&lt;br /&gt;&lt;br /&gt;  while( maas &amp;gt;= 0.0 )           // maasin koslunu yaziyorus döngüye&lt;br /&gt;  {                                        &lt;br /&gt;    if( maas &amp;lt;= 250000000 )    // maas 250 milyondan az ise&lt;br /&gt;      vergi = 0.0;&lt;br /&gt;    else                         // vergi yok:)&lt;br /&gt;      if( maas &amp;lt; 500000000 )     // maas 500 den az ise &lt;br /&gt;        vergi = maas * 0.10;      // vergi %10&lt;br /&gt;      else                        // 500 den fazla ise&lt;br /&gt;        vergi = maas * 0.20;     // vergi %20&lt;br /&gt;&lt;br /&gt;    net = maas - vergi;         // net maasimiz vergi düsünce çikar&lt;br /&gt;    cout&amp;lt;&amp;lt;  "Ödenmesi Gereken vergi " &amp;lt;&amp;lt;   vergi &amp;lt;&amp;lt;   endl;    // vergi ekranda&lt;br /&gt;    cout&amp;lt;&amp;lt;  "Net maasiniz: " &amp;lt;&amp;lt;   net &amp;lt;&amp;lt;   endl;   // geriye kalan maasimiz&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    cout&amp;lt;&amp;lt;   "Lütfen maasinizi giriniz: ";  // bir dahaki ayki yeni maasimiz&lt;br /&gt;    cin&amp;gt;&amp;gt; maas;     // maasi program aliyor&lt;br /&gt;  &lt;br /&gt;  }&lt;br /&gt;  return 1;   &lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-8831333066544144606?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/8831333066544144606/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=8831333066544144606' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8831333066544144606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/8831333066544144606'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/while-dngs.html' title='While Döngüsü'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-3772156710714364313</id><published>2008-10-18T12:23:00.000-07:00</published><updated>2008-10-18T12:23:00.989-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Switch Case Yapısı'/><category scheme='http://www.blogger.com/atom/ns#' term='Switch Case'/><title type='text'>Switch Case Yapısı</title><content type='html'>&lt;strong&gt;&lt;a href=""&gt;Switch Case Yapısı&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;	switch(&lt;seçici&gt;) {&lt;br /&gt;		case seçenek1 : Deyim;                                        &lt;br /&gt;		case seçenek2 : Deyim;                                     &lt;br /&gt;		    .&lt;br /&gt;		    .		&lt;br /&gt;		    .&lt;br /&gt;		default :     Deyim;&lt;br /&gt;	}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;Seçicinin aldığı değere eşit seçeneğin olup olmadığına bakar. Var ise o noktadan sonraki deyimler yürütülür. switch deyiminin sonuna gelindiğinde veya break deyimi ile karşılaşıldığında yürütme işlemi durur ve programın akışı switch deyimini izleyen deyim ile devam eder. 	&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;switch(i) {&lt;br /&gt;   case 1 : printf("Bir");&lt;br /&gt;   case 2 : printf("İki");&lt;br /&gt;   default : printf("Hiçbiri");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;i=1 ise çıkış  BirİkiHiçbiri&lt;br /&gt;i=2 ise çıkış  İkiHiçbiri&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Sorunu ortadan kaldırma için her durum için break deyimi eklenmeli.&lt;br /&gt;&lt;br /&gt;	. Seçici Ordinal tiplerden biri olmalıdır (Ordinal tip: tüm değerleri listelenebilinen 			veri tipleri - integer, char).&lt;br /&gt;	. Seçici ile seçenekler aynı tipte olmalıdır.&lt;br /&gt;	. default kısmı seçimliktir. Seçeneklerin hiçbiri uygun değil ise yürütülür.&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;  char islem;&lt;br /&gt;  int s1, s2, s3;&lt;br /&gt;  printf("Önce işlemi sonra sayıları girin ");&lt;br /&gt;  scanf("%c%d%d",&amp;islem, &amp;s1, &amp;s2);&lt;br /&gt;  switch (islem) {&lt;br /&gt;     case '+' : s3 = s1 + s2; break;&lt;br /&gt;     case '-' : s3 = s1 - s2; break;&lt;br /&gt;     case '*' : s3 = s1 * s2; break;&lt;br /&gt;     case '/' : s3 = s1 / s2; break;&lt;br /&gt;     default : printf ("Hatalı işlem");	&lt;br /&gt;  }&lt;br /&gt;  printf("\nSonuç = %d",s3);&lt;br /&gt;}&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-3772156710714364313?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/3772156710714364313/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=3772156710714364313' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/3772156710714364313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/3772156710714364313'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/switch-case-yaps.html' title='Switch Case Yapısı'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3487013766561038185.post-147792029952522399</id><published>2008-10-18T12:13:00.000-07:00</published><updated>2008-10-18T12:13:00.984-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='if'/><category scheme='http://www.blogger.com/atom/ns#' term='if komutu'/><title type='text'>İf Komutu</title><content type='html'>&lt;p&gt;&lt;h2&gt;IF KOMUTU&lt;/h2&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;if&lt;/b&gt; komutu anlasilmasi ve yazilimi en basit olanidir. &lt;b&gt;if&lt;/b&gt; komutu, bir grup komutun kosullu olarak yürütülmesi amaciyla kullanilir. Buna bir örnek verecek olursak; düsünün ki bir sinav yapiliyor ve 50 ve üzeri alanlar geçecek. Bunun için &lt;b&gt;if&lt;/b&gt; i kullanirsak not 50 ye esit veya büyükse (büyük esit) geçer not olacak. &lt;/p&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;//not.cpp&lt;br /&gt;// 50 ve 50 den yukarsi geçiyor.&lt;br /&gt;#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;&lt;br /&gt;main()&lt;br /&gt;{&lt;br /&gt;int not;&lt;br /&gt;cout &amp;lt;&amp;lt; "Notu yaziniz:"; &lt;br /&gt;cin &amp;gt;&amp;gt;  not;  &lt;br /&gt;&lt;br /&gt;if  ( not &amp;gt;= 50 )&lt;br /&gt;  cout &amp;lt;&amp;lt; "Geçtiniz!";&lt;br /&gt;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Sanirim bu örnekte ne dedigimi anlamis olacaksiniz. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;if ( not &amp;gt;= 50 )&lt;br /&gt;  cout &amp;lt;&amp;lt; "Geçtiniz!";&lt;br /&gt;&lt;br /&gt;if (ifade)&lt;br /&gt;{&lt;br /&gt; Komut;&lt;br /&gt; Komut;&lt;br /&gt;...&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt; &lt;p&gt;Burda görüldügü gibi &lt;b&gt;if&lt;/b&gt; (ifade) ve sonraki komutlarda &lt;code&gt;{ }&lt;/code&gt; blogunun içine yazilir. Simdi if`e bir de su açidan yaklasalim. if in kelime anlami "eger" dir. Mantik sudur: eger belirtilen parametre dogruysa, if komutu, if ten sonra gelen bloktaki fonksiyonlari gerçeklestirir. Dogru degilse, if den sonraki blogu yok sayar. Burada bir detaya daha inmek istiyorum. Ne demistik, mantik islemlerinde olay ya dogrudur (1) ya da yanlistir (0). Simdi yukaridaki if in genel kullanim sekline tekrar bakalim. Bunu, eger parametre dogru ise kullanabiliriz. Bir de bunun tersini düsünelim. Bit bazinda islemlerde sanirim (&lt;code&gt; !&lt;/code&gt; ) bunu görmüstük. Her bir biti ters çevirir. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;if   (!ifade)&lt;br /&gt;{&lt;br /&gt; komut (yanlis (0));&lt;br /&gt; Komut (yanlis (0));&lt;br /&gt;....&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt; &lt;p&gt;Derdimi anlamis oldugunuzu ümit ediyorum :). Ama bence buranin üstünde biraz daha duralim. Çünkü bunu anlarsak digerlerinde zorlanmayiz. Son yaptigimizda ifadeyi tersine çevirdik.&lt;p&gt; &lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;//pozitif.cpp&lt;br /&gt;// Bunada açiklama yaptirmayin:) ( yapamadimda)&lt;br /&gt; #include &amp;lt;iostream.h&amp;gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt;int x;&lt;br /&gt; cout &amp;lt;&amp;lt; "Bir sayi girin:" ;&lt;br /&gt;cin&amp;gt;&amp;gt; x;&lt;br /&gt;if ( x &amp;gt; 0 )&lt;br /&gt;cout &amp;lt;&amp;lt; "Pozitif" ;&lt;br /&gt;}&lt;/pre&gt; &lt;br /&gt; &lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;Aynisinin negatif ini de siz yapin. Simdi bir de iç içe if örnegine bakalim:&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor="#FFFFcc"&gt;&lt;br /&gt;&lt;td&gt;&lt;br /&gt;&lt;pre&gt;//gecti.cpp&lt;br /&gt;// Buna açiklama yapmiycam!&lt;br /&gt; #include &amp;lt;iostream.h&gt;&lt;br /&gt; main()&lt;br /&gt; {&lt;br /&gt;   int not;&lt;br /&gt;   cout &amp;lt;&amp;lt; "Notunuzu giriniz:";&lt;br /&gt;   cin &amp;gt;&amp;gt; not;&lt;br /&gt;   if ( not&amp;gt; 50)&lt;br /&gt;     cout &amp;lt;&amp;lt; "Geçtiniz!" ;&lt;br /&gt;   if (not &amp;lt; 50)&lt;br /&gt;    cout &amp;lt;&amp;lt; "Kaldiniz!" ;&lt;br /&gt;    if ( not==50)&lt;br /&gt;    cout &amp;lt;&amp;lt; "zar zor geçtin :)";&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Anlamis oldugunuzu umut ederek if komutunu burada bitiriyorum. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;&lt;p&gt;&lt;a href="#"&gt;Sayfa Basi&lt;/a&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3487013766561038185-147792029952522399?l=cdiliogren.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cdiliogren.blogspot.com/feeds/147792029952522399/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3487013766561038185&amp;postID=147792029952522399' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/147792029952522399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3487013766561038185/posts/default/147792029952522399'/><link rel='alternate' type='text/html' href='http://cdiliogren.blogspot.com/2008/10/if-komutu.html' title='İf Komutu'/><author><name>murat2</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
