Değişkenler - C Programlama Dili

in tr •  6 years ago  (edited)


C Dili derslerinin ilkinde, kullanılan IDE' lerden bahsettik. Ayrıca Eclipse kullanan Java Developer'ların ek bir IDE kullanmadan nasıl C kodlarını derleyeceklerini gösterdik.

Şimdi de niye C dili kullanılır, ayrıntıya girmeden bahsedelim. Günümüzde embedded programlama hariç herhalde kullanımı kalmamıştır diye düşünüyorum. Ancak bu dili özel yapan günümüzde kullanılan modern dillerin atası olmasıdır.

C++, C#, Java vs. gibi diller C syntax üzerine kurulmuştur. Yani C biliyorsanız bu dilleri anlamanız çocuk oyuncağı diyebilirim. C bu dillerle karşılaştırıldığında Low-Level statüsüne girebilir.

C ile; genel syntax'i anlayabilir, yapısal programlama dili kavramını öğrenebilir ve hafızaya doğrudan erişim sağlayabilirsiniz. Hafızadan kastımız tabii ki RAM'dir.(Primary Memory). İlerleyen derslerde bahsedeceğimiz diskten kastımız da HDD yani hardisktir. (Secondary Memory).

Örneğin doğum tarihini hesaplayan bir program yazmak istediniz. Yazdığınız uygulama CPU'da çalıştırılır. Kişiden aldığınız doğum tarihi klavyeden okunur, RAM'de tutulur ve hesaplama işlemini CPU yapar. Son olarak sonucu monitör yani ekranda gösterirsiniz.

C dili ile yazdığınız programlar, işletim sistemi üzerinde çalışır. Aslında her program, çalışmak için bir işletim sistemine ihtiyaç duyar. Bu programların çalışması için işletim sistemine özel bazı fonksiyonların çağrılması gerekir.

Standart girdimiz olan klavyenin ya da standart çıktımız olan monitörün kontrolü işletim sisteminin elindedir. İşletim sistemleri bu tür işlemler için özel bazı izinler verir. O fonksiyonları kullanarak biz de programımızı yazarız.

C standart bir dil olduğundan her işletim sistemindeki C derleyicisi bu izin/fonksiyonları ortak bir hale getirmiştir.

Kaynak kod olarak ifade ettiğimiz source code; C syntax'i ile yazılmış program dosyasıdır.(Programcının yazdığı kod dosyası). Bu dosya Compiler ile derlendikten sonra makinenin anladığı machine language'e çevrilir. İşletim sistemi machine kodu hafızaya yükler ve yüklenen kod işletim sistemi tarafından CPU'da çalıştırılır. Genel çalışma mantığı böyledir.

Basit bir kod örneği verip dili anlamaya çalışalım. Klasik ekrana "Merhaba Dünya" yazan bir uygulama :

Uygulamanın çıktısı aşağıdaki gibidir :

Kod üzerinde konuşalım. # include ile belirtilen ifadeler, kod içerisinde kullanılacak fonksiyonların bulunduğu kütüphanelerdir. Bu anahtar kelimeyi kullanarak bu kütüphaneleri kodumuza dahil ederiz.

stdio.h kütüphanesi standard input output fonksiyonlarını içerir. Yani ekrana yazmak için gereken puts ya da printf fonksiyonlarını kullanabilmek için bu kütüphaneyi dahil etmeliyiz.

int main() ile belirtilen ifade ise main fonksiyonudur. C syntax dillerde, program main fonksiyonu ile başlayıp onunla biter. Yani çalıştırılabilir (.exe) programların hepsinde 1 adet main metodu bulunmak zorundadır. { } süslü parantezler genel olarak kapsama alanı olarak geçse de fonksiyonlar için fonksiyonun içeriğini içine alan bloksal yapıdır.

Fonksiyonları, programlardaki iş yapan bölümler olarak düşünebilirsiniz. puts() ve printf() de benzer şekilde fonksiyondur. Parantez içine yazılan string ifadeyi ekrana basmak için kullanılır.

main fonksiyonunun başındaki int ile belirtilen terim fonksiyonun geri dönüş değer tipidir. return ile belirtilen ifade de gene bu geri dönüş değerini döndürmek için kullanılır. Şimdilik anlamaya gerek yok. İlerde ayrıntısına girerim.

Son olarak C syntax dillerde, her bir ifade ; (noktalı virgül) ile sonlandırılır.

Buraya kadar özetleyecek olursak yazılımın temel öğeleri; İşletim Sistemi(I/O), Kaynak kod, Makine kodu ve Compiler dediğimiz derleyicilerdir.

Değişkenler (Variables)

Değişkenler, programlama dillerinde verilerin tutulduğu yapılardır. Bu yapılar hafızada RAM de bulunur ve geçici olarak bir değer tutmaya yararlar.

Java Programlama Dersleri DeÄiÅken Nedir?
Kaynak

Bir değişken 4 şeyden oluşur :

  • Değişken ismi
  • Değişken tipi (int,float,double,char...)
  • Değişkenin değeri
  • Hafızadaki yeri

Değişkenleri anlamak için basit bir uygulama yapıp dersi sonlandıralım.

