FORUM SUPERMEYDAN  
Web Tasarım Estetik Estetik prefabrik key ödemeleri Alışveriş

Geri git   FORUM SUPERMEYDAN > BİLGİSAYAR & İNTERNET > Programlama

C dili

BİLGİSAYAR & İNTERNET katogorisi Programlama forumu içinde "C dili" başlıklı konu görüntüleniyor, "C NEDIR ? C programlama dili, Dennis Ritchie tarafindan Bell laboratuarlarinda yaratilmistir. PDP-11 ile Unix altinda calismak icin yaratilmis olmasina ragmen, ilgi uzerine MS-DOS altinda calisacak hale getirilmistir. Basitligi, olusan ..."

Cevapla
 
Seçenekler Stil
Alt 02-08-2007, 12:31 AM   #1
SUPER MODERATOR
 
doğangüneş - ait Kullanıcı Resmi (Avatar)
Sürünmek için yaratılanlar asla Uçamazlar...
 
Üyelik tarihi: Apr 2007
Nerden: istanbul
Yaş: 26
Mesajlar: 9.379
Blog Mesajları: 8
Cinsiyet:
Rep Gücü: 669 Rep: 65818
doğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyor
C dili

C NEDIR ?

C programlama dili, Dennis Ritchie tarafindan Bell laboratuarlarinda yaratilmistir. PDP-11 ile Unix altinda calismak icin yaratilmis olmasina ragmen, ilgi uzerine MS-DOS altinda calisacak hale getirilmistir. Basitligi, olusan kodun kucuklugu, ve her cesit programlamada kullanilabilmesi, C yi populer bir dil yapmistir.

C, cok kestirme olmasi nedeni ile, yeni bilgisayarlara baslayanlar icin ogrenmesi zordur. Bir programci, C ile ust seviyelerden, assembly'ye yaklasan alt seviyelere kadar programlama yapabilir. C nin sagladigi bu rahatligin yaninda, tehlikeleride de vardir. Ornegin, makineyi kilitleyebilecek bir program yazmak, Pascal yada BASIC de yazmaktan cok daha kolaydir. Bir Pascal derleyicisinin fark edip uyaracagi bir hatayi, C derleyicileri fark etmeyebilir. C de, kendi basinizasiniz..

NIYE C?


Bu gun IBM-PC icin yazilan piyasadaki yeni programlarin yuzde 75'i, C ile yaziliyor. MicroSoft, Macro Assembler 4.0 i cikardiktan sonra, onu C ile yazdiklarini acikladi. Herhalde icinde birkac assembler rutin vardir ama, cogunlugu C ile yazilmistir.

C, bir komite degilde, bir kisi tarafindan yazilmis oldugundan, cok kullanisli bir lisandir, fakat cok iyi tanimlanmamistir. C icin bir standart yoktur, ama ANSI grubu, bu konuda calismaktadir. Isin ilgincligi, bir standart olmamasina ragmen, degisiklikleri cok azdir. Halbuki iyi tanimi olan Pascal dilinin, derleyicileri birbirinden cok farklidir, ve bir Pascal programini bir bilgisayardan digerine gecirmek zordur..

C nin Tasinabilirlik referanslari iyi olmasina ragmen, derleyiciler arasinda farkliliklar vardir. Bu degisiklikler genellikle BIOS fonksiyonlari gibi standart olmayan seyler kullanildiginda kendini gosterir.

TANIMLAYICI ISIMLERI


Fonksiyon ve degisken isimleri, harfler ve rakkamlardan olusabilir. Ilk harf ya bir harf yada alt-cizgi karakteri olmak zorundadir. geri kalanlar ise, harf, rakkam yada alt cizgi olabilir. Iki nokta onemlidir:

(1) Buyuk ve kucuk harfler farklidir. Bir programda "ISIM", "iSiM" ve "isim", degisik tanimlayicilardir.

(2) C'de, en fazla sekiz karakter onemlidir. Bir tanimlayici 8 karakterden uzun olabilir, fakat ilk sekizi sayilir. Bu derleyiciniz icin boyle olmayabilir.

DERLEYICI

Bu derste bircok ornek program sunacagim. Bunlari istediginiz herhangi bir derleyici ile derleyebilirsiniz, fakat kullanim kolayligi bakimindan QuickC derleyicisini tercih etmenizi tavsiye ederim.
__________________
ILK C PROGRAMINIZ


