Hackhell Forum 1,216,915 Üye | 460,283 Konu | 4,520,936 Mesaj | 3229 Online

Go Back   Hackhell Forum > Programlamaya Giriş > Delphi & Visual basic & C / C++/C#/Java

Temel C (si) Derslaeri

 Programlamaya Giriş Katagorisinde ve  Delphi & Visual basic & C / C++/C#/Java Forumunda Bulunan  Temel C (si) Derslaeri Konusunu Görüntülemektesiniz.=>Öncelikle c (si) den bahsedelim. Tarihi bizi pek bağlamaz ama dil kültürü olarak yararımıza olacaktır fakat bunu geçiyorum. C Tarihini ...


Cevapla
 
LinkBack Seçenekler Stil
Alt 12-07-2009, 08:37 PM   #1
cz5
Onursal Üye
 
cz5 - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Feb 2008
Bulunduğu yer: АБКХАЗİА-АПСНİ
Mesajlar: 2,170
reklam@hackhell.com
Teşekkürleri: 885
919 mesajına 1,423 kere teşekkür edildi.
cz5 - MSN üzeri Mesaj gönder cz5 - YAHOO üzeri Mesaj gönder
pcdepo
Temel C (si) Dersleri Temel C (si) Dersleri







Öncelikle c (si) den bahsedelim.

Tarihi bizi pek bağlamaz ama dil kültürü olarak yararımıza olacaktır fakat bunu geçiyorum. C Tarihini bilmek yazarken yada ögrenirken bize bir avantaj sağlamaz.

C bir sistem programlama dilidir.Günümüzde uçaklardan - cep telefonlarına kadar bir çok sistemde kullanılır.

C ögrenmeden önce yada (anlamaya başlamadan önce) bilinmesi veya ögrenilmesi gereken şartlar vardır.Peki bu şartları ögrenmeden başlarsam ne olur derseniz

bir noktada tıkanır (ilerleyemez) sıkılırsınız buda isteğininiz azalmasına neden olur.(bence dili ögrenmeye başlamadan önce şartları gerçekleştirin)

Şimdi şartlara bakalım nedir bu şartlar.

1- En önemlisi istek ve azim

