Bu makalede programlamaya ve C diline ufak bir giriş yapcağız, fakat şunu bilmenizi isterim ki; ben bu işte uzman değilim, ben de bir oğrenciyim, oğrendiklerimi sizinle paylaşarak bende de kalıcı olmasını sağlayabilirim belki :] Hadi başlayalım..
Programlama Nedir?
Arkadaşlar kabaca programlama; bilgisayarımızdaki donanımları istediğimiz gibi yonlendirebilmek, bilgisayar uzerinde hesaplama, cizim gibi işlemler yapmak icin yazılımlar geliştirmektir.
Programlamaya başlamadan ilk once calışacağımız işletim sistemi secilmelidir. Orneğin; Windows icin programlanan bir yazılım Linux işletim sisteminde calışmayacaktır. Daha sonra yapılması gereken şey, programlama dilinin secimidir. Bir cok seceneğimiz vardır ama biz burda C dilinden biraz bahsedeceğiz.
Programlama dilimizi sectiysek, sıradaki gorevimiz buna uygun bir derleyici [compiler] bulmaktır.
Derleyici, ya da İngilizce adıyla "Compiler" nedir?
Derleyici bizim herhangi bir dilde yazdığımız kodlarımızı bilgisayarımızın anlaması icin makine diline ceviren yazılımlara denir.
Peki, C dili icin bir derleyici nerden bulabilirim?
Ucretsiz bir C/C++ derleyicisi olan Dev C++ yazılımını indirebilirsiniz. Boyutu 5 MB civarı bir şeydir. Artık kodlarınızı yazabilir ve ilk programınızı oluşturabilirsiniz. Fakat programlamaya girmeden once algoritma bilginizin olması gerekir, ben bildiğim kadarıyla anlatacağım sizlere.
Algoritma Nedir? Yenir mi?
Arkadaşlar algoritma yenmez :] Algoritmaya kısaca; bir program yazarken izleyeceğimiz işlem sırası diyebiliriz. Yani nedir bu? Bunu bir ornekle acıklamak gerekirse; Bir yemek yaparken, suyunu ne zaman koyacağımız, tuzunu ne zaman atacağımız, soğanlar pembeleşince ustunde biber ekeceğimiz gibi işlemlerimizi ne duzende yapacağımız diyebiliriz. İlerde anlatabildiğim kadar acıklamaya calışcam.
C Programlama diline Giriş
Program yazmaya azıcıktan başlıyoruz, oncelikle şunu soylemeliyim; burada yazdığımız programlar konsol uygulamaları olacaktır, yani MS-DOS'da calışacak bir buton, textbox vs. olmayacaktır. Programda buton, textbox, combobox gibi nesneler olması icin Visual diller oğrenilmelidir. Tabi onu oğrenmek icinde ilk once temeli alınmalıdır, ki; biz burda bunu yapacağız :] Evet başlıyoruz..
Arkadaşlar ilk once aşağıya bir kod yazıp sonra o kodları tek tek acıklayacağım;
#include "stdio.h"
#include "conio.h"
main()
İşte ilk programımız bu. "Peki bu ne iş yapar ki?" diye soracak olursanız acıklayayı: Aslında pek bir şeye yaramaz, sadece ekrana "Merhaba Share Time" yazdıracaktır. Şimdi kodları acıklayalım;
#include: Programa başlık dosyaları dahil etmemizi sağlarlar. Başlık dosyası nedir peki? Bunlar program yazarken kullandığımız kodları bilgisayarın yorumlaması icin gerekli dosyalardır. Her başlık dosyasının ayrı gorevleri vardır. Bu dosyaların uzantılı ".h" dir. Buradaki "stdio.h" dosyasının butun C programlarında konulması zorunludur. Yoksa program calışmaz. Hemen altındaki "conio.h" dosyası ise 7. satırdaki "getch();" komutu icin gecerlidir, onu birazdan acıklayacağım.
main(): Bu komut, programımızın başladığını belirtmektedir. Kodlarımızı bu komuttan sonra gelen "" kume parantezleri arasına yazarız.
printf(); Bu komut ile ekrana istediğimiz bir yazı yazdırabiliriz, yapmamız gereken tek şey printf("Buraya Mesaj"); şeklinde, "Buraya Mesaj" kısmına tırnak işaretlerini silmeden mesajınızı girmektir.
getch(); Normalde bu kod burda kullandığım işe yaramaz, ne işe yaradığını ilerde anlatıcam, buradaki kullanımının sebebi ise; programı yazıp bu koymadığımda program acılır acılmaz kapanır, yani yazdırdığımız "Merhaba Share Time" yazısı bile okunamaz. Bu komutu yazarak programı bir karakter girilene kadar bekletiyoruz. Boylece kullanıcı klavyeden herhangi bir tuşa basana kadar programımız bekleyecek. Klavyeden bir tuşa basıldığında kapanacaktır.
Arkadaşlar, ilk programımız bu kadar, şimdi yukarıda linkini verdiğim Dev C++ yazılımını indirerek bu kodları calıştırabilirsiniz. Bunu yapmak icin programı acın. Menuden "Dosya => Yeni => Kaynak Kodu" yolunu izleyin ve bu kodları yazın. Daha sonra klavyeden "F9" tuşuna basarak programı calıştırın. Programınız kodlarınızı kaydettiğiniz aynı dizinde ".exe" uzantısıyla belirecektir.
--------------------------------------------
--------------------------------------------
C Programlama Diline Giriş (2. Bolum) - Dort İşlem :
Arkadaslar, gecen yazida programlamaya ve C diline ufaktan bir giris yapmis, ve ufak bir program yazmistik, bu yazida ise C dilince matematiksel islemler yapmayi anlaticam.
Matematiksel Hesaplama Islemleri
Arkadaslar, simdi c dilinde matematiksel islemler yapabilecegimiz bir program yazicaz, yani bir nevi bir hesap makinesi.Bunun icin ilk once bir degisken olusturucaz.Peki degisken nedir? Degisken, programlamada uzerine bir deger atayip kullanabilecegimiz karakterlerdir, diyebiliriz, en azindan aklima bu kadari geldi :] Zaten uyguladikca bu degiskenin ne oldugu daha iyi bir sekilde anlasilacaktir.Degiskenimizi tanimladiktan sonra kullanicidan bir sayi girmesini isteyecegiz ve kullanicinin girdigi sayiyi degiskenimize atayacagiz.Daha sonrabir tane daha sayi isteyip onuda baska bir degiskene atayip bu ikisi arasinda toplama,cikarma,bolme,carpma islemleri yapacagiz.Isteseniz baslayalim, ilk once asagiya bir kod yazicam daha sonra ilk makalede oldugu gibi onun icersindeki kodlari aciklayacagim.
#include "stdio.h"
#include "conio.h"
main()
Arkadaslar bu programdaki kodlar genel olarak bilindik, cunku onceki makalede aciklamistim.Burada sadece "int" ve "scanf();" komutu tanidik degil.Onlarida aciklayayim;
int :Bu komut integer'in kisaltilmisidir.Integer tam sayi demektir, anladiginiz uzre bu komut tam sayi degiskenleri tanimlamaya yarar.Biz "int a, b, c;" yazdigimiza gore "a","b" ve "c" adlarinda uc tane tam sayi degiskenimiz var.Biz burada "a"yi birinci sayi icin, "b"yi ikinci sayi icin, "c"yi de a+b yani iki sayinin toplami icin kullanicaz.
scanf();Bu komut kullanicinin klavyeden bir deger girmesini saglar, Biz burda "scanf("%d",&a);" kullanmisiz.Burdaki "%d" sayi demektir.Tirnak isaretlerinden sonraki virgulun yanindaki "&a" ise kullaninin girdigi sayiyi daha once tanimladigimiz "a" degiskenine atayacagimiz anlamina gelir.Diyelimki kullanici "5" girerse "a=5" olur.Ayni sekilde ikince kez scanf kullanmisiz, ikinci kodda ise virgulden sonra "&b" yazarak girilen degeri "b" degiskenine atamis olduk.Kullanici burda diyelimki "2" girerse; "b=2" olacaktir.
c=a+b; Zaten bu her halinden belli oluyor fakat ben yinede analtayim, burada c'yi "a" ve "b" degiskenlerinin toplamina esitledik. Eşitliğin sağındaki değer soldaki değişkene atanıyor.
printf("Toplam: %d",&c);Burada toplam sonucu ekrana yazdirdik.tirnaklarin icinde bir yere "%d" yazdik ve virgulden sonra &c dedik, bu demektirki. C degiskeni kac ise, %d yazdigimiz yerde o rakam gozukecek.Ornegin; programi calistiran kullanici "a" degiskeni istendiginde; 5 , "b" degiskeni istendiginde "2" girmisse, "c" degiskenini "a+b" esitledigimiz icin "c"nin degeri 7 olacak, "printf("Toplam: %d",&c);" satirinda "%d" yazdigimiz yerde 7 gozukecektir.
Bu teknigi istediginiz kadar genisletebilirsiniz.Iste size 4 islemde kullanacaginiz karakterler;
+ : Toplama
- : Cikarma
* : Carpma
/ : Bolme
a+b yaptigimiz yeri isteiginiz gibi degistirebilirsiniz; "a-b" , "a*b" , "a/b" vs gibi.
----------------------------------------------------------------------
C Programlama Diline Giriş (3. Bolum) - If Else Yapısı:
Arkadaslar, gecen derste matematiksel islemler yapmayi ogrenmistik, simdi if-else ozelligini kullanarak mantiksal sorgulama yapicaz.Hadi baslayalim :]
If-Else Yapisi
If-else yapisi aslinda cok basit birseydir, bunu size kisaca soyle anlatabilirim;
Eger(Boyleyse)degilse
Simdide yukaridaki semanin kod halini yapaim;
if(a>44)
else
Burada yaptigimiz sey; eger "a" degeri 44'den buyukse ekrana buyuk, kucukse ekrana kucuktur yazdirdik.Simdi bir program yazicaz ve daha iyi anlayacaksiniz, asagidaki kodlari inceleyiniz.
#include "stdio.h"
#include "conio.h"
main()
else
getch();
}
Peki yukaridaki programda ne yaptik?
Bu programda ilk once "not" adinda bir tamsayi degiskeni belirttik.
Daha sonra ekrana "Notunuzu Girin:" yazdirdik, daha sonra kullanicinin girdigi sayi degerini "not" degiskenine atadik.
Sonra ise if-else yardimiyla, eger not 45'ten buyuk veya esitse ekrana "Gectiniz!", eger not 45'ten kucukse ekrana "Kaldiniz" yazdirmasini sagladik.
Simdi isterseniz derleyicinizle yazdigimiz bu programi calistirabilirsiniz.Tabi programda Turkce karakter (o,u,I,i,c,s,g) kullanmayin, ben anlasilsin diye kullandim.
If-else yapisi iste bu kadar basit.Siz bunu istediginiz sekilde yaraticiliginizi kullanarak degistirebilirsiniz.
--------------------------------------------------------------------------------------------------
C Programlama Diline Giriş (4. Bolum) - Switch Case Yapısı:
Bu derste C dilinde switch case'in nasıl kullanıldığını inceleyeğiz. Şimdi asağıdaki kodu bir inceleyelim, daha sonra kodun işlevini anlatacağım, sanırım en iyi anlatma yontemi bu.
#include "stdio.h"#
include "stdlib.h"#
include "conio.h"
int
main()
getch();
}
Peki yukarida ne yaptik?Ilk once x adinda bir tamsayi degiskeni tanimladik.Daha sonra kullanicidan bir deger girmesini istedik ve girilen degeri x'e atadik.Daha sonra switch case bolumu olusturduk.
Switch nasil isler?
Mesela burda switch(x) yaptik, bu x'in degerine gore islem yapacagimiz anlamina gelir.Case ise x'in degeri belirttigimiz deger oldugunda islenecek komutlari gosterir, yani su sekilde, mesela kullanicidan x'î girmesi istendiginde 1 girdiyse "case 1" bolumunde girilen kodlar islenir.
Burdaki ornekte 1 girildiginde Case 1 islenecek ve ekrana "1e bastiniz" yazdirilacaktir. Case ile baslattiginiz sartlar "break" komutu ile bitirilir.Istediginiz kadar case olusturabilirsiniz. "default" ise sartlardan hicbiri saglanmadiginda islenecek kodlari gosterir.Burdaki ornekte case'lerden hicbiri uymuyorsa default islenecek ve ekrana "1 , 2 yada 3e basmadiniz" yazdirilacaktir.
Burdaki degiskenimizi int yani tamsayi olarak tanimladigimiz icin, bir string degeri girildiginde default islecektir.Karistirilmamasi gereken bir noktada; Case 1, Case 2 diye belirttiklerimiz Case'lerin sira numarasi degil, x'in degeridir.Tabi eger switch kodunu acarken baska bir degisken belirtseydik onun degeri olurdu.
..
BİR TEŞEKKUR YETER.

__________________