C ile Programlamaya Giriş

Bu yazıda programlamaya ilk adımı atacağız, bunu da C dili ile yapacağız. C dilinden özetle bahsetmek gerekirse “Alt seviye”, “Fonksiyonel”, “Nesneye yönelik değil” gibi özellikleri ile ön plana çıkar. Temel konularda dilin çok önemi yoktur, aynı işlemi diğer dillerde farklı notasyonlarla yapmak mümkündür.
Programlamaya ilk adımda adettir “Hello World” veya “Merhaba Dünya” uygulaması yapılır. Biz de öyle yapacağız.

#include <conio.h>
#include <stdio.h>

int main()
{
	printf("Merhaba Dunya!");
	getch();
	return 0;
}

Derleyip, çalıştıralım. Bu işlemin kısayolu bir çok derleyici için “F9” tuşudur.

#include <> deyimi kullanacağımız kütüphaneleri belirtmek içindir. Ve bu örnekte 2 kütüphaneden faydalandık. stdio.h ve conio.h

Kütüphane
Gidip kitap okuduğumuz kütüphaneler değil elbette, programlamada kullandığımız kütüphaneler fonksiyonlardan oluşur.

Fonksiyon
Fonksiyonlar programlamanın temel yapı taşı olan komutlardır. Bir veya daha çok parametre alarak, bunların sonucunda bir değer üretir. Ancak bazı fonksiyonlar parametre almaz veya değer üretmez.
Örneğin: main fonksiyonu, printf fonksiyonu, getch fonksiyonu

main() fonksiyonu, C dilinde özel bir fonksiyondur. Programımız çalışmaya buradan başlar. Basitçe söyleyecek olursak çalışmasını istediğimiz kodları int main(){…} arasına yazarız.

printf() fonksiyonu, stdio.h kütüphanesinde yer alan bir fonksiyondur. Konsol ekrana çıktı verirken kullanırız.

getch() fonksiyonu, conio.h kütüphanesinde yer alan bir fonksiyondur. Amacı basılan tuşu-karakteri okumaktır ancak biz burada bir tuşa basılıncaya kadar programı bekletmek için kullandık.

Değişken tanımlamak
Değişken tanımlarken öncelikle hangi tipte tanımlayacağınıza karar vermelisiniz. E bunun için de tipleri bilmek gerek. Başlangıç için 2 tipi bilmeniz yeterlidir, Integer(int) ve float.
int: tam sayı tutabileceğimiz tiplerin en ideal olanıdır.
float: ondalıklı sayı tutabileceğimiz tiplerin en ideal olanıdır.
C dilinde 10’dan fazla değişken tipi mevcuttur. Bunun için ayrı bir yazı yazılabilir..
Tanımlama işlemi kod bloğunda komutlar arasında her hangi bir yerde yapılabilir. Tanımlama notasyonu ise tipin adı, boşluk, değişken ismi, noktalı virgül şeklindedir. Örnek verirsek;

int main()
{
	int TamSayi;
	float OndalikliSayi;
}

Değişken ismi olarak C diline özel terimler kullanamayız, değişken isimlerinde Türkçe karakter kullanamayız, “_” (alttire) haricinde özel sembol kullanamayız ve değişken isimleri sayı ile başlayamaz.
Örneğin: return, main, Tam-Sayi, Tam.Sayi, TamSayı, 1TamSayi gibi isimler HATALIDIR! TamSayi, Tam_Sayi, TamSayi1 gibi isimler ise doğrudur.
Ayrıca değişken isimleri küçük-büyük harfe duyarlıdır.
Örneğin: TamSayi, tamSayi, tamsayi, Tamsayi farklı değişkenlerin isimleri olabilir. TamSayi değişkenini tamsayi yazarak çağıramayız.
Değişkenlere değer atamak için “=” operatörünü kullanırız. Bu işlemi tanım esnasında veya daha sonra yapabiliriz, Örneğin;

int main()
{
	int TamSayi=10;
	float OndalikliSayi=5.5;
}

veya,

int main()
{
	int TamSayi;
	float OndalikliSayi;
	TamSayi=10;
	OndalikliSayi=5.5;
}

Kullanıcıya çıktı vermek: printf()
En az bir parametre alan bir fonksiyondur. Parametre sayı çıktıda gösterilecek değişken sayısına bağlıdır. Parametreler sırasıyla “Çıktıda gösterilecek formatlı metin”,değişkenler… şeklindedir.
Metin içerisinde değişkenin değeri nerede yazsın istersek oraya int için %d, float için %f yazarız. Bir örnekle açıklayalım;

#include <conio.h>
#include <stdio.h>

int main()
{
	int TamSayi=10;
	float OndalikliSayi=5.5;
	printf("Tam Sayi= %d  Ondalikli Sayi= %f",TamSayi,OndalikliSayi);
	getch();
	return 0;
}

Burada dikkat edilmesi gereken bir diğer husus ise parametrelere yazdığımız değişken sırası ile metin kısmında geçen %d, %f gibi belirteçlerin sırasının aynı olması gerekmektedir.

