Sayı sistemleri

Bilgisayar ve bilgisayar programlama dillerinde dört farklı sayı sistemi kullanılmaktadır:

  • Onlu (Decimal) sayı sistemi
  • İkili (Binary) sayı sistemi
  • Sekizli (Octal) sayı sistemi
  • Onaltılı (Hexadecimal) sayı sistemi

Sayı sistemlerini ifade eden değerler, söz konusu sayı sisteminde kullanılan rakam sayısını göstermektedir. Örneğin, sekizli sayısı sistemi, bu sistemde 8 adet rakam kullanıldığını ifade etmektedir.

Sayı sistemlerinde kullanılan rakamlar aşağıda gösterilmektedir:

Devamı...

C Programlama Önişlemci direktifleri

Derleme işleminin ilk safhasında, önişlemci derleyiciye bazı direktifler ulaştırır. Derleyici tarafından bazı özel işlemlerin yapılmasını sağlayan bu direktiflere Önişlemci Direktifleri adı verilir. Şimdi, önişlemci direktiflerini sıra ile incelemeye çalışalım:

#define önişlemci direktifi

#define önişlemci direktifi, programlarımızın herhangi bir işlem satırında kullanılmak üzere, istediğimiz ifadelerin kısa bir isim altında tanımlamamızı sağlar. #define önişlemci direktifinin genel yapısı aşağıda gösterilmektedir:

Devamı...

C Programlama Konsol işlemleri

Konsol işlemleri klavye ve ekran ile gerçekleştirilen işlemleri kapsar. Bu bölümde, C temelli temel giriş çıkış fonksiyonları ele alınacaktır.

getchar() ve putchar() fonksiyonları

Klavyeden girilen bir karakteri okuyarak bellekteki bir değişkene atamak için getchar() fonksiyonu, ekrana tek bir karakter yazdırmak için ise, putchar() fonksiyonu kullanılır. stdio.h başlık dosyasını kullanan bu iki fonksiyonun genel yapısı prototipi aşağıda gösterilmektedir:

Devamı...

C Programlama İşaretçiler (Pointers)

İşaretçiler, bilgisayar belleğindeki belli bir adresin, genellikle bir değişkene ait, kaydedildiği ve kaydedilen bellek adresine doğrudan erişim sağlayan değişkenlerdir.

İşaretçi bildirimi

İşaretçilerin diğer değişkenlerden tek farkı başka bir değişkenin bellek adresini içeriyor olmasıdır. Aşağıdaki satır işaretçi bildiriminin genel yapısını göstermektedir:

veri-türü *değişken-adı;

Yukarıdaki satırda yer alan veri-türü ifadesi işaretçinin adresini gösterdiği değerin veri türünü, değişken-adı ifadesi ise işaretçinin adını göstermektedir. * işareti işaretçi değişken bildiriminde kullanılmaktadır. Aşağıdaki işlem satırı ip adlı int bir işaretçi değişkeni oluşturmaktadır:

Devamı...

C Programlama Fonksiyonlar

C’de, fonksiyon bir veya daha fazla işlem satırından oluşan kodların bir kod bloğu şeklinde yapılandırılması ile oluşturulur. Fonksiyonlar oluşturulduktan sonra programın herhangi bir yerinden sadece fonksiyon adı kullanılarak çağrılabilir. Bu sayede, çok fazla sayıda işlem satırı tek bir isim kullanılarak çalıştırılmış olur.

Fonksiyon yapısı

Fonksiyon, eğer varsa, kendisine geçirilen parametreleri de kullanarak kod bloğu içindeki işlem satırları ile bir takım işlemler yaparak bir sonuç elde eder. Elde edilen sonuç, ihtiyaca bağlı olarak, fonksiyon içinde ya da return komutu ile geri döndürüldükten sonra program içinde kullanılır.

Devamı...

C Programlama Dosya işlemleri

Bu bölümde, C temelli dosya giriş ve çıkış işlemlerini incelemeye çalışacağız. Bu işlemler üzerinde çalışmaya başlamadan önce, akış ve dosya kavramlarını ayrı ayrı ele alalım:

Akış

Dosya sistemi farklı donanım elemanları ile çalışma olanağı sağlar. Bu donanım elemanı bir klavye, ekran, disk sürücü veya bilgisayarda kullanılan bir port olabilir.

