C Programlama Dili'ne Başlangıç

C dili hakkında bilgiler, kaynaklar, dokümanlar ve örneklerin bulunduğu bölümümüz.
Cevapla
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 832
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 456 kez
Teşekkür edildi: 308 kez
İletişim:

C Programlama Dili'ne Başlangıç

Mesaj gönderen admin »

Resim

C Programlama Dili'ne Başlangıç

Konu Başlıkları :
  • Programlama Nedir?
  • Programlama Dillerinin Kısa Tarihçesi
  • Derleyici (Compiler) ve Yorumlayıcı (Interpreter) Nedir?
  • C'de Program Yazmak için gerekli araçlar ve adresler
  • C Programlama Dili
  • İlk C Programım (Merhaba Dunya)
  • C Dilinde Kullanılan Anahtar Kelimeler
Bu ilk konuda öncelikle "Programlama Dili' nedir ? ,"Programlama Dillerinin Kısa Tarihçesi", "Bir C programının derlenmesi ve çalıştırılabilmesi için neler gerekli ?" "Internet'te bulabileceğimiz derleyiciler" ve İlk C Programlama alıştırmasından bahsedeceğim.

Programlama Nedir?

Bilgisayar temel olarak hardware(donanım) ve software(yazılım) olarak iki kavramdan oluşmaktadır.
Kısaca programlar için bilgisayar donanımını kontrol eden komut kümelerinin bütünü denilebilir. Programlama dili ise bu komut kümeleriyle programcının bilgisayara ne yaptırması gerektiğinin tek tipleştirilmiş yoludur(yorumu) diye tanımlayabiliriz.

Programlama dilleri, programcının bilgisayara hangi veri üzerinde işlem yapacağını, verinin nasıl depolanıp iletileceğini, hangi koşullarda hangi işlemlerin yapılacağını tam olarak anlatmasını sağlar. Programcının işlemi yaparken uyguladığı programlama dilinin söz dizimine (syntax) uymak zorundadır. Her programlama dilinin kendine özgür bir söz dizimi vardır.

Şu ana kadar 150’den fazla programlama dili yapılmıştır. Bunlardan bazıları Pascal, Turbo Pascal, Basic, qBasic, C, C#, C++, Java, Cobol, Perl, Python, Ada, Fortran, Delphi , Python , Ruby , Go ve daha niceleri..

Programlama Dillerinin Kısa Tarihçesi
Programlama dilinin kökleri 1800'lü yıllara kadar gitmektedir. Ancak bu programlama dili ile yapılanlar bilgisayar programları değillerdi. Bizim bildiğimiz anlamda programlama dilleri, bilgisayarların ilk dönemlerinde yaratılan ve kullanımı çok zor olan makine dili ve assembly dilleriyle başlayan süreçtir. Modern programlama dillerinin tarihi 1940 yılına kadar dayanır. 1940’larda geliştirilen ilk elektronik bilgisayarlar için Assembly dili ile programlar geliştirilirken, bu dilin kullanımının zor olduğu görülmüş ve diğer programlama dilleri geliştirilmiştir. Konrad Zuse 1943-1945 yılları arasında Plankalkül adında bir programlama dili geliştirmiştir. Fakat o yıllarda bu dil için bir derleyici tasarlanmamıştır. Alan Turing, John von Neumann, John Mauchly, J. Presper Eckert ve Herman Goldstine tarafından geliştirilmiş olan ENIAC Coding System ve C10 ilk programla dillerinden kabul edilirler.
1950-1960 yılları arasında 4 önemli programalama dili geliştirilmiştir. Bunlar FORTRAN, LISP, COBOL ve ALGOL'dur. 1960-1978 Oslo’daki Norveç Hesaplama Merkezi tarafından 1962-1967 yılları arasında geliştirilen Simula ilk nesneye-yönelik programlama dilidir. 1964 yılında John George Kemeny ve Thomas Eugene Kurtz tarafından BASIC (Beginner’s All-purpose Symbolic Instruction Code) dili geliştirilmiştir. PASCAL dili Niklaus Wirth tarafından 1968-1969 yılları arasında geliştirilmiş ve 1970’te yayınlanmıştır. C programlama dili ise 1972 yılında Bell Laboratuarlarında Dennis Ritchie tarafından geliştirilmiştir (Dennis Ritchie daha önce Ken Thompson ile birlikte UNIX işletim sistemi ve B programlama dili üzerinde de çalışmıştır). Yine o yıllarda geliştirilen önemli dillerden biriside 1978 tarihli SQL dilidir.
1980 ve 1990 yıllarında ise Nesne Tabanlı Programlama hayatımıza girmiş ve halen geçerliliğini koruyan dillerin ortaya çıkmıştır. Bu dönemde ortaya çıkan önemli diller : C++ (1980) , Perl (1987) , Tcl (1988) , Ada (1983)[/b]
Windows tabanlı uygulama geliştirmeyi sağlayan Visual Basic, Microsoft tarafından 1991 yılında piyasaya sürüldü. Yine aynı yıl Java dili (1991), Sun Microsystems mühendislerinden James Gosling tarafından geliştirildi. Dinamik web sayfalarının yaratılmasında kullanılan PHP dili Rasmus Lerdorf tarafından 1995’te geliştirildi.
Ve 2000'lerde geliştirilmiş diller : C# (2001) , F# (2002) , Scala (2003) , Factor (2003), Go (2009) ... .
Derleyici (Compiler) ve Yorumlayıcı (Interpreter) Nedir?