2- Binary sayı sistemi ( biz 10 luk (desimal) kullanırız ama bilgisayar kıt kafalı sadece 0 ve 1 anlıyor yani (2 lik sayı sistemi)

3-Algoritma bilgisi (bu şartı daha sonra yada ögrenirkende gerçekleştirebiliriz)


Neler katar bize C

1- Bilgisayarın nasıl işlem yaptığını anlarız

2- Dos (Disk Operating System) ile ilgilenmeye başlar gerçek bir üstat olma yolunda adım atarız

2- PHP,JAVA ve birçok dil C den türediği için ögrenimleri çok çok basit olacaktır.Web de karizmamız artacak söz söyleyebilir durumda olacagız

3- İşletim sistemi ne işe yarar neden bu kadar önemli olduğunu anlarız


Şartlar ok se başlayalım ve ilk programımızı yazalım isterseniz.

Kod:

#include<stdio.h>
int main()
{
printf("ben geldim c sana merhaba ");
}


Biz böyle neler yazdık ne yapmaya çalıştık bu kodlarda nedir.Bu ne işe yarar?

Bilgisayara dedikki ekrana (ben geldim c sana merhaba) yazmasını emrettik oda yazacak.Mecbur çünkü artık ben senin anladığın dili ögreniyorum sende ben ne dersem onu yapacaksın dedik bilgisayara.

Ama nasıl söyledik yazdık da bilgisayar bizi anladı.

#include yazmakla biz bilgisayara
yazdığım programa <stdio.h> dosyasını eklemesini söyledik yani header file bu bizim kütüphanemiz yani yazcağımız programın özelliklerine göre önceden yazılmış fonksiyonların bulunduğu dosya

int main() ile hey bilgisayar program burdan başlar dedik
{
}

bu parantezlerle yazdığımız programın sınırını yada gövdesini belirledik

gövdemizin içinede komutları yazdık yani istediğimiz olayları yani

printf("ben geldim c sana merhaba");

En basit şekilde bilgisayara hükmettik.




C de KULLANDIĞIMIZ ÖZEL KARAKTERLER- ATOMLAR ve KAVRAMLAR


C öyle bir dilki yazım hatalarını kesinlikle kabul etmiyor.(A) harfi ile (a) harfi tamamen birbirinden bağımsızdır.

ATOM=Programlama dili için anlam taşıyan en küçük birime atom diyolar.Bizde eyvallah diyoruz.



Yukarda yazdığımız programı bölelim atomlarına

Kod:
 
# include <    stdio.h     > 
int     
main 
(      
)
 { 
printf    
(          
 "ben geldim c sana merhaba" 
 )  
; 
} 

Burda bir hata varmı şimdi.Bilgisayar anlarmı böyle yazımdan.Evet anlar ama c dilini meslek edinmiş vatandaşlar sizi yadırgayabilirler.
Çünkü programın (Readability) okunurluğu kalmamiş olur.Dogrumu valla doğru.
Benden başka insanlarda anlasın dimi cimri olmamak için okunurluk önemlidir.(Sadece ben anlayım yok)

Kullandığımız özel karakterler ise

" iki tırnak
' tek tırnak
! ünlem işareti
^ şapka işareti
# diyez işareti
+ artı
- eksi
$ dolar işareti
% yüzde işareti
& ve işareti
{ } küme işareti
( ) parantez
[ ] köşeli parantez
= eşit işareti
? soru işareti
* yıldız
< > açısal parantez
> büyük işareti
< küçük işareti

Birkaç özel karakter daha var onlarıda ilerde yazacağız.Şimdi bulanmasın kafamız.

BLOK

{

}

parantezleri arasındaki bölgeye blok diyoruz.


FONKSİYON

X();

x bir fonksiyondur nasıl anladık. () parantezi öncesi olduğu için.Fonksiyonlar ( ) ile gösterilir

NESNE

a= 100 ;
b= 800;

a ve b bir nesnedir.Çünkü bellekte yer kaplayan ve içeriklerine ulaşabildiğimiz için.
a nın içeriği 100 ve b nin içeriği 800 dür.

İFADE

d=a*b;

bir fadedir.d diye bir değişken a ve b değişkeninin çarpımının değerini alır.
Değişken( d- a- b birer değişken) operatör (yani kullandığımız karakterler = * ;) ve sabitler (yukarda gördük 800 ve 100 bir sabittir) kombinasyonuna ifade diyoruzzzz





DERLEYİCİLER

Peki biz bu kodları nereye yazacaz ve neden yazacaz dersiniz

Bilgisayarın anladığı dil 0 ve 1 yukardada bahsettik.Bu dile Assembly denir.(Makina dili)

Burda derleyiciler giriyor devreye.Derleyici bizim yazdığımız C kodlarını makina diline(assembly) çevirir.Aksi bir durumda bilgisayar bizi yine anlamayacaktır .Dedikya kıt kafalı diye

Peki nerden bulacaz bu derleyicileri.En basiti ve kolayı DEV C++ dir.Ücretsiz ve nette bol bulunur.Tabi başka derleyicilerde mevcut.

Kütüphane dosyasına (header file) ihtiyaç duydugunuzda DEV C++ kendi sitesinden rahat bir şekilde temin ediliyor.Türkçe olarakta dil seçeneği mevcut.




VERİ ve NESNE TÜRLERİ

int =Tam sayıları kapsar.100 300 500 gibi.

Char=Karekterleri kapsar. a b c d gibi

float=Ondalıklı sayıları kapsar. (6.765) (9.1) (3.2) gibi.

Ana veri türleri olarak bunlardır.Birde bunlarda atl sınıfları mevcuttur.Ama neden bunlarda alt sınıflara bölünmüş ?

Demiştikya bellekte yer kaplar bunlar.Bellekte kapladıkları yere göre sınıflandırılılar.

-----------int veri türünün alt sınıflarına bakalım----------

int(TAM SAYI) türü bellekte 16 bit yani 2 bayt yer kaplar.Sınırı ise -32768 ile + 32 767 dir.

Nerden çıktı bu - 32768 ile + 32767 . İşte burda bit bayt ve binary sistem ( 2 li sayı sistemi) devreye girdi.Demiştikya.Şartlardan biriydi.

unsigned int(İŞARETSİZ TAM SAYI)Buda 16 bit yani 2 bayt yer kaplar ama sınırı 0 ile 65535 dir.- (eksi) bir sayı verilemez tür olarak.

long int(İŞARETLİ TAM SAYI)Bu ise 32 bit yani 4 bayt yer kaplar.Sınırı ise - 2.147.483.648 ile + 2.147.483.647 dir.




Konu cz5 tarafından (18-07-2009 Saat 11:49 PM ) değiştirilmiştir.
cz5 isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla
Bu mesaj için cz5 kullanıcısına teşekkür eden 2 üyemiz:
battu89 (19-07-2009), hack007 (21-10-2009)



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Alt 19-07-2009, 04:04 AM   #2
battu89
Eski Üye
 
battu89 - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2008
Mesajlar: 837
reklam@hackhell.com
Teşekkürleri: 202
238 mesajına 463 kere teşekkür edildi.
pcdepo






on numara anlatmışşın yeni başlayanlar için baya güzel. hiç bu programlama dilini bilmediğim halde anladım devamı gelirse çok güzel olur

battu89 isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Alt 19-07-2009, 09:53 PM   #3
cz5
Onursal Üye
 
cz5 - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Feb 2008
Bulunduğu yer: АБКХАЗİА-АПСНİ
Mesajlar: 2,170
reklam@hackhell.com
Teşekkürleri: 885
919 mesajına 1,423 kere teşekkür edildi.
cz5 - MSN üzeri Mesaj gönder cz5 - YAHOO üzeri Mesaj gönder
pcdepo








short int(KISA TAM SAYI)yeni işlemci mimarilerinde (80x86) 32 bit yani 4 bayt yer

kaplar.Sınır değerleri int tamsayı ile aynıdır.(Bu veri türünün yerine int kullanılması tavsiye edilir)

char(KARKTERLER)Bu veri türü 8 bit yani 1 bayt yer kaplar.Sınır değeri -128 ile 127

arasındadır.char veri türüde int veri türünden bellekte saklanır.Nedeni ise her karakterin sayısal bir değeri vardır(ascii hatırlayın)


Bu yazdıklarımızın hepsi tam sayı türü.Birde gerçek sayılar var.(ondalıklı sayılar)

------------------float,double,long doubleondalıklı sayılar-------------------

float(ONDALIK) veri türü 32 bit yani 4 bayt yer kaplar.(3.7 -567.9876 gibi)

double(ONDALIK) veri türü 64 bit yani 8 bayt yer kaplarki bu türle büyük sayılarda işlem yapılabilir.(hassas olarak)

long double(ONDALIK) veri türü taşınabilir olmadığı için pek tercih edilmez.80 bit yer kaplar 10 bayt.



İnt veri türünün 2 çeşidi vardır.işaretli(signed) ve işaretsiz(unsigned) olmak üzere.Yukarda belirttiğimiz int veri türlerinin hepsi işaretli(signed)tir.

İşaretli olması türün (-) eksi ve (+) artı değer alacağını İşaretsiz olması ise sadece artı değer (eksi değer alamayacağını) gösterir.

Peki eksi değer alamıyorsa nereye kayboldu eksi bölge dersiniz.İşte burda eksi değer artı değer tafına geçiyor.signed char değeri - 128 ile + 127 di ya hani.unsigned char ise sadece (+) artı değer alacağı için eksi bölge artı bölgeye geçirilir.Sınırı + 255 olur.Tamsayı türlerinin hepsinde geçerlidir.Ondalıklı sayılarda unsigned yoktur.


NOT=Bu verilerin değerlerinin hepsi işletim sistemi ve işlemcilerde farklı olabilir.Ama % 90 aynıdır.



Konu cz5 tarafından (20-07-2009 Saat 02:18 PM ) değiştirilmiştir.
cz5 isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla
Bu mesaj için cz5 kullanıcısına teşekkür edenler:
dagny07 (02-08-2009)



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Alt 02-08-2009, 08:32 PM   #4
dagny07
Misafir
 
Üyelik tarihi: Apr 2009
Mesajlar: 9
reklam@hackhell.com
Teşekkürleri: 12
1 mesajına 1 kere teşekkür edildi.
pcdepo






teşekkürler.
dagny07 isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Alt 02-08-2009, 08:43 PM   #5
PePeSanceS
Çǿκ کε√díκ طę ∂طí
 
PePeSanceS - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Mar 2009
Bulunduğu yer: Beşiktaş'ın KaLbi KAPALI'dan...
Mesajlar: 3,808
reklam@hackhell.com
Teşekkürleri: 1,603
2,015 mesajına 4,331 kere teşekkür edildi.
pcdepo






GüzeL PaylaşıM SaoL..ElinE SağlıK...
PePeSanceS isimli üye çevrimiçidir (Online)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Alt 21-10-2009, 08:13 PM   #6
hack007
Bağımlı
 
hack007 - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2005
Mesajlar: 554
reklam@hackhell.com
Teşekkürleri: 238
161 mesajına 189 kere teşekkür edildi.
pcdepo






sağolasın emeğine sağlık.
hack007 isimli üyemiz çevrimdışıdır. (Offline)  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Mesajı Spurl ile Paylas!
Alıntı ile Cevapla



Tüm yerli ve yabancı diziler HHİzle'de siz dizi severler ile buluşuyor.

Cevapla

Etiketler
derslaeri, temel

Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 03:36 PM.

Forum Yasal Uyarı HH
Kullanılan Portal Sürümü : HH Portal
Script Sürümü : vBulletin Version 3.8.4 PL1
Seo Yazılımı : vBSEO ©2009, Crawlability, Inc
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Sitemiz Internet Explorer 6+, Firefox 2.0.0.14+, Opera 9.52+, Safari 3.1.2+, Chrome 0.2.153.1+ ve 1024x768+ Ekran Çözünürlüğünde Test Edilmiştir.

Sponsor Bağlantı : dövme | mirc indir | dövme | mirc | sohbet | sohbet | msn show
Sitemiz, hukuka, yasalara, telif haklarına ve kişilik haklarına saygılı olmayı amaç edinmiştir. Sitemiz, 5651 sayılı yasada tanımlanan .yer sağlayıcı. olarak hizmet vermektedir. İlgili yasaya göre, site yönetiminin hukuka aykırı içerikleri kontrol etme yükümlülüğü yoktur. Bu sebeple, sitemiz .uyar ve kaldır. prensibini benimsemiştir. Telif hakkına konu olan eserlerin yasal olmayan bir biçimde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahipleri veya meslek birlikleri, abuse@hackhell.com mail adresinden bize ulaşabilirler. Buraya ulaşan talep ve şikayetler Hukuk Müşavirimiz tarafından incelenecek, şikayet yerinde görüldüğü takdirde ihlal olduğu düşünülen içerikler sitemizden kaldırılacaktır. Ayrıca, mahkemelerden talep gelmesi halinde hukuka aykırı içerik üreten ve hukuka aykırı paylaşımda bulunan üyelerin tespiti için gerekli teknik veriler sağlanacaktır.
Valid CSS!