C Programlama. C Programlama. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu

Save this PDF as:
 WORD  PNG  TXT  JPG

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "C Programlama. C Programlama. Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu"

Transkript

1 C Programlama Alper Bayrak Abant İzzet Baysal Üniversitesi Bolu 2014

2 Sunuma Genel Bakış Sunuma Genel Bakış I 1 Gösterge Değişkenleri ve İşlemleri & ve * İşleçleri Gösterge Değişkenleri Bildirimleri Gösterge Aritmetiği Göstergeler ve Diziler Karakter Dizileri Bitsel İşleçler Bire Tümler İşleci Kaydırma İşleçleri Bitsel VE İşleci Bitsel XOR İşleci Bitsel VEYA İşleci Atama İşleçleri Bir Örnek-Sayı Paketleme İşleç Önceliği ve Birleşme

3 Gösterge Değişkenleri ve İşlemleri Gösterge Değişkenleri ve İşlemleri Göstergeler ve gösterge işlemleri C nin çok önemli bir yönünü oluştururlar. Göstergeler, başka değişkenlerin adreslerini veya daha genel konuşursak, bellek konumlarını depolamaya yarayan değişkenlerdir. Göstergeler kullanmak suretiyle daha kısa ve hızlı çalışan bir kod yazabiliriz, ancak bu kodu anlamak daha zor olabilir, ayrıca hata yapma olasılığı da artabilir.

4 Gösterge Değişkenleri ve İşlemleri Gösterge Değişkenleri ve İşlemleri Örneğin, bir int dizisini temizlemeye yarayan int z[n], i;... for (i=0; i<n; i++) z[i] = 0; şeklindeki klasik for deyiminin yerine int z[n], *g;... for (g=&z[0]; g<&z[n]; g++) *g = 0; kullanılabilir; bu da daha verimli (hızlı) olduğu için bazı programcılar tarafından tercih edilebilir.

5 Gösterge Değişkenleri ve İşlemleri & ve * İşleçleri Zaman zaman, bir değişkenin depolandığı bellek bölgesinin adresini elde etmek gerekebilir. Bunu yapmak için, adres alma (&) işlecini kullanırız. Diğer tekli işleçlerle aynı önceliğe sahip olan bu tekli işleç, bellekte belli bir konumda bulunan işlenenlere uygulanabilir. Örneğin, bu işlenen basit bir değişken (&degisken) veya bir dizi elemanı (&dizi[indis]) olabilir. & işleci işlenenin adresini (daha doğrusu, işlenen tarafından tutulan belleğin ilk baytının adresini) verir.

6 Gösterge Değişkenleri ve İşlemleri & ve * İşleçleri Bunun ne anlama geldiğine bakalım. Her değişken (ana) bellekte bir yerde saklanır. Bilgisayar belleği sınırlıdır; herbiri bir sayı verilerek adreslenen belirli sayıda hücrelerden oluşur. Her hücre belirli bir miktarda bilgi içerir. En küçük bilgi birimi bittir (binary digit-ikili rakam) ve 0/1, doğru/yanlış, açık/kapalı gibi, iki olası değerden bir tanesini saklamaya yarar. Bir bit, rahat olarak işlenmesi için çok küçük bir bilgi birimidir. Bundan dolayı, bitler, genelde 8 bitten oluşan bir bayt veya makineden makineye 8 ile 64 bit arasında değişen sayıda bitten oluşan bir sözcük şeklinde gruplandırılır.

7 Gösterge Değişkenleri ve İşlemleri & ve * İşleçleri Bizim sistemde, bir bayt 8, bir sözcük de 16 bittir ( 16 bitlik derleyiciler için); bilgisayar belleği bayt şeklinde adreslenir; arka arkaya gelen baytlar için arka arkaya gelen adresler kullanılır; normal boyda bir tamsayı değişkeni bir sözcük yani iki bayt kaplar. Böylece, iki tamsayıdan oluşan bir dizi (int z[2];) dört bayt kaplar. Eğer ilk elemanın adresi, örneğin, 140 sa, ikinci elemanınki 142 olacaktır. Adres alma işleci bu sayıları verecektir. Diğer bir değişle, &z[0] 140 a eşitse, &z[1] de 142 ye eşittir.

8 Gösterge Değişkenleri ve İşlemleri & ve * İşleçleri Adres elimizde olduğu zaman, bu sefer o adreste saklanmış olan değeri elde etmek için bir yönteme gerek duyarız. Bu, temelde & işlecinin aksi olan, dolaylama (*) işleci ile yapılır. Bu işleç çarpım işleci ile karıştırılmamalıdır, çünkü bu tekli, oysa çarpım işleci ikili bir işleçtir. Dolaylama işleci diğer tekli işleçlerle aynı önceliğe sahiptir ve bütün tekli işleçler gibi sağdan sola birleşir. Bu da, eğer yan yana iki tekli işleç varsa, önce sağdakinin çalışacağını gösterir. Örneğin, *&x ile *(&x) aynı anlama gelir, ve her ikisi de, aşağıda açıklanacağı gibi x e eşdeğerdir.