Bazı programlama dillerinde kaynak kodları derleme ve link işlemleri sonrasında makina kodlarına çevrilir ve .exe uzantılı bir dosya elde edilir. Elde edilen bu dosya hangi bilgisayarda olursa olsun ek bir program yükleme gereksinimi olmadan çalıştırılabilir. C, derleyici programlama dilleri olarak adlandırılan bu grubun içinde yer almaktadır. Diğer grup ise yorumlayıcı programlama dilleridir. Bu dillerde yazılan programların çalışabilmeleri için kaynak kodlarının bir yorumlayıcı tarafından yorumlanması gerektiğinden, programın çalışacağı her bilgisayara ayrıca yorumlayıcı bir program yüklenmelidir. Yorumlayıcı programın kaynak kodunu satır satır makine koduna çevirerek çalıştırır. Örneğin Java programlama dili bir yorumlayıcı programlama dilidir. Derleyici programı bir kez derlendikten sonra makina kodlarına çevrildiğinden, yorumlayıcı program ise her çalıştığında yorumlanması gerektiğinden, derleyici program daha hızlı çalışır.

Program yazmak için gerekli araçlar ve temin edebileceğiniz adresler

Program yazabilmek için temelde hiçbir şeye ihtiyacınız yoktur. Program yazmak için Windows’un not defterini veya Linux'da Gedit,notepad,leafpad gibi programlarda kullanılabilir. Önemli olan yazılan programın derlenmesidir. Derleme işlemine “compile” ve derlemeyi yapan derleyiciyeyse “compiler” denir. C Programalama dili için internet üzerinden birçok Compiler bulabilirsiniz.

C programları veya kaynak kodları (source code) uzantısı .c olan dosyalarda saklanır. Kaynak kod, bir C derleyicisi (C compiler) ile nesne koduna (object code) daha sonra uygun bir bağlayıcı (linker) programı ile işletim sistemininde çalıştırılabilen (executable) bir koda dönüştürülür.


Derleyiciler :

GCC derleyicisi için :

Kod: Tümünü seç

http://www.gnu.org/software/gcc/index.html
Bloodshed Dev-C++ derleyicisi için :

Kod: Tümünü seç

http://www.bloodshed.net/
CodeBlocks IDE için :

Kod: Tümünü seç

http://www.codeblocks.org/downloads/
C Programlama Dili

