Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1
Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants) program boyunca değeri değişmeyen sembolik isimlerdir. Operatörlerde aritmetik işlemlerde kullanılan karakterlerdir. Programlama Dilleri-ders02/ 2
Değişkenler, Sabitler ve Operatörler Örn: a=b+c; İşleminde a,b,c değişken = ve + ise operatördür. Bu kodda bellekte b ve c adreslerindeki iki değişkenin değeri toplanır ve a nın bellek adresine sonuç yazılır. Programlama Dilleri-ders02/ 3
Değişkenler, Sabitler ve Operatörler BELLEK...... a=b+c a 000A 000B 000A = 00FE+00FF b c... 3 2 00FE 00FF a=5...... Programlama Dilleri-ders02/ 4
Değişkenler, Sabitler ve Operatörler Değişken isimleri karakter ile başlamak zorundadır. int a,b ; şeklinde iki tamsayı bildirimi yapılır. Bir tamsayı 16 bit yani 2 byte ile tutuluyor ise alabileceği değer aralığı (-32768-32767) dir. Bir sayının işaretsiz olması için unsigned ifadesi başına eklenir. unsigned int a,b; Programlama Dilleri-ders02/ 5
Değişkenler, Sabitler ve Operatörler Bu durumda a ve b değişkenlerinin alabileceği değer aralığı (0-65535) dir. C programlama dilinde karakterler char veri tipi ile tutulurlar ve 1 byte lık yer kaplarlar. C dilinde değişkenler kullanılmadan önce bildirilmelidirler. Programlama Dilleri-ders02/ 6
Değişkenler, Sabitler ve Operatörler Bir değişkenin bildiriminin yapıldığı yer o değişkenin yerel (local) yada genel (global) olmasını sağlar. Programlama Dilleri-ders02/ 7
Değişkenlerin Yerel(local) Bildirimi Kullanıldıkları fonksiyon içerisinde tanımlanan değişkenler yerel değişkenlerdir. Yalnızca tanımlandıkları fonksiyonda kullanılabilirler. Fonksiyonun çalışması bittiğinde bu değişkenlerde kullanılamazlar. Programlama Dilleri-ders02/ 8
Değişkenlerin Yerel(local) Bildirimi Buradaki carp() fonksiyonundaki a, b, sonuc değişkenleri yerel değişkendir. Programlama Dilleri-ders02/ 9
Değişkenlerin Genel(global) Bildirimi Bütün fonksiyonların dışında bildirilen değişkenler genel değişkenlerdir. Tüm fonksiyonlarca ortak olarak kullanılabilirler. Programlama Dilleri-ders02/ 10
Değişkenlerin Genel(global) Bildirimi Programlama Dilleri-ders02/ 11
Dışsal (extern) Bildirim Büyük boyutlu programlar genellikle farklı dosyalara parçalanır ve bu parçalar ayrı ayrı yazılarak bir araya getirilir. Bu derleme(compile) da kolaylık sağlar. Parçalanmış olan dosyalar derlenirler. Eğer yazımlarında hata yoksa her seferinde tekrar derlenmezler başarılı oluşturulmuş dosyalar kullanılır. Programlama Dilleri-ders02/ 12
Dışsal (extern) Bildirim Bazen bir genel değişkenin birden fazla dosyada ortak kullanılması gerekebilir. Bu durumda değişken bir dosyada tanımlanır ve diğer dosyalarda dışsal(extern) olarak bildirilir. Programlama Dilleri-ders02/ 13
Dışsal (extern) Bildirim Programlama Dilleri-ders02/ 14
Statik (static) Değişken Bildirimi Yerel değişkenler sadece ait oldukları fonksiyon içinde kullanılırlar. Fonksiyon çalışmasını bitirdiğinde bu değişkenler kullanılamazlar ve kapladıkları bellek alanı başka kullanımlar için serbest olur. Programlama Dilleri-ders02/ 15
Statik (static) Değişken Bildirimi Bazen fonksiyonlar içindeki yerel değişkenlerin değerlerini koruması istenir. Bunu yapabilmek için yerel değişkenin static tanımlanması gereklidir. Programlama Dilleri-ders02/ 16
Statik (static) Değişken Bildirimi Statik tanımlanan k değişkeni fonksiyon çalışmasını bitirdikten sonra içeriğini korur. Programlama Dilleri-ders02/ 17
ÖDEV Ödev: Her çağrıldığında bir öndeki fibonacci sayısını veren fonksiyonu ve bu fonksiyonu kullanan örnek bir uygulama geliştiriniz. Fibonacci sayilari: Fib0 =1 Fib1=1 Fib2=Fib0+Fib1 Fib3=Fib1+Fib2 Fib4=Fib2+Fib3... Programlama Dilleri-ders02/ 18
volatile Tanımlı Değişken Bildirimi C derleyicileri bir programı derlerken istenilirse bellek kullanımı ve hız açısından optimizasyon yapabilirler. Ama bazı değişkenlerin optimizasyon işlemine sokulması istenmeyen beklenmedik hatalara neden olabilir. Bazı değişkenler üzerinde optimizasyon yapılmasını engellemek için volatile volatile ifadesi değişken bildiriminde kullanılır. Örn : volatile int a; //a değişkenindeki optimizasyonu engeller. Programlama Dilleri-ders02/ 19
Değişkenlere Başlangıç Değeri Verilmesi Değişken ilk bildirildiğinde içeriği rastgele bir değerdir. Bu değer değişken için ayrılan bellek alanının içeriğinde o anda hangi değer varsa ona eşittir. Bazı uygulamalarda değişkenlerin ilk değerinin olması gerekir. Örn: int m=0; float f=12.345,sonuc; Programlama Dilleri-ders02/ 20
Sabit (constant) Bildirimi Bazen uygulamada tanımlanan değişkenin değerinin uygulama içinde değiştirilmemesini isteriz, bu gibi durumlarda sabit değişken tanımı yaparız. Örn: const float pi=3.142857; const char[] aciklama= C dili ; const int EOF=-1; Programlama Dilleri-ders02/ 21
Tamsayının tabanı Bir tamsayıyı uygulamada tanımlarken ondalık,sekizlik ve onaltılık tabanda yazabiliriz. Örn : int toplam=30; int toplam=0x1e; //onaltılık (0x) int toplam=036; //sekizlik (0) Programlama Dilleri-ders02/ 22
Gerçel Sayılar Gerçel sayılar kayan noktalı(floating point) gösterimle bellekte saklanırlar. Duyarlılık: virgülden sonraki kesir kısmı Tek duyarlı : float Çift duyarlı: double Uzun çift duyarlı: long double Bir gerçel sayı belirtilmediği sürece çift duyarlı kabul edilir. Sayının sonuna F yada f eklenerek tek duyarlı, L yada l eklenerek uzun çift duyarlı olduğu belirtilir. Programlama Dilleri-ders02/ 23
Gerçel Sayılar Program yazılırken gerçel sayı iki şekilde yazılabilir, iki gösterimde aynıdır. float f=1234.5; float f=0.12345e+4; E harfinden sonraki sayı 10 nun kuvveti olarak değerlendirilir ve önündeki sayı ile çarpılır. 24.33E-5 = 0.0002433 1.0E-10 = 0.0000000001 Programlama Dilleri-ders02/ 24
Aritmetik Operatörler + Toplama - Çıkarma * Çarpma / Bölme % Artık Bölme (modulo) -- 1 azaltma ++ 1 arttırma Programlama Dilleri-ders02/ 25
Aritmetik Operatörler Programlama Dilleri-ders02/ 26
Karşılaştırma Operatörler Birinci > ikinci Büyük mü? >= Büyük eşit mi? < Küçük mü? <= Küçük eşit mi? == Eşit mi?!= Eşit değil mi? Programlama Dilleri-ders02/ 27
Karşılaştırma Operatörler Programlama Dilleri-ders02/ 28
Mantıksal Operatörler Karşılaştırma ve döngü deyimlerinde koşulun sınanması için karşılaştırma operatörleri kullanılır. Ancak birden fazla koşul birleştirildiğinde, koşulların birlikte değerlendirilebilmesi için mantıksal operatörler kullanılır. && VE (AND) VEYA (OR)! DEĞİL (NOT) Programlama Dilleri-ders02/ 29
Mantıksal Operatörler Programlama Dilleri-ders02/ 30
Mantıksal Operatörler Programlama Dilleri-ders02/ 31
Bit (Bitwise) Operatörleri Bir sayının yada karakterin bitleri üzerinde direkt olarak işlem yapmak için kullanılırlar. & VE(AND) VEYA(OR) ^ YA DA (XOR) ~ Bire Tümleme(one s complement) << Sola Öteleme (left shift) >> Sağa Öteleme (right shift) Programlama Dilleri-ders02/ 32
Bit (Bitwise) Operatörleri 4 sayısının sağdan 4. biti 1 yapılmaktadır. Programlama Dilleri-ders02/ 33
Bit (Bitwise) Operatörleri Bitsel olarak seçeneklerin eklenmesi ve kontrolü gösterilmektedir. Programlama Dilleri-ders02/ 34
Bit (Bitwise) Operatörleri char kr=3; 0000 0011 3 kr<<4 0011 0000 48 kr<<1 0110 0000 96 kr>>2 0001 1000 24 kr>>4 0000 0001 1 kr<<1 0000 0010 2 Programlama Dilleri-ders02/ 35
?: Karşılaştırma Operatörü int a=2,b=3; int c; c=(a>b)?a:b; //koşul dogru ise 1. değil ise 2. seçenek seçilir. Programlama Dilleri-ders02/ 36
Programlama Dilleri C Dili Programlama Dilleri-ders02/ 37