9 Gösterge Değişkenleri ve İşlemleri & ve * İşleçleri Dolaylama işleci, işlenen olarak geçerli bir adres bekler ve bu adreste saklanmış bulunan değeri verir. Ancak bunu yapması için hangi veri tipinde bilgi vermesi gerektiğini bilmek zorundadır; int, double, char yoksa başka bir şey mi? Bu bilgi işleneninde gizlidir. Örneğin, &x, x değişkeninin tipindeki bir bilgiyi tutan bellek bölgesinin adresidir (teknik terimi ile, bu adrese bir göstergedir). Yani, eğer x bir char değişkeni ise, &x bir char göstergesidir, böylece *&x, &x ile gösterilen bölgede saklanmış bulunan char değerini verir.

10 Gösterge Değişkenleri ve İşlemleri Gösterge Değişkenleri Bildirimleri Gösterge bildirimleri basittir. int i, j; bildirimi nasıl tamsayı değişkenleri tanımlarsa, int *ig, *jg; bildirimi de tamsayı tipindeki değişkenlere göstergeler tanımlayacaktır. ig ve jg gibi gösterge değişkenleri tamsayı değişkenlerinin adreslerini içerecektir. Örneğin: ig = &i; jg = &j; anlamlı atamalardır.

11 Gösterge Değişkenleri ve İşlemleri Gösterge Değişkenleri Bildirimleri Ancak ig = j; şeklindeki atama, j nin değerini adres bilgisi olarak ig ye koyacaktır ve ancak j değişkeni içindeki tamsayı değerinin bir adres olarak kullanılması gerektiği durumlarda işe yarayabilir. C Standardına uygun derleyiciler böyle atamalar olduğunda sizi uyaracaktır, çünkü değişkenlerin tipleri uymamaktadır.

12 Gösterge Değişkenleri ve İşlemleri Gösterge Değişkenleri Bildirimleri Aynı şekilde, double *dg; double a bir gösterge tanımlar. Hem ig hem de dg adres saklarlar. Fakat neyin adresi? Derleyicinin bunu bilmesi gerekir. Bundan dolayı farklı tanımlar yapmak zorundayız. Örneğin, dg = &i; derleyici tarafından kabul edilebilir, ancak anlamsızdır, çünkü dg, bir double yerine bir tamsayıyı gösterecektir. Derleyiciler bu tip yanlış atamalarda sizi uyaracaktır.

13 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Bu kısım başında verilen örneğe geri dönelim int z[n], i;... for (i=0; i<n; i++) z[i] = 0; Dizi bildirimi, derleyicinin dizi için, ana bellekte yer ayırmasını sağlar. Bir int değişkeninin 2 bayt tuttuğunu ve N nin 10 olarak #define ile tanımlandığını varsalım. Bu durumda z dizisi 20 bayt tutacaktır. İlk eleman, adresi &z[0] ifadesi ile elde edilen yerde saklanır. (Tanım gereği &z[0] ile z aynı şeydir ve buna dizinin temel adresi denir. Diğer bir deyişle, bir ifade içinde indissiz kullanılan dizi isimleri belirli bellek bölgelerini gösterirler, yani göstergedirler.)

14 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Bir dizinin i inci elemanını elde etmek için (örneğin z[i] yazıldığında), derleyici şunu yapar: Dizinin temel adresini (yani ilk elemanının adresini) alır (örneğin 8566), sonra indisin değerini alır (örneğin 3) ve eğer dizinin eleman tipi n tane bayt kullanıyorsa (örneğin, bizim sistemde tamsayılar için bu 2 bayttır) i inci elemanın adresini bulmak için TemelAdres+nxi hesaplar. Şimdi dizi indislerinin neden sıfırdan başladığı daha iyi anlaşılıyor; eğer i sıfıra eşitse, o zaman ikinci terim yok olur ve, olması gerektiği gibi, dizinin ilk elemanının adresinin gerçekte dizinin temel adresi olduğu ortaya çıkar.

15 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği int z[n], i;... for (i=0; i<n; i++) z[i] = 0; int z[n], *g;... for (g=&z[0]; g<&z[n]; g++) *g = 0; for deyimlerimize geri dönersek, ilkinde bu hesaplamanın her yinelemede tekrarlandığını görürüz. İkinci durumda ise, açıkça bir gösterge kullanılmıştır. Tamamen for (g=z; g<&z[n]; g++) *g = 0; deyimiyle eşdeğer olan bu deyim, önce g int göstergesine z dizisinin temel adresini koyar (örneğin 8566); daha sonra g ile işaretlenmiş bölgeye sıfır koyar.

