C programlama dili anlamı nedir

C programlama dili anlamı nedir Nedir?

C programlama dili anlamı nedir Nedir?, C programlama dili anlamı nedir Nerededir?, C programlama dili anlamı nedir Hakkında Bilgi?, C programlama dili anlamı nedir Analizi? C programlama dili anlamı nedir ilgili C programlama dili anlamı nedir ile ilgili bilgileri sitemizde bulabilirsiniz.  C programlama dili anlamı nedir ile ilgili daha detaylı bilgi almak ve iletişime geçmek için sayfamıza tıklayabilirsiniz. C programlama dili anlamı nedir Ne Anlama Gelir C programlama dili anlamı nedir Anlamı C programlama dili anlamı nedir Nedir C programlama dili anlamı nedir Ne Anlam Taşır C programlama dili anlamı nedir Neye İşarettir C programlama dili anlamı nedir Tabiri C programlama dili anlamı nedir Yorumu 

C programlama dili anlamı nedir Kelimesi

Lütfen C programlama dili anlamı nedir Kelimesi İle ilgili Daha Fazla Bilgi Almak İçin Kategoriler Sayfamıza Bakınız. C programlama dili anlamı nedir İlgili Sözlük Kelimeler Listesi C programlama dili anlamı nedir Kelimesinin Anlamı? C programlama dili anlamı nedir Ne Demek? ,C programlama dili anlamı nedir Ne Demektir? C programlama dili anlamı nedir Ne Demektir? C programlama dili anlamı nedir Analizi? , C programlama dili anlamı nedir Anlamı Nedir?,C programlama dili anlamı nedir Ne Demektir? , C programlama dili anlamı nedir Açıklaması Nedir? ,C programlama dili anlamı nedir Cevabı Nedir?,C programlama dili anlamı nedir Kelimesinin Anlamı?,C programlama dili anlamı nedir Kelimesinin Anlamı Nedir? ,C programlama dili anlamı nedir Kelimesinin Anlamı Ne demek?,C programlama dili anlamı nedir Kelimesinin Anlamı Ne demektir?

C programlama dili anlamı nedir Bu Kelimeyi Kediniz Aradınız Ve Bulamadınız

C programlama dili anlamı nedir Kelimesinin Anlamı Nedir? C programlama dili anlamı nedir Kelimesinin Anlamı Ne demek? , C programlama dili anlamı nedir Kelimesinin Anlamı Ne demektir?

Demek Ne Demek, Nedir? Tdk'ye Göre Anlamı

Demek kelimesi, dilimizde oldukça kullanılan kelimelerden birisidir. TDK'ye göre, demek kelimesi anlamı şu şekildedir:

Söylemek, söz söylemek -  Ad vermek -  Bir dilde karşılığı olmak -  Herhangi bir ses çıkarmak -  Herhangi bir kanıya, yargıya varmak -  Düşünmek - Oranlamak  - Ummak, - Erişmek -  Bir işe kalkışmak, yeltenmek -  Saymak, kabul etmek -  bir şey anlamına gelmek -  öyle mi,  - yani, anlaşılan -  inanılmayan, beklenmeyen durumlarda kullanılan pekiştirme veya şaşma sözü

C programlama dili anlamı nedir Bu Kelimeyi Kediniz Aradınız Ve Bulamadığınız İçin Boş Safyadır

Demek Kelimesi Cümle İçerisinde Kullanımı

Eskilerin dediği gibi beşer, şaşar. -  Muşmulaya döngel de derler.

Kamer `ay` demektir. -  Küt dedi, düştü. -  Bu işe herkes ne der? -  Güzellik desen onda, zenginlik desen onda. -  Bundan sonra gelir mi dersin? -  Saat yedi dedi mi uyanırım. - Kımıldanayım deme, kurşunu yersin. Ağzını açayım deme, çok fena olursun. - Yarım milyon dediğin nedir? - Okuryazar olmak adam olmak demek değildir. -  Vay! Beni kovuyorsun demek, pekâlâ! C programlama dili anlamı nedir - Demek gideceksin.

Demek Kelimesi Kullanılan Atasözü Ve Deyimler