Dosya giriş çıkış işlemlerinin temelini, bilgisayarı oluşturan aygıtlar için mantıksal bir arabirim görevi yapan, Akış adı verilen bir kavram oluşturur. Genel bir ifade ile, akış bir dosyaya ulaşmak için kullanabileceğiniz mantıksal bir ara birimdir. Ancak burada kullanılan dosya ifadesi, diske kaydedilebilen bir dosyayı ifade etmekle birlikte, ekran ve klavye gibi donanım elemanlarından birini de ifade edebilir. Dosyaların yapıları veya kapasiteleri farklı olabilir, ancak akışların tamamı aynıdır. Bu özellik, donanım elemanlarını benzer şekilde tanımlama olanağı sağlar. Yani, dosya sistemi bu farklı donanım elemanlarını akış vasıtası ile benzer elemanlar gibi kullanabilir. Böylece, disk üzerindeki bir dosyaya yazı yazmak için kullandığınız fonksiyonları, aynı zamanda ekrana ve yazıcıya yazı yazmak için de kullanabiliriz.

Akış, stdio.h başlık dosyası içinde tanımlı FILE adlı yapı veri türünden bildirimi yapılan bir işaretçi değişkeni ile kullanılan bir dosya veya fiziksel bir cihazdır.

Bir akışın dosya (fiziksel aygıtlar dahil) ile bağlantısını sağlamak için açma işlemi, dosyadan bağlantısını kesmek için kapama işlemi uygulanır. Dosya açıldıktan sonra, dosyadan programımıza bilgi aktarabilir veya dosya içeriğini değiştirebiliriz.

2 tür akış vardır:

Devamı...

C Programlama Döngüler

Tek bir işlem satırını veya kod bloğunu bir defadan fazla çalıştırmak için tekrar yazmak yerine, daha pratik bir uygulama olan döngü kavramını kullanabiliriz.

Bir veya birden fazla işlem satırını, bir koşula bağlı olarak, belirli sayıda veya bir koşul sağlandığı sürece tekrarlayarak çalıştıran kalıplara döngü adı verilir.

C’de, for, while ve do while olmak üzere 3 farklı döngü kullanılmaktadır.

for döngüsü

C’de kullanılan 3 adet döngüden bir tanesi for döngüsüdür. Programların yazılmasında çok büyük kolaylık sağlar. for döngüsü tek bir işlem satırını veya birden fazla işlem satırından oluşan bir kod bloğunu programcının istediği sayıda tekrar etmek için kullanılır. for döngüsünün genel yapısı aşağıda gösterilmektedir:

Devamı...

C Programlama Diziler (Arrays)

Diziler aynı veri çeşidinden olan değişkenlerin aynı isim altında tanımlanması olarak ifade edilebilir. Diziler kullanılarak, aynı isimle birden fazla değişkene erişilebilir ve işlem yapılabilir.

Diziler tek ya da çok boyutlu olarak tanımlanabilir ve dizi boyutu ihtiyaca göre ayarlanabilir.

Diziler belirli bir veri türünden tanımlanabileceğinden, dizilerde sadece aynı veri türünden değişken değerleri yer alabilir.

Tek boyutlu diziler

C’de, aynı veri tipinden olan değişkenleri tek bir isim altında toplayarak tek boyutlu diziler oluşturabiliriz. Programlarda, aynı veri türünden ve farklı isimlere sahip çok fazla sayıda değişken tanımlamak yerine, dizi bildirimi yapmak suretiyle sadece tek isim kullanarak aynı sayıda değişken tanımlamak daha pratik bir sistem ve kolaylık sağlar. Dizi tanımlandığında, dizinin her bir elemanına dizi adı ile birlikte 0’dan başlayarak kullanılan indeks değeri ile erişim sağlanır.

Tek boyutlu dizi bildirimi

Tek boyutlu dizilerin bildirimi için kullanılan genel yapı aşağıda gösterilmektedir:

Devamı...

C Programlama Dinamik bellek kullanımı

C’de kaliteli uygulamalar geliştirmek için dinamik belleği daha etkin bir şekilde kullanmamız gerekir. Program normal koşullarda ihtiyaç duyulan bellek tahsisini ve bellek boşaltma işlemlerini işlem satırlarında yer alan kodlara uygun olarak yapar. Ancak, bazı durumlarda, değişkenlere atanacak verilerin boyutu ve ihtiyaç duyulan bellek miktarı programın çalışması esnasında belirlenebileceğinden, bellek tahsis ve boşaltma işlemlerini program çalışması esnasında dinamik olarak gerçekleştirmek gerekir.