Kullanıcıdan girdi almak: scanf()
Bu da printf gibi en az bir parametre alan bir fonksiyonumuz. Parametre sayısı tek seferde girdi alınacak değişken sayısına bağlıdır. Ancak ideal kullanımı tek değişkendir (iki parametre). Değişken belirteçleri yine aynıdır (%d,%f,…).
Bir de burada değişken isimlerini yazarken başına & koyuyoruz. Sebebini, Pointer konusunda anlayacaksınız.

#include <conio.h>
#include <stdio.h>

int main()
{
	int TamSayi;
	float OndalikliSayi;
	printf("Tam sayiyi giriniz:");
	scanf("%d",&TamSayi);
	printf("Ondalikli sayiyi giriniz:");
	scanf("%f",&OndalikliSayi);
	printf("Tam Sayi= %d  Ondalikli Sayi= %f",TamSayi,OndalikliSayi);
	getch();
	return 0;
}

Burada yeni başlayanların yaptığı en büyük hata, scanf(“Tam sayiyi giriniz: %d”,TamSayi); gibi bir yazılış. scanf hiç bir zaman kullanıcıya bir mesaj göstermez, böyle bir yazılışta alınan değerin içinde “Tam sayiyi giriniz” geçiyor mu diye bakacaktır.
Doğru yazım her zaman için;

	printf("Tam sayiyi giriniz:");
	scanf("%d",&TamSayi);

Şeklindedir…

Aritmetik işlem yapmak
C dilinde aritmetik işlem yapmak çok basittir. Toplama(+), Çıkarma(-), Çarpma(*), Bölme(/), Mod(%) işlemlerini yapmak için parantez içinde yazan operatörleri kullanmak yeterlidir. Sonucu bir yere aktarmak için de “=” olan atama operatörümüzü kullanırız.

int main()
{
	int Sayi1, Sayi2, Sonuc;
	//direk iki sayının toplamını alabiliriz.
	Sonuc=10+15;

	//iki ayrı değişkeni toplayabiliriz.
	Sayi1=10;
	Sayi2=15;
	Sonuc=Sayi1+Sayi2;

	//bir değişken ve bir sayıyı toplayıp, bunu farklı bir değişkene veya aynı değişkene yazdırabiliriz.
	Sayi1=Sayi1+5;
	Sonuc=Sayi1+10;

	//Aynı şekilde diğer aritmetik işlemleri de uygulayabiliriz.
	Sonuc=Sayi1-Sayi2;
	Sonuc=Sayi1*Sayi2;
	Sonuc=Sayi1/Sayi2;
	Sonuc=Sayi1%Sayi2;

	return 0;
}

Aritmetik işlemlerde dikkat etmemiz gereken bir nokta, işlemin sonucu ondalıklı bir sayı olur ve biz değeri tam sayı tipinde tutmak istersek ondalık kısmını kaybederiz.

Bonus bilgi: // koyduktan sonra yazdıklarınız yorum olarak geçer, yani komut olarak kabul edilmeyeceği için satır içi açıklamalarınızı bu şekilde yapabilirsiniz. Aynı işlemi /* … */ arasına yazarak da yapabilirsiniz. Bunun //’dan farkı arasına bir çok satır yazabilmenizdir.

	//tek satırlık yorum
	/*
	çok
	satırlık
	yorum
	*/

Basit bir örnek
Örnek olarak kullanıcıdan 2 sayı alıp toplamını ekrana yazdıralım.

#include <conio.h>
#include <stdio.h>

int main()
{
	int Sayi1, Sayi2, Sonuc;
	printf("1. sayiyi giriniz:");
	scanf("%d",&Sayi1);
	printf("2. sayiyi giriniz:");
	scanf("%f",&Sayi2);
	Sonuc=Sayi1+Sayi2;
	printf("Sonuc= %f",TamSayi);
	getch();
	return 0;
}

Örnek Sorular

  1. Önceden tanımlanmış 2 tam sayının farkını ekrana yazdıran program kodunu yazınız.
  2. Kullanıcıdan alınan 2 tam sayının toplamını ekrana yazdıran program kodunu yazınız.
  3. Kullanıcıdan alınan 2 ondalıklı sayının çarpımını ekrana yazdıran program kodunu yazınız.
  4. Kullanıcıdan alınan tam sayının 10’a bölümünden kalanı ekrana yazdıran program kodunuz yazınız.
  5. Kullanıcıdan alınan tam sayının birler basamağını 0 yapıp ekrana yazdıran program kodunuz yazınız.
  6. Girilen vize ve final notlarının ortalamasını ekrana yazdıran program kodunu yazınız. (vize:%40, final:%60)
  7. 1’den girilen sayıya kadar olan sayıların toplamını ekrana yazdıran program kodunu yazınız.
  8. 2 kenar uzunluğu girilen dik üçgenin alanını ekrana yazdıran program kodunu yazınız.
  9. 2 kenar uzunluğu girilen dik üçgenin hipotenüsünün karesini ekrana yazdıran program kodunu yazınız.
  10. Dik 2 kenarının toplamı verilen dik üçgenin maksimum alanını ekrana yazdıran program kodunu yazınız.

Çözümlerini buradan indirebilirsiniz.

Tags: , , , , , , , ,

No comments yet.

Leave a Reply

*