![]() |
||
|
|
#1 (permalink) |
|
C NEDIR ?
C programlama dili, Dennis Ritchie tarafindan Bell laboratuarlarinda yaratilmistir. PDP-11 ile Unix altinda calismak icin yaratilmis olmasina ragmen , ilgi uzerine MS-DOS altinda calisacak hale getirilmistir. Basitligi, olusan kodun kucuklugu, ve her cesit programlamada kullanilabilmesi, C yi populer bir dil yapmistir. C, cok kestirme olmasi nedeni ile, yeni bilgisayarlara baslayanlar icin ogrenmesi zordur. Bir programci, C ile ust seviyelerden, assembly'ye yaklasan alt seviyelere kadar programlama yapabilir. C nin sagladigi bu rahatligin yaninda, tehlikeleride vardir. Ornegin, makineyi kilitleyebilecek bir program yazmak, Pascal yada BASIC de yazmaktan cok daha kolaydir. Bir Pascal derleyicisinin fark edip uyaracagi bir hatayi, C derleyicileri fark etmeyebilir. C de, kendi basinizasiniz.. NIYE C? Bu gun IBM-PC icin yazilan piyasadaki yeni programlarin yuzde 75'i, C ile yaziliyor. MicroSoft, Macro Assembler 4.0 i cikardiktan sonra, onu C ile yazdiklarini acikladi. Herhalde icinde birkac assembler rutin vardir ama, cogunlugu C ile yazilmistir. C, bir komite degilde, bir kisi tarafindan yazilmis oldugundan, cok kullanisli bir lisandir, fakat cok iyi tanimlanmamistir. C icin bir standart yoktur, ama ANSI grubu, bu konuda calismaktadir. Isin ilgincligi, bir standart olmamasina ragmen, degisiklikleri cok azdir. Halbuki iyi tanimi olan Pascal dilinin, derleyicileri birbirinden cok farklidir, ve bir Pascal programini bir bilgisayardan digerine gecirmek zordur.. C nin Tasinabilirlik referanslari iyi olmasina ragmen, derleyiciler arasinda farkliliklar vardir. Bu degisiklikler genellikle BIOS fonksiyonlari gibi standart olmayan seyler kullanildiginda kendini gosterir. TANIMLAYICI ISIMLERI Fonksiyon ve degisken isimleri, harfler ve rakkamlardan olusabilir. Ilk harf ya bir harf yada alt-cizgi karakteri olmak zorundadir. geri kalanlar ise, harf, rakkam yada alt cizgi olabilir. Iki nokta onemlidir: (1) Buyuk ve kucuk harfler farklidir. Bir programda "ISIM", "iSiM" ve "isim", degisik tanimlayicilardir. (2) C'de, en fazla sekiz karakter onemlidir. Bir tanimlayici 8 karakterden uzun olabilir, fakat ilk sekizi sayilir. Bu derleyiciniz icin boyle olmayabilir. DERLEYICI Bu derste bircok ornek program sunulucak. Bunlari istediginiz herhangi bir derleyici ile derleyebilirsiniz, fakat kullanim kolayligi bakimindan borland C++ derleyicisini tercih etmenizi tavsiye ederim. Temel Bilgiler Bu dili anlatırken azda olsa belli bir düzeyde programlama bilgisine sahip olduğunuzu düşünmekteyiz. Ancak yeni başlayanlarada mümkün olan en iyi şekilde yaklaşabilmek için başlangıçta C++ diline ait veri tiplerinden, değişken tanımlamadan ve değişkenlere değer atamadan bahsedip, basit bir C++ programının yapısına göz atacağız. Hazırmısınız ? Hiç vakit kaybetmeden başlıyoruz. Veri Tipleri Değişkenler Programlara açıklama eklenmesi Basit bir C++ Programının Yapısı Veri Tipleri Temel Veri Tipleri : bool true ve false değerlerini alır. true = 1, false = 0 gibi düşünelebilir. Derleyicisine göre Bool şeklindede tanimlanıyor olabilir. char ASCII karakterleri ve çok küçük sayılar için kullanılır. enum Sıralanmış değerleri tutar. int Sayma sayıları. long Sayma sayıları. float Ondalıklı sayılar. double Ondalıklı sayılar. long double Ondalıklı sayılar. void Değersiz - boş. Temel Veri Tiplerinin Uzunlukları : Not : Bu değerler 32 bit uygulama geliştirme ortamındaki platformlara özeldir. Platformdan platforma değişebilir. bool 0--1 char -128 -- 127 enum int ile aynı değerde int -2,147,483,648 -- 2,147,483,647 long -2,147,483,648 -- 2,147,483,647 float 3.4E +/- 38 double 1.7E +/- 308 long double 1.2E +/- 4932 unsigned : unsigned belli veri tiplerinin işaretsiz değerler almasını sağlar. Örneğin; unsigned char 0 - 255 arasında değer alır. Dikkat edilecek olunursa negatif kısım atılmış ve burada ki değer uzunluğu pozitif kısıma eklenmiş. unsigned char;int ve long türlerine uygulanabilir. typdef - Türleri kendinize göre adlandırın : typdef kullanarak tanımlanmış türleri kendinize göre adlandırabilirsiniz..Dikkat ediniz ki bu şekilde yeni bir tür yaratmıyorsunuz. Ayrıca bu isimlendirmenizi diğer tiplerle birlikte kullanamazsınız. örneğin: typdef double FINANSAL artık double yerine FINANSAL kullanabilirsiniz. long FINANSAL şeklinde bir kullanım hatalıdır. Değişkenler Değişken nedir? Değişken belli bit türe ait verileri saklayan veri deposudur. Aksi belirtilmedikçe içerikleri değiştirilebilir. Değişken nasıl Tanımlanır ? Değişkenleri tanımlamak için aşağıdaki notasyon kullanılır. [Veri Tipi] [Değişken Adı]; Örneğin içinde sayı tutacak bir değişken şu şekilde tanımlanabilir. int sayi; Benzer olarak aşağıdaki tanımlamalarda doğudur char c; int i; float f; double d; unsigned int ui; Değişken isimlerini tanımlarken dikkate alınacak noktalar : C++ dilinde de C dilinde ki gibi büyük ve küçük harfler farklı verileri temsil eder. Örneğin; char c; char C; int sayi; int Sayi; c ve C hafızada farklı yerleri gösterirler. sayi ve Sayi'da farklıdır. Değişkenler harflerle yada _ başlar. İçlerinde boşluk yoktur. Değişkenler istenildekleri yerde tanımlanabilirler. Ancak burada dikkate alınması gereken noktalar vardır. Lütfen bölüm sonundaki örneklere göz atınız. Değişkenlere değer atanması : Bir değişkene değer atamak için = operatörü kullanılır. Değişkene değer atama tanımlandığı zaman yapılabildiği gibi daha sonradanda yapılabilir. Örneğin; Tanımlama sırasında değer atama: char c = 'c'; int sayi = 100; Daha sonradan değer atama: char c; int sayi; c = 'c '; sayi = 100; Aynı anda birden fazla değişken tanımlanabilir, ve aynı anda birden fazla değişkene değer atanabilir; int i , j , k; i = j = k = 100; i,j,k'nın değeri 100 oldu. Programlara Açıklama Eklenmesi Açıklama Nedir? Değişkenleri tanımlarken dikkat ettiyseniz her C++ komutu ; (noktalı virgül) ile bitiyor. Bu derleyiciye komut yazımının bittiğini belitmek için kullanılıyor. Programlar uzadıkça ve karmaşıklaştıkça programımıza bir daha ki bakışımızda neyi neden yaptığımızı unutabiliriz. Yada yazılmış olan programı bizden başka kişilerde kullanacak olabilir. Bundan dolayı ne yaptığımıza dair açıklamaları kodun içine serpiştirmeliyiz. Yazdığınız komutlar basit fonksiyonları içersede detaylı şekilde açıklama eklemenizi öneririm. Böylecene aylar sonra kodunuza tekrar baktığınızda ne yaptığınızı kolayca hatırlayabilirsiniz. Başkası sizin kodunuza baktığında öğrenmesi çok hızlanacaktır. Açıklamaları C++'ta nasıl tanımlayacaksınız ? C++ program içerisine iki şekilde açıklama eklemenize izin veriyor.Biri C'nin açıklama ekleme şekli olan // kullanılması. C++ derleyicisi // 'den sonra satır boyunca yazılanların tümünü yok sayar. Örneğin: // Bu satır derleyici tarafından umursanmaz // Ve ben satırın başına // yazarak bu satırın açıklama olduğunu belirtiyorum // Aşağıda da örnek bir değişken tanımlanmıştır. long ornek; C++'ın C'den farklı olarak birden fazla satıra açıklama yazmayı sağlayan bir yapı daha vardır. Bu yapı /* ile başlar */ ile biter. Yukarıdaki örneği bu yapı ile aşağıdaki gibi tanımlayabiliriz. /* Bu satır derleyici tarafından umursanmaz Ve ben satırın başına // yazarak bu satırın açıklama olduğunu belirtiyorum Aşağıda da örnek bir değişken tanımlanmıştır.*/ long ornek; Basit bir C++ Programının Yapısı Şu ana kadar veri tiplerinden bahsettik. Değişkenlerden bahsettik. Programa açıklama yazmaktan bahsettik. Ancak programı bir türlü göremedik. İşte şimdi bildiklerimizi kullanarak ilk programımızı yazacağız. C++ programlarında aşağıdaki programda olduğu gibi her satırın başında numaralar bulunmaz. Biz bu numaraları daha sonra programı açıklamak için koyduk. İlk Programımız : 1 // ilk olarak kütüphane dosyasını ekleyelim 2 #include "iostream.h" 3 void main( ) 4 { 5 int sayi = 1; 6 cout **** sayi **** ". programınızı yaptınız!" **** endl; 7 } Programın Açıklaması : 1 İlk satırda bir açıklama yazılmış. 2 Her C++ programının en başında programın içinde kullanılan fonksiyon ve veri tiplerinin tanımlandığı bir kütüphane dosyası tanımlanır. Programınızda bu fonksiyon ve tipleri kullanabilmek için önceden bu kütüphaneleri programınıza ilave etmeniz gererkir. Bu işlem #include "[kütüphana adı]" şeklinde yapılır 3 Her C++ programında en az bir fonksiyonu vardır. ( Fonksiyonların ne olduğuna daha sonradan değineceğiz.) Bu fonksiyon main( ) fonksiyonudur. 4 Fonksiyonların içindeki komutlar { } aralığında yazılır. Bu satırdada fonksiyonun başlangıcı { ile tanımlanıyor . Komutlar 5,6. satırlarda tanımlanıyor. 7. satırda } ile bitiyor. 5 sayi değişkeni tanımlanıyor ve içeriğine 1 değeri atanıyor. 6 C'deki printf'e benzer olarak C++ 'da cout mevcut. Daha sonra cout 'u detaylı olarak inceleyeceğiz. Şu an için bilmeniz gereken tek şey cout'tan sonra **** kullandıktan sonra değişken adını yazarsak, o değişkenin değeri ekrana yazılır. Sabit değer yazarsak ( "filan falan", 3, -45.56 gibi ) bunuda ekrana yazar. endl ise satır sonunu belirterek yeni satıra geçmemizi sağlar. 7 main fonksiyonunun sonunu } ile bitiriyoruz. Programın Çıktısı aşağıdaki gibi olacaktır : 1. programınızı yaptınız! C Dili - 2. Konu ILK C PROGRAMINIZ En basit C programi: main() { } Bu bir programdir, ve bunu kisaltmanin, basitlestirmenin bir yolu yoktur. Isin kotu tarafi, bu program birsey yapmaz. Buradaki en onemli kelime, main() sozcugudur. Her programda olmasi gereken bu sozcuk, daha sonra gorecegimiz gibi, ilk satirda olmak zorunda degildir, fakat bir giris noktasi saglamasi nedeni ile gereklidir. Bunu takiben, iki tane parantez vardir. Bunlar da, main'in bir fonksiyon oldugunu belirtir. (Bir fonksiyonun tam olarak nelerden olustugunu daha sonra gorecegiz) Programin kendisi ise, iki kume isareti arasinda yer alir. BIRSEYLER YAPAN BIR PROGRAM: Daha ilginc bir program: main() { printf("Bu bir satirlik yazidir."); } Bu programin, ayni diger program gibi, main, ve kume isaretleri vardir. Icinde yer alan fonksiyonun, bir satiri ekrana getirmesi icin, satiri " " isaretleri arasina aliyoruz. Ayrica fonksiyonun parametresi oldugunu belirtmek icin de, cevresine parantez koyuyoruz. Satirin sonundaki noktali virgule dikkatinizi cekerim: Bir satirin bittigini derleyiciye bildirmek icin, C dilinde ; noktali virgul kullanilir. DAHA COK SEY YAZAN BIR PROGRAM main() { printf("Bu bir satirlik yazidir.\n"); printf("Bu bir baska "); printf(" satirdir.\n"); printf("Bu ucuncu satirdir.\n"); } Bu programda, 4 tane islenecek komut vardir. Satirlar bu sirada islenir. Ilk satirin sonundaki tuhaf ters bolu isareti, ondan sonra gelecek karakterin bir kontrol karakteri oldugunu belirtiyor. Bu durumda n harfi, yeni bir satir istegini belirtir. Yani, cursor, ekranin sol basina, ve birsatir asagiya kayar. Katarin herhangi bir yerinde yeni bir satir isteyince, "\n" komutunu verebilirsiniz. Hatta bir kelimenin ortasina bile koyup, kelimeyi iki satira bolebilirsiniz. Ilk komut, metini ekrana yazar, ve bir satir asagi iner. Ikinci komut, yazdiktan sonra, yeni satir yapmadan, ucuncu komutun icindekileri ekrana yazar. Bu komutun sonunda, yeni satira gecilir. Dorduncu komut ise, ucuncu satiri yazar, ve bir return karakteri sunar. RAKAMLAR YAZALIM main() { int index; index = 13; printf("Indexin degeri simdi %d\n",index); index = 27; printf("Indexin degeri simdi %d\n",index); index = 10; printf("Indexin degeri simdi %d\n",index); } Bu programda ise, ilk defa olarak bir degisken kullaniyoruz. main() ve { isaretlerine artik alismis olmalisiniz. Bunun altinda "int index" diye bir satir yer aliyor. Bu satir, "index" isimli bir tamsayi degiskenini tanimliyor. Cogu mikrobilgisayarlar icin, 'int' tipi bir degiskenin alabilecegi degerler, -32768 ila 32767 dir. 'index' ismi ise, TANIMLAYICILAR da bahsettigimiz kurallara uyan herhangi birsey olabilir. Bu satirin sonunda da, satirin bittigini belirten ; noktali virgul yer alir. Bir satirda birden fazla tam sayi tanimlanabilir, fakat henuz biz bununla ortaligi karistirmayacagiz. Programi incelerken, uc tane atama satiri oldugunu, ve bu satirlarin altinda da degerlerin yazildigini goruyoruz. Once 13 atanir, ve ekranayazilir, sonra 27 ve 10. RAKAMLARI NASIL YAZARIZ Sozumuze sadik kalmak icin, tekrar printf komutuna donelim, ve nasil calistigini gorelim. Gordugunuz gibi, butun satirlar, birbiri ile ayni, ve diger orneklerden farki, icindeki % isareti. Bu harf, printf'e ekrana yazmayi durdurup, ozel birsey yapmasini soyler. % isaretinden sonra gelen harf, d, bir tamsayi yazilacagini belirtir. Bundan sonra, yeni satira geciren tanidik \n isaretini goruyoruz. Den-denler arasinda kalan butun harfler, printf komutu ile ekrana cikacaklari tanimlar. Bundan sonraki virgul ve "index" sozcugu yer alir. printf komutu buradan degiskenin degerlerini okur. Daha fazla %d ekleyerek ,ve bunlari yine virgul ile birbirine ekleyerek, birden fazla degiskenin de bu komut ile goruntulenmesini saglayabiliriz. Hatirlamaniz gereken onemli bir nokta, saha tanimlayici %d ile gecirdiginiz degisken miktari, ayni kalmalidir, yoksa bir runtime hatasi verir. BILGI SATIRLARI NASIL EKLENIR /* Bu satiri, derleyici kullanmaz */ main() /* Bir satir daha */ { printf("Bilgi satirlarinin nasil eklenecegini "); /* Bilgi satirlari, bir satirdan uzun olabilir. */ printf("goruyoruz.\n"); } /* Ve programin sonu... */ Programa aciklik katmak icin, eklenebilecek bilgiler, derleyici tarafindan uzerinden atlanir. Lutfen yukaridaki programi, iyi bir ornek olarak almayin. Son derece daginik bir sekilde katilmis bilgi satirlari, sadece kullanimini gostermek amaci iledir. Bilgi satirlari, /* isaretleri ile baslar, ve */ isareti ile sona erir. Dikkat etmeniz gereken bir nokta, birkac satirdan olusan bilgi satirlarinda bulunan program komutlarinin, isleme konmayacagidir.Bilgi satirlari, programin nasil calistigini gostermesi bakimindan cok onemlidir. Yazdiginiz bir programin, bir baskasi tarafindan okunabilmesi, yada siz nasil calistigini unuttuktan sonra hatirlayabilmeniz icin, mumkun oldugu kadar cok bilgi satiri eklemekte fayda vardir. Bazi derleyiciler ic ice bilgi satirlarini kabul ederler, fakat genelde, ic ice bilgi satirlari kabul edilmez. IYI SAYFA DIZIMI Yazdiginiz bir program, kolay anlasilir olmalidir. Bunun icin, duzgun bir sekilde programlamak cok onemlidir. C derleyicileri, komutlar arasindaki bosluklari goz onune almaz, ve bu nedenle de programlariniza aciklik katmak icin, dilediginiz gibi bosluk ve bos satir birakabilirsiniz. Su iki programi karsilastiralim: main() /* Program buradan basliyor */ { printf("iyi yazis,"); printf ("programin anlasilmasini kolaylastirir\n"); } ve: main() /* Program buradan basliyor */ {printf("iyi yazis,"); printf ("programin anlasilmasini kolaylastirir\n");} Odev: 1. Ekrana kendi isminizi yazacak bir program yazin. 2. Programa ayri satirlarda, iki "printf" satiri daha ekleyerek, adresinizi ve telefon numaranizi da yazdirin. --------------------------------------------------------------------------------------------------------- Altın harflerle yaz mahlasımı. halvetim kasvet, kem gözlere şiş!... Cadü ya herru!...ya merru!...kafkef, gölge harâmilerine bir selam çak!... Abile ğatladı, demlenir simam, nüşinrevan'dan handan ummam ben. Ahu-yi felek mum, ben şamdan. düşmez kalkmaz bir Allah'tır uyan!... |
|
|
|
|
| Sayfayı E-Mail olarak gönder |
| Sponsorumuz |
![]() |
| Bookmarks | |||||||||||||
Facebook
|
Google
|
Yahoo
|
Live
|
Digg
|
Reddit
|
del.icio.us
|
StumbleUpon
|
Bluedot
|
Blinklist
|
Netvouz
|
Spurl
|
Mister-Wong
|
Furl
|
| Tags |
| bilgiler, ilgili, temel |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|
Benzer Konular
|
||||
| Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
| Pascal Temel Dersler | Baytar | Bilgisayar Programlama | 3 | 28.09.08 12:50 |
| Temel ve Maymun | -Elisa- | Komik | 0 | 26.09.08 21:56 |
| Temel reisin annesi bulundu... | DeatheR | Komik | 0 | 20.09.08 21:46 |
| Overclock’un Temel Prensipleri | DeatheR | Overclock ve Modifikasyon | 0 | 09.09.08 18:41 |
| Eviniz ve Mutfağınızla İlgili Pratik Bilgiler | -Elisa- | Pratik Bilgiler | 1 | 07.09.08 15:52 |