16 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Bu adreste (yani 8566 da) saklanacak olan değerin tipinin derleyici tarafından bilinmesi gerekir, int, char, double, yoksa başka bir şey mi? Bunu göstergenin tipinden belirler. Bu bir tamsayı göstergesi olduğuna göre, bu gösterge tarafından işaret edilen bölgede bir tamsayı değişkeni bulunmalıdır. Bundan dolayı 8566 ve 8567 adresli baytlara sıfır yerleştirir.

17 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Bundan sonra gösterge artırılır. Şimdi yine bir sorunumuz var demektir, çünkü sayılar için artırma (veya azaltma) elimizdeki değere bir sayısı eklenerek (veya çıkarılarak) yapılır. Aynı şey göstergelere uygulanamaz. g nin gösterdiği adresin değerine bir eklenmesi, göstergenin dizideki bir sonraki elemana (yani 8568 adresine) işaret etmesini sağlayamayacaktır; onun yerine, ilk elemanı içeren sözcüğün ikinci yarısını (yani 8567 adresini) gösterecektir. Gösterge ile gösterilen elemanın boyuna eşit bir sayı (yani bizim sistemimizde tamsayılar için 2) eklemeliyiz. Bu, derleyici tarafından bizim için yapılır. Yani, int göstergesi ++ işleci ile artırıldıktan sonra 8568 adresini göstermeye başlayacaktır. Değişik tipteki göstergelerin uyumlu olmamalarının nedenleri işte bu farklılıklardır.

18 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Gösterge aritmetiğinin diğer şekillerinde de benzer bir sorun ortaya çıkar. Örneğin, eğer g de 8566 (&z[0]) adresi varsa, g+3 ifadesi nereyi göstermelidir? 8569 adresini mi? Hayır! Bu, z[1] i içeren sözcüğün ikinci yarısının adresi demektir ki fazla anlamlı bir şey değildir. Daha iyisi &z[3] (yani 8572) adresine işaret etmesi olacaktır. Yine, derleyici bize bunu sağlar: Bir adrese (göstergeye), z, bir tamsayı, i, eklediğimizde (veya çıkardığımızda), derleyici z tarafından işaret edilen değişken tipinin boyunu i ile çarpar ve sonra toplama (veya çıkarmayı) yapar. Bunun nedeni adreslerin her zaman baytlara işaret etmelerine karşılık, göstergelerin değişik büyüklüklere sahip tipte nesneleri göstermeleridir.

19 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Bu anlatılanların anafikri göstergelerin tamsayı olmadıkları ve bazı işleçlerin (++, - -, +, -, +=, -=) göstergeler için farklı uygulandıklarıdır. *g ile gösterilen değişkenin n bayt kapladığını varsayın. O zaman, g++ g- - g+tamsayi ifade g-tamsayi ifade gösterge ifadeleri sırasıyla g+n, g-n, g+nxtamsayı ifade, g-nxtamsayı ifade şeklinde hesaplanır. Ayrıca p1 ve p2 aynı tipten göstergelerse, değeri bir tamsayı olan p1-p2 ifadesi (p1-p2)/n şeklinde hesaplanır.

20 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Örneğin, p1 = &z[3]; p2 = &z[0]; printf( %d\n, (int)(p1-p2)); (z dizisinin eleman tipine bağlı olmaksızın) çıktı olarak 3 verecektir. İki göstergeyi birbirinden çıkardığımızda, kullanılan sistemdeki bellek boyuna bağlı olan bir tipte bir ifade oluştuğuna dikkat edin. İşaretli olan bu tip stddef.h adlı başlık dosyasında uygun bir şekilde prtdiff t adıyla tanımlanmıştır.

21 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği İki uyumlu gösterge (<, >, <=, >=, == ve!= kullanarak) karşılaştırılabilir, ancak farklı dizilerdeki nesnelere işaret eden iki göstergeyi karşılaştırmak anlamlı (en azından taşınabilir bir özellik) değildir. Doğal olarak, bunun nedeni iki dizinin ana bellekteki birbirine göre durumları konusunda emin olamayacağınızdır. Bu kısımdaki ikinci for da kullanılan g<&z[n] testi uygundur, çünkü g ve &z[n] aynı dizi içindeki (olası değişik) yerlere işaret ederler.

22 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği &z[n] adresi, z dizisinin içinde değildir, zira dizinin son elemanı z[n-1] dir. Ancak g nin bu geçersiz adrese işaret ettiği zaman *g ye birşey atamamak için, <= yerine <kullanılır. C Standardı ise, bir nesnenin sınırları dışında adres üretmeyi (o adresteki bölge değiştirilsin değiştirilmesin) açıkça yasaklamaktadır. Tek istisna olarak, bir nesnenin son baytından bir sonraki baytı gösteren adresi üretmeye izin verir. İşte bu özellik g<&z[n] de kullanılmıştır.