En basit C programi:

main()
{
}

Bu bir programdir, ve bunu kisaltmanin, basitlestirmenin bir yolu yoktur. Isin kotu tarafi, bu program birsey yapmaz. Buradaki en onemli kelime, main() sozcugudur. Her programda olmasi gereken bu sozcuk, daha sonra gorecegimiz gibi, ilk satirda olmak zorunda degildir, fakat bir giris noktasi saglamasi nedeni ile gereklidir. Bunu takiben, iki tane parantez vardir. Bunlar da, main'in bir fonksiyon oldugunu belirtir. (Bir fonksiyonun tam olarak nelerden olustugunu daha sonra gorecegiz)
Programin kendisi ise, iki kume isareti arasinda yer alir.

BIRSEYLER YAPAN BIR PROGRAM:


Daha ilginc bir program:

main()
{
printf("Bu bir satirlik yazidir.");
}

Bu programin, ayni diger program gibi, main, ve kume isaretleri vardir. Icinde yer alan fonksiyonun, bir satiri ekrana getirmesi icin, satiri " " isaretleri arasina aliyoruz. Ayrica fonksiyonun parametresi oldugunu belirtmek icin de, cevresine parantez koyuyoruz.

Satirin sonundaki noktali virgule dikkatinizi cekerim: Bir satirin bittigini derleyiciye bildirmek icin, C dilinde ; noktali virgul
kullanilir.

DAHA COK SEY YAZAN BIR PROGRAM


main()
{
printf("Bu bir satirlik yazidir. ");
printf("Bu bir baska ");
printf(" satirdir. ");
printf("Bu ucuncu satirdir. ");
}


Bu programda, 4 tane islenecek komut vardir. Satirlar bu sirada islenir. Ilk satirin sonundaki tuhaf ters bolu isareti, ondan sonra gelecek karakterin bir kontrol karakteri oldugunu belirtiyor. Bu durumda n harfi, yeni bir satir istegini belirtir. Yani, cursor, ekranin sol basina, ve bir satir asagiya kayar. Katarin herhangi bir yerinde yeni bir satir isteyince,
" " komutunu verebilirsiniz. Hatta bir kelimenin ortasina bile koyup, kelimeyi iki satira bolebilirsiniz.

Ilk komut, metini ekrana yazar, ve bir satir asagi iner. Ikinci komut, yazdiktan sonra, yeni satir yapmadan, ucuncu komutun icindekileri ekrana yazar. Bu komutun sonunda, yeni satira gecilir. Dorduncu komut ise, ucuncu satiri yazar, ve bir return karakteri sunar.


RAKAMLAR YAZALIM


main()
{
int index;

index = 13;
printf("Indexin degeri simdi %d ",index);
index = 27;
printf("Indexin degeri simdi %d ",index);
index = 10;
printf("Indexin degeri simdi %d ",index);
}