- dediği çıkmak - dediğinden (dışarı) çıkmak - dediğine gelmek

 - dedi mi - deme! - demediğini bırakmamak (veya koymamak) - deme gitsin  - demek istemek , - demek ki (veya demek oluyor ki) , - demek olmak , - dememek - der oğlu der - deyip de geçmemek - diyecek yok - dediği çıkmak , {buraya- - dediğinden (dışarı) çıkmak - dediğine gelmek i, - dedi mi , {buraya- - deme! - demediğini bırakmamak (veya koymamak) - deme gitsin , - demek istemek - demek ki (veya demek oluyor ki) - demek olmak - dememek - der oğlu der - deyip de geçmemek - diyecek yok

C programlama dili anlamı nedir

C programlama dili anlamı nedir Nedir? C programlama dili anlamı nedir Ne demek? , C programlama dili anlamı nedir Kelimesi İle ilgili Daha Fazla Bilgi , Almak İçin Kategoriler Sayfamıza Bakınız. İlgili Sözlük Kelimeler Listesi

C programlama dili anlamı nedir Kelimesinin Anlamı? C programlama dili anlamı nedir Ne Demek? C programlama dili anlamı nedir Ne Demektir? ,C programlama dili anlamı nedir Analizi? C programlama dili anlamı nedir Anlamı Nedir? C programlama dili anlamı nedir Ne Demektir?, C programlama dili anlamı nedir Açıklaması Nedir? , C programlama dili anlamı nedir Cevabı Nedir? , C programlama dili anlamı nedir Kelimesinin Anlamı?






C programlama dili anlamı nedir

C (programlama dili)

Vikipedi, özgür ansiklopedi
(C programlama dili sayfasından yönlendirildi)
C
ParadigmasıZorunlu (yordamsal), yapısal
İlk çıkışı1972
TasarımcıDennis Ritchie
GeliştiriciAslen:
Dennis Ritchie & Bell Labs
ANSI C: ANSI X3J11
ISO C: ISO/IEC JTC1/SC22/WG14
Kararlı sürümC99 (Mart 2000)
Önizleme sürümüC1X
Tip sistemizayıf, statik, belirgin
Önemli uygulamalarıClang, GCC, MSVC, Turbo C, Watcom C
LehçeleriCyclone, Unified Parallel C, Split-C, Cilk, C*
EtkilendikleriB (BCPL, CPL), ALGOL 68, Çevirici, PL/I, FORTRAN
EtkiledikleriBirçok: AMPL, AWK, csh, C++, C-- , C#, Objective-C, BitC, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Pike, Processing, Python, Comfy
İşletim sistemiÇapraz platform
Olağan dosya uzantıları.h .c

AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritchie tarafından UNIX İşletim Sistemi'ni geliştirebilmek amacıyla B dilinden türetilmiş yapısal bir programlama dilidir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin (Microsoft Windows, GNU/Linux, BSD, Minix) yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir.[kaynak belirtilmeli] Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

C Dilinin geçmişi[değiştir | kaynağı değiştir]

C Dilinin erken tarihi[değiştir | kaynağı değiştir]

C'nin ilk gelişme safhaları 1969 ile 1974 arasında AT&T Bell Laboratuvarları'nda gerçekleşti. Ritchie'ye göre, en yaratıcı devre 1972 idi. Dilin pek çok özelliği "B" adlı bir dilden türediği için, yeni dile "C" adı verildi. B dili yorumlanan bir dildi ve veri tipi desteği yoktu. Yeni donanımların farklı veri tiplerini desteklemesi ve yorumlanan dillerin çalışma zamanında görece yavaş olması sebebi ile C dili tip desteği eklenmiş ve derlenen B olarak geliştirildi.

"B" adının kökeni konusunda ise söylentiler değişik: Ken Thompson B'nin BCPL programlama dilinden türediğini söylemektedir ancak Thompson eşi Bonnie'nin onuruna adını Bon koyduğu bir programlama dili de geliştirmiştir.

1973'e kadar C yeterince güçlü bir hale gelmiş ve ilk başta PDP-11/20 assembly dili ile yazılan UNIX'in çekirdeğinin büyük kısmı C ile yeniden yazılmıştır. Böylece UNIX, çekirdeği bir assembly dili ile yazılmayan ilk işletim sistemlerinden biri olmuştur.

C dilinin geçmişi[değiştir | kaynağı değiştir]

1978'de Ritchie ve Brian Kernighan The C Programming Language (C Programlama Dili) kitabının ilk baskısını yayımladılar.[1] C programcıları tarafından "K&R" olarak bilinen bu kitap yıllar boyunca C dilinin gayriresmî standardı olarak kullanıldı. C'nin bu sürümü bugün "K&R C" olarak adlandırılır. Bu kitabın ikinci baskısı ise aşağıda anlatılan ANSI C standardını içerir.[2]

K&R dilde şu değişiklikleri yaptı:

  • struct veri tipleri eklendi
  • long int veri tipi eklendi
  • unsigned int veri tipi eklendi
  • =+ operatörü += olarak değiştirildi

K&R C genellikle tüm C derleyicilerinin desteklemek zorunda olduğu dilin en temel kısmı olarak kabul edilir. Uzun yıllar boyunca, ANSI C'nin kabul edilişinden sonra bile, yüksek taşınabilirlik ((İngilizce) portability) istendiğinde, K&R C, C programcıları tarafından "ortak payda" olarak kabul edilmiştir. Çünkü bazı derleyiciler henüz ANSI C'yi desteklemek üzere güncellenmemişlerdi ve zaten iyi yazılmış bir K&R C programı aynı zamanda ANSI C'yi de destekliyordu.

K&R C'nin yayımlanmasını izleyen yıllar içine dile AT&T'nin derleyicilerinin ve bazı başka bilgisayar üreticileri tarafından desteklenen kimi "gayriresmî" özellikler eklendi. Bunların içinde aşağıdaki özellikler de vardı:

  • void fonksiyonlar ve void * veri tipi
  • struct ya da union veri tipi döndüren fonksiyonlar
  • her bir struct'ın alan adları için ayrı bir ad alanı
  • struct veri tipleri için atama
  • bir nesneyi yazmaya karşı korumalı yapmak için const anahtar sözcüğü
  • standart bir C kütüphanesi
  • enumeration'lar
  • single-precision float tipi

ANSI C ve ISO C dilleri[değiştir | kaynağı değiştir]

1970'lerin sonunda C, en çok kullanılan mikrobilgisayar dili olarak BASIC'in önüne geçmeye başladı. 1980'lerde ise, IBM PC ile kullanılmak üzere benimsenmesiyle birlikte popülaritesi iyice artmaya başladı. Aynı zamanda, Bell Laboratuvarları'nda Bjarne Stroustrup ve iş arkadaşları C'ye nesneye yönelim eklemek üzere çalışmaya başlamışlardı. C bugün UNIX dünyasında en çok kullanılan dil olarak kalırken, Stroustrup'un geliştirip C++ adını verdiği dil Microsoft Windows işletim sisteminde en önemli dil oldu.

1983'te Amerikan Ulusal Standartlar Enstitüsü (ANSI) bir C standardı oluşturmak için bir kurul oluşturdu. Uzun ve yorucu bir çalışmadan sonra, bu kurul standardı 1989'da tamamladı ve standart ANSI X3.159-1989 "Programming Language C (C Programlama Dili)" olarak yayımlandı. Dilin bu versiyonu genellikle ANSI C olarak adlandırılır. 1990'da bu standart, küçük değişikliklerle Uluslararası Standartlar Örgütü (ISO) tarafından da benimsenip ISO/IEC 9899:1990 olarak yayımlandı.

ANSI C'yi oluşturmanın amaçlarıdan biri K&R C'yi içeren ve dile sonradan katılan "gayriresmî" özellikleri de dile katan bir standart oluşturmaktı. Kurul fonksiyon prototiplerini ve daha yetenekli bir önişlemciyi de standarda ekledi.

Bugün artık ANSI C neredeyse tüm derleyiciler tarafından desteklenmektedir. Günümüzde yazılmakta olan C programlarının çoğunluğu ANSI C standardına uygun olarak yazılmaktadır. Yalnızca standart C kullanılarak yazılmış bir program, standarda uyumlu her derleyici ile doğru bir biçimde derlenip çalıştırılabilir. Ancak standart olmayan kütüphaneler kullanılarak yazılmış programlar belli bir platform ya da derleyici gerektirebilirler.

C99[değiştir | kaynağı değiştir]

ANSI standartlaştırma işleminden sonra C dili uzun bir süre oldukça sabit kaldı ancak C++ gelişmeyi sürdürdü. Buna bağlı olarak, 1990'ların sonunda ISO standardı güncellendi ve 1999'da ISO 9899:1999 olarak yayımlandı. 2000 yılının Mart'ında ise, "C99" olarak bilinen bu standart ANSI tarafından da benimsendi.

C99'un yeni özellikleri şöyle özetlenebilir:

  • for ve bunun gibi yineleme ifadelerinde parantez içi ilk deklarasyonlara izin verilmesi

Örneğin for(int i=0; i<10; i++) deyimi c99 da geçerli iken c89 da geçerli değildir...

  • inline fonksiyonlar
  • C++'da olduğu gibi artık değişkenler programın herhangi bir yerinde tanımlanabilirler
  • long long int, boolean, complex gibi yeni veri tipleri
  • değişken uzunluğa sahip diziler
  • C++'dan alınan, // ile başlayan tek satırlık program içi açıklamalar
  • snprintf() gibi yeni kütüphane fonksiyonları
  • stdint.h gibi yeni başlık dosyaları

C99'u bugün GCC ve bazı başka derleyiciler desteklemekteyken, Microsoft ve Borland derleyicilerine C99 desteği eklemekte isteksiz davranmaktadırlar.

"Merhaba, dünya" örneği[değiştir | kaynağı değiştir]

Merhaba, dünya örneği ilk olarak The C Programming Language kitabının birinci baskısında kullanıldı ve birçok programlama kitabında kullanılan tanıtıcı örnek haline geldi. Bu örnek terminal ekranına "merhaba, dünya" yazar.

Kitaptaki kodun orijinal hali:

#include <stdio.h>

main()
{
    printf("merhaba, dünya\n");
}

Standart olarak onaylanan "merhaba, dünya" versiyonu:

#include <stdio.h>

int main()
{
    printf("merhaba, dünya");

    return 0;
}

1. satır : Bir önişlemci komutudur ve daha program derlenmeden önce devreye girerek istenilen değişiklikleri kaynak dosya üzerinde gerçekleştirir. Bu programda stdio.h (standart input-output) başlık dosyasını programa dahil eder. Bu başlık dosyasında standart giriş-çıkış fonksiyonlarının prototipleri mevcuttur. Burada programdaki komutun amacı printf fonskiyonunu programa dahil etmektir.

2. satır : Bu satırda programda işe main fonksiyonun tanımlanmasıyla başlanmıştır. main fonksiyonun C dilinde özel bir amacı vardır. Programın çalışma zamanında başladığı yer main fonksiyonudur.

3. satır : main fonksiyonunun başladığı yeri belirtir.

4. satır : Bu satırda "merhaba, dünya" yazısını (karakter dizisini) ekrana bastırmak için printf fonksiyonu çağrılır ki bu fonksiyonu 1. satırdaki stdio.h başlık dosyası ile programa dahil etmiştik.

5. satır : return kodu main fonksiyonumuzu 0 geri dönüş değeriyle sonlandırır.

6. satır : main fonksiyonunun bittiği yeri belirtir.

Hafıza yönetimi[değiştir | kaynağı değiştir]

Bir programlama dilinin en önemli işlevlerinden biri, belleği ve bellekte depolanan nesneleri yönetmek için olanaklar sağlamaktır. C, nesneler için bellek ayırmanın üç temel yolunu sunar:[3]

  • Statik bellek tahsisi: nesne için alan, derleme zamanında ikili dosyada sağlanır; bu nesnelerin, onları içeren ikili belleğe yüklendiği sürece bir kapsamı(extent) (veya ömrü "lifetime") vardır.
  • Otomatik bellek tahsisi: geçici nesneler yığında(stack) saklanabilir ve bu alan otomatik olarak serbest bırakılır ve bildirildikleri bloktan çıkıldıktan sonra yeniden kullanılabilir.
  • Dinamik bellek ayırma: çalışma zamanında, yığın adı verilen bir bellek bölgesinden mallocgibi kitaplık işlevleri kullanılarak isteğe bağlı boyutta bellek blokları istenebilir; bu bloklar, kütüphane işlevi realloc veya free çağrılarak yeniden kullanım için serbest bırakılıncaya kadar devam eder.

Bu üç yaklaşım, farklı durumlarda uygundur ve çeşitli ödünleşimlere sahiptir. Örneğin, statik bellek tahsisi (allocation), çok az tahsis ek yüküne sahiptir. Otomatik tahsis biraz daha fazla ek yük içerebilir ve dinamik bellek ayırma (tahsisi), hem allocation hem de deallocation için potansiyel olarak büyük bir ek yüke sahip olabilir. Statik nesnelerin kalıcı doğası, işlev (fonksiyon) çağrıları arasında durum bilgilerini korumak için kullanışlıdır. Otomatik ayırmanın kullanımı kolaydır, ancak yığın alanı genellikle statik bellek veya yığın alanından çok daha sınırlı ve geçicidir ve dinamik bellek tahsisi, boyutu yalnızca çalışma zamanında bilinen nesnelerin uygun şekilde tahsis edilmesini sağlar. Çoğu C programı, üçünü de kapsamlı bir şekilde kullanır.

Mümkün olduğunda, otomatik veya statik ayırma genellikle en basitidir, çünkü depolama derleyici tarafından yönetilir ve programcıyı potansiyel olarak hataya açık depolamayı manuel olarak tahsis etme ve serbest bırakma görevinden kurtarır. Ancak, birçok veri yapısının boyutu çalışma zamanında değişebilir ve statik ayırmaların (ve C99'dan önceki otomatik ayırmaların) derleme zamanında sabit bir boyutu olması gerektiğinden, dinamik ayırmanın gerekli olduğu birçok durum vardır.[3] C99 standardından önce, değişken boyutlu diziler bunun yaygın bir örneğiydi. (Dinamik olarak ayrılmış dizilerin bir örneği için mallochakkındaki makaleye bakın.) Kontrolsüz sonuçlarla çalışma zamanında başarısız olabilen otomatik tahsisin aksine, dinamik tahsis işlevleri, gerekli depolama tahsis edilemediğinde bir gösterge (boş gösterici değeri şeklinde) döndürür. (Çok büyük olan statik ayırma, genellikle program yürütmeye başlamadan önce bağlayıcı veya yükleyici tarafından algılanır.)

Aksi belirtilmedikçe, statik nesneler program başlangıcında sıfır veya boş gösterici değerleri içerir. Otomatik ve dinamik olarak tahsis edilen nesneler, yalnızca bir başlangıç değeri açıkça belirtilmişse başlatılır; aksi halde başlangıçta belirsiz değerlere sahiptirler (tipik olarak, depolamada hangi bit deseni bulunursa bulunsun, bu tür için geçerli bir değeri bile temsil etmeyebilir). Program başlatılmamış bir değere erişmeye çalışırsa, sonuçlar tanımsızdır. Birçok modern derleyici bu sorunu tespit etmeye ve uyarmaya çalışır, ancak hem yanlış pozitifler hem de yanlış negatifler oluşabilir.

Yığın bellek tahsisi, mümkün olduğunca yeniden kullanılmak üzere herhangi bir programdaki gerçek kullanımıyla senkronize edilmelidir. Örneğin, bir yığın bellek tahsisine yönelik tek işaretçi kapsam dışına çıkarsa veya açıkça tahsis edilmeden önce değerinin üzerine yazılırsa, bu bellek daha sonra yeniden kullanım için kurtarılamaz ve esasen program tarafından kaybedilir, bu bir bellek sızıntısı olarak bilinen bir olgudur. Tersine, belleğin serbest bırakılması mümkündür, ancak daha sonra başvurulmakta ve bu da öngörülemeyen sonuçlara yol açmaktadır. Tipik olarak, hata belirtileri programın hataya neden olan kodla ilgisi olmayan bir bölümünde belirir ve bu da hatanın teşhis edilmesini zorlaştırır. Bu tür sorunlar, otomatik çöp toplama ile dillerde iyileştirilir.

Kütüphaneler[değiştir | kaynağı değiştir]

C programlama dili, birincil uzantı yöntemi (primary method of extension) olarak kütüphaneleri kullanır. C'de bir kitaplık, tek bir "arşiv" dosyasında bulunan bir dizi işlevdir. Her kütüphane tipik olarak, bir program tarafından kullanılabilecek kütüphane içinde bulunan işlevlerin prototiplerini ve bu işlevlerle kullanılan özel veri türlerinin ve makro sembollerinin bildirimlerini içeren bir başlık dosyasına sahiptir. Bir programın kütüphaneyi kullanabilmesi için, kütüphanenin başlık dosyasını içermesi ve kütüphanenin, çoğu durumda derleyici bayrakları gerektiren programla bağlantılı olması gerekir (örneğin, -lm,"matematik kitaplığını bağla" için kısayol) .[3]

En yaygın C kütüphanesi, ISO ve ANSI C standartları tarafından belirtilen ve her C uygulamasıyla birlikte gelen C standart kütüphanesidir (gömülü sistemler gibi sınırlı ortamları hedefleyen uygulamalar, standart kütüphanenin yalnızca bir alt kümesini sağlayabilir). Bu kütüphane, akış giriş ve çıkışını, bellek ayırmayı, matematiği, karakter dizilerini ve zaman değerlerini destekler. Birkaç ayrı standart başlık (örneğin, stdio.h), bu ve diğer standart kütüphane olanakları için arabirimleri belirtir.

Diğer bir yaygın C kütüphanesi işlevi kümesi, özellikle Unix ve Unix benzeri sistemler için hedeflenen uygulamalar tarafından kullanılanlardır, özellikle çekirdeğe bir arabirim sağlayan işlevlerdir. Bu işlevler, POSIX ve Single UNIX Spesifikasyonu gibi çeşitli standartlarda detaylandırılmıştır.

Birçok program C ile yazıldığından, çok çeşitli başka kütüphaneler de mevcuttur. kütüphaneler genellikle C ile yazılır çünkü C derleyicileri verimli nesne kodu üretir; programcılar daha sonra rutinlerin Java, Perl ve Python gibi daha yüksek seviyeli dillerden kullanılabilmesi için kütüphaneye arayüzler oluşturur.[3]

Dosya işleme ve akışlar[değiştir | kaynağı değiştir]

Dosya girişi ve çıkışı(G/Ç), C dilinin bir parçası değildir, bunun yerine kitaplıklar (C standart kitaplığı gibi) ve bunlarla ilişkili başlık dosyaları (örneğin stdio.h) tarafından işlenir. Dosya işleme, genellikle akışlar aracılığıyla çalışan yüksek seviyeli girdi ve çıktılar aracılığıyla gerçekleştirilir. Bu açıdan bir stream, cihazlardan bağımsız bir veri akışı iken, bir dosya somut bir cihazdır. Üst düzey giriş ve çıkış, bir akışın bir dosyayla ilişkilendirilmesi yoluyla yapılır. C standart kitaplığında, son hedefe gönderilmeden önce verileri depolamak için geçici olarak bir arabellek (bir bellek alanı veya queue) kullanılır. Bu, örneğin sabit sürücü veya yarıiletken sürücü gibi daha yavaş aygıtları beklemek için harcanan süreyi azaltır. Düşük seviyeli giriş ve çıkış işlevleri, standart C kitaplığının bir parçası değildir, ancak genellikle "çıplak metal"(bare metal) programlamanın (çoğu gömülü programlama gibi herhangi bir işletim sisteminden bağımsız programlama) parçasıdır. Birkaç istisna dışında, uygulamalar düşük seviyeli girdi ve çıktı içerir.

Dil araçları[değiştir | kaynağı değiştir]

C programcılarının tanımsız davranışa veya muhtemelen hatalı ifadelere sahip, derleyici tarafından sağlanandan daha büyük bir titizlikle ifadeleri bulmasına ve düzeltmesine yardımcı olmak için bir dizi araç geliştirilmiştir. Tool lint, diğerlerine yol açan ilk türdü.

Otomatik kaynak kodu checking ve auditing herhangi bir dilde faydalıdır ve C için Lint gibi bu tür birçok araç vardır. Yaygın bir uygulama, bir program ilk yazıldığında şüpheli kodu algılamak için Lint kullanmaktır. Bir program Lint'i geçtiğinde, C derleyicisi kullanılarak derlenir. Ayrıca, birçok derleyici isteğe bağlı olarak aslında hata olması muhtemel sözdizimsel olarak geçerli yapılar hakkında uyarabilir. MISRA C, gömülü sistemler için geliştirilmiş, bu tür şüpheli kodlardan kaçınmak için özel bir kurallar dizisidir.[4]

Diziler için sınır denetimi, arabellek taşmasını algılama, serileştirme, dinamik bellek izleme ve otomatik çöp toplama gibi C'nin standart bir parçası olmayan eylemleri gerçekleştirmek için derleyiciler, kitaplıklar ve işletim sistemi düzeyinde mekanizmalar da vardır.

Purify veya Valgrind gibi araçlar ve bellek ayırma işlevlerinin özel sürümlerini içeren kitaplıklarla bağlantı kurma, bellek kullanımındaki çalışma zamanı hatalarını ortaya çıkarmaya yardımcı olabilir.

Kullanım[değiştir | kaynağı değiştir]

C Programlama Dili

Sistem programlamasında kullanım gerekçesi[değiştir | kaynağı değiştir]

C, işletim sistemlerinin ve gömülü sistem uygulamalarının uygulanmasında sistem programlaması için yaygın olarak kullanılmaktadır.[5] Bu birkaç nedenden dolayıdır:

  • Derlemeden sonra oluşturulan kod, pek çok sistem özelliği gerektirmez ve bazı önyükleme kodlarından basit bir şekilde çağrılabilir - yürütmesi kolaydır.
  • C dili deyimleri ve ifadeleri, tipik olarak, hedef işlemci için talimat dizileriyle iyi bir şekilde eşleşir ve sonuç olarak, sistem kaynaklarında düşük bir çalışma zamanı talebi vardır - yürütülmesi hızlıdır.
  • Zengin operatör seti ile C dili, hedef CPU'ların birçok özelliğini kullanabilir. Belirli bir CPU'nun daha ezoterik talimatlara sahip olduğu durumlarda, bu talimatlardan yararlanmak için belki de içsel işlevlerle bir dil varyantı oluşturulabilir - pratik olarak tüm hedef CPU özelliklerini kullanabilir.
  • Dil, yapıların ikili veri blokları üzerine bindirilmesini kolaylaştırarak verilerin anlaşılmasına, gezinmesine ve değiştirilmesine olanak tanır - veri yapıları, hatta dosya sistemleri yazabilir.
  • Dil, tam sayı aritmetiği ve mantığı ve belki de farklı boyutlardaki kayan nokta sayıları için bit işleme dahil olmak üzere zengin bir operatör grubunu destekler - uygun şekilde yapılandırılmış verileri etkili bir şekilde işleyebilir.
  • C oldukça küçük bir dildir, yalnızca bir avuç ifade içerir ve kapsamlı hedef kod oluşturan çok fazla özelliği yoktur - anlaşılırdır.
  • C, ara sıra dünyayı durduran çöp toplama olayları için herhangi bir endişe duymadan, bellek işleme operasyonlarına makul verimlilik ve öngörülebilir zamanlama sağlayan bellek allocation ve deallocation üzerinde doğrudan kontrole sahiptir - öngörülebilir bir performansa sahiptir.
  • Platform donanımına işaretçiler ve type punning ile erişilebilir, böylece sisteme özgü özellikler (örn. Kontrol/Durum Kayıtları, G/Ç kayıtları) (e.g. Control/Status Registers, I/O registers) C ile yazılmış kodla yapılandırılabilir ve kullanılabilir – üzerinde çalıştığı platformla iyi etkileşime girer.
  • Bağlayıcıya ve ortama bağlı olarak, C kodu, Assembly dilinde yazılmış kitaplıkları da çağırabilir ve Assembly dilinden çağrılabilir - diğer alt düzey kodlarla iyi bir şekilde birlikte çalışır.
  • C ve onun arama kuralları ve bağlayıcı yapıları, hem C'ye hem de C'den yapılan aramalarla birlikte diğer yüksek seviyeli dillerle birlikte yaygın olarak kullanılır - diğer yüksek seviyeli kodlarla iyi bir şekilde birlikte çalışır.
  • C, kütüphaneler, çerçeveler, açık kaynak derleyiciler, hata ayıklayıcılar ve yardımcı programlar dahil olmak üzere çok ergin ve geniş bir ekosisteme sahiptir ve fiili standarttır. Sürücülerin C'de zaten mevcut olması veya bir C derleyicisinin arka ucuna(back-end) benzer bir CPU mimarisi olması muhtemeldir, bu nedenle başka bir dil seçmek için azaltılmış teşvik vardır.

Bir kez web geliştirme için kullanıldı[değiştir | kaynağı değiştir]

Tarihsel olarak, C bazen web uygulaması, sunucu ve tarayıcı arasında bilgi için bir "ağ geçidi" olarak Ortak Ağ Geçidi Arayüzü(Common Gateway Interface) (CGI) kullanılarak web geliştirme için kullanılmıştır.[6] C, hızı, kararlılığı ve neredeyse evrensel kullanılabilirliği nedeniyle yorumlanan (interpreted) diller yerine seçilmiş olabilir.[7] Web geliştirmenin C'de yapılması artık yaygın bir uygulama değildir[8] ve diğer birçok web geliştirme aracı mevcuttur.

Diğer bazı dillerin kendileri C ile yazılmıştır[değiştir | kaynağı değiştir]

C'nin geniş kullanılabilirliğinin ve verimliliğinin bir sonucu, diğer programlama dillerinin derleyicileri, kitaplıkları ve yorumlayıcılarının genellikle C'de uygulanmasıdır.[9] Örneğin Python,[10]Perl,[11] Ruby,[12] ve PHP[13] referans uygulamaları C ile yazılmıştır.

Hesaplama açısından yoğun kitaplıklar için kullanılır[değiştir | kaynağı değiştir]

C, programcıların algoritmaların ve veri yapılarının verimli uygulamalarını oluşturmalarını sağlar, çünkü donanımdan soyutlama katmanı incedir ve ek yükü düşüktür, bu da hesaplama açısından yoğun programlar için önemli bir kriterdir. Örneğin, GNU Çoklu Hassas Aritmetik Kitaplığı, GNU Bilimsel Kitaplığı, Mathematica ve MATLAB tamamen veya kısmen C dilinde yazılmıştır. Birçok dil, C'de kitaplık işlevlerini çağırmayı destekler. Örneğin, Python tabanlı framework NumPy, yüksek performans ve donanım etkileşimi yönleri için C'yi kullanır.

Ara dil olarak C[değiştir | kaynağı değiştir]

C bazen diğer dillerin uygulamaları tarafından bir ara dil olarak kullanılır. Bu yaklaşım taşınabilirlik veya kolaylık için kullanılabilir; C'yi bir ara dil olarak kullanarak, makineye özel ek kod oluşturucular gerekli değildir. C, oluşturulan kodun derlenmesini destekleyen, satır numarası önişlemci yönergeleri ve başlatıcı listelerinin sonunda isteğe bağlı gereksiz virgüller gibi bazı özelliklere sahiptir. Bununla birlikte, C'nin bazı eksiklikleri, C-- gibi ara diller olarak kullanılmak üzere özel olarak tasarlanmış diğer C-tabanlı dillerin geliştirilmesine yol açmıştır. Ayrıca, çağdaş büyük derleyiciler GCC ve LLVM'nin her ikisi de C olmayan bir ara temsile sahiptir ve bu derleyiciler, C dahil birçok dil için ön uçları (front ends) destekler.

Son kullanıcı uygulamaları[değiştir | kaynağı değiştir]

C ayrıca son kullanıcı uygulamalarını uygulamak için yaygın olarak kullanılmaktadır. Bununla birlikte, bu tür uygulamalar daha yeni, daha yüksek seviyeli dillerde de yazılabilir.

Sınırlamalar[değiştir | kaynağı değiştir]

the power of assembly language and the convenience of ... assembly language

Dennis Ritchie[14]

C popüler, etkili ve son derece başarılı olmasına rağmen, aşağıdakiler de dahil olmak üzere dezavantajları vardır:

  • malloc ve free ile standart dinamik bellek işleme hataya açıktır. Hatalar şunları içerir: Bellek ayrıldığında ancak serbest bırakılmadığında bellek sızdırıyor; ve önceden boşaltılan belleğe erişim.
  • İşaretçilerin kullanımı ve belleğin doğrudan manipülasyonu, belki de programcı hatası veya yetersiz veri denetimi nedeniyle belleğin bozulmasının mümkün olduğu anlamına gelir.
  • Bazı tip kontrolü vardır, ancak değişken fonksiyonlar gibi alanlar için geçerli değildir ve tip kontrolü önemsiz veya yanlışlıkla atlanabilir.
  • Yüksek seviyeli programlama dillerinde yaygın olarak bulunan string değişken tipi C'de bulunmadığı için bunun yerine char ile belirli bir uzunlukta karakter dizisi array şeklinde hafızada tutulur. Mesela char a[]="Merhaba"; şeklinde bir karakter dizisi tanımlanabilir. Fakat daha sonra bu değişkene a[]="Nasılsın?"; şeklinde direkt olarak yeni bir değer atanamaz. Bunun yerine strcpy fonksiyonu kullanılabilir. Bu da diğer programlama dillerine nazaran C'nin zorluklarından biridir.
  • Derleyici tarafından üretilen kodun kendisi birkaç kontrol içerdiğinden, programcının tüm olası sonuçları göz önünde bulundurması ve arabellek taşmalarına, dizi sınırları denetimine, yığın taşmalarına, bellek tükenmesine, tür koşullarına, dizi yalıtımına vb. karşı koruma yükü vardır.
  • İşaretçilerin kullanımı ve bu araçların çalışma zamanı manipülasyonu, derleme zamanında belirlenemeyen aynı verilere (aliasing) erişmenin iki yolu olabilir. Bu, diğer dillerde mevcut olabilecek bazı optimizasyonların C'de mümkün olmadığı anlamına gelir. FORTRAN daha hızlı kabul edilir.
  • Standart kitaplık işlevlerinden bazıları, örn. scanf, arabellek taşmalarına neden olabilir.
  • Oluşturulan kodda düşük seviyeli değişkenler için sınırlı standartlaştırma desteği vardır, örneğin: farklı işlev çağırma kuralları ve ABI; farklı yapı paketleme kuralları; daha büyük tam sayılar içinde farklı bayt sıralaması (endianness dahil). Pek çok dil uygulamasında, bu seçeneklerden bazıları önişlemci yönergesi#pragma [15][16] aile, bazıları ise ek anahtar sözcüklerle ör. __cdeclçağrı kuralını kullanın. Ancak yönerge ve seçenekler tutarlı bir şekilde desteklenmemektedir.[17]
  • Standart kitaplığı kullanarak dize işleme, kod açısından yoğundur ve açık bellek yönetimi gerekir.
  • Dil, nesne yönelimini, introspection, çalışma zamanı ifadesi değerlendirmesini, jenerikleri vb. doğrudan desteklemez.
  • Dil özelliklerinin uygunsuz kullanımına karşı sürdürülemez kodlara yol açabilecek birkaç koruma vardır. Zor kod için bu tesis, International Obfuscated C Code Contest ve Underhanded C Contest. gibi yarışmalarla kutlandı.
  • C, istisna işleme için standart destekten yoksundur ve yalnızca hata denetimi için dönüş kodları sunar. setjmp velongjmp standart kitaplık işlevleri [53]'te makrolar aracılığıyla bir try-catch mekanizmasını uygulamak için kullanılmıştır.[18]
  • Bazı amaçlar için, kısıtlı C stilleri benimsenmiştir. Örneğin. MISRA C veya CERT C, hata olasılığını azaltmak amacıyla. CWE gibi veritabanları, C vb.'nin güvenlik açıklarına sahip olma yollarını ve azaltma önerilerini saymaya çalışır.
  • Bazı dezavantajlara karşı hafifletebilecek araçlar var. Çağdaş C derleyicileri, birçok olası hatayı belirlemeye yardımcı olmak için uyarılar oluşturabilen kontroller içerir.
  • Bu dezavantajlardan bazıları, diğer dillerin oluşturulmasına yol açmıştır.

İlgili diller[değiştir | kaynağı değiştir]

Çeşitli programlama dillerinin popülerliğinin bir karşılaştırmasını gösteren TIOBE indeks grafiği[19]

C, C++, C#, D, Go, Java, JavaScript, Perl, PHP, Rust ve Unix'in C kabuğu gibi sonraki birçok dili hem doğrudan hem de dolaylı olarak etkilemiştir.[20] En yaygın etki sözdizimsel olmuştur; bahsedilen dillerin tümü, C'nin deyim (statement) ve (az ya da çok tanınabilir şekilde) ifade (expression) sözdizimini, C'den bazen kökten farklı olan tür sistemleri, veri modelleri ve/veya büyük ölçekli program yapıları ile birleştirir.

Komut dosyası oluşturmak için de kullanılabilen Ch ve CINT dahil olmak üzere birkaç C veya C'ye yakın yorumlayıcı mevcuttur.

Nesne yönelimli programlama dilleri popüler hale geldiğinde, C++ ve Objective-C, C'nin nesne yönelimli yetenekler sağlayan iki farklı uzantısıydı. Her iki dil de başlangıçta kaynaktan kaynağa (source to source) derleyiciler olarak uygulandı; kaynak kodu C'ye çevrildi ve ardından bir C derleyicisi ile derlendi.[21]

C++ programlama dili (başlangıçta "C with Classes" olarak adlandırıldı) Bjarne Stroustrup tarafından C benzeri bir sözdizimi ile nesne yönelimli işlevsellik sağlamaya yönelik bir yaklaşım olarak geliştirilmiştir.[22] C++, daha fazla yazma gücü, kapsam belirleme (generic programming) ve nesne yönelimli programlamada yararlı olan diğer araçları ekler ve şablonlar aracılığıyla genel programlamaya izin verir. Neredeyse C'nin bir üst kümesi olan C++ şimdi, birkaç istisna dışında C'nin çoğunu destekliyor.

Objective-C, başlangıçta C'nin üzerinde çok "ince" bir katmandı ve hibrit bir dinamik/statik yazım paradigması kullanarak nesne yönelimli programlamaya izin veren katı bir C üst kümesi olmaya devam ediyor. Objective-C sözdizimini hem C'den hem de Smalltalk'tan alır: ön işleme, ifadeler, işlev bildirimleri ve işlev çağrılarını içeren sözdizimi C'den miras alınırken, nesne yönelimli özelliklerin sözdizimi orijinal olarak Smalltalk'tan alınmıştır.

C++ ve Objective-C'ye ek olarak, Ch, Cilk ve Unified Parallel C, C'nin neredeyse üst kümeleridir.

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ Kernighan, Brian W.; Ritchie, Dennis M. (Şubat 1978). C Programlama Dili (1. bas.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110163-3. 
  2. ^ Kernighan, Brian W.; Ritchie, Dennis M. (Mart 1988). C Programlama Dili (2. bas.). Englewood Cliffs, NJ: Prentice Hall. ISBN 0-13-110362-8. 
  3. ^ a b c d Klemens, Ben (2013). 21st Century C. O'Reilly Media. ISBN 978-1-4493-2714-9. 
  4. ^ "Man Page for lint (freebsd Section 1)". unix.com. 24 Mayıs 2001. Erişim tarihi: 15 Temmuz 2014. 
  5. ^ Dale, Nell B.; Weems, Chip (2014). Programming and problem solving with C++ (6. bas.). Burlington, MA: Jones & Bartlett Learning. ISBN 978-1449694289. OCLC 894992484. 
  6. ^ Dr. Dobb's Sourcebook. U.S.A.: Miller Freeman, Inc. November–December 1995. 
  7. ^ "Using C for CGI Programming". linuxjournal.com. 1 Mart 2005. 13 Şubat 2010 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Ocak 2010. 
  8. ^ Perkins, Luc (17 Eylül 2013). "Web development in C: crazy? Or crazy like a fox?". Medium (İngilizce). 4 Ekim 2014 tarihinde kaynağından arşivlendi. 
  9. ^ "C - the mother of all languages". ICT Academy at IITK (İngilizce). 13 Kasım 2018. 31 Mayıs 2021 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ekim 2022. 
  10. ^ "1. Extending Python with C or C++ — Python 3.10.7 documentation". docs.python.org. 5 Kasım 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ekim 2022. 
  11. ^ "An overview of the Perl 5 engine | Opensource.com". opensource.com (İngilizce). 26 Mayıs 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ekim 2022. 
  12. ^ "To Ruby From C and C++". www.ruby-lang.org. 12 Ağustos 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ekim 2022. 
  13. ^ "What is PHP? How to Write Your First PHP Program". freeCodeCamp.org (İngilizce). 3 Ağustos 2022. 4 Ağustos 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Ekim 2022. 
  14. ^ Metz, Cade. "Dennis Ritchie: The Shoulders Steve Jobs Stood On". Wired. 12 Nisan 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Nisan 2022. 
  15. ^ corob-msft. "Pragma directives and the __pragma and _Pragma keywords". learn.microsoft.com (İngilizce). 24 Eylül 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Eylül 2022. 
  16. ^ "Pragmas (The C Preprocessor)". gcc.gnu.org. 17 Haziran 2002 tarihinde kaynağından arşivlendi. Erişim tarihi: 24 Eylül 2022. 
  17. ^ "Pragmas". Intel (İngilizce). 10 Nisan 2022 tarihinde kaynağından arşivlendi. Erişim tarihi: 10 Nisan 2022. 
  18. ^ Roberts, Eric S. (21 Mart 1989). "Implementing Exceptions in C" (PDF). DEC Systems Research Center. SRC-RR-40. 5 Ocak 2022 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 4 Ocak 2022. 
  19. ^ McMillan, Robert (1 Ağustos 2013). "Is Java Losing Its Mojo?". Wired. 15 Şubat 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 5 Mart 2017. 
  20. ^ O'Regan, Gerard (24 Eylül 2015). Pillars of computing : a compendium of select, pivotal technology firms. ISBN 978-3319214641. OCLC 922324121. 
  21. ^ Rauchwerger, Lawrence (2004). Languages and compilers for parallel computing : 16th international workshop, LCPC 2003, College Station, TX, USA, October 2-4, 2003 : revised papers. Springer. ISBN 978-3540246442. OCLC 57965544. 
  22. ^ Stroustrup, Bjarne (1993). "A History of C++: 1979−1991" (PDF). 2 Şubat 2019 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 9 Haziran 2011. 

Dış bağlantılar[değiştir | kaynağı değiştir]


C programlama dili anlamı nedir Nedir? :C programlama dili anlamı nedir ile ilgili C programlama dili anlamı nedir burada bulabilirsiniz. Detaylar için sitemizi geziniz C programlama dili anlamı nedir Ne Demektir? C programlama dili anlamı nedir Açıklaması Nedir? C programlama dili anlamı nedir Cevabı Nedir? C programlama dili anlamı nedir Kelimesinin Anlamı? C programlama dili anlamı nedir konusu Nedir Ne, yaşantımızda sık kullanılan kelimelerden birisi olarak karşımıza çıkar. Hem sosyal medyada hem de gündelik yaşantıda kullanılan ne kelimesi, uzun yıllardan beri dilimizdedir. C programlama dili anlamı nedir Türk Dil Kurumu na (TDK) göre farklı anlamları olan ne kelimesi, Türkçe de tek başına ya da çeşitli cümleler eşliğinde kullanılabilir. C programlama dili anlamı nedir Ne kelimesi ne demek, TDK ya göre anlamı nedir sorularının cevabını arayanlar için bildiris.com doğru adres! Peki, ne kelimesi ne demek, TDK ye göre anlamı nedir? C programlama dili anlamı nedir Ne kelimesinin kökeni ne, ne kelimesinin kaç anlamı var? C programlama dili anlamı nedir İşte TDK bilgileri ile merak edilenler
C programlama dili anlamı nedir Açıklaması? :C programlama dili anlamı nedir Açıklama Bir Terim Kavram Ya Da Başka Dilsel Olgunun Daha İyi Anlaşılması İçin Yapılan Ek Bilgidir.C programlama dili anlamı nedir Söz Konusu Bilgi Açıklanacak Sözcükten Daha Uzun Olur C programlama dili anlamı nedir Açıklama İle İlgili Durumun Kanıtı Şu Şekilde Doğrulanabilir C programlama dili anlamı nedir Bir Sözlükteki Tanım İlgili Sözcük Yerine Kullanılabilirse, Bu Bir Açıklamadır. C programlama dili anlamı nedir Yani Aynı Bağlam İçinde Hem Sözcük Hem De Tanım Kullanılırsa Ve Anlamsal Açıdan Bir Sorun Oluşturmuyorsa Bu Bir Açıklamadır.
C programlama dili anlamı nedir Gerçek mi? :C programlama dili anlamı nedir ile ilgili C programlama dili anlamı nedir burada bulabilirsiniz. Detaylar için sitemizi geziniz Gerçek anlam C programlama dili anlamı nedir sözcüklerin birincil anlamı ile (varsa) bu anlamla doğrudan ilişkili olan anlamlarıdır. Gerçek anlam, temel anlam ile yan anlamların bileşkesidir. C programlama dili anlamı nedir Bir sözcüğün mecaz olmayan tüm anlamlarını kapsar.
C programlama dili anlamı nedir Hakkında? :C programlama dili anlamı nedir ile ilgili C programlama dili anlamı nedir burada bulabilirsiniz. C programlama dili anlamı nedir Detaylar için sitemizi geziniz C programlama dili anlamı nedir Bu sayfada Hakkında nedir Hakkında ne demek Hakkında ile ilgili sözler cümleler bulmaca kısaca Hakkında anlamı tanımı açılımı Hakkında hakkında bilgiler C programlama dili anlamı nedir resimleri Hakkında sözleri yazıları kelimesinin sözlük anlamı nedir almanca ingilizce türkçe çevirisini bulabilirsiniz
Oculus Rift, Atomik birimler, Halil Yılmaz, Türk mutfağındaki köfteler, Soyuz uzay aracı, Biyoterör, Mehmet Çakır, Prostaglandin E2, Cengiz Yıldırım, Aleksandır Cankov, Adam Guziński, Xue Xiaolu, Ermeni Soykırımı Adalet Komandoları, 19 Scorpii, Hepatit D, Kafkas Nagazi, Pablo Aimar, Aspendos, Ursa Minor (takımyıldız), Dikenli, Hekimhan, Çığ, Yapı Kredi Yayınları Genel Kültür Dizisi kitapları listesi, Joseph Sweetman Ames, Cundall with Leckby, Chosen, Ebu Said Gardezi, Artemisia Gentileschi, Picture to Burn, Kuzari, Astyoche, Baddiley, Disney Channel Orijinal Filmleri listesi, Karın, Cengiz Erdoğan, Caron Butler, Mazkird, Boardface, Recep Tayyip Erdoğan, Eski Çarşısı, Üsküp, Birlik, Sürmene, Tarlabaşı, Aralık, Japonya İmparatorluk Ailesi, Magomadas, İnşaat atığı, 1936 Copa del Presidente de la República, İkiz asallar sanısı, Ao No Exorcist, Trenčín Savaşı, ACR Messina, Cyle Larin, Alt familya, Adi diferansiyel denklemler, Babarşani, Bohemya Krallığı, Haughey Air AgustaWestland AW139 kazası, Kamerunlu, Michael Woods (bisikletçi), Kadın Matematikçiler, Osmanlı padişahlarının defnedildiği yerler listesi, Avrupa Birliğindeki coğrafi işaretler ve geleneksel spesiyaliteler, Sindhi, Adriano Leite Ribeiro, Fushigi Yugi, Safaşehr, Pedometre, Bilge Umar, Gençali, Kangal, I. Beyazid, Rāmen, Egzersiz, Komet, Sonora Çölü, Fotomodel, Kedi maması, Birinci seviye UEFA liglerindeki takımlar listesi, Azerbaycan Anayasası, İsmet Sezgin, Cengel Operasyonu, İkincil cinsiyet özellikleri, Türkiye millî futbol takımı maçları listesi, NGC 4435, 3 halkalı dizgin düğümü, Bingöl ilindeki yerleşim yerleri listesi, Spectre (Güvenlik Açığı), Sedat Simavi Spor Ödülü, Denial, Malazgirt Meydan Muharebesi Tarihî Millî Parkı, Bulaşıcı hastalıkların yok edilmesi, Lucjan Brychczy, Kızıl Muhafızlar (Çin), Wo Ding, Blondie, Baharlı, Hekimhan, Damperli kamyon, Mercer County, Pensilvanya, İngiltere 16 yaş altı millî futbol takımı, Chato Galante, Odun yakıtı, Peter Murphy, NGC 6554,
Tülin Keçeci Güngör Kimdir?, Edanur Altıntaş Kimdir?, Yrd Doç Dr Birsel Aybek Kimdir? Yrd Doç Dr Birsel Aybek Nereli Yrd Doç Dr Birsel Aybek Kaç Yaşında?, Fosfatlı Nedir?, Topsuz Nedir?, Sovyetler Birliği bayrağı Anlamı Nedir, Sovyetler Birliği bayrağı Nasıl Oluştu, Sovyetler Birliği bayrağı Tarihi, Sovyetler Birliği bayrağı Renkleri, Sovyetler Birliği bayrağı Tasarımı, Aslan Sezgin Kimdir?, Topraksız Nedir?, Şener Pul Kimdir?, Topraksı Nedir?, Serap Çakır Kimdir?, Selma Karaman Kimdir?, Formaliteci Nedir?, Yavuz Tellioğlu Kimdir?, Toprakçıl Nedir?, Forgetful Nedir?, Sırbistan-Karadağ bayrağı Anlamı Nedir, Sırbistan-Karadağ bayrağı Nasıl Oluştu, Sırbistan-Karadağ bayrağı Tarihi, Sırbistan-Karadağ bayrağı Renkleri, Sırbistan-Karadağ bayrağı Tasarımı, Toprak Rengi Nedir?, For Nedir?, İsmail Aybars Aksoy Kimdir?, Nail Çiler Kimdir?, Toprak Altı Nedir?, Fonolojik Nedir?, Bekir Sıtkı Tarım Kimdir?, İhsan Sarıyar Kimdir?, Topolojik Nedir?, Hasan Bitmez Kimdir?, Topoğrafik Nedir?, Sancak-ı Şerif Anlamı Nedir, Sancak-ı Şerif Nasıl Oluştu, Sancak-ı Şerif Tarihi, Sancak-ı Şerif Renkleri, Sancak-ı Şerif Tasarımı, Lütfi İlteriş Öney Kimdir?, Ufuk Değerliyurt Kimdir?, Folklorik Nedir?, Rana Berk Kimdir?, Toplum Dışı Nedir?, Fokurdak Nedir?, Toplum Bilimsel Nedir?, Fodulca Nedir?, Ayla Bedirhan Çelik Kimdir?, Harun Özgür Yıldızlı Kimdir?, Samara bayrağı Anlamı Nedir, Samara bayrağı Nasıl Oluştu, Samara bayrağı Tarihi, Samara bayrağı Renkleri, Samara bayrağı Tasarımı, Figen Yıldırım Kimdir?, Flüoresan Nedir?, Ayhan Özçelik Kimdir?, Toplanık Nedir?, İzzet Kaplan Kimdir?, Mühip Kanko Kimdir?, Prensin Bayrağı Anlamı Nedir, Prensin Bayrağı Nasıl Oluştu, Prensin Bayrağı Tarihi, Prensin Bayrağı Renkleri, Prensin Bayrağı Tasarımı, Recep Bozdemir Kimdir?, Ali Topçu Kimdir?, Toparlakça Nedir?, Hurşit Çetin Kimdir?, Fadik Temizyürek Kimdir?, Toparlağımsı Nedir?, Toparlacık Nedir?, Osmanlı bayrağı Anlamı Nedir, Osmanlı bayrağı Nasıl Oluştu, Osmanlı bayrağı Tarihi, Osmanlı bayrağı Renkleri, Osmanlı bayrağı Tasarımı, Ülkü Doğan Kimdir?, Mehmet Akif Perker Kimdir?, Necmi Özgül Kimdir?, Top Sakallı Nedir?, Hasan Daşkın Kimdir?, Hasan Memişoğlu Kimdir?, Nazi Almanyası bayrağı Anlamı Nedir, Nazi Almanyası bayrağı Nasıl Oluştu, Nazi Almanyası bayrağı Tarihi, Nazi Almanyası bayrağı Renkleri, Nazi Almanyası bayrağı Tasarımı, Fitopatolojik Nedir?, Öztürk Keskin Kimdir?, Şeref Baran Genç Kimdir?, Tonla Nedir?, Nuran Ergen Kılıç Kimdir?, Fitne Kumkuması Nedir?, Filiz Orman Akın Kimdir?, Tombulca Nedir?, Fitne Fücur Nedir?, Zürriyetsiz İsminin Anlamı Nedir?, Fitilsiz Nedir?, Natalia Cumhuriyeti Bayrağı Anlamı Nedir, Natalia Cumhuriyeti Bayrağı Nasıl Oluştu, Natalia Cumhuriyeti Bayrağı Tarihi, Natalia Cumhuriyeti Bayrağı Renkleri, Natalia Cumhuriyeti Bayrağı Tasarımı, Zürriyetli İsminin Anlamı Nedir?, Mustafa Süleyman Kurtar Kimdir?, Züppe İsminin Anlamı Nedir?, Fitilci Nedir?, Dağıstan Budak Kimdir?, Yrd Doç Dr Bilge Gökçen Röhlig Kimdir? Yrd Doç Dr Bilge Gökçen Röhlig Nereli Yrd Doç Dr Bilge Gökçen Röhlig Kaç Yaşında?, Zümrüdi İsminin Anlamı Nedir?, Tolgasız Nedir?, Fitçi Nedir?, Hatice Gül Bingöl Kimdir?, Gökhan Baylan Kimdir?, Zülüflü İsminin Anlamı Nedir?, Tolgalı Nedir?, Fişlik Nedir?, Kampuçya Halk Cumhuriyeti bayrağı Anlamı Nedir, Kampuçya Halk Cumhuriyeti bayrağı Nasıl Oluştu, Kampuçya Halk Cumhuriyeti bayrağı Tarihi, Kampuçya Halk Cumhuriyeti bayrağı Renkleri, Kampuçya Halk Cumhuriyeti bayrağı Tasarımı, Toleranssız Nedir?, Züllü İsminin Anlamı Nedir?, Fişli Nedir?, Fişeksiz Nedir?, Zülcelâl İsminin Anlamı Nedir?, Sözdar Akdoğan Kimdir?, Murat Turna Kimdir?, Fahri Özkan Kimdir?, Zührevi İsminin Anlamı Nedir?, Fişekli Nedir?, Züğürt İsminin Anlamı Nedir?,