23 Gösterge Değişkenleri ve İşlemleri Gösterge Aritmetiği Bir gösterge (== veya!= kullanılarak) 0 tamsayı değişmeziyle karşılaştırılabilir. Geleneksel olarak 0 değerinin hiç bir şeyi göstermediği varsayılmıştır. Bu tamsayı değişmezi programlarda o kadar çok kullanılmaktadır ki stdio.h başlık dosyasında #define NULL 0 şeklinde bir tanımlama yapılmıştır. Böylece, eğer 0 yerine NULL kullanılacak olursa göstergeler tamsayı değildir kuralı bozulmamış gibi görünecektir. Bir göstergenin herhangi bir yeri göstermesini istemiyorsanız g = NULL; atama deyimini kullanın. NULL un her tip gösterge ile uyumlu olduğuna dikkat edin. Bu özel bir durumdur.

24 Göstergeler ve Diziler Göstergeler ve Diziler Aşağıdaki kodu inceleyelim int z[n], i;... for (i=0; i<n; i++) *(z+i) = 0; Buradaki atama bir önceki kısmın başında verilenle tamamen aynıdır. z ile &z[0] aynı şey olduğunu daha önce görmüştük. Dolayısıyla, *(z+i) ile *(&z[0]+i) aynı şeydir. Yukarıda gösterge toplama işlemleri ile ilgili anlatılanlara göre, *(z+i) aynı zamanda *(&z[i]) ile de eşdeğerdir. * ile & birbirinin aksi işlemleri olduğuna göre, birbirlerini götürürler. Böylece ifade z[i] olur.

25 Göstergeler ve Diziler Göstergeler ve Diziler int z[n], i;... for (i=0; i<n; i++) *(z+i) = 0; Aslında, derleyici z[i] şeklindeki bir ifadeyi hemen *(z+i) şekline dönüştürür, yani ilk şekil programcının rahatlığı için dilde sağlanan bir kısaltma gibi düşünülebilir. Hatta z[i] yerine, biraz garip olan, i[z] ifadesini de kullanabilirsiniz.

26 Göstergeler ve Diziler Göstergeler ve Diziler Dizi isimlerinin gerçekte gösterge olduğunu bildiğinize göre, float z[n]; ile float *g; arasındaki fark nedir? g = z ataması yapıldığı zaman, g, &z[0], ve z, kendi aralarında, g+i, &z[i], ve z+i, ve *(g+i), z[i], ve *(z+i) de, aynı şekilde, kendi aralarında eşdeğerdir.

27 Göstergeler ve Diziler Göstergeler ve Diziler Fakat önemli bir fark var: z = g; yazılamaz çünkü g bir değişken gösterge, oysa z bir değişmez göstergedir. Değişken tanımlamalarına geri dönersek. float z[n]; derleyicinin, ana bellekte N float değişken için gerekli yer ayırmasına yol açacaktır. (Bizim sistemimizde 4xN bayt.) Bu bellek öbeğinin başlangıç adresi z değişmezinin (gösterge) değeri olur. z bir değişken değildir, çünkü bu (değişmez) adresi saklamak için bellekte ayrıca yer ayrılmamıştır.

28 Göstergeler ve Diziler Göstergeler ve Diziler Diğer yandan, float *g; bir adres tutacak genişlikte bir yerin ayrılmasını sağlar. (Bizim sistemimizde 4 bayt.) Programın yürütülmesi esnasında, bu g değişkeni değişik zamanlarda değişik değerler tutabilir. Başlangıçta ise, şimdiye kadar gördüğümüz değişken türleri için, değeri belirsizdir.

29 Göstergeler ve Diziler Göstergeler ve Diziler Göstergelerin diziler ile kullanımını göstermek için aşağıdaki programı inceleyelim. Bu programda, kalavyeden girilen sayılar bir diziye aktırılmakta daha sonra bu dizinin elemanları toplamı bulunarak ekrana yazılmaktadır. Örnek program 5

30 Karakter Dizileri Karakter Dizileri C dilinde özel bir karakter dizisi tipi yoktur. Ancak karakter dizisi gerektiren durumlar için bazı kolaylıklar bulunmaktadır. Karakterlerden oluşan normal bir dizi veya bir karakter göstergesi bir karakter dizisi olarak düşünülebilir. #include <stdio.h> void main (void) { char *dd; dd = dunya ; printf( Merhaba, %s.\n, dd); }

31 Karakter Dizileri Karakter Dizileri printf in ilk argümanı bir karakter göstergesi olmalıdır; ikinci argüman da, %s dönüşüm tanımlamasının gerektirdiği şekilde bir karakter göstergesidir. Yukarıdaki atama ifadesinde olduğu gibi, bir ifade içinde kullanılan bir karakter dizisi değişmezi bir karakter göstergesidir ve dizinin ilk karakterine işaret eder. Karakter dizisi, derleyici tarafından, bir tarafta saklanır. Böylece, yukarıdaki atama deyiminde sadece bir gösterge ataması yapılmaktadır; bir karakter dizisi aktarması söz konusu değildir.

