Temel Veri Türleri ve Operatörler

Slides:



Advertisements
Benzer bir sunumlar
Değişken , Veri Türleri ve Operatörler
Advertisements

Göstericiler (Pointers)
PHP-MySQL ile Profesyonel Web Programlama
Bölüm 7 Fonksiyonlar GÖSTERGELER Gösterge Tanımı
Bölüm 2 C Dilinin Temelleri
switch - case Yapısı Döngü Yapıları
Değişken Tanımlamaları
C Programlama Diline Giriş
Basit Veri Türleri Sayısal Veri Türleri Karakter veri türü
Atama ve Girdi/Çıktı Komutları
BİL 112 Programlamaya Giriş: C
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Bölüm 10 Yapılar ve Birleşimler
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
BÖLÜM DEĞİŞKENLER ve SABİTLER Buraya kadar yapılan örneklerde mümkün olduğunca öğretilmeyen kavramların yer almamasına özen gösterildi. Ancak herhangi.
Nesneye Dayalı Programlama
Fortran Proglama Dili’nin Esasları
Değişkenler veri tipleri operatörler
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
DEĞİŞKENLER.
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Bilgisayar Programlama
Bölüm 1: C Programlama Diline Giriş
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
Diziler (Arrays).
Temel Giriş/Çıkış Fonksiyonları
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
C# Veri Tipleri ve Değişkenler
VERİ TİPLERİ VE DEĞİŞKENLER
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
DİZİLER Arrays.
Değerler ve Değişkenler
Bölüm 2 C Diline Genel Bir Bakış. 1/29 /* Örnek1- toplama.c Klavyeden girilen iki tamsayının toplamını bulup ekrana yazar. Erkan Yasan */ #include.
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
BİLGİSAYAR PROGRAMLAMA Ders 3: C ile Programlamaya Giriş
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
Bölüm 2 C Dilinin Temelleri
PROGRAMLAMAYA GİRİŞ.
Bölüm 3 Atama ve Girdi/Çıktı Komutları
C Programlama Dili Bilgisayar Mühendisliği.
Programlama Dillerinin Temel Elemanları
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H03
C Programlama Diline Giriş
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
Bölüm 2 C Dilinin Temelleri
Bölüm 1: C Programlama Diline Giriş
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
YAPISAL PROGRAMLAMA Hafta-6
NİŞANTAŞI ÜNİVERSİTESİ
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Bölüm 2 C Dilinin Temelleri
Bir Döngünün Bölümleri (hatırlatıcı)
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Temel Veri Türleri ve Operatörler 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Veri Türü Bir nesnenin türü onun hangi tür verileri saklayabileceğini ve bu veriler üzerinde hangi tür işlemleri yapabileceğini belirtir (Kernighan and Ritchie). Hatırda tutulması gerekenler Değerler kümesi sonludur. C’deki int tipi bütün tamsayıları temsil edemez. C’deki float tipi bütün kayan noktalı sayıları ifade edemez. Belli tipte bir değişken kullandığımızda, bu değişkenin hangi değerleri alabileceğine ve bu değişkene hangi işlemler (operatörler) uygulayabileceğimizi bilmemiz gerekir. 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Bazı Tanımlamalar Değişkenler (variables) Bellekte bilginin saklandığı ve gerektiğinde değiştirilebilen bilgiler tutan gözlere verilen simgesel isimlerdir. Veri türü (data type), bir değişkenin hangi tür değer alacağını belirler. Sabitler (constants) program boyunca değeri değişmeyen sembolik isimlerdir. Operatörler (operators) bir işlemi belirler. Örnek olarak, + operatörü toplama işlemine - operatörü çıkarma işlemine % mod alma işlemine karşı 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Bazı Tanımlamalar İfade (expression) hesaplamaların yapılabilmesi için değişken, sabit ve operatörlerin bir araya gelmesiyle oluşmuş olan yapılardır. Örnek: 2*a+c-d+fonk(24,34.2) Tanımlayıcılar (identifiers) C’de program içerisinde belirtilmiş olan değişkenler, sabitler ve fonksiyonların isimlendirilmesi gerekir. Verilen isimler harfler, rakamlar ve alt çizgilerden oluşur ve mutlaka bir harf ile başlar. Ayrıca isimlendirmede karakterler arasında boşluk bırakılmaz. Ankara06_baskent (geçerli) 06Ankara_baskent (geçersiz. Çünkü harfle başlamıyor) Diğer önemli bir husus ise C dilinin büyük/küçük harf duyarlı olmasıdır. Dolayısı“degisken” , “DEGISKEN”, “dEgiSKEn” birbirinden farklı isimlendirmelerdir. C standart kütüphanesinde kullanılan fonksiyon isimleri değişken ismi olarak kullanılamaz. Örnek: “printf”, “scanf”, vb. 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Temel Veri Tipleri C dilinde az sayıda temel veri tipi bulunmaktadır. C programlama dilinde temel 4 veri tipi bulunmaktadır. char int float double Fakat bazı özel niteleyiciler kullanılarak temel veri tiplerinin türevleri oluşturulur. short long unsigned 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Niteleyicilere Devam Bu niteleyiciler sayesinde değişkenin bellekte kaplayacağı alan isteğe göre değiştirilebilir. Kısa (short), uzun (long), ve normal (int) tamsayı arasında yalnızca uzunluk farkı vardır. C değişkenin bellekte ne kadar alan kaplayacağı hakkında bir kısıtlama getirmez. Bu konuda tek şart şudur, kaplanan alan(short int) <= kaplanan alan(int) <=kaplanan alan (long int) işaretsiz (unsigned) ön eki kullanıldığı taktirde, veri tipi ile saklanacak değerin sıfır ve sıfırdan büyük olması sağlanır. İşaretli ve işaretsiz verilerin bellekteki uzunlukları aynıdır. 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Sizeof operatörü Veri tipinin bellekte kapladığı alan sizeof operatörü ile bulunabilir. /* sizeof operatörünün kullanımı */ #include <stdio.h> main() { printf("char :%d byte\n", sizeof(char)); printf("short :%d byte\n", sizeof(short)); printf("int :%d byte\n", sizeof(int)); printf("long :%d byte\n", sizeof(long)); printf("unsigned char :%d byte\n", sizeof(unsigned char)); printf("unsigned short :%d \n", sizeof(unsigned short)); printf("unsigned int :%d bayt\n", sizeof(unsigned int)); printf("unsigned long :%d bayt\n", sizeof(unsigned long)); printf("float : %d bayt\n", sizeof(float)); printf("double :%d bayt\n", sizeof(double)); printf("long double :%d bayt\n", sizeof(long double)); } 09.04.2017 Bilgisayar Programlama

