2 - Değişkenler, Veri Tipleri ve Operatörler
2024
Çıktı:
#include <stdio.h>: Giriş/çıkış işlemleri için standart kütüphane.
int main(): Programın başlama noktasıdır.
{ ... }: Kod bloklarını belirtir.
return 0;: Programın başarıyla bittiğini işletim sistemine bildirir.
Sunumdaki örnekler genellikle parçalı verilmiştir.
Gerçekte her kod, int main() { ... } fonksiyonunun içinde çalıştırılmalıdır.
Siz kodlarınızı yazarken main fonksiyonunu ve gerekli kütüphaneleri eklemeyi unutmayın.
Sözdizimi (Tanımlama):
Sözdizimi (İlklendirme):
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).
+-------+-------+-------+-------+
| Adres | 0x100 | 0x104 | 0x108 | ...
+-------+-------+-------+-------+
| Değer | 10 | 20.5 | 'A' | ...
+-------+-------+-------+-------+
^ ^ ^
| | |
int x float y char chBu 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.
_) 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).
En Sık Yapılan Hata: = ile == Karışıklığı
= Atama Operatörüdür: Bir değişkene değer atar. x = 10; (x’in değeri artık 10)== Eşittir Operatörüdür: İki değerin eşit olup olmadığını kontrol eder. x == 10; (x’in değeri 10’a eşit mi? Sonuç 1 (doğru) ya da 0 (yanlış) olur)Bu iki operatörü karıştırmak, programınızın sessizce ve mantıksal olarak yanlış çalışmasına neden olabilir!
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 = 1printf 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");Not: “Merhaba Dünya!” gibi metinler C’de karakter dizisi olarak saklanır. char metin[] sözdiziminin detaylarını ilerleyen derslerimizde göreceğiz.
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özdizimiÖrnek:
scanf 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?
_sayisayi1sayi_bir1sayisayifloat tipindeki bir değişkene hangi değeri atamak doğrudur?
'A'"Merhaba"103.14truex = 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-casefor, while, do-whilebreak ve continue ifadeleri