Gönderen Konu: YENI VERI TIPLERINI NASIL KULLANALIM  (Okunma sayısı 8231 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Morphosis

  • Üye
  • **
  • İleti: 74
YENI VERI TIPLERINI NASIL KULLANALIM
« : 06 Haziran 2008, 12:23:31 ös »
Bu programin ilk uc satirinda, dokuz tane degiskene deger ataniyor.

* Daha once gordugumuz gibi, "char" tipi, aslinda bir "integer" tipi
oldugundan, bir "char" in "int" e cevrilmesinde hicbir sorun yoktur.
* Fakat, bir integer'i "char" a cevirmek icin, bir standart yoktur. Bu
nedenle, sayet tamsayi degiskeninin degeri, "char" sahasindan buyukse,
cikan sonuc cok sasirtici olabilir.
* Ucuncu satirda ise, bir tamsayiyi, "float" a atiyoruz. Bu durumda,
derleyici, bu ceviriyi bizim icin yapar.
* Fakat tersini yapmak ise, biraz daha karisiktir. Derleyici sayet varsa,
degiskenin ondalik degerini ne yapacagina karar vermek zorundadir.
Genellikle de, ondalik kesimi gozardi eder.

Bu programin da hicbir ciktisi yok. Hem zaten karakter ve float tiplerinin
nasil ekrana yazilabilecegini gormedik.. Bundan sonraki programa kadar
sabir..

COKVERI.C:
================================================== =

main()
{
int a; /* basit tamsayi tipi */
long int b; /* uzun tamsayi tipi */
short int c; /* kisa tamsayi tipi */
unsigned int d; /* isaretsiz (+ - siz) tamsayi */
char e; /* karakter tipi */
float f; /* kayar nokta tipi */
double g; /* cift hassasiyet kayar nokta */

a = 1023;
b = 2222;
c = 123;
d = 1234;
e = 'X';
f = 3.14159;
g = 3.1415926535898;

printf("a = %dn",a); /* desimal */
printf("a = %on",a); /* oktal */
printf("a = %xn",a); /* heksadesimal */
printf("b = %ldn",b); /* uzun desimal */
printf("c = %dn",c); /* kisa desimal */
printf("d = %un",d); /* isaretsiz */
printf("e = %cn",e); /* karakter */
printf("f = %fn",f); /* kayar nokta */
printf("g = %fn",g); /* cift hassasiyet k.n */
printf("n");
printf("a = %dn",a); /* basit 'int' cikti */
printf("a = %7dn",a); /* 7 uzunlukta bir saha kullan*/
printf("a = %-7dn",a); /* sola dayali 7 lik saha */
printf("n");
printf("f = %fn",f); /* basit kayan nokta */
printf("f = %12fn",f); /* 12 lik bir saha kullan*/
printf("f = %12.3fn",f); /* noktadan sonra 3 hane */
printf("f = %12.5fn",f); /* noktadan sonra 5 hane */
printf("f = %-12.5fn",f); /* sola yapisik 12 hane */
}

================================================== =

Bu program, C dilinde bulunan butun standart basit veri tiplerini
kapsiyor. Baska tiplerde var, fakat bunlar basit tiplerin bir araya
gelmesi ile olusurlar. Bunlardan daha sonra bahsedecegiz.

Programi inceleyin. Ilk once basit 'int', sonra 'long int' ve 'short int'
gorunuyor. 'unsigned' tipi, yine integer kadar bir sahada saklanir, fakat
arti yada eksi isareti tasimadigindan, genellikle siniri 0 - 65535 dir.
(Sayet long, short, yada unsigned deyimi kullanilmissa, sonuna 'int'
yazilmasi gereksizdir.)

Daha once char ve float u gormustuk. Bunlar disinda kalan 'double' tipi,
'float' a nazaran daha buyuk bir sahada saklanir, ve daha hassas sonuclar
verebilir.

Cogu derleyicilerin matematik fonksiyonlari, float tipini kullanmaz,
double tipini kullanir. Bu nedenle verdiginiz float degeri, size
transparan olarak double'a cevirir.