32 Karakter Dizileri Karakter Dizileri Eğer bir karakter dizisi aktarması yapmak istiyorsak bunu kendimiz yapmalıyız. Örneğin, char d[10]; d = bir dizi ; geçersizdir, çünkü derleyici gösterge ataması yapmaya çalışacaktır. Ancak = işaretinin sol tarafında bir değişmez gösterge bulunduğundan, bu olanaksızdır. Karakterleri tek tek, bir döngü kullanarak, atamak zorundayız.

33 Karakter Dizileri Karakter Dizileri Böyle işlemler çok sık kullanıldığı için, C kütüphanesi bazı karakter dizisi işleme fonksiyonları sağlamaktadır. Örneğin, strcpy(d, bir dizi ); bizim işimizi görecektir. Bu fonksiyon, ikinci argüman olarak geçirilen adresteki bütün karakterleri, en sonda gelen boş karakteri (\0) ile birlikte, d tarafından gösterilen yere aktaracaktır. Bu fonksiyon, hedef dizinin bu kadar çok karakteri alacak genişlikte olup olmadığını kontrol etmez.

34 Karakter Dizileri Karakter Dizileri Benzer bir durum karakter dizileri karşılaştırması yaparken ortaya çıkar. if (s== Bu dizi )... testi her zaman yanlış sonucunu verecektir. Bunun nedeni gösterge eşitliğini test etmemizdir. s ya bir gösterge yada bir dizi ismi olabilir; değişmez karakter dizisi ise onu saklamak için kullanılan bellek öbeğinin başına işaret eden bir göstergedir. Doğal olarak, bunlar farklı adreslerdir, böylece bu test hiçbir zaman doğru sonucunu vermeyecektir.

35 Karakter Dizileri Karakter Dizileri Bunun yerine, s1 ve s2 şeklinde verilen iki karakter dizisini karşılaştırıp, sözlük sıralamasına göre s1 in s2 den küçük, s2 ye eşit veya s2 den büyük olmasına bağlı olarak, sırasıyla olumsuz bir tamsayı, sıfır veya olumlu bir tamsayı veren strcmp(s1,s2) fonksiyonunu kullanmalıyız.

36 Karakter Dizileri Karakter Dizileri strcat(d,s) fonksiyonu, s dizisini d nin arkasına aktarır. d dizisinin hem eski hem de yeni karakter dizisini kapsayacak kadar geniş olması gerekir. strlen(s), s karakter dizisinin uzunluğunu verir; bunu yaparken en sondaki boş karakteri saymaz. strchr(s,c), c karakterinin s karakter dizisinin içinde ilk ortaya çıktığı yerin adresini bir karakter göstergesi olarak döndürür; c dizi içinde yoksa NULL verir. strrchr(s,c), strchr(s,c) gibidir, sadece tarama işlemini sağdan sola doğru yapılır. Bu fonksiyonların bildirimi string.h başlık dosyasında bulunmaktadır.

37 Karakter Dizileri Karakter Dizileri C kütüphanesinde bazı veri dönüşüm fonksiyonları da mevcuttur. Bunlardan bazılarının bildirimi stdlib.h başlık dosyasında bulunmaktadır ve aşağıda açıklanmıştır. double atof(char *): karakter dizisi argümanını çift duyarlıklı kayan noktalı sayıya çevirir; hata durumunda 0.0 döndürür. int atoi(char *): karakter dizisi argümanını tamsayıya çevirir; hata durumunda 0 döndürür. long atol(char *): karakter dizisi argümanını uzun tamsayıya çevirir; hata durumunda 0L döndürür.

38 Karakter Dizileri Karakter Dizileri char * itoa(int, char *, int): ilk tamsayı argümanını karakter dizisine çevirir, sonucu ikinci argüman olarak verilen adrese koyar; üçüncü argüman tabanı belirtir. char * ltoa(long, char *, int): ilk uzun tamsayı argümanını karakter dizisine çevirir, sonucu ikinci argüman olarak verilen adrese koyar; üçüncü argüman tabanı belirtir. int toupper(int) ve int tolower(int): sırasıyla karakter argümanının büyük harf ve küçük harf karşılığını döndürür.

39 Bitsel İşleçler Bitsel İşleçler Bitsel işleçler, değişkenler üzerinde bit düzeyin işlem yapılmasını sağlarlar. Bire tümler ve atama işleçleri sağdan sola doğru, diğerleri soldan sağa doğru birleşirler. Bu kısımda anlatılan tüm işleçler sadece (çeşitli boylarda olabilen) tamsayı işlenenleri kabul ederler. Atama ile ilgili olanlar hariç, eğer işlenenler değişmez ifadeler ise, değişmez ifadeler oluştururlar.

