08-BPR151 VeriTipleri

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 24

BPR151 ALGORİTMA VE

PROGRAMLAMA - I

Öğr. Gör. Bayram AKGÜL


bayramakgul@bartin.edu.tr
http://myo.bartin.edu.tr/akgul
Bugünkü konular
• Veri tipleri ve özellikleri
• Değişken tanımlama ve değer atama

2
Sayısal Veri Tipleri ve Özellikleri
Veri tipi boyut Aralık
sbyte 1 byte -128 : 127
byte 1 byte 0 : 255
short 2 byte -32768 : 32767
ushort 2 byte 0 : 65535
int 4 byte -2147483648 :2147483647
uint 4 byte 0 : 4294967295
-9223372036854775808 :
long 8 byte
9223372036854775807
ulong 8 byte 0 : 18446744073709551615
float (7 basamak) 4 byte 1.175494e-38 :3.402823e+38
double (15-16 basamak) 8 byte 2.225074e-308 :1.797693e+308
decimal (28-29 basamak) 8 byte

3
Değişken Tipi Kategorileri
Veri Tipi Kategori Son Ek
bool Boolean
char İşaretsiz, Sayısal, Tam sayı
byte İşaretsiz, Sayısal, Tam sayı
sbyte İşaretli, Sayısal, Tam sayı
short İşaretli, Sayısal, Tam sayı
ushort İşaretsiz, Sayısal, Tam sayı
int İşaretli, Sayısal, Tam sayı
uint İşaretsiz, Sayısal, Tam sayı U veya u
long İşaretli, Sayısal, Tam sayı L veya l
ulong İşaretsiz, Sayısal, Tam sayı UL veya ul
float Sayısal, virgüllü sayı F veya f
double Sayısal, virgüllü sayı D veya d
decimal Sayısal, decimal M veya m 4
Integer
• Tam sayıları ifade eder
– Hem negatif hem pozitif tam sayılar
– 4 byte : -2.147.483.648 den 2.147.483.647 e kadar
(toplam 4.294.967.296 adet sayı)
• C#’ta ifade tarzı:
int veya Int32
• Örnek:
int toplam; /* işaretli integer */

toplam = 100; /* positif olabilir */


toplam = -20; /* negatif olabilir */

int toplam = 32000; /* kodlama sırasında */


/* ilk değer verilebilir */
5
Unsigned Integer
• İşaretsiz tam sayıları ifade eder
– Sadece Pozitif olabilir
– 4 byte : 0 dan 4,294,967,295 e kadar
– (toplam 4,294,967,296 adet sayı)
• C# ‘ta ifade tarzı:
uint veya UInt32
• Örnek:
uint sayi;

sayi = 12u; /* positif olabilir */


 sayi = -24u; /* hata negatif olamaz! */

uint sayi = 4567u; /* kodlama sırasında */


/* ilk değer verilebilir */ 6
Short
• Kısa tam sayıları ifade eder (kısa integer)
– Hem negatif hem pozitif olabilir
– 2 byte: -32768 den 32767 toplam 65536 sayı
• C#’ta ifade tarzı:
short veya Int16
• Örnek:
short toplam; /* işaretli */

toplam = 100; /* positif olabilir */


toplam = -20; /* negatif olabilir */

short top = 32000; /* kodlama sırasında */


/* ilk değer verilebilir */

7
ushort
• İşaretsiz kısa tam sayıları ifade eder
– Sadece pozitif olabilir
– 2 byte: 0 dan 65535’e kadar toplam 65536 değer
• C#’ta ifade tarzı:
ushort veya UInt16
• Örnek:
ushort toplam;

toplam = 100; /* positif olabilir */


 toplam = -20; /* hata negatif olamaz! */

ushort top = 32000; /* kodlama sırasında */


/* ilk değer verilebilir */