Dizi tanımlaması gibi yapılan bazı işlemler belleğin otomatik olarak tahsis edilmesini sağlarken, bazı işlemler bu olanağı sağlamaz. Bu durumda, programın çalışması esnasında gereksinim duyduğumuzda bellek tahsis edebiliriz. Bu işleme dinamik bellek kullanımı yöntemi adı verilir.

Tüm derleyiciler tarafından sağlanan dört adet dinamik bellek tahsis fonksiyonu vardır:

malloc() fonksiyonu

Dinamik bellek kullanımı için genellikle malloc() ve free() fonksiyonları birlikte kullanılır. malloc() fonksiyonu belleği tahsis ederken, free() fonksiyonu ise önceden tahsis edilmiş belleği boşa çıkarır. Bu fonksiyonların genel yapısı aşağıda gösterilmektedir:

Devamı...

C Programlama Bileşimler (Unions)

Bileşim, iki veya daha fazla değişken tarafından ortaklaşa kullanılan tek bir bellek birimidir. Burada bahsi geçen değişkenler farklı veri türünden olabilir. Ancak, aynı bellek bölgesini paylaşan değişkenlerden sadece bir tanesi aynı anda bellek bölgesini kullanabilir. Genel görünüşü ile yapılara benzeyen bileşimlerin genel yapısı aşağıdaki gösterilmektedir:

Devamı...

C Programlama bellek sistemi

Bir C programının çalıştığı bilgisayarın belleği aşağıdaki bölümlerden oluşur.

  • Kod (Metin) bölümü (Code segment)
  • İlk değer atanmış veri bölümü (Initialized data segment)
  • İlk değer atanmamış veri bölümü (Uninitialized data segment)
  • Stack
  • Heap

Kod (Metin) bölümü (Code segment)

Code segment bir C programının çalıştırılabilir talimatlarını içeren bir bellek bölgesidir.

Code segment derlenmiş programın ikili sayı sistemine göre oluşturulmuş değerlerini içerir.

Yanlışlıkla değiştirilmemesi için, code segment sadece okunur olarak düzenlenmiştir.

Code segment, heap ve stack bellek bölümlerinin aşırı kullanımlarının kendi bellek bölgesi üzerine yazma sorununu engellemek için heap ve stack bölgelerinin altında yer alır.

Fonksiyonlar ve karakter dizisi sabitleri bu bölümde yer alır.

İlk değer atanmış veri bölümü (Initialized data segment)

İlk değer atanmış veri bölümü, programcı tarafından ilk değer atanmış olan global ve static değişkenleri içeren, bir programın sanal adres boşluğunu bir parçasıdır.

İlk değer atanmış veri bölümü, değişkenlerin değerleri programın çalışma zamanında değiştirilebileceğinden, sadece okunur nitelikte değildir.

Bu bölüm ileride sadece okunur ve okunur-yazılır olarak iki bölüme ayrılabilir.

İlk değer atanmış veri bölümü, programın kaynak kodunda bir ilk değer atanmış olan global ve statik değişkenleri içerir.

İlk değer atanmamış veri bölümü (Uninitialized data segment)

İlk değer atanmamış veri bölümü, BSS bölümü olarak ta adlandırılır. Bu bölümdeki verilere, program çalışmaya başlamadan önce 0 değeri verilir.

İlk değer atanmamış veri bölümü, veri bölümünün sonundan başlar ve programın kaynak kodunda bir ilk değer verilmemiş ve otomatik olarak 0 değeri atanmış bütün global ve statik değişkenleri içerir.

Stack

Stack alanı geleneksel olarak heap alanına bitişiktir ve ters yöne doğru büyür; stack işaretçisi heap işaretçisi ile karşılaşması boş belleğin tükendiğini gösterir.

Belleğin üst bölümlerinde yer alan stack alanı, LIFO (Last In First Out - Son Giren İlk Çıkar) yapısına sahip program belleğini içerir. Standart PC x86 bilgisayar mimarisinde stack adresin sıfır değerine doğru büyür; diğer bazı mimarilerde ise ters yönde büyür. Bir “stack işaretçisi” kaydı stack bölümünün üstünü izler; stack içine her değer yerleştirilmesinde ayarlanır. Bir fonksiyon çağrısı için stack bölümüne aktarılan değer kümesine “stack çerçevesi” denir. Bir stack çerçevesi en az bir dönüş adresinden oluşur.