Bu programda ise, ilk defa olarak bir degisken kullaniyoruz. main() ve { isaretlerine artik alismis olmalisiniz. Bunun altinda "int index" diye bir satir yer aliyor. Bu satir, "index" isimli bir tamsayi degiskenini tanimliyor. Cogu mikrobilgisayarlar icin, 'int' tipi bir degiskenin alabilecegi degerler, -32768 ila 32767 dir. 'index' ismi ise, TANIMLAYICILAR da bahsettigimiz kurallara uyan herhangi birsey olabilir.
Bu satirin sonunda da, satirin bittigini belirten ; noktali virgul yer alir.

Bir satirda birden fazla tam sayi tanimlanabilir, fakat henuz biz bununla ortaligi karistirmayacagiz.

Programi incelerken, uc tane atama satiri oldugunu, ve bu satirlarin altinda da degerlerin yazildigini goruyoruz. Once 13 atanir, ve ekrana yazilir, sonra 27 ve 10.

RAKAMLARI NASIL YAZARIZ


Sozumuze sadik kalmak icin, tekrar printf komutuna donelim, ve nasil calistigini gorelim. Gordugunuz gibi, butun satirlar, birbiri ile ayni, ve diger orneklerden farki, icindeki % isareti. Bu harf, printf'e ekrana yazmayi durdurup, ozel birsey yapmasini soyler. % isaretinden sonra gelen harf, d, bir tamsayi yazilacagini belirtir. Bundan sonra, yeni satira geciren tanidik isaretini goruyoruz.

Den-denler arasinda kalan butun harfler, printf komutu ile ekrana cikacaklari tanimlar. Bundan sonraki virgul ve "index" sozcugu yer alir. printf komutu buradan degiskenin degerlerini okur. Daha fazla %d ekleyerek ,ve bunlari yine virgul ile birbirine ekleyerek, birden fazla degiskenin de bu komut ile goruntulenmesini saglayabiliriz. Hatirlamaniz gereken
onemli bir nokta, saha tanimlayici %d ile gecirdiginiz degisken miktari, ayni kalmalidir, yoksa bir runtime hatasi verir.

BILGI SATIRLARI NASIL EKLENIR


/* Bu satiri, derleyici kullanmaz */

main() /* Bir satir daha */
{
printf("Bilgi satirlarinin nasil eklenecegini ");
/* Bilgi satirlari,
bir satirdan uzun olabilir.
*/
printf("goruyoruz. ");
}

/* Ve programin sonu... */



Programa aciklik katmak icin, eklenebilecek bilgiler, derleyici tarafindan uzerinden atlanir. Lutfen yukaridaki programi, iyi bir ornek olarak almayin. Son derece daginik bir sekilde katilmis bilgi satirlari, sadece kullanimini gostermek amaci iledir. Bilgi satirlari, /* isaretleri ile baslar, ve */ isareti ile sona erir.

Dikkat etmeniz gereken bir nokta, birkac satirdan olusan bilgi satirlarinda bulunan program komutlarinin, isleme konmayacagidir.

Bilgi satirlari, programin nasil calistigini gostermesi bakimindan cok onemlidir. Yazdiginiz bir programin, bir baskasi tarafindan okunabilmesi, yada siz nasil calistigini unuttuktan sonra hatirlayabilmeniz icin, mumkun oldugu kadar cok bilgi satiri eklemekte fayda vardir.

Bazi derleyiciler ic ice bilgi satirlarini kabul ederler, fakat genelde, ic ice bilgi satirlari kabul edilmez.

IYI SAYFA DIZIMI


Yazdiginiz bir progr*** kolay anlasilir olmalidir. Bunun icin, duzgun bir sekilde programlamak cok onemlidir. C derleyicileri, komutlar arasindaki bosluklari goz onune almaz, ve bu nedenle de programlariniza aciklik katmak icin, dilediginiz gibi bosluk ve bos satir birakabilirsiniz.

Su iki programi karsilastiralim:

main() /* Program buradan basliyor */
{
printf("iyi yazis,");
printf ("programin anlasilmasini kolaylastirir ");
}

ve:

main() /* Program buradan basliyor */ {printf("iyi yazis,"); printf
("programin anlasilmasini kolaylastirir ");}
__________________
Asiller idare ederler. Acizler şikayet ederler. Basitler iftira ederler...
doğangüneş isimli Üye şuanda  online konumundadır  
Mesajı Digg'e ekleMesajı del.icio.us'a ekleMesajı Technorati'ye ekleMesajı FURL ekleSpurl this Post!Reddit! Wong this Post!
Alıntı ile Cevapla
Herşey Yarı Fiyatına..
Alt 02-08-2007, 12:32 AM   #2
SUPER MODERATOR
 
doğangüneş - ait Kullanıcı Resmi (Avatar)
Sürünmek için yaratılanlar asla Uçamazlar...
 
Üyelik tarihi: Apr 2007
Nerden: istanbul
Yaş: 26
Mesajlar: 9.379
Blog Mesajları: 8
Cinsiyet:
Rep Gücü: 669 Rep: 65818
doğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyor
Cevap: C dili

'WHILE' DONGUSU

C dilinde, bircok tip dongu vardir. While dongusu, herhangi bir test,
dogru kaldigi surece, bir program parcasini tekrarlar. Bu testin sonucu
yalnis cikarsa, while dongusu sona erer, ve program normal akisina devam
eder.

main() /* while dongusunun bir ornegi */
{
int count;

count = 0;
while (count<6)
{
printf("count'un degeri: %d oldu. ",count);
count = count + 1;
}
}

Bu programda, count isimli bir degiskeni tanimliyoruz, ve sifira
esitliyoruz. while dongusunun kullanimi, gorundugu gibi, 'while' sozcugu,
ve parantez icinde bir test'den olusur. Parantezlerin icindeki deyim
dogru kaldigi surece, bu program tekrarlar. Bu programda, degiskenin
degeri teker teker arttirildigindan, eninde sonunda degeri altiya
varacaktir, ve bu durumda program donguden cikacaktir.

Parantezlerin icinde yer alan deyimleri, bundan sonraki konuda
isleyecegiz. O zamana kadar, bunlarin dusundugunuz seyleri yaptigini kabul
ediniz.

Birkac onemli nokta:

1. Sayet 'count' un baslangic degeri 5 den buyuk birseye atanmis olsa
idi, dongunun icindekiler hic yapilmayacakti.
2. Eger 'count = count + 1' komutu ile degerini bir arttirmasa idik, bu
program hic durmazdi.
3. Son olarak, eger dongude tek bir komut varsa, kume isaretlerine gerek
yoktur.
__________________
DO-WHILE DONGUSU

Buna benzeyen bir baska komut ise, 'do-while' komutudur. Su progr*** daha
once gordugumuz programa cok benzer:

main() /* Do-While dongusu ornegi */
{
int i;

i=0;
do
{
printf("I nin degeri simdi: %d oldu. ",i);
i = i + 1;
} while (i<5);
}

Yegane farkin, dongunun bir 'do' komutu ile yapilmasi ve denkligin
kontrolunun sona birakilmasidir. Bu durumda, parantezlerin arasinda deyim
dogru kaldigi surece, dongu tekrarlanir.

Burada onemli noktalar: Kontrol, dongunun sonunda yapildigindan, kume
isaretlerinin arasindaki deyimler daima en az bir kere islenir. Ayrica
yine, sayet i nin degeri degismez ise, program donguden cikmaz. Son
olarak, sayet dongunun icinde bir tek komut varsa, kume isaretlerine gerek
yoktur.

Ayrica, dilediginiz miktarda donguyu ic ice de koymaniz mumkundur.

FOR DONGUSU


For dongusu, yeni birsey degildir. Sadece, 'while' dongusunun bir baska
seklidir:

main() /* Bir for dongusu */
{
int index;

for(index=0;index<6;index = index + 1)
printf("index'in degeri simdi %d oldu. ",index);
}

'For' dongusu, uc parcadan olusmustur. Her kesim birbirinden ; ile
ayrilir. Ilk kesimi, baslangic kesimi (initalization) dir. Burada bulunan
islemler, dongu baslamadan once, ve bir kere yapilir. Aslinda buraya
yazilacak seyler icin bir sinir yoktur, fakat basit tutmakta fayda vardir.
Bu kesime birden fazla islem yazilabilir, bunlari da birbirinden ','
virgul ile ayirmak gerekir.

Ikinci kesimde, "index<6" diyen parcada, bu dongunun her turunda kontrol
edilmesi gereken deyim yer alir. Bu deyim dogru oldugu surece, dongu devam
eder. Dogru yada yalnis sonuc veren herhangi bir deyim, bu kesimde yer
alabilir.

Ucuncu kesimde yer alan islemler ise, yine dongunun her turunda yapilir,
fakat isleme baslamasi, dongunun icinde yer alan komutlarin islenmesinden
sonra yapilir.

'For' komutundan sonra, ya tek bir komut gelir, yada kume isaretleri
icinde, bir komut bloku.. C de hemen heryerde, tek bir komut yerine, bir
komut bloku koymaniz mumkundur.
__________________
Asiller idare ederler. Acizler şikayet ederler. Basitler iftira ederler...
doğangüneş isimli Üye şuanda  online konumundadır  
Mesajı Digg'e ekleMesajı del.icio.us'a ekleMesajı Technorati'ye ekleMesajı FURL ekleSpurl this Post!Reddit! Wong this Post!
Alıntı ile Cevapla
Alt 02-08-2007, 12:33 AM   #3
SUPER MODERATOR
 
doğangüneş - ait Kullanıcı Resmi (Avatar)
Sürünmek için yaratılanlar asla Uçamazlar...
 
Üyelik tarihi: Apr 2007
Nerden: istanbul
Yaş: 26
Mesajlar: 9.379
Blog Mesajları: 8
Cinsiyet:
Rep Gücü: 669 Rep: 65818
doğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyor
Cevap: C dili

IF KOMUTU

/* Bu, if-else komutunun bir ornegidir */

main()
{
int data;

for (data=0;data<10;data = data + 1)
{
if (data==2)
printf("Data simdi %d ye esit. ",data);

if (data<5)
printf("Data simdi %d. Bu da, 5 den azdir. ",data);
else
printf("Data simdi %d. Bu da, 4 den buyuktur. ",data);
}
}

Bu programda, ilk once, icinde iki tane if komutu olan bir for dongusu
gorunuyor. Bu dongunun on kere tekrarlanacagi, acik bir sekilde goruluyor.

Ilk if satirina bakin: "if" kelimesi ile basliyor, ve sonra bir parantez
icinde, sarti goruluyor. Sayet bu parantezin icindeki islemin sonucu dogru
(evet) ise, if'den hemen sonra gelen satir islenir. Sayet cevap yalnis
ise, if'den sonra gelen komut, atlanir. Burada da, tek bir komut, kume
isaretleri ile, bir komut bloku haline getirilebilir.

Burada data==2 islemi, data degiskeninin degerinin ikiye esit olup
olmadigini kontrol eder. (Sayet data = 2 olsa idi, tumuyle ayri birsey
gerceklesirdi.)

IF-ELSE


Ikinci "if", yine birincisine benziyor. Fakat, ek olarak "else" isimli bir
kesimi de iceriyor. Bu da, sayet parantezlerin icindeki islem dogru (EVET)
sonuc verirse, "if" den sonra gelen satir islenecektir, sayet yalnis
(HAYIR) sonucu verirse, "else" den sonra gelen komut islenecektir. Bu
nedenle, iki satirdan biri muhakkak islenecektir.

BREAK ve CONTINUE

main()
{
int xx;

for (xx=5;xx<15; xx=xx+1)
{
if (xx==
break;
printf("Break dongusunun icinde, xx in degeri simdi %d ",xx);
}

for (xx=5;xx<15;xx=xx+1)
{
if (xx==
continue;
printf("Continue dongusunun icinde, xx in degeri simdi %d ",xx);
}
}


Bu programda gordugunuz gibi, sayet xx in degeri 8 e esit ise, break
isimli komutu cagiran bir if komutu goruyorsunuz. Break komutu, bizi
donguden cikarip, programi dongunun hemen altindaki satirdan devam
etmesini saglar.

Bu komut, ornegin dongunun icinde hesaplanan bir degere gore, donguden
cikmak istediginizde cok ise yarar. Ornekte, xx in degeri sekize ulasinca,
program donguden cikar, ve ekrana yazilmis en son deger, yedi olur.

Programin ikinci parcasindaki dongude ise, Continue komutunu goruyoruz.
Burada ise, deger 8 e ulasinca, program donguden cikmaz, fakat program
dongunun en son satirina atlayip, aradaki printf satirini islemez.
__________________
SWITCH


main()
{
int kamyon;

for (kamyon = 3;kamyon<13;kamyon = kamyon + 1)
{
switch (kamyon)
{
case 3: printf("Degeri simdi uc. ");
break;
case 4: printf("Degeri simdi dort. ");
break;
case 5:
case 6:
case 7:
case 8: printf("Degeri simdi 5 le 8 arasinda. ");
break;
case 11rintf("Degeri simdi onbir. ");
break;
defaultrintf("Tanimsiz degerlerden biri. ");
break;
}
}
}

Simdiye kadar gordugumuz en buyuk komut olan "switch", aslinda kullanimi
kolaydir. Ilk once, "switch" kelimesi ile baslar. Bunun arkasindan,
parantez icinde bir deyim gelir. Bundan sonra, dilediginiz kadar 'case'
komutlari, kume isaretleri arasinda yer alir. Her degeri sembolize eden
'case' satirlari, degiskenin degeri, iki nokta ust uste, ve bununla ilgili
komutlardan olusur.

Bizim ornegimizde, "kamyon" degiskeninin degeri 3 oldugunda, printf
satiri, 'Degeri simdi uc' satirinin ekrana yazilmasini, saglar. Daha sonra
yer alan 'break' komutu ise, switch in icinde yer alan diger komutlari
islenmeden, switch den cikilmasini saglar.

Bir giris noktasi bulunduktan sonra, satirlar bir 'break' komutuna
rastlayincaya kadar, yada switch'in son kume isaretine varincaya
kadar komutlar siradan islenir.

"Kamyon" un degeri 5 e esit ise, progr*** case 5,6,7 den gecerek 8'de
bulunan printf ve break komutlarini isler. Break komutu da, programi son
kume isaretine getirir. Sayet degiskenin bir degerine karsilik gelen bir
case yoksa, 'default:' isimli secenek secilir.
__________________
GOTO KOMUTU

main()
{
goto leave
printf("Bu satir hic yazilmayacak. ");
leave:
}


Goto komutunu kullanmak icin, "goto" isminin yanina, atlamak istediginiz
yerin sembolik ismini yazmaniz yeterlidir. "goto" ile bir dongunun icine
atlamaniza izin yoktur, fakat bir dongunun disina atlayabilirsiniz. Ayrica
bir fonksiyondan otekine de "goto" ile gecemezsiniz.

Bazi kimseler, goto nun hicbir yerde kullanilmamasi gerektigini
belirtiyorlar. Sayet, goto kullanimi ile, diger metodlara gore daha anlasilir
bir program olusacaksa, goto yu kullanmaktan cekinmeyin.

SONUNDA - ISE YARAYAN BIR PROGRAM

main() /* Santigrad'dan Fahrenheite */
{
int count; /* for degiskeni */
int fahr; /* fahrenheit degerini tutar */
int cen; /* Santigrat degerini tutar */

printf("Santigrad -> Fahrenheit karsilik tablosu ");

for (count=-2;count<=12;count=count+1)
{
cen = 10 * count;
fahr = 32 + (cen * 9) / 5;
printf(" C = %4d F = %4d ",cen,fahr);
if (cen == 0)
printf(" Suyun donma noktasi");
if (cen == 100)
printf(" Suyun kaynama noktasi");
printf(" ");
}
}

Bu progr*** santigrad ve fahrenheit derecelerin tablosunu yaratmaktadir.
Birden fazla degisken kullanilan ilk programimizdir bu. Degisken
taniminda, uc ayri satir kullanilmasi sayesinde, degiskenlerin yanina ne
ise yaradiklarini da yazabiliriz.
__________________
__________________
Asiller idare ederler. Acizler şikayet ederler. Basitler iftira ederler...
doğangüneş isimli Üye şuanda  online konumundadır  
Mesajı Digg'e ekleMesajı del.icio.us'a ekleMesajı Technorati'ye ekleMesajı FURL ekleSpurl this Post!Reddit! Wong this Post!
Alıntı ile Cevapla
Alt 02-08-2007, 12:34 AM   #4
SUPER MODERATOR
 
doğangüneş - ait Kullanıcı Resmi (Avatar)
Sürünmek için yaratılanlar asla Uçamazlar...
 
Üyelik tarihi: Apr 2007
Nerden: istanbul
Yaş: 26
Mesajlar: 9.379
Blog Mesajları: 8
Cinsiyet:
Rep Gücü: 669 Rep: 65818
doğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyordoğangüneş çok gurur duyuyor
Cevap: C dili

TAM SAYI ATAMA

TAMSAYI.C:

======================
main()
{
int a,b,c;

a = 12;
b = 3;

c = a+b;
c = a-b;
c = a*b;
c = a/b;
c = a%b;

c = 12*a+b/2-a*b*2/(a*c+b*2);

a = a + 1; /* arttirma islemleri */
b = b * 5;

a = b = c = 20; /* Coklu atamalar */
a = b = c = 12*13/4;
}
=======================
__________________
Bu programda uc tam sayi degiskeni tanimliyoruz (a,b,c), ve bunlara
degerler atiyoruz. Ilk iki satirda a ve b ye sayisal degerler veriyoruz.
Daha sonraki dort satirda, basit islemler goruyorsunuz.

Besinci satirda ise, modulo operatorunu goruyorsunuz. Modulo, iki degisken
birbirine bolundugunde, kalan degeri verir. Modulo, sadece integer ve char
degisken tipleri ile kullanilabilir.

Daha sonra gelen iki arttirma islemleri ise, bu sekilde derleyici
tarafindan kabul edilir, fakat bunlari yazmanin daha kestirme bir sekli
vardir - bunu daha sonra gorecegiz.

Son iki satira gelince, bunlar cok tuhaf gorunebilir goze. C derleyicisi,
atama satirlarini, sagdan sola dogru okur. Bunun sayesinde, coklu atamalar
gibi, cok faydali islemler yapilabilir. Bu ornekte, derleyici, yirmiyi
alip, c ye atiyor. Sola dogru devam ederken, b yi gorup, en son elde
edilen sonucu (20) b ye atiyor. Ayni sekilde a ya da, b nin degeri
veriliyor.

Bu programi derleyip, calistirmak son derece SIKICI olabilir. Bu programin
hicbir ciktisi yoktur. Dilerseniz, ogrendiginiz printf fonksiyonu ile,
programin yaptiklarini daha yakindan inceleyebilirsiniz.

C de veri tanimlari, program bloku icinde, islenecek komutlardan once
gelir. Sayet tanimlari programin ortasina yerlestirmeye calisirsaniz,
derleyici bir hata verecektir.
__________________
VERI TIPLERI

main()
{
int a,b,c; /* -32767 den 32767 ye - tamsayi olarak */
char x,y,z; /* 0 dan 255 e - tamsayi olarak */
float num,toy,thing; /* 10e-38 den 10e+38 e - ondalikli olarak */

a = b = c = -27;
x = y = z = 'A';
num = toy = thing = 3.6792;

a = y; /* a nin degeri simdi 65 (karakter A) */
x = b; /* x simdi tuhaf bir sayi olacak */
num = b; /* num simdi -27.00 olacak */
a = toy /* a simdi 3 olacak */
}

Gordugunuz gibi, birkac integer daha tanimladik. Fakat, bundan baska, iki
yeni tip daha kattik. "Char" ve "float".

"Char" tipi, nerdeyse integer ile ayni manada. Fakat, sadece 0 ila 255
arasindaki sayilari alabilir, ve genellikle hafizada bir bytelik bir yerde
saklanir. Bu tip veri, genellikle kelime katarlari saklamak icin
kullanilir.


DATA TIPLERININ KARISTIRILMASI


Bu anda, C nin "int" ve "char" i nasil kullandigini gormenin tam zamani. C
deki "int" tipi ile calisan cogu fonksiyonlar, karakter tip veri ile de
ayni sekilde calisabilir, cunku karakter tipi, bir cins integer'dir.
"char" ve "int" tiplerini neredeyse istediginiz gibi karistirmak
mumkundur. Derleyicinin akli karismaz, ama sizin karisabilir. Bunun icin
dogru tip veriyi kullanmakta fayda vardir.
__________________
Asiller idare ederler. Acizler şikayet ederler. Basitler iftira ederler...
doğangüneş isimli Üye şuanda  online konumundadır  
Mesajı Digg'e ekleMesajı del.icio.us'a ekleMesajı Technorati'ye ekleMesajı FURL ekleSpurl this Post!Reddit! Wong this Post!
Alıntı ile Cevapla
Cevapla

Seçenekler
Stil

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

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


Benzer Konular
Konu Konuyu Başlatan Forum Cevap Son Mesaj
Dilsiz dili Go[rk]eM Genel Kultur 1 04-10-2008 05:10 PM
A dan Z ye C Dili Programlama(Açıklamalı) doğangüneş Programlama 2 14-08-2007 01:25 AM
İmparatorluk Dilleri doğangüneş Edebiyat 0 14-06-2007 12:57 AM
Erkeklerin beden dili Nil@y Ask, Sevgi 0 25-02-2007 07:50 AM
Atatürk'ün Türk Dili hakkındaki düşüncesi Nil@y Mustafa Kemal Atatürk 0 30-09-2006 12:17 AM


Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 12:43 AM .


Powered by vBulletin® Jelsoft Enterprises Ltd.

Supermeydan.net kar amacı gütmeyen bilgi, paylaşım üzerine kurulu ücretsiz bir forum sitesidir, üyeler her türlü bilgiyi,dosyayı önceden onay olmadan anında siteye yazabilmektedir, bu mesajlardan dolayı doğabilecek her türlü sorumluluk mesajı yazan üyeye aittir. Yine de sitemizde yasa dışı (illegal) içerik bulursanız supermeydan@gmail.com email adresine bildiriniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır, Teşekkürler!


Telif haklarını ihlal eden hertürlü materyal supermeydan.net de yayınlanamaz ve dağıtılamaz.Site içeriğini Kaynak göstermek şartıyla kullanmanız serbesttir.
Okur konuları ve yorumları kişilerin kendi görüşleridir.SuperMeydan.Net konu ve yorum içeriklerini benimsememektedir

Search Engine Friendly URLs by vBSEO