Değişken Tipleri ve Bellekte Kapladığı Alanlar Veri Tipi Açıklama Uzunluk (bit) Alt Sınır Üst Sınır char Tek bir karakter 8 -128 127 unsigned char 255 short int Kısa tamsayı 16 -32,768 32,767 unsigned short int 65,535 int Tamsayı 32 -2,147,483,648 +2,147,483,647 unsigned int 4,294,967,295 long int Uzun tamsayı unsigned long int float Tek duyarlı gerçek sayı (7 basamak) -3.4e +/- 38 3.4e +/- 38 double Çift duyarlı gerçek sayı (15 basamak) 64 -1.7e +/- 308 1.7e +/- 308 09.04.2017 Bilgisayar Programlama

Değişkenler (variables) Değişkenler bilgisayarın geçici belleğinde bilginin saklandığı gözlere verilen sembolik adlardır. Bir C programında, bir değişken tanımlandığında bu değişken için bellekte bir yer ayrılır. Her değişkenin tuttuğu değerin nasıl bir veri olduğunu gösteren bir veri tipi vardır. C programlama dilinde, değişkenler ve sabitler programın başında bulunmalıdır. Bazı uygulamalarda değişkenin bir başlangıç değerinin olması istenir. Böyle durumlarda değişken bildirilirken başlangıç değeri verilebilir. 09.04.2017 Bilgisayar Programlama