Stack bölümünde, bir fonksiyonun her çağrılmasında kaydedilen bilgilerle birlikte otomatik değişkenler saklanır. Bir fonksiyon her çağrıldığında, geri dönülecek yerin adresi ve fonksiyonu çağıranın ortamı ile ilgili bazı bilgisayar register değerleri gibi bilgiler stack bölümüne kaydedilir. Yeni çağrılan fonksiyon daha sonra otomatik ve geçici değişkenleri için stack içinde yer ayırır.

Stack bölümünde, fonksiyonun lokal değişkenleri (işaretçi değişkenler dahil), fonksiyona geçirilen parametreler ve fonksiyon dönüş adresi yer alır.

Heap

Heap dinamik bellek tahsisinin yapıldığı bellek bölümüdür.

Heap alanı BSS bölümünün sonunda başlar ve oradan daha büyük adreslere doğru büyür. Heap alanı, malloc(), realloc() ve free() fonksiyonları tarafından yönetilir.

Aşağıdaki örnekte, farklı bellek bölümlerine yapılan atamaları göstermek üzere, biri ilk değer atanmış diğeri atanmamış olmak üzere 2 adet global değişken, biri ilk değer atanmış diğeri atanmamış olmak üzere 2 adet static değişken, dinamik bellek tahsisi yapılan bir karakter işaretçisi ve bir adet yerel değişken oluşturularak, önce değişken değerleri sonra bellek adres değerleri ekrana yazılmıştır.

Örnek

Devamı...

C Programlama Alıştırmalar

İşaretsiz 2’lik sayı sisteminde (unsigned binary system) 8 bitlik alanda aşağıdaki tam sayıları ifade ediniz:

  • 255
  • 15
  • 48
  • 65
  • 129

İşaretli ikilik sayı sisteminde (signed binary system)

  • 1 byte’lık alanda yazılabilecek en küçük tamsayı nedir?
  • 1 byte’lık alanda yazılabilecek en büyük tamsayı nedir?
  • 2 byte’lık alanda yazılabilecek en küçük tamsayı nedir?
  • 2 byte’lık alanda yazılabilecek en büyük tamsayı nedir?
  • 4 byte’lık alanda yazılabilecek en küçük tamsayı nedir?
  • 4 byte’lık alanda yazılabilecek en büyük tamsayı nedir?
  • 8 byte’lık alanda yazılabilecek en küçük tamsayı nedir? (Yaklaşık bir sayı yazabilirsiniz.)
  • 8 byte’lık alanda yazılabilecek en büyük tamsayı nedir? (Yaklaşık bir sayı yazabilirsiniz.)

İşaretli 2’lik sayı sisteminde (signed binary system) 8 bitlik alanda aşağıdaki tam sayıları ifade ediniz:

  • -50
  • -100
  • 127
  • 33
  • -128
  • -1

Aşağıdaki sayıların 2’ye tümleyenlerini (two’s complement) yazınız:

  • 1001 0000
  • 0000 0001
  • 1111 0100
  • 1111 1111
  • 0101 1010

Aşağıda 10‘luk sayı sisteminde yazılmış tam sayıları 16‘lık sayı sisteminde ifade ediniz:

  • 1024
  • 170
  • 255
  • 178
  • 65
  • 48

Aşağıda tanımlanan sayıları 16‘lık sayı sisteminde ifade ediniz:

  • İşaretli ikilik sayı sisteminde 2 byte‘lık alanda yazılabilecek en küçük tam sayı
  • İşaretli ikilik sayı sisteminde 2 byte‘lık alanda yazılabilecek en büyük tam sayı
  • İşaretli ikilik sayı sisteminde 2 byte‘lık alanda yazılan -1 değeri

İşaretsiz ikilik sayı sistemi için aşağıdaki cümlelerde işaretli yerleri doldurunuz:

  • 1 byte‘lık alanda ifade edilebilecek en büyük tamsayı _____ değeridir.
  • 16 bitlik bir sayının en yüksek anlamlı biti (most significant bit) sayının _____ bitidir.
  • 8 bitlik bir sayının en düşük anlamlı biti (lest significant bit) sayının _____ bitidir.
  • İşaretsiz (unsigned) bir tam sayının yalnızca tek bir biti ise o sayı 2‘nin _____.
  • 15 sayısının 1‘e tümleyeni (one’s complement) _____ değeridir.
  • Bir tamsayının 0.biti 1 ise o sayı _____.

Aşağıdaki bildirimlerden geçersiz olanları işaretleyiniz:

Devamı...

C Veri türleri

İfade (expression) adı verilen yapı içinde, program değişken ve sabitlerden oluşan verilere işlemciler yoluyla bir işlem yapar. Artık, ifadeleri oluşturan veri kavramını incelemeye başlayabiliriz.