Resim
C Programlama Dili genel amaçlı orta seviyeli ve yapısal bir programlama dilidir. 1969-1973 yılları arasında Bell Laboratuvarlarında Dennis Ritchie isimli araştırmacı tarafından Unix işletim sistemi ile kullanılmak için tasarlanmıştır. C, özellikle sistem programlamada sembolik makine dili (Asembler) ile tercih edilmektedir. İşletim sistemleri, derleyiciler ve debug gibi aşağı seviyeli sistem programlarının yazılımında yoğun olarak C programlama dili kullanılır. C'nin yayılması ve gelişmesi, büyük bir bölümü C dili ile yazılan UNIX işletim sisteminin popüler olmasıyla başlamıştır. C Programlama Dili, hemen her alanda kullanılmaktadır. Günümüzde nesneye yönelik programlama dilleri (C++, Java) ve script dilleri (JavaScript, JavaApplet, PHP) gibi programlama dilleri C Programlama Dili'nden esinlenmiştir. C taşınabilir (portable) bir dildir. Yani herhangi bir C programı hiçbir değişikliğe uğramadan, veya çok az bir değişimle, başka bir derleyicide ve/veya işletim sisteminde derlenebilir. Örneğin, Windows işletim sistemlerinde yazılan bir C kodu, Linux, UNIX veya VAX gibi işletim sistemlerinde de derlenebilir. Taşınabilirlik, herkesin kabul ettiği bir standart ile gerçekleştirilebilir. Bugün, C Programla Dili için American National Standards Institute (ANSI) kurumunun Mart 2000'de belirlediği C99: ISO/IEC 9899:1999 standartı Standart C olarak kabul edilmiştir. 1980'li yıllarda IBM firmasının kendi ürettiği kişisel bilgisayarda kullanmak üzere C dilini seçmesiyle dilin popülaritesi artmıştır.
C Programlama Dilinin Popülaritesinin temel nedenleri :
  • C, en yaygın dildir. Popülarite si yüksektir.
  • C, iyi bir geliştirme ortamına sahiptir ve esnektir.
  • C, özel komut ve veri tipi tanımlamasına izin verir.
  • C, portable(taşınabilir) bir dildir.
  • C, gelişimini tamamlamış ve standardı oluşmuş bir dildir.
  • C, yapısal bir dildir. C kodları fonksiyon olarak adlandırılan alt programlardan oluşmuştur.
  • C++, Java, JavaScript, JavaApplet, PHP, C#, gibi nice diller C dilinden esinlenmiştir.
İlk C Programım

Kod: Tümünü seç

/* ilk C programim */
#include <stdio.h>
#include <conio.h>
int main()
{
         printf("Merhaba Dunya! Yazilimadasi.com\n");
getch();
}
İlk programımız derlendiğinde aşağıdaki gibi gözükecektir.

Resim

Online olarak bu adreste derleme işlemlerini yapabilirsiniz :

Kod: Tümünü seç

https://www.onlinegdb.com/online_c_compiler
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.

Etiketler:
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 832
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 456 kez
Teşekkür edildi: 308 kez
İletişim:

Re: C Programlama Dili'ne Başlangıç

Mesaj gönderen admin »

İlk Programımız için tanımlama konusu : Nedir bu kodlar?

#include <stdio.h> #include deyimi, programda eklenecek olan başlık dosyanını işaret eder. Bu örnekte verilen başlık dosyası (header file) stdio.h dir. #include <stdio.h> ifadesi stdio.h dosyasının derleme işlemine dahil edileceğini anlatır.
#include <conio.h> getch gibi fonksiyonların tanımlı olduğu kütüphane olduğu için burada conio.h kullanılmıştır. conio.h input-output, gorsellik, text işleme gibi alanlarda kullanılan bir kütüphanedir.
main() özel bir fonksiyondur. Ana program bu dosyada saklanıyor anlamındadır. Kodların yürütülmesine buradan başlanır. Ondan sonra gelen ayraç standarttır. Bir bloğu temsil eder. İki ayraç işareti arasındaki alan main fonksiyonuna ait bir bloğu oluşturur. Programdaki yerinin önemi yoktur. Hangi satırda yazılmış olursa olsun ilk işlenecek bölümdür. Her program main() fonksiyona sahip olmalıdır. main, bir fonksiyon olduğu için () tarafından izlenir ve fonksiyon içerisindeki kodlar { } arasına yazılır.
printf() standart kütüphane bulunan ekrana bilgi yazdırma fonksiyondur. stdio.h bu fonksiyonu kullanmak için programın başına ilave edilmiştir. Çift tırnak işaretleri içerisine yazdığınız herşey printf sayesinde ekrana basılır.
getch() Klavyeden tek bir karakter okur ve girilen değeri ekrana yazmaz. conio.h kütüphanesini kullanır.
Fonksiyon İşlevleri
getchar() Girilen karakteri okuma işlemi için ENTER tuşuna basılması gerekir.
getche() Karakter girilir girilmez okuma işlemi gerçekleşir.
getch() getche() fonksiyonundan tek farkı girilen karakterin ekrana yazılmamasıdır.
putchar() Bir karakteri ekrana yazar.
gets() KLavyeden bir karakter dizisi okur.
puts() Bir karakter dizisini ekrana yazar.
Her komuttan sonra noktalı virgül koymalıyız. Çünkü noktalı virgül C dilinde komut ayracı anlamına gelmektedir.