Uygulamayı çalıştırdığımızda alacağımız çıktı da aşağıdaki gibidir :

Bu uygulamada a,b,c ve sum adında 4 değişken tanımladık. Bunlardan a, b, ve c ismindeki değişkenler int yani integer(tam sayı) tipindedir ve içerisine ancak tam sayı değerleri alabilir. sum değişkeni ise float tipinde olduğundan içerisine ondalıklı sayı alabilir.

degisken_tipi degisken_ismi;

şeklinde değişken tanımlaması yaptığımızda ilk değer ataması yapmamış oluruz. sum değişkeni bu şekilde tanımlanmıştır. Ancak uygulamada görüldüğü gibi a,b ve c değişkenlerinin her birine ilk değer ataması yapılmıştır.

sum = a + b + c;

ifadesi ile a,b ve c nin toplamını sum değişkenine atamış olduk. Programlama da '=' operatörü atama operatörüdür ve eşitliğin sağ tarafındaki değeri sol taraftakine atamak için kullanılır.

printf() fonksiyonu ile ekrana bir şeyler yazdırdığımızdan bahsetmiştim. Kullanımı uygulamadaki gibidir. Eğer yazdırılacak değerler string dışındaki int, float gibi değerler ise int için %d, float için %f karakterlerini kullanmak gerekiyor. printf fonksiyonundaki '\n' karakteri ise bir alt satıra geçmek için kullanılır. \n : new line

Son olarak derleyiciden kaynaklı sorunlar yaşayanlar için alternatif online bir compiler buldum.

Online C Compiler'da da kullanıcıdan bir sayı alan ve bunu ekrana basan halini test ettim. Siz de deneyebilirsiniz.

Ekran çıktımız aşağıdaki gibidir :

Not : Aldığınız bazı hataların derleyici kaynaklı olduğunu düşünüyorsanız, Online C Compiler'ı buradan deneyebilirsiniz. Test ettim, gayet iyi çalışıyor.

Not : Crayon Syntax Highlighter eklentisi C dili için çalışmadı. (Belki de Wordpress Güncellemesinin sonucudur. Denemeye devam...)

Uygulama noktasında herhangi bir sorun yaşarsanız aşağıdaki yorum panelini kullanarak iletişime geçmekten çekinmeyin lütfen. Teşekkürler.

Kaynak belirtilmeyen görseller @etasarim a aittir. / Pictures that don’t have any source belongs to @etasarim.



Posted from my blog with SteemPress : http://etasarim.cloudaccess.host/22/02/2019/degiskenler-c-programlama-dili/
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Bu yazı Curation Collective Discord Sunucusunda küratörlere önerilmiş ve manuel inceleme sonrasında @c-squared topluluk hesabından oy ve resteem almıştır.
This post was shared in the #turkish-curation channel in the Curation Collective Discord community for curators, and upvoted and resteemed by the @c-squared community account after manual review.
@c-squared runs a community witness. Please consider using one of your witness votes on us here

Thanks :)

" printf fonksiyonundaki '
' karakteri ise bir alt satıra geçmek için kullanılır. _"

Burada " \ " (backslash) karakterini yazmayı unutmuşunuz sanırım.
\n == new line. Yada benim telefonun ekranında bir sorun mu var?

Posted using Partiko Android

  ·  6 years ago (edited)

Valla hocam bakayım steempress her şeyi değiştirdi. Baktım hocam var gözüküyor sanırım sizin telefondan.

Burada backslash görünmüyor.

Posted using Partiko Android

Ayrıca " ; " almancada semikolon dediğimiz bu karekterin bir emrin sonlandırması olduğunu hatirlatirsaniz yeni ögrenenler için faydalı olabilir. Işinize karışmak gibi olmasında.🙄

Posted using Partiko Android

Aslında yeni başlayanları hedeflememiştim ama mantıklı tabii ki belirtmekte fayda var teşekkür ederim.

Ozaman istersen direk pointer lara geç de bende koptuğum yerden devam edeyim😁. Güzel paylaşımınız için teşekkürler.

Posted using Partiko Android

Öyle de olmaz diye düşündüm hocam damdan düşer gibi :) tamam size pointerları anlattığımda haber veririm.

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by etasarim from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

As a follower of @followforupvotes this post has been randomly selected and upvoted! Enjoy your upvote and have a great day!

Looking for some fun games to play on Steemit? Try your luck with Magicdice or Drugwars

Her zaman verdiğin emeklerin karşılığını mutlulukla alırsın inşallah...

Amin hocam teşekkür ederim ne güzel bir dua :)

Hi, @etasarim!

You just got a 1.6% upvote from SteemPlus!
To get higher upvotes, earn more SteemPlus Points (SPP). On your Steemit wallet, check your SPP balance and click on "How to earn SPP?" to find out all the ways to earn.
If you're not using SteemPlus yet, please check our last posts in here to see the many ways in which SteemPlus can improve your Steem experience on Steemit and Busy.

Klasik ekrana "Merhaba Dünya" yazan bir uygulama

Benim Steemit ekranımda da hi world yazıyor 😀🤓🌍

Evet aynen sizinkisi gibi hocam normalde yazılımda hello world diye geçiyor, Türkçede her şey aynı kapıya çıkıyor. :)