40 Bitsel İşleçler Bitsel İşleçler Bu işleçlerin isimleri ve kullanılan simgeler şöyledir: İşleç İsim bire tümler << sola kaydırma >> sağa kaydırma & bitsel VE ˆ bitsel dışlayan VEYA bitsel VEYA <<= sol kaydırma ve atama >>= sağa kaydırma ve atama &= bitsel VE ve atama ˆ= bitsel XOR ve atama = bitsel VEYA ve atama

41 Bitsel İşleçler Bitsel İşleçler Doğruluk Tablosu y z y y&z yˆz y z

42 Bitsel İşleçler Bire Tümler İşleci işleci, işleneninin 1 olan bitlerini 0 a, 0 olan bitlerini de 1 e çevirir. Sonucun tipi işlenenin tipiyle aynıdır.

43 Bitsel İşleçler Kaydırma İşleçleri <<ve >> Bir kaydırma ifadesi ifade 1 <<ifade 2 veya ifade 1 >>ifade 2 şeklindedir. Normalde ifade 1 bir değişken veya dizi elemanıdır. << işleci durumunda, tip dönüşümlerinden sonra, ifade 2 int e çevrilir ve ilk işlenenin bitleri ifade 2 nin değeri kadar sola kaydırılır. İşlenenin solundan düşen bitler kaybedilir. Sola kayan bitlerden arta kalan sağdaki boş yerler sıfırla doldurulur. Sonucun tipi soldaki işlenenin tipidir.

44 Bitsel İşleçler Kaydırma İşleçleri <<ve >> >> işleci yukarıda anlatılanların sağa doğru olan şeklini yerine getirir, tek bir farkla: Eğer soldaki ifade signed (işaretli) ise boş kalan yerler, 0 yerine, işaret bitiyle doldurulabilir. Buna aritmetik kaydırma denir ve sistemimiz bunu yapar. Eğer ilk ifade unsigned (işaretsiz) ise solda boşalan bitlerin sıfırla doldurulacağı garanti edilir ve bir mantıksal kaydırma söz konusudur.

45 Bitsel İşleçler Bitsel VE İşleci & İkili & işleci işlenenlerinin bitlerinin VE sini verir. Yani eğer her iki işlenenin i inci bitleri 1 ise, sonucun i inci biti de 1 olur, aksi takdirde 0 dır. (a & b) & c ve a & (b & c) aynı değerlere sahiptirler (yani & işlecinin birleşme özelliği vardır). C bu gerçeği kullanır ve derleyici, daha verimli olacağı gerekçesiyle, parantez içine alınmış olsa dahi, böyle ifadeleri (yani, * ve + gibi birleşme ve değişme özelliği gösteren işleçleri içeren ifadeleri) istediği şekilde yeniden düzenleyebilir.

46 Bitsel İşleçler Bitsel Dışlayan VEYA İşleci ˆ ˆ işleci, işlenenlerinin XOR çıktısını verir. Yani eğer işlenenlerin i inci bitleri farklı ise, sonucun i inci biti 1 olur, aksi takdirde 0 dır. ˆ birleşme özelliği gösteren bir işleçtir ve bu işleci içeren ifadeler, önceki altkısımda anlatıldığı gibi, yeniden düzenlenebilir.

47 Bitsel İşleçler Bitsel VEYA İşleci j işleci, işlenenlerinin kapsayan VEYAsını verir. Yani eğer her iki işlenenin i inci bitleri 0 ise, sonucun i inci biti de 0 olur, aksi takdirde 1 dir. da birleşme özelliği gösteren bir işleçtir ve yeniden düzenleme söz konusu olabilir.

48 Bitsel İşleçler Atama İşleçleri <<=, >>=, &=, ˆ= ve = Yukarıda anlatılan işleçler belirli ifadeler oluşturmalarına rağmen, işlenenlerinin değerlerini değiştirmezler. Atama işleçleri ise işlemin sonucunu soldaki işlenenlerine aktarırlar. Her bir ikili bitsel işlecin karşılığında bir atama işleci mevcuttur, << için <<=, >> için >>=, & için &=, ˆ için ˆ= ve için =. Bu işleçlerin işlevselliği diğer atama işleçlerine benzer.

49 Bitsel İşleçler Bir Örnek-Sayı Paketleme Bitsel işleçlerin kullanımını göstermek için, üç sayıyı bir tamsayıya paketleyen, daha sonra ise açan aşağıdaki programı inceleyelim. Örnek program 6

50 İşleç Önceliği ve Birleşme İşleç Önceliği ve Birleşme İşleç önceliği ve birleşme çizelgesi aşağıda gösterilmiştir. Figure: İşleç önceliği ve birleşme