Veri türleri

C’de aşağıda gösterilen 5 temel veri çeşidi vardır:

C temel veri türleri

Anahtar kelime Veri türü
char Karakter
int Tamsayı
float Kayan noktalı sayı
double Çift duyarlıklı kayan noktalı sayı
void Değersiz

Veri türü değiştiricileri (modifiers)

Sadece char, int ve double veri türlerinin önüne aşağıda gösterilen değiştiricileri koyarak, veri tiplerinin işaret (+/-) durumunu, byte olarak boyutlarını ve sınırlarını değiştirebiliriz. C++’da kullanılan veri türü değiştiricileri ve uygulandıkları veri türleri aşağıda gösterilmektedir:

C veri türü değiştiricileri

Değiştirici Uygulandığı veri türü
signed char, int
unsigned char, int
long int, double
short int

Değişken tanımlamalarında signed değiştirici ifadesi kullanıldığında, tanımlanan değişkenin ikili sayı sistem değeri içinde en üst sırada yer alan bit’i işaret bit’i olarak kullanılır. Bu değer 0 olursa sayı pozitif, 1 olursa sayı negatif olur. Ancak, bu durumda bir bit sayının işaretini belirlemek için ayrıldığından tanımlanan değişkene atanacak değer otomatik olarak azalır.

Bilgisayarlarda, bir sayının ikili sayı sisteminde gösteriminde en solda yer alan bit, sayının negatif veya pozitif olduğunu göstermek üzere, işaret bit’i olarak kullanılır.

Pozitif bir sayıyı negatif bir sayıya çevirmek için, sayıdaki bütün bit değerlerinin tersi alınır ve elde edilen sayıya 1 değeri eklenir.

Biri signed diğeri unsigned olan iki adet char ve iki adet short int veri türünden değişken tanımlayalım:

Devamı...

C Programlama Switch kalıbı

Programlarımızda, iki veya daha fazla seçenekli koşul kontrolü sağlayan bir sistemi oluşturmak için if deyimini kullanabiliriz. Seçeneğin fazla olduğu durumlarda, programın her durumda bütün if satırlarını tek tek kontrol etme zorunluluğundan dolayı, programın çalışmasını daha hızlı ve pratik bir duruma getirmek için if-else-if yapısını kullanabiliriz.

Switch kalıbı

Şimdi, C’de çok seçenekli bir sistem sağlayan switch kalıbını incelemeye çalışalım. yelim. switch kalıbı bir ifadenin sonucuna bağlı olarak içinde yer alan herhangi bir seçenekteki işlem satırlarını çalıştıran bir kalıptır. Bu kalıbın genel yapısını birlikte inceleyelim:

Devamı...

C Programlama Sabitler

Sabitler, adından da anlaşılabileceği gibi, programlarda kullanılan değiştirilemeyen değerlerdir. Sabitler herhangi bir veri türünden tanımlanabilir. Sabitler genellikle programların başında değişkenlere bir ilk değer atama amacı ile veya farklı ifade oluşumlarının içinde kullanılabilir.

Farklı veri türünden yapılan sabit tanımlamaları aşağıda gösterilmektedir:

Devamı...

C Programlama İşlemciler Operatörler

İfade kavramının işlem yapan parçası olarak ifade edebileceğimiz işlemciler, ifade içinde yer alan değişken ve sabitlere işlem yaparlar. Belli gruplar altında sınıflandırabileceğimiz işlemcileri sıra ile incelemeye çalışalım:

Aritmetik işlemciler

C dilinde kullanılan 5 adet aritmetik işlemci aşağıda gösterilmektedir. İşlemciler öncelik sırasına göre sıralanmıştır:

C ilişkisel işlemcileri

İşlemci Kullanma amacı
+ Toplama
- Çıkarma
* Çarpma
/ Bölme
% Bölme işleminde kalanı verme

C’de, işlemciler arasında öncelik sırası adı verilen bir kural vardır. İşlemci önceliği kavramının matematik derslerinde gördüğümüz konudan hiçbir farkı yoktur. Buna göre, eğer bir işlem satırında birden fazla işlemci kullanırsak, C işlemcilere öncelik sırasına göre işlem yapar. Bu şekilde işlem yapılınca, programlar bizim düşündüğünüzden farklı sonuçlar verebilir. Bazı işlemlerin önceliğini normal kuralların dışında belirlemek istediğimizde, işlemi parantez içine almak yeterlidir.