Yukarıda gördüğünüz ilk C Programımız stdio.h kütüphanesinde tanımlı printf fonksiyonu aracılığıyla "Merhaba Dunya" yazdırmaktadır. Eğer bunu derleyicinizde yazıp derlerseniz ve sonrasında çalıştırırsanız ekrana "Merhaba Dunya" yazılacaktır.

C dilinin genel yazım kuralları

•C dili birden fazla satırdan oluşan açıklama satırlarına izin verir.
•Bu açıklama satırları programın ne iş yaptığı hakkında bilgi verir.
•Açıklama satırları /* ile başlayıp */ ile sona erer.
•C de her bir işletilebilir ifade ; ile sonlandırılır.
•Bütün anahtar kelimeler ve komutlar küçük harfle yazılır.
•C dili büyük-küçük harf duyarlıdır.

C Dilinde Kullanılan Anahtar Kelimeler

C dilinde anahtar sözcükler küçük harfle yazılır. Anahtar sözcükler tanıtıcı sözcük olarak kullanılamazlar; kendilerine özgü kullanım alanları vardır. C dilindeki bütün anahtar sözcüklerin sınıflandırılmış bir listesi aşağıda verilmiştir. ANSI standartlarına göre C'de kullanılmakta olan toplam 32 adet anahtar kelime vardır. Bu kelimeler değişken ve fonksiyon adı olarak kullanılamaz.

Resim

C dilindeki Anahtar Kelimelerin Açıklamaları :

Auto
Auto anahtar sözcüğü otomatik değişkenleri bildirir. Örneğin:
auto int var1;
Bu ifade, var1’in auto saklama sınıfı ve int türünde bir değişken olduğunu gösterir.

İşlev gövdelerinde bildirilen değişkenler varsayılan olarak otomatiktir. Bir işlev her çalıştırıldığında yeniden oluşturulurlar.

Otomatik değişkenler bir işleve yerel olduğundan, aynı zamanda yerel değişkenler olarak da adlandırılırlar.

break and continue
Break ifadesi, programın en içten (while, do, for veya switch) en dışa atlamasını sağlar.

continue ifadesi, döngü içindeki belirli ifadeleri atlar.

Kod: Tümünü seç

for (i=1;i<=10;++i)
{
   if (i==3)
   continue;
   if (i==7)
   break;
   printf("%d ",i);
} 
Çıktı :

Kod: Tümünü seç

1 2 4 5 6
İ, 3’e eşit olduğunda, continue ifadesi yürürlüğe girer ve 3 değerini atlar. İ, 7’ye eşit olduğunda, break ifadesi yürürlüğe girer ve for döngüsünü sonlandırır.

switch, case ve default
Switch ve case deyimi birçok blok arasında “bir deyim bloğu” çalıştırılması gerektiğinde kullanılır.
Örnek :

Kod: Tümünü seç

switch(expression) 
{     
case '1':     //1 olduğunda çalıştırılacak ifadeler     
break;     
case '5':     //5 olduğunda çalıştırılacak ifadeler     
break;     
default:     //varsayılan olduğunda çalıştırılacak bazı ifadeler;
 }
char
Char anahtar sözcüğü bir karakter değişkeni bildirir.
Örnek :

char alfabe;
Burada, alfabe bir karakter tipi değişkenidir.

const
Bir tanımlayıcı, const anahtar sözcüğü kullanılarak sabit olarak bildirilebilir.

Kod: Tümünü seç

const int a = 5;
do…while
int i;
do 
{
   print("%d ",i);
   i++;
}
while (i<10)
double ve float
İkili ve değişkenli anahtar kelimeler, tür değişkenlerini bildirmek için kullanılır. Örneğin:

float number;
double longNumber;
Burada sayı, tek duyarlıklı ondalıklı sayı değişkeni iken, longNumber, çift duyarlıklı ondalıklı sayı değişkenidir.

if ve else
C programlamada, karar vermek if ve else kullanılıyor.

if (i == 1) printf("i is 1.") else prinf("i is not 1.")
Eğer i değeri 1’den farklı ise, çıktısı şöyle olur:

Kod: Tümünü seç

i is not 1
enum
Numaralandırma tipleri, C programlamasında enum anahtar kelimesi kullanılarak bildirilmiştir.
Örnek :

enum suit
{
hearts;
spades;
clubs;
diamonds;
};
extern
Extern anahtar sözcüğü, bir değişkenin veya işlevin, bildirilen dosyanın dışında harici bir bağlantıya sahip olduğunu bildirir.

for
C programlamasında üç tür döngü vardır. For döngüsü, işlemlerin tekrar sayısının önceden belli olduğu durumlarda kullanılır. Örneğin:

Kod: Tümünü seç

for (i=0; i< 9;++i)
{
  printf("%d ",i);
}
Çıktısı :

Kod: Tümünü seç

0 1 2 3 4 5 6 7 8
goto
Goto anahtar sözcüğü, bir işlev içindeki etiketli bir ifadeye koşulsuz atlama için kullanılır. Örneğin:

Kod: Tümünü seç

for(i=1; i<5; ++i)
{
    if (i==10)
    goto error;
}
printf("i is not 10");
error:
    printf("Error, count cannot be 10.");
Çıktısı :

Kod: Tümünü seç

Error, count cannot be 10.
int
İnt anahtar sözcüğü tamsayı tipi değişkeni bildirir. Örneğin:

int count;
Burada, count bir tamsayı değişkenidir.

short, long, signed ve unsigned
Bun anahtar sözcükler yeni bir tür vermek için temel veri türünün anlamını değiştiren tür değiştiricileridir.
short int smallInteger;
long int bigInteger;
signed int normalInteger;
unsigned int positiveInteger;
Resim

return
Return anahtar sözcüğü işlevi sonlandırır ve değeri döndürür.

Kod: Tümünü seç

int func()
{
    int b = 5;
    return b;
}
sizeof
Sizeof anahtar sözcüğü verinin boyutunu değerlendirir.

Kod: Tümünü seç

#include <stdio.h>
int main()
{
    printf("%u bytes.",sizeof(char));
}
Çıktısı :

Kod: Tümünü seç

1 bytes.
register
Register anahtar sözcüğü, normal değişkenlerden çok daha hızlı olan register değişkenleri oluşturur.

register int var1;
static
Statik anahtar kelime bir statik değişken oluşturur. Statik değişkenlerin değeri programın sonuna kadar devam eder. Örneğin:

static int var;
struct
Struct anahtar sözcüğü bir yapı bildirmek için kullanılır. Bir yapı, farklı türdeki değişkenleri tek bir ad altında tutabilir.

Kod: Tümünü seç

struct student{
    char name[80];
     float marks;
     int age;
}s1, s2;
typedef
Typedef anahtar sözcüğü bir türü açıkça tanımlayıcıyla ilişkilendirmek için kullanılır.

typedef float kg;
kg bear, tiger;
union
Bir Union, farklı değişken türlerini tek bir ad altında gruplamak için kullanılır.

Kod: Tümünü seç

union student 
{
    char name[80];
    float marks;
    int age;
}
void
Void anahtar sözcüğü, bir işlevin herhangi bir değer döndürmediğini gösterir.

Kod: Tümünü seç

void testFunction(int a)
{
  .....
}
Burada, testFunction () fonksiyonu bir değer döndüremiyor çünkü dönüş tipi geçersiz.

volatile
Volatile , geçici-uçucu nesneler oluşturmak için kullanılır. Bir geçici nesne, donanım tarafından belirsiz bir şekilde değiştirilebilir.

const volatile number
Burada sayı geçici bir nesnedir.

Sayı sabit bir değişken olduğundan, program onu değiştiremez. Ancak, donanım geçici bir nesne olduğundan onu değiştirebilmektedir.
Anahtar kelimeler için kaynak : cdersleri.com
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.
Cevapla

“C Programlama” sayfasına dön