51 İşleç Önceliği ve Birleşme İşleç Önceliği ve Birleşme Bu çizelge, C dilindeki bütün işleçleri, azalan öncelik sıralarına göre liste halinde vermektedir. Aynı satırda verilmiş olan işleçler aynı önceliğe sahiptirler. Eğer aynı önceliğe sahip iki işlecimiz varsa, o zaman çizelgenin sağ sütununda gösterilen birleşmeyi kullanırız. Sağa doğru ok ( ) soldan sağa birleşmeyi ifade eder, örneğin x/y/z ile (x/y)/z aynı anlamı taşırlar. Sola doğru ok ( ) sağdan sola birleşmeyi belirtir, örneğin x=y=z ile x=(y=z) eşdeğer ifadelerdir. Tüm tekli işleçler, üçlü (koşullu) işleç ve tüm atama işleçleri sağdan sola doğru gruplanırlar; geri kalanların soldan sağa doğru birleşme özelliği vardır.

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 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)

Detaylı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı

Detaylı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

Bölüm 2 - C ile Programlamaya Giriş

Bölüm 2 - C ile Programlamaya Giriş 1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Giriş. ENF102 Jeoloji

Giriş. ENF102 Jeoloji DİZİLER Arrays Giriş Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

C PROGRAMLAMA DİLİNE GİRİŞ

C PROGRAMLAMA DİLİNE GİRİŞ C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan

Detaylı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

Programlama Dilleri 1. Ders 4: Diziler

Programlama Dilleri 1. Ders 4: Diziler Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları

Detaylı

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II DİZİLER Dizi, aynı tipteki verilere tek bir isimle erişmek için kullanılan bir kümedir. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Temel Giriş/Çıkış Fonksiyonları

Temel Giriş/Çıkış Fonksiyonları Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

Detaylı

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.

Dizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir. DİZGİLER (STRINGS) Dizgiler char tipli karakterlerin gruplanmş haline dizgi(string) denilir. Bazen katar ismide kullanılabilir. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir.

Detaylı

C++ Operatörler (Operators)

C++ Operatörler (Operators) C++ Operatörler (Operators) Konular Operatörler o Aritmetiksel (Matematiksel) Operatörler o Karşılaştırma Operatörleri o Mantıksal Operatörler o Atama Operatörleri o Bit Düzeyinde Operatörler o Özel Amaçlı

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

Detaylı

Fonksiyonlar (Altprogram)

Fonksiyonlar (Altprogram) Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ Diziler Dizi bir kümedir. Aynı tipteki verilere tek bir isimle erişmek için kullanılır. Bir dizi bildirildikten sonra, dizinin bütün elemanları bellekte peşpeşe saklanır. Bu yüzden dizilere

Detaylı

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek Giriş DİZİLER Arrays Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ Prof. Dr. Necmettin Kaya C PROGRAMLAMA DİLİ ÖZELLİKLERİ C programlama dili, 1972 yılında Bell Labortuvarı nda Dennis Ritchie tarafından geliştirilmiştir.

Detaylı

Bölüm 4 C de Program Kontrolü

Bölüm 4 C de Program Kontrolü 1 Bölüm 4 C de Program Kontrolü Outline 4.1 Giriş 4.2 Döngülerin Temelleri 4.3 Sayıcı Kontrollü Döngüler 4.4 for Döngü Yapısı 4.5 for Döngü Yapısıyla İlgili Notlar ve Gözlemler 4.6 for Yapısıyla İlgili

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

Adım Adım C-II. Eksik kalmış konular

Adım Adım C-II. Eksik kalmış konular Adım Adım C-II Eksik kalmış konular Bu dersin amacı Bu derste; değişkenler, sabitler ve operatörler ile fonksiyonlar konusunun detayları anlatılacaktır. Ders bitiminde; Daha etkin programlar yazma becerisinin

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

Detaylı

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Algoritma ve Programlama: Karar Yapıları ve Döngüler Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0

Sınav tarihi : Süre : 60 dak. c) En başta #include<stdio.h> yazılmamıştır. c) zt d) Pi e) X0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 14.04.2015 Süre : 60 dak. 1. Tür dönüşümleri... olmak üzere iki

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

Detaylı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı

Sınav tarihi : Süre : 60 dak.

Sınav tarihi : Süre : 60 dak. Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Final Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 31.05.2016 Süre : 60 dak. 1. Ekranda ne görüntülenir? int i =

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir:

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir: Gereksiz Kodlar Kaan Aslan 9 Temuz 1997 Kapalı spor salonu, durak yeri, taşıt aracı, en optimum, geri iade etmek, davranış biçimi Bu ifadelerde bir gariplik var, değil mi? Açık spor salonu göreniniz var

Detaylı

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. TC programı çalıştırıldığında C++ çalışma ortamı açılır. C++ çalışma ortamında istenirse yeni bir

Detaylı

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Temel Bilgisayar Programlama

Temel Bilgisayar Programlama Temel Bilgisayar Programlama C Programlamaya Giriş Yrd. Doç. Dr. Tahir Emre Kalaycı 2012 Yrd. Doç. Dr. Tahir Emre Kalaycı () Temel Bilgisayar Programlama 2012 1 / 29 İçerik 1 Temel Kavramlar Algoritmanın

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers)