Değişkenler (variables) char harf=‘A’, harf1; /* harf değişkenine başlangıç değeri atandı. */ int sayi1, sayi2=25; /* sayi2 değişkeninin başlangıç değeri 25 */ float gerçek_sayı1, gerçek_sayı2=12.43; 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Değişken İsimleri Değişkelere isim verirken bazı kurallara dikkat etmeliyiz. Değişken adları en fazla 32 karakterden oluşur. Değişken adları ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) yada rakamlar (0-9) ile yazılmalıdır. Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz. Değişken adları herhangi bir rakam ile başlayamaz. Ilk karakter bir harf olamalıdır. Sonrakiler rakamlardan oluşabilir. Aşağıda verilen kelimeler ANSI C 'nin anahtar kelimeleridir (key words) ve değişken ismi olarak kullanılamaz. auto, double, int, struct, break, else, long, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while. 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Değişken, Fonksiyon Adı Geçerli mi Açıklama asal geçerli ivme olasilik IsikHizi İsikHızı geçersiz Ingiliz alfabesinde olmayan harf içeriyor Isik hizi Boşluk karakteri içeriyor gulen_adam degisken1 1degisken Rakamla başlıyor break Anahtar kelime değişken ismi olamaz 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Sabitler (Constants) Değişkenlerden farklı olarak bazı tanımlayıcıların sabit değerler tutması istenir. Bir tanımlayıcının sabit olduğunu const anahtar kelimesiyle belirleriz. Sabitlere başlangıç değeri atandıktan sonra yeni bir değer atanamaz. Sabit adları için genellikle büyük harfler tercih edilir. const float PI = 3.142857; const double NOT= 12345.8596235489; const int SABIT_SAYIMIZ= -1; const char[] ANAHTAR_CUMLE= "devam etmek için bir tuşa basın..."; 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Sabitler (Constants) Sabitler makrolar vasıtasıyla da tanımlanabilirler. Bunun için #define önişlemci bildirimi kullanılır. Makrolar önişlemci bildirimleri olup, derlemeden bir önceki adım olan önişlemci adımında tanımladıkları sabitlere dönüştürülürler. #define PI 3.142857; #define NOT 12345.8596235489; #define SABIT_SAYIMIZ -1; 09.04.2017 Bilgisayar Programlama

Sayısal ve Karakter Bilgileri (Literals) Bir veri tipi bir değerler kümesi belirler. Örneğin int veri tipi 232 farkı değer belirler ve bu değerlerin her biri [-2,147,483,648; -2,147,483,648] aralığında bir tamsayıya karşı gelir. Değerler kümesindeki her bir elemana bir literal denir. i=25; /* 25, int tipinde sayısal bir değerdir (literal) */ d=127.89; /* 127.89, double tipinde sayısal bir değerdir (literal) */ harf=‘i’; /* i, char tipinde bir literaldir */ 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Literaller C dilinde bütün tamsayı sabitler varsayılan (default) olarak int tipinde, gerçek sayı sabitler varsayılan olarak double tipindedir. Ancak sayısal literallerin sonuna eklenen U (veya u), L (veya l) ve F (veya f) harfleri ile bu durum değiştirilebilir. Bu yüzden, aşağıdaki atamalar aynı anlamda değildir. i = 25; /* int rakam */ i = 25U; /* unsigned int rakam */ i = 25L; /* long int rakam */ i = 25UL; /* unsigned long rakam */ r = 17.2; /* double rakam */ r = 17.2L; /* long double rakam */ r = 17.2F; /* float rakam */ 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Literaller Tamsayı literaller değişik sayı tabanlarında da gösterilir. 8’lik taban (oktal) için literalin önüne 0 (sıfır), Kullanılabilecek semboller: 0,1,2,3,4,5,6,7 16’lık taban (hexadecimal) için literalin önüne 0x eklenir. Kullanılabilecek semboller: 0,1,2,3,4,5,6,7,8,9,a/A, b/B, c/C, d/D, e/E, f/F /* aşağıdaki atamaların hepsi aynıdır */ sayi = 75; /* 10 tabanında */ sayi = 0113; /* 8 tabanında*/ sayi= 0x4b; /* 16 tabanında */ sayi = 0x4B; /* 16 tabanında */ 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Literaller Gerçek sayılar iki şekilde gösterilebilir. Ondalıklı olarak Üstel (bilimsel notasyonda) gösterim (e veya E kullanılarak) Aşağıdaki atamaların hepsi aynıdır x = 87.234; /* ondalıklı gösterimi */ x = 87.234e+0; /* üstel gösterim */ x = 8.7234e+1; /* üstel gösterim */ x = 87234E-4; /* üstel gösterim */ 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Literaller Karakter literaller tek tırnak içinde belirtilir. ‘2’,’A’. Karakter kümesi (string) literaller çift tırnak içerisinde gösterilir. “Ankara Turkiyenin Baskentidir” 09.04.2017 Bilgisayar Programlama

09.04.2017 Bilgisayar Programlama

Karakterler Hakkında Daha Fazlası Sabitler nümerik değerlerden oluşabileceği gibi karakter veya karakter dizilerinden (strings) de oluşabilirler. Klavye üzerinde görmüş olduğumuz her sembol aynı zamanda bir karakterdir. Karakterler yazılırken tek tırnak içerisinde belirtilirler. Örn: ‘A’, ‘.’, ‘%’ Her bir karakterin sayısal bir değeri vardır. Karakter sabitin sayısal değeri, karakterin ASCII kod tablosundaki karşılığıdır. Örn: ‘A’ karakterinin sayısal değeri 65’dir. Karakter dizileri(strings) ise karakterlerin bir araya gelmesiyle oluşan yapılardır. C’de karakter dizileri çift tırnak arasında belirtilirler. Örn: “merhaba”, “elma”, “ogrenci” vb. 09.04.2017 Bilgisayar Programlama

