fpganedir.com'da ara

fpganedir mail

* Giriş

* Genel C Kuralları

* Değişken ve Sabitler

* Operatörler

 * Diziler (Arrays)

DEĞİKEN VE SABİTLER

Çok az bir program önceki bölümde verdiğimiz örnek kadar basit olabilir.  Çoğu programda çıkış değerleri üretilmeden önce bir dizi hesaplamalar yapılır. Bu hesaplamalar esnasında verilerin geçici olarak saklanacağı alanların olması gerekir. C dilinde bu saklama alanlarına değişkenler denir.

Veriler program içerisinde değişken ve sabit biçimlerinde kaydedilir. Değişkenler değerleri değiştirilebilen verilerdir. Sabitler ise değişkenlerin aksine atama yapıldıktan sonra değeri değiştirilemeyen verilerdir. Değişken ve sabitler faklı boyut ve biçimde program belleğine kaydedilirler.

1) Veri Türleri

Bütün değişkenlerin ne çeşit veri tutacağını belirten bir türünün olması gerekir. Değişkenler gömülü sistemin kısıtlı belleğine kaydedilir. Bu yüzden gömülü sistemde değişken tanımlanırken gereksiz yere bellek alanı israf edilmemesi gerekir. Bu yüzden tasarımcı değişken bildirimi esnasında değişkenin türünü tayin etme konusunda hassas davranması gerekir.

C programlama dilinde üç tane temel veri türü bulunur.

Bu veri türlerin önünde  short, long, signed ve unsigned özel niteleyicileri kullanılarak  veri türlerinin türevleri oluşturulabilir.

İşaretsiz (unsigned) ön eki kullanılarak, verilerin değerlerinin sıfır ve sıfırdan büyük olması sağlanabilir. İşaretli ve işaretsiz verilerin bellekteki uzunlukları aynıdır. Fakat işaretsiz türdeki verilerin üst limiti, işaretli türündekinin iki katına eşittir.

a) Char Türü

Char türü  “0-9” ve “A-Z” gibi yazdırılabilir yada “enter,tab,yeni satır” gibi yazdırılamaz karakterlerden oluşur.
char veri türünü ve bellekteki kapladığı alanı aşağıdaki tabloda görebilirsiniz.

b) Int  türü

Tamsayıları ifade eder. int veri türünü ve bellekteki kapladığı alanı aşağıdaki tabloda görebilirsiniz.

c) Float Türü

Gerçek sayıları ifade eder. double ve float olmak iki şekilde tanımlanır. float veri türünü ve bellekteki kapladığı alanı aşağıdaki tabloda görebilirsiniz.

 

2) DEĞİŞKENLER

a) Değişken Bildirimi

Bir değişkenin programda kullanılabilmesi için program içerisinde bildiriminin yapılması gerekir. Değişkenin bildirimi, değişkenin türünü ve boyutunu gösteren özel amaçlı bir sözcük ve bir tanımlayıcı ile yapılır.

        long int numara;

b) Değişken Kapsamı

Değişkenlerin programda kullanılabilmesi için programın başında bildirimlerinin yapılması gerekir. Bir değişkenin kapsamı program içerisindeki erişilebilirliğidir. Değişken program içerisinde yerel yada genel olarak tanımlanabilir.

Örnek

#include <stdio.h>

int sayi;//Genel değişken

int main()
{

      int sayi_mod_2;//Yerel değişken
      int sayi_mod_4;// Yerel değişken

      sayi=1000;
      sayi_mod_2 = sayi >> 1;
      sayi_mod_4= sayi >>2;
      printf("mod_2   = %d\n\r mod_4    = %d",sayi_mod_2,sayi_mod_4);

return 0;
}

3) SABİTLER

Sabitler program boyunca değeri değiştirilemeyen nesnelerdir. Sabitler birçok durumda derleyici programın parçası gibi davranırlar ve  RAM’den ziyade ROM da saklanırlar.

X+5  atamasında “5” bir sabittir ve derleyici tarafından doğrudan toplama işlemine sokulur.

printf (“selam”); ifadesinde “selam” metni program belleğine yerleştirilir ve değeri değiştirilemez.

Programlayıcıda const özel sözcüğünü kullanıp sabit bildirimi yapabilir. Sabit bildiriminde const özel sözcüğü ile birlikte tanımlayıcı ismi, türü ve değeri belirtilmelidir.

constant  unsigned char k =80;

Bir nesneyi sabit olarak tanımlamak nesnenin kısıtlı depolama alanı bulunan RAM yerine program kodunda saklanmasını neden olur. Bu ise sınırlı RAM alanının korunmasına yardımcı olur.

a) Sayısal Sabitler

Sayısal sabitler, sayısal tabanlarını göstermek ve programı daha okunabilir hale getirmek için farklı şekillerde bildirimleri yapılabilir. Örneğin sabitleri aşağıdaki gibi bildrimlerini yapabilirz.

float türünde olan 32 sabitinin gösterimi aşağıdakilerden biri olabilir.

b) Karakter Sabitleri

Karakter sabitleri “0-9” ve “A-Z”gibi yazdırılabilir yada “enter,tab,yeni satır” gibi yazdırılamaz karakterlerden oluşur. Yazdırılabilir karakter sabitleri tek tırnak içerisinde gösterilir(‘C’).  Ayrıca karakter gösterimi ters slash ile birlikte temsil edilen sekizlik veya onaltılık değerlerini yazılarak da yapılabilir.

K karakterinin sekizli gösterimi ‘\113’  , onaltılık gösterimi ‘\x4B’ dir.

Ters slash ile tırnak karakterlerinin gösteriminde ise bu karakterlerin önüne ters slash konulur. Örneğin tırnak için gösterim ‘\’, ters slash için gösterim’\\’ şeklindedir.

Karakterlerin kodlarının bulunduğu ASCII tablosuna buradan ulaşabilirsiniz.

Örnek

const char temp='\x4B';
printf("Sabit== %c\n\r",temp);

Yukarıdaki ifade ekrana K karakterini basacaktır.

4) Tür Dönüştürme

Bazen programda tanımlanmış bir türün farklı türlere çevirme ihtiyacı doğabilir. Bu durumda tür dönüştürücüler kullanılarak var olan bir tür istenilen türe dönüştürülür.

Gösterimi dönüştürülecek türün parantez içerisinde yazılması ile şeklindedir.

(tür ismi)Tanımlayıcı

Örnek

int a=10;
char b='K';
int z;
.........
z= a +(int)b;

 

5) Sabit ve Değişken İsimleri

Sabit Ve Değişken İsimleri verilirken bazı kurallara uyulmak zorundadır. Bunlar

Örnek:

 

6) sizeof Operatörü

Belirli bir tür değerinin kaydedilebilmesi için gerekli olan bellek alanının gösterir. Gösterim şekli aşağıdaki gibidir.

sizeof(tür ismi)

İşlem sonucunda işleme giren türün byte cinsinden değerini veren unsigned integer türünde bir değer elde edilir.

Örnek

#include <stdio.h>

int main()
{

       printf("Float boyutu = %d\n\r",sizeof(float));
       printf("Double boyutu = %d\n\r",sizeof(double));

      return 0;
}

Yukarıdaki örneğin çıktısı aşağıdaki gibi olur.

Float boyutu = 4
Double boyutu = 8

 

 

Anasayfa | Fpga | VHDL | VHDL Sözlüğü | Embedded Sistem | Android | Sayısal Tasarım | Simulasyon | PCB | Örnekler | Forum | İletişim
Copyright © 2010-2013 FPGAnedir. All Rights Reserved.