sayi=3 harf=a reelsayi=8.72 Bellek durumu 5. İşaretç iler (pointers) 5. İşaretç iler (pointers) C dilinin öyle bir özelliği vardır ki, programlama dilleri arasında kendisini diğerlerinden ayıran bir fark olarak sunulur: işaretçiler. Aslında, bazı diğer dillerde de direkt

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 9 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Dizileri Fonksiyonlara Dizileri Fonksiyonlara Bir dizi argümanını fonksiyon içinde bir değer olarak kullanabilmek

Detaylı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

enum bolumler{elektronik, insaat, bilgisayar, makine, gida}; BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini Okumak ve Yazmak Karakter Dizilerinin Uzunluğunu

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 15.02.2011 1 Genel Programlama Tekrar Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Önceki bölümde bir problemin çözümü ile

Detaylı

C Konsol Giriş Çıkış Fonksiyonları

C Konsol Giriş Çıkış Fonksiyonları C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar BLM-112 PROGRAMLAMA DİLLERİ II Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DİNAMİK BELLEK YÖNETİMİ TEMEL G/Ç FONKSİYONLARI Dinamik Bellek Tahsisi Tanımlanmış olan dizilere eleman sayısı ve elemanlarının tiplerine göre, sistem belleğinde bir yer

Detaylı

SAYILAR DOĞAL VE TAM SAYILAR

SAYILAR DOĞAL VE TAM SAYILAR 1 SAYILAR DOĞAL VE TAM SAYILAR RAKAM: Sayıları ifade etmek için kullandığımız 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sembollerinden her birine rakam denir. Soru: a ve b farklı rakamlar olmak üzere a + b nin alabileceği

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 İşaretçiler ve Diziler Fonksiyon

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama

Detaylı

Java da Program Denetimi ve Operatörler

Java da Program Denetimi ve Operatörler Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların

Detaylı

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.

Toplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir. www.csharpturk.net Türkiye nin C# Okulu Yazar Yunus Özen Eposta yunus@yunus.gen.tr Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-10 Diziler Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

Detaylı

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING)

ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) ALFASAYISAL BİLGİLER KARAKTER DİZİLERİ (STRING) 1. HAFTA KARAKTER Karakterler, programlarda kullanılan temel simgelerdir. Her karakterin ASCII kod tablosunda bir tamsayı değer karşılığı vardır ve C programlama

Detaylı

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R

J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Temel Tiplerde Atama Atama işlemi, temel (primitive) tipler için

Detaylı

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz. Aşağıdaki programdaki 5 hatayı bulunuz. class hata public static void main() int x; int y; Console.WriteLine("X in degeri = "x); y = x / 2 Console.Write("y nin değeri = x / 2 = "); Console.WriteLine(y);

Detaylı

DOSYA İŞLEMLERİ Programlama dilleri hafta -

DOSYA İŞLEMLERİ Programlama dilleri hafta - BİLECİK ŞEYH EDEBALİ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA İŞLEMLERİ Programlama dilleri 1-10. hafta - Araş. Gör. Nesibe YALÇIN Dosya İşlemleri Programın çalışma esnasında

Detaylı

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No.

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No. Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013 Ad, Soyad Öğrenci No. : : Öğretim Üyesi: Doç. Dr. Zeki BAYRAM Süre: 100 dakika Talimatlar:

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Karakter Dizileri Karakter Dizilerini

Detaylı

C Dersi Bölüm 1. Bilgisayar Donanımı

C Dersi Bölüm 1. Bilgisayar Donanımı C Dersi Bölüm 1 M Bodur 1 Bilgisayar Donanımı Bilgisayarın yapısını ve çalışma prensiplerini bilmemiz Bir bilgisayar programından neler bekleyebileceğimizi anlamamızı sağlar. Bigisayar dört temel birimden

Detaylı

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene

Detaylı

Veri Yapıları ve Algoritmalar

Veri Yapıları ve Algoritmalar 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

Ders 2: Veri Tipleri, Değişkenler ve Sabitler

Ders 2: Veri Tipleri, Değişkenler ve Sabitler Ders 2: Veri Tipleri, Değişkenler ve Sabitler Giriş Orta ve yüksek seviyeli dillerin hemen hemen hepsinde veri tipi ve değişken kavramı bulunmaktadır. Bu kısımda C programlama dilindeki temel veri tipleri,

Detaylı

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır

Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır stringh floath Karakter katarları ile ilgili fonksiyonlar içerir Yerel kayan noktalı sayılar tanımlanır 32 Sorgulama İfadesi - if Deyimi (5 Hafta) Bu deyim sorgulamanın tek basamakta yapılacağı yerlerde

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,

Detaylı

BİLG Dr. Mustafa T. Babagil 1

BİLG Dr. Mustafa T. Babagil 1 BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)

Detaylı

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr Program Nedir? Program, hesaplamayı gerçekleştirmek için gereken birbirini izleyen yönergelerden (komutlardan)

Detaylı