Karakterler Hakkında Daha Fazlası C’de ters slash ‘\’ karakterinin özel bir anlamı vardır. Bu karakter ile klavye ile ifade edilemeyen özel sembollerin ifade edilmesi sağlanır. Bu tür karakterlere “escape karakterleri” denir. Escape Karakteri Açıklama \n Yeni satır \b Backspace \r Satır başı \’ Tek tırnak \” Çift tırnak \\ Tek ters slash printf( "Turkiye\'nin Baskenti Ankara\'dir."); Çıktı: Turkiye'nin Baskenti Ankara'dir. printf("Ali, \"Bu is seni ilgilendirmez.\" dedi.\n"); Çıktı: Ali, "Bu is seni ilgilendirmez." dedi. 09.04.2017 Bilgisayar Programlama

09.04.2017 Bilgisayar Programlama

Değişken Bildirim Yerleri Değişkenler bildirildikleri yere göre yerel ve global olmak üzere ikiye ayrılırlar. Yerel değişkenler (local variables): Fonksiyon veya bir blok içerisinde bildirimi yapılan değişkenlerdir. Bu tip değişkenler hangi fonksiyon veya blokta bildirilmişse orada aktif olurlar. Başka fonksiyonlardan çağrılamazlar. void toplama(int a, int b){ int c; /* c değişkeni yerel değişken olup, sadece bildirimi yapıldığı fonksiyonda kullanılabilir. */ c=a+b; return c; } 09.04.2017 Bilgisayar Programlama

Değişken Bildirim Yerleri Genel değişkenler (global variables) Genel değişkenler bütün fonksiyonların dışında bildirilir ve bütün fonksiyonlar içerisinden erişilebilirler. void karesi(); /* m ve n global tip değişkendir. Bu iki değişken tüm program boyunca kullanılmaktadır. */ int m,n; main() { m=7; karesi(); printf("%d nin karesi %d dir",m,n); } void karesi(){ n = m*m; 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Tip Dönüşümleri Bir ifadede farklı tipten değişkenler ve sabitler varsa tip dönüşümü gerçekleştirilir. İki türlü tip dönüşümü vardır. Otomatik tip dönüşümü (implicit type conversion) ve açık belirtimli tip dönüşümü (explicit type conversion). Otomatik tip dönüşümü Veri tipleri küçükten tipten büyük tipe dönüştürülür. Tamsayı tipler kayan noktalı tiplerden daha küçüktür İşaretli tipler işaretsiz tiplerden daha küçüktür double > float > long > int > short > char 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Otomatik Tip Dönüşümü Şu kuralları hatırda tutalım Sabit tamsayıların tipi int olarak kabul edilir. Ondalık sayıların tipi double olarak kabul edilir. İki int arasındaki işlemin sonucu yine int’dir. İki float arasındaki işlemin sonucu yine float’dır. Verinin biri float diğeri int ise sonuç float’dır Verilerden biri double, diğeri double değilse, double olmayan veri önce double’a dönüştürülür ve işlemin sonucu double çıkar. Eğer verilerden biri long diğeri unsigned int ise her ikisi de unsigned long’a dönüştürülür ve sonuç unsigned long olur. char ve short veri tipleri int veri tipine dönüştürülür. unsigned char ve unsigned short unsigned int’e dönüştürülür. 09.04.2017 Bilgisayar Programlama

Otomatik Tip Dönüşümü int a=100; float b=7.9; if(a+b > 0) { /* bir seyler yap */} /* float int’ten büyük olduğu için 100.000000’ dönüştürülerek toplama işlemi yapılır, daha sonra 0 (tamsayı) 0.000000’a (float’a) dönüştürülerek kıyaslama yapılır. 09.04.2017 Bilgisayar Programlama

Bilgisayar Programlama Otomatik Tip Dönüşümü Atama işlemi yaparken eğer eşitliğin solundaki değişkenin tipi eşitliğin sağındaki verinin tipinden küçükse bu durumda büyük tip küçük tipe dönüştürülüp atama yapılır. float x,y,z; int result; result=x*y*z/100+32/8-3*1.5; /* 100, 100.000000’a, 32/8’in sonucu olan 4 tamsayısı 4.000000’a , 3 ise 3.000000’a dönüştürülür. İşlem sonucu elde edilen float değeri int’e dönüştürüldükten sonra atama işlemi gerçekleştirilir. 09.04.2017 Bilgisayar Programlama