- Puan
- 28
- Yaş
- 118
C Nedir?
C programlama dili, bilgisayara ne yapması gerektiğini anlatmak için kullanılan en temel ve en güçlü programlama dillerinden biridir.Basit düşünelim:
Bilgisayar aslında sadece 0 ve 1'lerden oluşan makine dilini anlar.
Örneğin:
Kod:
10101010
11001100
11110000
Bu yüzden programlama dilleri geliştirilmiştir.
C dili de insanların anlayabileceği komutları bilgisayarın anlayacağı makine diline çevirir.
Örnek:
printf("Merhaba Dünya");Bilgisayar bunu doğrudan anlamaz.
Önce derleyici (compiler) devreye girer ve bunu makine koduna dönüştürür.
Sonra işlemci çalıştırır.
Neden C Öğrenmeliyim?
Çünkü birçok teknolojinin temeli C'dir.Örnek:
- Linux çekirdeği
- Windows'un büyük bölümleri
- Veritabanları
- Gömülü sistemler
- Mikrodenetleyiciler
- Ağ cihazları
- İşletim sistemleri
- Oyun motorları
Örneğin:
- C++
- C#
- Java
- JavaScript
- PHP
- Python
C Nasıl Çalışır?
Bir C programının çalışma süreci şöyledir:
Kod:
Kod Yazılır
↓
Derlenir
↓
Makine Koduna Çevrilir
↓
Program Çalıştırılır
Kod:
#include <stdio.h>
int main()
{
printf("Merhaba");
return 0;
}
Önce GCC gibi bir derleyici kullanılır.
Örnek:
gcc program.c -o programBu işlem sonunda:
program.cdosyası
program.exehaline dönüşür.
İlk Programımız
Şimdi satır satır inceleyelim.
Kod:
#include <stdio.h>
int main()
{
printf("Merhaba Dünya");
return 0;
}
#include Nedir?
#include <stdio.h>Bu satır:
"stdio kütüphanesini programa ekle"
demektir.
stdio açılımı:
Standard Input OutputYani:
- Klavyeden veri alma
- Ekrana veri yazdırma
main() Nedir?
int main()Programın başlangıç noktasıdır.
Bilgisayar programı çalıştırdığında ilk olarak:
main()fonksiyonunu arar.
Bulamazsa hata verir.
Süslü Parantezler
Kod:
{
}
Örneğin:
Kod:
{
printf("A");
printf("B");
}
printf() Nedir?
printf("Merhaba Dünya");Ekrana yazı yazdırır.
Sonuç:
Merhaba Dünyareturn 0 Nedir?
return 0;Programa şunu söyler:
İşlem başarıyla tamamlandı.0 genellikle başarı anlamına gelir.
Değişkenler
Programlamada verileri saklamak gerekir.Örneğin:
- Yaş
- İsim
- Maaş
- Sıcaklık
Örnek:
int yas = 20;Burada:
yasisimli bir değişken oluşturduk.
İçinde:
20değeri saklanıyor.
Veri Tipleri
Bilgisayar ne tür veri tuttuğunu bilmek ister.Bu yüzden veri tipleri kullanılır.
int
Tam sayıint sayi = 15;Örnek:
Kod:
10
20
30
40
float
Ondalıklı sayıfloat not = 85.5;Örnek:
Kod:
3.14
7.25
12.99
char
Tek karakterchar harf = 'A';Örnek:
Kod:
A
B
C
D
double
Daha hassas ondalıklı sayıdouble pi = 3.1415926535;Değişken Yazdırma
Kod:
int yas = 20;
printf("%d", yas);
20Format Belirteçleri
C dilinde veri tipine göre farklı semboller kullanılır.| Veri Tipi | Format |
|---|---|
| int | %d |
| float | %f |
| char | %c |
| string | %s |
| double | %lf |
Kod:
char harf='A';
printf("%c",harf);
AKlavyeden Veri Alma
Kullanıcıdan bilgi almak için:scanf()kullanılır.
Örnek:
Kod:
int yas;
scanf("%d",&yas);
&operatörü adres belirtir.
Bu konuyu ileride daha detaylı öğreneceğiz.
Toplama İşlemi
Kod:
int a=10;
int b=20;
int sonuc=a+b;
printf("%d",sonuc);
30Matematik Operatörleri
Toplama:+Çıkarma:
-Çarpma:
*Bölme:
/Mod Alma:
%Örnek:
10 % 3Sonuç:
1Çünkü:
10 / 3 = 3 kalan 1Karşılaştırma Operatörleri
Eşit mi?==Büyük mü?
>Küçük mü?
<Büyük eşit mi?
>=Küçük eşit mi?
<=Eşit değil mi?
!=Örnek:
5 == 5Sonuç:
Doğruif Yapısı
Karar vermeyi sağlar.Örnek:
Kod:
int yas=20;
if(yas>=18)
{
printf("Yetiskin");
}
Yetiskinif else
Kod:
int yas=15;
if(yas>=18)
{
printf("Yetiskin");
}
else
{
printf("Cocuk");
}
Cocukfor Döngüsü
Bir işlemi tekrar tekrar yaptırır.
Kod:
for(int i=1;i<=5;i++)
{
printf("%d\n",i);
}
Kod:
1
2
3
4
5
while Döngüsü
Kod:
int i=1;
while(i<=5)
{
printf("%d\n",i);
i++;
}
Diziler (Arrays)
Birden fazla veriyi saklar.int sayilar[5];Bu:
5 adet int saklayabilirdemektir.
Örnek:
int sayilar[5]={10,20,30,40,50};Fonksiyonlar
Kod tekrarını azaltır.Örnek:
Kod:
void selam()
{
printf("Merhaba");
}
selam();Pointer Mantığı (Basit Anlatım)
Yeni başlayanların korktuğu konu.Örnek:
int sayi=10;RAM'de bir yerde tutulur.
Adres:
0x123456olsun.
Bu adresi tutan değişkene pointer denir.
int *ptr=&sayi;Burada:
ptrsayi değişkeninin adresini tutuyor.
Pointerlar:
- Bellek yönetimi
- İşletim sistemi geliştirme
- Ağ programlama
- Güvenlik araştırmaları
Sonuç
C dili öğrenmek başlangıçta zor görünebilir ancak mantığı anlaşıldığında oldukça sistematik bir dildir.Öğrenme sırası:
- Değişkenler
- Veri tipleri
- Operatörler
- if else
- Döngüler
- Fonksiyonlar
- Diziler
- Pointerlar
- Dosya işlemleri
- Bellek yönetimi
- Struct
- Veri yapıları
- Sistem programlama
- Ağ programlama
- Tersine mühendislik ve güvenlik geliştirmeleri