8
long
• Uzun tam sayıları ifade eder (uzun integer)
– Hem negatif hem pozitif olabilir
– 8 byte: -9,223,372,036,854,775,808 -
9,223,372,036,854,775,807
• C#’ta ifade tarzı:
long veya Int64
• Örnek:

long toplam; /* işaretli */

toplam = 100L; /* pozitif olabilir */


toplam = -20L; /* negatif olabilir */

long toplam = 32000L; /* kodlama sırasında */


/* ilk değer verilebilir */

9
ulong
• İşaretsiz uzun tam sayıları ifade eder
– Sadece pozitif olabilir
– 8 byte: 0 dan 18,446,744,073,709,551,615
• C#’ta ifade tarzı:
ulong veya UInt64
• Örnek:
ulong toplam;

toplam = 100UL; /* positif olabilir */


 toplam = -20UL; /* hata negatif olamaz! */

ulong top = 32000UL; /* kodlama sırasında */


/* ilk değer verilebilir */

10
sbyte
• Bir byte tam sayıları ifade eder (çok kısa integer)
– Hem negatif hem pozitif olabilir
– 1 byte: -128 den 127’ye kadar toplam 256 sayı
• C#’ta ifade tarzı:
sbyte veya SByte
• Örnek:

sbyte toplam; /* işaretli */

toplam = 100; /* positif olabilir */


toplam = -20; /* negatif olabilir */

sbyte top = 32; /* kodlama sırasında */


/* ilk değer verilebilir */

11
byte
• 1 byte işaretsiz çok kısa tam sayıları ifade eder
– Sadece pozitif olabilir
– 1 byte: 0 dan 255’e kadar toplam 256 değer
• C#’ta ifade tarzı:
byte veya Byte
• Örnek:
byte toplam;

toplam = 100; /* pozitif olabilir */


 toplam = -20; /* hata negatif olamaz! */

byte toplam = 32; /* kodlama sırasında */


/* ilk değer verilebilir */

12
Virgüllü sayılar - float
• Gerçek sayıları ifade eder (virgüllü kısmıyla)
– Positif ve negatif olabilir
– 4 byte : ±1.5e−45 to ±3.4e38 (7 basamak)
• C de virgüllü sayıların ifade tarzı:
float veya Single
• Örnek:
float f;

f = 0.12f; /* positif olabilir */


f = -245.56f; /* negatif olabilir */

float f = 4.567f; /* kodlama sırasında */


/* ilk değer verilebilir */
13
Daha uzun ve çok hassas virgüllü
sayılar- double
• Standart "double precision floating point"
(gerçek) sayılardır.
– float gibi, fakat çok daha büyük ve hassastır.
– 8 byte : ±5.0e−324 to ±1.7e308 (15 veya 16 byte)
• C#’taki ifade tarzı:
double veya Double
• Örnek:
double sayi;

sayi = 3.12E+5; /* 312000.0 */


sayi = -45.678d; /* negatif */

double sayi = 4.567d; /* ilk değer ataması */


14
Decimal
• Virgüllü sayılar için geliştirilmiş bir tiptir.
– double ve float tiplerine nispeten aynı alanda çok
daha geniş bir değer aralığına sahiptir, ve çok daha
hassastır.
– 8 byte : (28-29 basamak)
• C#’taki ifade tarzı:
decimal veya Decimal
• Örnek:
decimal sayi;

sayi = 3.12m; /* pozitif */


sayi = -45.67m; /* negatif */

decimal sayi = 4.567m; /* ilk değer ataması */


15
Boolean
• Doğru veya yanlış – 1/0 ifade eder
– Sadece true veya false olabilir. (1 byte)
• C#’ta ifade tarzı:
bool veya Boolean
• Örnek:

bool gecti;

gecti = true; /* true olabilir */


gecti = false; /* false olabilir */

bool gecti = true; /* kodlama sırasında */


/* ilk değer verilebilir */

