2 - Değişkenler, Veri Tipleri ve Operatörler
2024
Sözdizimi (Tanımlama):
Sözdizimi (İlklendirme):
+-------+-------+-------+-------+
| Adres | 0x100 | 0x104 | 0x108 | ...
+-------+-------+-------+-------+
| Değer | 10 | 20.5 | 'A' | ...
+-------+-------+-------+-------+
^ ^ ^
| | |
int x float y char ch
Bu diyagramda, sadece temel veri tipleri (int, float, char) ve bunların bellekte nasıl saklandığı gösteriliyor.
Her değişken, bellekte bir adres aralığına sahip ve bu adres aralığında değişkenin değeri saklanıyor.
Dikkat
Tanımlanmadan ilklendirilen değişkenler hata verir. Her değişken öncelikle tanımlanmalıdır.
İpucu
İlklendirilmeden kullanılan değişkenlerin değeri, bellekten gelen rastgele bir değerdir. Bu, beklenmedik sonuçlara yol açabilir. Bu yüzden, değişkenleri kullanmadan önce ilklendirmek iyi bir programlama uygulamasıdır.
C dilinde, farklı türde verileri saklamak için farklı veri tipleri kullanılır.
int
(Tam Sayı): Tam sayıları saklar (10, -5, 0 gibi).
float
(Ondalıklı Sayı): Ondalıklı sayıları saklar (3.14, -2.5 gibi).
char
(Karakter): Tek bir karakteri saklar (‘A’, ‘b’, ‘5’ gibi).
_
) karakterlerinden oluşabilir.isim
ile Isim
farklı değişkenlerdir).Veriler üzerinde işlemler yapmak için kullanılan sembollerdir.
Aritmetik Operatörler: +
, -
, *
, /
, %
Atama Operatörü: =
Karşılaştırma Operatörleri: ==
, !=
, >
, <
, >=
, <=
Mantıksal Operatörler: &&
(VE), ||
(VEYA), !
(DEĞİL)
Matematiksel işlemler yapmak için kullanılır.
+
(Toplama)-
(Çıkarma)*
(Çarpma)/
(Bölme)%
(Mod alma - Kalanı bulma)Bir değişkene değer atamak için kullanılır.
=
(Atama)İki değeri karşılaştırmak için kullanılır.
==
(Eşittir)!=
(Eşit Değildir)>
(Büyüktür)<
(Küçüktür)>=
(Büyük Eşittir)<=
(Küçük Eşittir)Karşılaştırma operatörü sonucu 1 ya da 0 şeklinde yanıt verir. 1 doğru(true) 0 yanlış(false).
Mantıksal işlemler yapmak için kullanılır.
&&
(VE)||
(VEYA)!
(DEĞİL)Örnek:
int x = 5;
int y = 10;
// Atama Operatörleri
x += 5; // x = x + 5 (x artık 10)
y -= 2; // y = y - 2 (y artık 8)
// Karşılaştırma Operatörleri
int esitMi = x == y; // esitMi = 0
int farkliMi = x != y; // farkliMi = 1
// Mantıksal Operatörler
int kosul1 = (x > 5) && (y < 10); // kosul1 = 0
int kosul2 = (x > 5) || (y <= 10); // kosul2 = 1
printf
Fonksiyonu ve Format Belirteçleriprintf
fonksiyonu, verileri biçimlendirilmiş bir şekilde ekrana yazdırmak için kullanılır.%
sembolü ile başlar ve bir harf ile biter.Örnek:
Belirteç | Veri Tipi | Açıklama |
---|---|---|
%d |
int |
Tam sayı değerlerini yazdırır. |
%f |
float |
Ondalıklı sayı değerlerini yazdırır. |
%c |
char |
Tek bir karakteri yazdırır. |
%s |
char[] (string) |
Bir karakter dizisini (string) yazdırır. |
%% |
% sembolünü yazdırır. |
|
\n |
Yeni satır karakteri. | |
\t |
Tab karakteri (yatay sekme). |
int sayi = 10;
float ondalikSayi = 3.14159;
char karakter = 'A';
char metin[] = "Merhaba Dünya!";
printf("Sayı: %d\n", sayi);
printf("Ondalık Sayı (2 basamaklı): %.2f\n", ondalikSayi);
printf("Karakter: %c\n", karakter);
printf("Metin: %s\n", metin);
printf("Yüzde işareti: %%\n");
printf("Yeni\nsatır\n");
printf("İsim:\tAhmet\n");
scanf
Fonksiyonu: Verileri Kullanıcıdan Almakscanf
fonksiyonu, kullanıcıdan veri almak için kullanılır.printf
fonksiyonu gibi, scanf
da format belirteçleri kullanır.scanf
fonksiyonunda, değişkenlerin değerlerini okumak için değişkenlerin bellek adreslerini belirtmemiz gerekir. Bunun için, değişken adının önüne &
(adres) operatörünü koyarız.scanf
Fonksiyonunun Sözdizimiscanf
Fonksiyonu: Örneklerint sayi;
printf("Bir tam sayı girin: ");
scanf("%d", &sayi);
printf("Girdiğiniz sayı: %d\n", sayi);
float ondalikSayi;
printf("Bir ondalık sayı girin: ");
scanf("%f", &ondalikSayi);
printf("Girdiğiniz ondalık sayı: %f\n", ondalikSayi);
scanf
Özet%d
, %f
ve %c
format belirteçleri, sırasıyla tam sayı, ondalık sayı ve karakter değerlerini okumak için kullanılır.&
operatörü, değişkenin bellek adresini verir. scanf
fonksiyonu, bu adrese okuduğu değeri yazar.const
Niteleyicisi: Değişmez Değerlerconst
ile tanımlanan değişkenlere sabit denir.Sözdizimi:
Örnek:
const float PI = 3.14159; // PI sabitinin değeri 3.14159 olarak tanımlanır
const int MAX_DEGER = 100; // MAX_DEGER sabitinin değeri 100 olarak tanımlanır
int main() {
// PI = 3.14; // Hata! const değişkenin değeri değiştirilemez
// MAX_DEGER = 200; // Hata! const değişkenin değeri değiştirilemez
printf("PI: %.5f\n", PI);
printf("MAX_DEGER: %d\n", MAX_DEGER);
return 0;
}
Tek Satırlık Yorumlar: //
karakterleri ile başlar ve satır sonuna kadar devam eder.
Çok Satırlık Yorumlar: /*
karakterleri ile başlar ve */
karakterleri ile biter. Birden fazla satıra yayılabilir.
Aşağıdaki C kod parçasının çıktısı ne olur?
Aşağıdaki değişken isimlerinden hangisi C dilinde geçersizdir?
_sayi
sayi1
sayi_bir
1sayi
sayi
float
tipindeki bir değişkene hangi değeri atamak doğrudur?
'A'
"Merhaba"
10
3.14
true
x = 5
ve y = 10
olduğunda, aşağıdaki ifadelerden hangisinin sonucu doğrudur?
(x > 5) && (y < 10)
(x <= 5) || (y > 10)
(x != 5) && (y == 10)
(x > 5) || (y == 10)
(x < 5) && (y >= 10)
Aşağıdaki kod parçasının çıktısı ne olur?
Aşağıdaki kod parçasının çıktısı ne olur?
int
, float
ve char
C dilindeki temel veri tipleridir.printf
fonksiyonu ve format belirteçleri ile ekrana çıktı yazdırabiliriz.scanf
fonksiyonu ve format belirteçleri ile kullanıcıdan girdi alabiliriz.const
niteleyicisi ile sabit değişkenler tanımlayabiliriz.if-else
, switch-case
for
, while
, do-while
break
ve continue
ifadeleri