selamlar,
![]()
hani matematikte gördüğümüz x,y gibi değişkenler (ilkokulda a,b) var ya işte onlar programlamanın temel taşıdır. mesela derdik ki : x elemandır pozitif reel sayılar kümesi.. işte bunun aynısını , programlamada da yapmamız gerek. Neden? atıyorum kullanıcıya(senin yazdığın programı kullanacak olan kişi) sordun, kaç yaşındasınız? o da cevap verdi, dedi ki 20. sen de yaşının 18′den büyük olup olmadığını kontrol edeceksin mesela. işte bunu yapabilmen için kullanıcının sana 20 diye verdiği değeri bir yere depolaman gerekli, değişkenlere.
program yazarken istediğin kadar değişken tanımlayabilirsin, değişkenlerine x,y,z demek zorunda da değilsin, istersen kendi ismini bile verebilirsin. ama dikkat edilmesi gereken nokta, öyle güzel değişken isimleri verelim ki programın 378. satırına gelince yav benim değişkenimin ismi x miydi y miydi diye düşünmeyelim. Örneğin : kullanıcıdan yaşını istediğimizde ona ‘yas’ diyelim. oturduğu ilin plakasını istedik mesela ‘ilPlaka’ diyelim vs vs..
x elemandır pozitif reel sayılar kümesi örneğinde olduğu gibi, değişkenimizin bir de türü olmalıdır. burdaki x örneğinde x’in türü pozitif reel sayılar kümesi. programlamada da genel olarak türler şöyle ayrılıyor; tamsayı, virgüllü sayı, harf…
şimdi değişken nedir anladıysak, bunu programa nasıl anlatırız o kısmına gelelim. örneğin adamın yaşını istedik, yaş değişkeni için hangi türü kullanmamız gerekli, tabi ki tamsayı. C’de tam sayı int(integer) şeklinde ifade edilir, ve bir boşluk bırakarak değişkenimizin ismi belirtlilir :
int yas;
tabi ki noktalı virgülümüzü(;) unutmuyoruz. işte şu an ‘yas’ adında, sadece tamsayı değerleri alabilen bir değişken tanımladık. şimdi ise kullanıcıdan ‘yas’ değişkeninin değerini isteyelim, yani kullanıcıya yaşını soralım.
C’de ekrana yazı yazdırmak için printf‘i kullanırız, ekrandan yazı almak içinse scanf‘i. burada ufaktan giriş yapacağımız bir başka kavramsa çevrim karakterleri, ilerde detaylı anlatırım. şimdi ise scanf i kullanarak ekrandan nasıl yazı istendiğini görelim. bu arada programlamayı kolayca öğrenebilmek için kafanıza printfi scanf’i birer insan olarak canlandırın, printf sizin basın sözcünüz, scanf ise anketörünüz gibi… şimdi anketörümüz insanlardan bilgi alsın bakalım :
scanf(“%d”,&yas);
kafanız karışmasın, “%d” dediğimiz decimal(onluk) ‘in kısalatması. işte çevrim karakteri dediğimiz olay bu, gelecek verinin türünü belirtiyirouz burada, yani anketörümüze dedik ki vatandaştan yanıt bekle, bu yanıt tamsayı olsun, girdiği yanıtıysa ‘yas’ değişkeninde depola. ‘yas’ ‘ın başındaki “&” işareti ilerde öğreneceğimiz pointerlarda gösterilecek. siz onu atama işlerinde yapıyoruz kabul edin. yani scanf’de değişkenin başına “&” işareti geliyor. bu fonksiyonları hatasız yazmayı öğrenmek için bol bol pratik yapın, hiç bir zaman kopyala yapıştır yapmayın, kendiliğinden yazmaya başlıyorsunuz zaten.
sonuç olarak scanf kullanarak vatandaştan alınan değeri bilgisayara depolama kısmını yaptık. şimdi depolanan bu değer üzerinde işlemler yapalım, mesela ekrana girdiği değerin karesini alalım ve onu ekrana yazdıralım.
2 tane değişken tanımlamamız gerek, sayi, kare. sayi değişkenini scanf yardımıyla kullanıcıya doldurtacaz, sonra kare’yi programa hesaplatacaz. önce C’de işlemleri nasıl yapabildiğimize bir bakalım.
kare=sayi*sayi;
gördüğünüz gibi tamamen matematik. yıldız(*) , burada çarpma işlemi anlamına gelir. her zaman eşittirin sağındaki sol taraftaki değişkene aktarılır. yani sayi*sayi hesaplanır, kare değişkenine aktarılır.
şimdi gelelim, basın sözcümüze (printf) hesapladığımız kare değişkenini duyurması için komut verelim. printf’te hesapladığımız değişkeni göstermek için scanf benzeri bir yazım kullanırız.
printf("karesi : %d",kare);
farkettiyseniz “&” işaretini kare değişkeninden önce kullanmadık, çünkü burada bir atama yapmıyoruz, kare’ye bir şey atamıyoruz.
anlatabildiğim umuduyla anlattıklarımızı bir program ‘a dökelim, yazdığım satırların yanında “//” kullanarak açıklama yapacağım, bunlar C’de program yazarken not almak için kullanılır.
programdan istediğimiz : kullanıcıdan sayı iste, sayının karesini hesapla, kare’yi ekrana yazdır.
// 21.03.2010
// kare hesaplayan program
#include <stdio.h>
main() {
int sayi,kare; // int tamsayı demekti, sayi ve kare adında iki değişken tanımladık
printf("Lutfen bir sayi giriniz : "); // kibarlık
scanf("%d",&sayi); // kullanıcının bir sayı yazmasını ister, enter'a bastığında sayi değişkenine değer verir
// boşluklar, alt satıra geçmeler, hiç önemli değil
kare=sayi*sayi; // noktalı virgülü hiç bir zaman unutmayalım, sayi'nin karesini alır, kare değişkenine atar
printf("\nGirdiginiz sayinin karesi : %d",kare); //degiskenimizi ekranda gösterdi
// baştaki \n C'de, new line(yeni satır) demektir, yazıyı yazmadan önce bir alt satıra geçer, onu kullanarak ve kullanmayarak farkı görün
getchar(); // programın hemen kapanmamasını sağlar(#1)
getchar(); // bu ikinci getcharı kullanma nedenimiz, programdaki scanf'in getchar'la çakışmasından dolayıdır
}
işte herşey bu kadar. eğer programlama öğrenmek istiyorsanız bu öğrendiklerinizi baz alarak, kendiniz birşeyler üretin. scanf’i, printf’i, değişken tanımlamayı defalarca kullanın. örneğin kullanıcıdan kenar sayısını isteyin ve çokgenin iç açılarını bulan bir program yazın.. sadece bu 2derste öğrendiğinizi kullanarak bir çok programcık yapabilirsiniz. elinizin alışması için tavsiyem, en az 3-4 tane programcık yapın. sakın yılmayın!, takıldığınız yerde bana ulaşabilirsiniz.
yanlışlarımı, konudan koptuğum yerleri yorum’larda belirtin lütfen..