16
Karakter Değişkenler
• Tek bir karakteri ifade eder, C#’ta 2 byte yer
tutar.
– Karakterler alfabedeki (büyük/küçük) harfler
– 0’dan 9’a 10 rakam
– Bazı özel semboller +#@½%&$.*?!£‘=-:/*^(){}[]~;,<>

• Karakterler tırnak işareti arasında kullanılır


– örneğin. 'A'
char c;

c = 'A'; /* A harfi*/
c = '9'; /* 9 rakamı */

char c = 'c'; /* ilk değer atama */


17
Özel Karakterler
• Karakterler tek tırnak arasında gösterilir
– Tırnak işaretini nasıl göstereceğiz?

char c;
c = ''';

char c;
c = '\'';

• Ters slaş(\) bir karakterin önünde kullanılırsa
bu durum Escape Sequence (kaçış dizisi)
olarak adlandırılır.
- Kendisinden sonra gelecek Karakterin anlamını yok eder.
18
Escape Sequence – kaçış dizisi
• Ters slaş (\) ve bir karakterden oluşur.
Derleyiciye sonraki karakterin özel olarak
algılanması işaretini verir.
• Sık kullanılanlar
– \n sonraki satıra geç
– \t sonraki sekmeye geç
– \r satır başına dön
– \\ ters slaş karakteri
– \' tek tırnak
– \" çift tırnak : çift tırnak ' " ' şeklinde
yazılabilir ancak string lerin içinde " \" " şeklinde
yazılmalıdır.
19
Yazı Değişkenleri
• Yazıları (karakter dizilerini) depolamak için
kullanılır.
– Referans tiptir, dolayısıyla kesin boyutları
yoktur.
• C#’taki ifade tarzı:
string veya String
• Örnek:
string isim;

isim = "Ali" ; /* Ali */


isim = "007 Alican " ; /* 007 Alican*/

string isim = "Ali Kara" ; /* ilk değer atama */


20
sizeof Operatörü
• sizeof operatörünü kullanarak değişken tiplerinin
gerçekte hafızada kaç byte yer tuttuğunu
öğrenebilirsiniz.
int a = sizeof(char); /* 2 döner */

int b = sizeof(short); /* 2 döner */


int c = sizeof(int); /* 4 döner */
int d = sizeof(long); /* 8 döner */

int e = sizeof(float); /* 4 döner */


int f = sizeof(double); /* 8 döner */

1 2 4 8 4 8
a b c d e f
21
Değişken örnekleri & atama
int x; /* 1 int tanımlar */
float inch, santimetre; /* 2 float tanımlar */
double d; /* 1 double tanımlar */

x = -85; /* x e -85 atanır */


d = 3.4545673d; /* d ye 3.4545673 atanır */
inch = 75.0f; /* inch’e 75.0 atanır */
santimetre = 23.4f; /* santimetreye 23.4 atanır */

• = atama operatörüdür
– kullanım: değişken = değer;
– Değişkenlerin ifade ettiği hafıza alanlarındaki
değerleri değiştirir.

-85 3.4545673 75.0 23.4


x d inch santimetre 22
Değişken Tanımlama & İlk Değer Atama
• Değişkenlere tanımlandığı yerde ilk değer verilebilir

int toplam = 32000; /* pozitif olabilir */


int x = -23, y = 458; /* negatif olabilir */

float f1 = 34.5f;
float inch = 75.3f, santimetre = 0;

double d1, d2 = -4.567d; /* negatif olabilir*/


double d3 = 5e+3; /* bilimsel kodlama: 5x10^3 */

d1 = 675e-4; /* 675x10^-4 = 0.0675 */

32000 -23 458 34.5 75.3 0.0 0.0675 -4.567 5000


toplam x y f1 inch santimetre d1 d2 d3
23
DİNLEDİĞİNİZ İÇİN
TEŞEKKÜRLER…

Öğr. Gör. Bayram AKGÜL 24

You might also like