fpganedir.com'da ara

fpganedir mail

* Giriş

* Genel C Kuralları

* Değişken ve Sabitler

* Operatörler

 * Diziler (Arrays)

GENEL C KURALLARI

C dilinde bir program oluşturmak bir anlamda ev yapmaya benzer. Ev yapımı için temel hazırlanır. Daha sonra çimento ve kum kullanılarak tuğlalar yapılır. Ardından bu tuğlalar bir düzen içerisinde birleştirilerek duvarlar inşa edilir. Bütün duvarlar bitirildikten sonra evi inşa etmiş oluruz. Gömülü C’de de bir takım komutlar birleştirilerek fonksiyonlar oluşturulur. Daha yüksek düzeyde işlem olarak kabul edilen bu fonksiyonlar birleştirilerek  program  elde edilir.

Bütün C dili programları main() adında en az bir fonksiyona sahip olmak zorundadır. Main fonksiyonu C programının temelini oluşturur ve program kodunun yürütülmesine bu fonksiyondan başlanır. Programda bulunan bütün fonksiyonlar doğrudan veya dolaylı olarak main fonksiyonu tarafından çağrılır.

Main fonksiyonu program başladığı zaman sistem tarafından çağrılan ilk fonksiyon olduğu için, üzerine düşük seviye görev yüklenir. Çoğu durumda main fonksiyonun işlevi programı başlangıç durumuna getirmek ve fonksiyonlar arası ilişkileri düzenlemekten öteye geçmez.

Bir gömülü C’nin en basit şekli aşağıdaki gibidir.

#include <stdio.h>

int main()
{
           printf ("HELLO WORD"); /* klasik C test programı*/
           while(1); // sonsuza kadar işle
           return 0;
}

Bu program “HELLO WORD” ifadesini seri port olarak tanımlanmış çıkışa gönderecek ve işlemci resetlenene kadar program askıya alınacaktır.

Anlatımımıza yukarıdaki örneği incelerek devam edelim.

#include <stdio.h> ifadesi ile  C’nin standart Giriş/Çıkış kütüphanesini (stdio.h) programa dahil edilmiş olur. Derleyici stdio.h dosyasını bu programın bir parçasıymış gibi algılar. Böylece bu kütüphanede tanımlanmış bütün tür, komut ve fonksiyonlar program içerisinde kullanılır hale getirilmiş olur.  Bu sayede stdio kütüphanesinde tanımlanmış bir fonksiyon olan printf() fonksiyonunu program içerisinde kullanabildik.

return 0; ifadesi program sonlandığında işletim sistemine (eğer işletim sistemi kullanılıyorsa) 0 değerini gönderir.

 

GENEL C KURALLARI

1)  Her bir main() adında en az bir fonksiyona sahip olmak zorundadır. Programın yürütülmesine main() fonksiyonundan başlanır.

 

2)  Programda bir ifadenin sonunu göstermek için  Noktalı virgü (;)l  kullanılır. Bir ifadenin en basit formu noktalı virgülün kendisidir.

init_platform();
printf("Hello World\n\r");
cleanup_platform();

 

3)  Bir fonksiyon içeriğinin başlangıç ve bitiş noktalarını belirtmek için süslü parantez {} kullanılır.

int main()
{

}

 

4)   “  “ çift tırnak bir metin dizesinin başlangıç ve bitiş noktasını göstermek için kullanılır.

char isim[]= “FPGA”;

 

5)  Programa eklenecek başlık dosyaları için #include deyimi kullanılır. #include deyimi sonlandırılması için  noktalı virgül (;) kullanılmaz. Eklenecek dosya ismi < > veya “  “ simgelerinin arasına yazılır. Genel kullanım ANSI C'deki standart başlıkları için < > simgesinin, kullanıcı tarafından oluşturulan başlık dosyalar için “ “ simgesinin kullanılması şeklindedir.

#include < stdio.h>
#include  “platform.h”

ANSI C'deki standart başlık dosyaları şunlardır:

assert.h      locale.h     stddef.h
ctype.h        math.h       stdio.h
errno.h       setjmp.h    stdlib.h
float.h         signal.h      string.h
limits.h       stdarg.h     time.h


6) Tanımlayıcılar: Değişken veya fonksiyon isimlerine tanımlayıcı adı verilir. Tanımlayıcı adları harf veya _ altçizgi ile başlamak zorundadır. Ardından harf, rakam veya alt çizgi ile devam ederler.

Tanımlayıcı isimleri belirlenirken aşağıdaki yöntemler tavsiye edilir.

Tanımlayıcılar küçük büyük harf duyarlılıkları vardır. Aşağıda ifadelerdeki temp tanımlayıcıları birbirinden faklıdır.

int temp;
int Temp;
int TEMP;

Tanımlayıcılar herhangi bir uzunlukta olabilir. Bu kullanılan derleyiciye bağlıdır. Bazı derleyiciler yalnızca sınırlı sayıda karakteri tanırlar. (ilk 25 karakter gibi) Bu yüzden tanımlayıcı tanımlarken dikkatli olunması gerekir.

 

7)   C dili serbest biçimli bir dildir. Bu yüzden program içerisindeki tırnak içerisinde gösterilen boşluklar hariç diğer bütün boşluklar göz ardı edilir. Programdaki boşlukların düzenli olması programın anlaşılabilir olmasını sağlar.

Düzensiz kod

int main(){printf ("Selam C"); while(1); /*sonsuza kadar işle*/ return 0;}

Düzenli kod

int main()
{
      printf ("Selam C");
      while(1); /*sonsuza kadar işle*/
      return 0;
}

 

8)  C’de açıklamalar için  // veya /*...*/   simgeleri  kullanılır.  Açıklamalar  yazılan koda dahil olmayıp, programlayıcının not ve uyarılarını içerir. Açıklamalar programlar için kritik olup, programın okunabilirliği artırır. Programa eklenmiş doğru yorumlar programın diğer programlayıcılar tarafından anlaşılması sağlar yada daha sonra kendi programlayıcısının programda ne yaptığını hatırlamasına yardımcı olur.

Geleneksel yorum sınırlayışı /*…*/ ‘dır. Slash-yıldız blok yorumları oluşturmak için kullanılır. Derleyici bir "/*" ifadesi ile karşılaştığında "“*/”" ifadesine kadar olan bütün metinleri açıklama olarak kabul eder.

/* bu ifadeler
daha sonra kullanılacak */
return 0;

Diğer taraftan Slash-slash (//) sınırlayıcısı sadece önüne konulduğu satırın sonuna kadar olan metinleri yorum olarak algılattırır.

//bu ifadeler
//daha sonra kullanılacak

Bu iki sınırlayıcı arasındaki fark // simgesi tek bir satırı kapsarken, /*..*/ simgesi ise bu iki ifade arasındaki metinleri (birden çok satır olsa bile) kapsaması.

 

9)  C dilinde derleyici için özel anlama sahip sözcükler bulunur. Bu sözcüklere özel amaçlı sözcükler denir. Özel amaçlı sözcükler tanımlayıcı olarak kullanılamazlar ve program içerisinde küçük harflerle yazılmaları gerekir. Aşağıda C de kullanılan özel amaçlı sözcükleri bulabilirsiniz.

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.