% işlemcisi dışında kalan bütün aritmetik işlemcilerini temel veri türlerinin tamamı ile birlikte kullanabiliiz. % işlemcisi ise bölme işleminin kalanını verdiğinden sadece int veri türü ile kullanılabilir.

- işlemcisini hem çıkarma işlemi, hem de sayıların negatif değerlerini göstermek için kullanabiliriz.

Şimdi, örneklerle öğrendiklerimizi incelemeye çalışalım:

Örnek

Devamı...

C Programlama Koşul ve if yapıları

Koşula bağlı çalışma

C’de, bazı durumlarda belirli işlem satırlarının istenen koşullar sağlandığında çalışması gerekebilir. Bu koşulları devreye sokmaya yarayan program yapılarına Program Kontrol Terimleri adı verilir.

Belirlediğimiz koşullar sağlandığında çalışmasını istediğimiz işlem satır veya satırlarını programlarımıza ekleyebiliriz. Tanımlanan koşul sağlandığında, koşula bağlı olarak tanımlanan işlem satır veya satırları devreye girecek aksi takdirde, bu satırları işlem yapmadan atlayacaktır. Tanımlanan koşul sağlanmadığında, söz konusu işlem satır veya satırları programda hiç yer almamış gibi işlem görür. Koşula bağlı olarak devreye giren işlem satırları programlarımızda çok büyük kolaylık ve esneklik sağlayacaktır.

Devamı...

C Programlama Değişkenler

C dilinde bilgisayar belleğinin bir kısmına belirli bir isim vererek bu bellek alanını kendimiz için ayırabilir ve bu alana değerler yerleştirebiliriz. Bu değerleri de istediğimiz zaman değiştirebiliriz.

Bu işlemlere değişken bildirimi ve değişkene değer atama işlemleri diyoruz.

Değişken bildirimi

Bir değişken bildirimi yaparak, bilgisayarın belleğinde belirli büyüklükte bir alanı kendimize ayırabiliriz. Bu bellek boyutu değişken veri türüne göre değişecektir. Bu işlemi yaptığımızda belleğin belirli bir bölümü bizim için ayrılmış olur.

Değişken bildirimi aşağıda gösterilen 3 farklı yerde yapılabilir:

  1. Lokal değişkenler: Fonksiyonların içinde
  2. Parametre olarak tanımlanan değişkenler: Fonksiyon parametresi olarak
  3. Global değişkenler: Tüm fonksiyonların dışında

C programlama dilinde bir değişken ifade içinde kullanılmadan önce mutlaka bildirimi yapılmalı ve bir değer atanmalıdır. Bu bildirim işlemi, ister main() ister başka bir fonksiyon içinde olsun mutlaka fonksiyonun veya kod bloğunun başında yapılmalıdır.

Ancak, C99 standartlarına göre, bir fonksiyon içindeki yerel değişken bildirimi fonksiyonun veya fonksiyon içinde yer alan bir kod bloğu içinde herhangi bir yerde yapılabilir.

Bir değişken bildirimi aşağıdaki gösterildiği şekildeyapılır:

veri-türü değişken-adı;

Değişken bildirimi bir işlem satırı ile yapıldığından, noktalı virgül (;) ile sona erer. veri-türü ifadesi bildirimi yapılan değişkeninin veri türünü, değişken-adı ifadesi ise değişkenin adını göstermektedir.

Değişken bildiriminde değişken-adı ifadesi yerine kullanılacak değişken adları, sizin verebileceğiniz herhangi bir ad olabilir. Bu ad harflerden, rakamlardan ve (_) işaretinden oluşan bir karakter dizisi olmalıdır. C küçük ve büyük harflere farklı işlem yapar. VAR1 ve var1 olarak verilen değişken adları birbirinden tamamen farklı olarak kabul edilir.

Aşağıdaki işlem satırlarından birincisi id1 adlı int ve ikincisi fd1 adlı float bir değişken bildirimi yapar:

Devamı...

C Program yapısı

Bir C programının temel yapısı

Bir C programında, genel olarak aşağıda gösterilen bölümler sırayla yer alır. Başlık dosya bildiriminden sonraki sıralama değiştirilebilir. Programda mutlaka tanımlanması tek bölüm main() fonksiyonudur. Bunun dışındaki bölümlerin tanımlanması tamamen ihtiyaca bağlıdır.

  • Başlık dosya bildirimleri
  • Fonksiyon bildirimleri
  • main() fonksiyonu
  • Fonksiyon ana yapıları
Devamı...