C Programlama Sabitler ve Değişkenler

C Programlama Sabitler ve Değişkenler, programın yürütülmesi sırasında değiştiremeyeceği sabit değerleri ifade eder. Bu sabit değerlere değişmez değerler de denir.

Sabitler, integer constant, floating constant, character constant, ya da string literal gibi temel veri türlerinden herhangi biri olabilir. Ayrıca numaralandırma sabitleri de vardır.

Sabitler, tanımlarından sonra değerlerinin değiştirilememesi dışında normal değişkenler gibi ele alınır.

Tamsayı Değişmezleri / Integer Literals

Bir tamsayı değişmezi ondalık, sekizlik veya onaltılık bir sabit olabilir. Bir önek, taban veya sayı tabanını belirtir: onaltılık için 0x veya 0X, sekizlik için 0 ve ondalık için hiçbir şey.

Bir tamsayı değişmezi, sırasıyla işaretsiz ve uzun için U ve L’nin birleşimi olan bir son eke de sahip olabilir. Son ek büyük veya küçük harf olabilir ve herhangi bir sırada olabilir.

İşte tamsayı değişmezlerinin bazı örnekleri:

212         /* Uygun */
215u        /* Uygun */
0xFeeL      /* Uygun */
078         /* Uygun Değil: 8 oktal-sekizli sayı değildir */
032UU       /* Uygun Değil: son ek tekrarlanamaz */

Aşağıda, çeşitli tamsayı değişmezlerinin diğer örnekleri verilmiştir:

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Floating-point Değişmezleri

Bir floating-point değişmezinin bir tamsayı kısmı, bir ondalık noktası, bir kesir kısmı ve bir üs kısmı vardır. Floating-point ya ondalık biçimde ya da üstel biçimde temsil edebilirsiniz.

Ondalık biçimi temsil ederken, ondalık noktayı, üssü veya her ikisini de eklemelisiniz; ve üstel formu temsil ederken, tamsayı kısmı, kesirli kısım veya her ikisini de dahil etmelisiniz. İmzalı üs e veya E ile tanıtılır.

İşte floating-point değişmezlerin bazı örnekleri:

3.14159       /* Uygun */
314159E-5L    /* Uygun */
510E          /* Uygun Değil: tamamlanmamış değer */
210f          /* Uygun Değil: ondalık sayı veya üs yok */
.e55          /* Uygun Değil: eksik tam sayı veya kesir */

Karakter Sabitleri

Karakter değişmezleri tek tırnak içine alınır, örneğin ‘x’, char türündeki basit bir değişkende saklanabilir .

Bir karakter değişmezi, düz bir karakter (örneğin, ‘x’), bir kaçış dizisi (örneğin, ‘\t’) veya bir evrensel karakter (örneğin, ‘\u02C0’) olabilir.

C’de, önüne ters eğik çizgi geldiğinde özel anlamı temsil eden belirli karakterler vardır, örneğin yeni satır (\n) veya sekme (\t).

Kaçış dizisiAnlam
\\\ karakter
\’‘ karakter
\”“karakter
\?? karakter
\aUyarı veya zil
\Bgeri al
\FForm besleme
\nYeni satır
\rSatırbaşı
\TYatay sekme
\vDikey sekme
\ooooBir ila üç basamaklı sekizli sayı
\xhh . . .Bir veya daha fazla basamaktan oluşan onaltılık sayı

Birkaç kaçış dizisi karakterini gösteren örnek aşağıdadır:

#include <stdio.h>

int main() {
   printf("Merhaba\tDunya\n\n");

   return 0;
}

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, aşağıdaki sonucu üretir:

Merhaba Dunya

Dize/String Değişmezleri

Dize değişmezleri veya sabitleri çift tırnak “” içine alınır. Bir dize, karakter değişmezlerine benzer karakterler içerir: düz karakterler, kaçış dizileri ve evrensel karakterler.

Uzun bir satırı, dize değişmezlerini kullanarak ve beyaz boşluklar kullanarak ayırarak birden çok satıra bölebilirsiniz.

İşte bazı dize değişmezleri örnekleri. Her üç form da aynı dizelerdir:

"devre, yakan"

"devre, \

yakan"

"devre, " "y" "akan"

Sabitleri Tanımlama

C’de sabitleri tanımlamanın iki basit yolu vardır –

  • #define önişlemcisini kullanma.
  • const anahtar sözcüğünü kullanma.

#define Önişlemcisi

Aşağıda verilen, bir sabiti tanımlamak için #define önişlemcisini kullanma biçimidir:

#define identifier value

Aşağıdaki örnek bunu ayrıntılı olarak açıklamaktadır:

#include <stdio.h>

#define UZUNLUK 10   
#define GENISLIK  5
#define YENISATIR '\n'

int main() {
   int alan;  
  
   alan = UZUNLUK * GENISLIK;
   printf("Alan : %d", alan);
   printf("%c", YENISATIR);

   return 0;
}

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, aşağıdaki sonucu üretir:

Alan : 50

const Anahtar Kelimesi

const degısken = deger;

Aşağıdaki örnek bunu ayrıntılı olarak açıklamaktadır:

#include <stdio.h>


int main() {
   const int UZUNLUK = 10; 
   const int GENISLIK = 5;
   const char YENISATIR = '\n';

   int alan;  
  
   alan = UZUNLUK * GENISLIK;
   printf("Alan : %d", alan);
   printf("%c", YENISATIR);

   return 0;
}

Yukarıdaki kod derlendiğinde ve çalıştırıldığında, aşağıdaki sonucu üretir:

Alan : 50

Sabitleri büyük harfler ile tanımlamak her zaman daha kolay anlaşılır olmasına sebep olur. Bir sonraki yazımızda Depolama Sınıfları konusu inceleyeceğiz.