İstanbul Üniversitesi Elektrik Elektronik Mühendisliği DİZİLER. Kaynak: C ve Sistem Programcıları Derneği Kurs notu. Yrd.Doç. Dr.

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

Download "İstanbul Üniversitesi Elektrik Elektronik Mühendisliği DİZİLER. Kaynak: C ve Sistem Programcıları Derneği Kurs notu. Yrd.Doç. Dr."

Transkript

1 DİZİLER Kaynak: C ve Sistem Programcıları Derneği Kurs notu Yrd.Doç. Dr. Mahmut YALÇIN

2 DİZİLER Veri Yapısı Nedir Bir konuyla ilgili, mantıksal ilişki içindeki verilerin bellekte saklanmasına yönelik düzenlemelere veri yapısı denir. Veri yapıları bellekte belirli bir düzen içinde tutulmuş verilere ulaşılabilmesine, bu veriler üzerinde bazı işlemlerin etkin bir biçimde yapılmasına olanak sağlar. Bellekte bitişik bir biçimde bulunan, aynı türden nesnelerin oluşturduğu veri yapısına dizi (array) denir. Dizi veri yapısının en önemli özelliği, mantıksal bir ilişki içindeki aynı türden verilerin bellekte bitişik (contigous) olarak tutulmasıdır. Bunun da uygulamalarda sağladığı fayda şudur: Dizinin bir elemanına, elemanın konum bilgisiyle değişmez bir zamanda ulaşılabilir. Yani dizinin eleman sayısı ne olursa olsun, konumu bilinen bir elemana ulaşım zamanı aynıdır. Bu da bazı uygulamaların etkin bir şekilde gerçekleştirilmesini kolaylaştırır. C dilinde dizi (array), aynı türden bir ya da daha fazla nesnenin bellekte dizi veri yapısı biçiminde tutulmasını sağlayan araçtır. C'de bir dizinin tanımlanmasıyla birden fazla sayıda nesne tek bir deyimle tanımlanabilir. 10 elemana sahip bir dizi tanımlamak yerine, şüphesiz isimleri farklı 10 ayrı nesne de tanımlanabilir. Ama 10 ayrı nesne tanımlandığında bu nesnelerin bellekte bitişik olarak yerleşmeleri güvence altına alınmış bir özellik değildir. Oysa dizi tanımlamasında, dizinin elemanı olan bütün nesnelerin bellekte bitişik olarak yer almaları güvence altına alınmış bir özelliktir. 2

3 Dizilerin Tanımlanması Dizi tanımlamalarının genel biçimi: <tür> <dizi ismi> [<eleman sayısı>]; Yukarıdaki genel biçimde köşeli ayraç, eleman sayısının seçimlik olduğunu değil, eleman sayısı bilgisinin köşeli ayraç içine yazılması gerektiğini gösteriyor. tür : Dizi elemanlarının türünü gösteren anahtar sözcüktür. dizi ismi : İsimlendirme kurallarına uygun olarak verilecek herhangi bir isimdir. eleman sayısı : Dizinin kaç elemana sahip olduğunu gösterir. Örnek dizi bildirimleri: double a[20]; int ave[10]; char path[80]; Tanımlamada yer alan, eleman sayısı belirten ifadenin bir tamsayı türünden değişmez ifadesi olması zorunludur. Bir başka deyişle derleyici bu ifadenin değerini derleme zamanında elde edebilmelidir: int x = 100; int a[x]; /* Geçersiz */ int b[5.]; /* Geçersiz */ int c[10 * 20]; int d[sizeof(int) * 100]; 3

4 Yukarıdaki deyimlerden a ve b dizilerinin tanımlamaları geçersizdir. a dizisinin tanımında boyut belirten ifade olarak değişmez ifadesi olmayan bir ifade kullanılıyor. b dizisinin tanımında ise boyut belirten ifade bir gerçek sayı türündendir. c dizisinin tanımında ise bir hata söz konusu değildir. 10 * 20 bir değişmez ifadesidir. d dizisinin tanımı da bir hata oluşturmaz çünkü sizeof işlecinin ürettiği değer derleme zamanında elde edilir. Dizi bildirimlerinde eleman sayısını belirten ifade yerine sıklıkla simgesel değişmezler kullanılır: #define ARRAY_SIZE 100 int a[array_size]; Diğer değişken bildirimlerinde olduğu gibi, virgül ayracıyla ayrılarak, birden fazla dizi, tür belirten sözcüklerin bir kez kullanılmasıyla tanımlanabilir: int x[100], y[50], z[10]; x, y ve z, elemanları int türden olan dizilerdir. Diziler ve diğer nesneler türleri aynı olmak kaydıyla tek bir tanımlama deyimiyle tanımlanabilir: int a[10], b, c; a int türden 10 elemanlı bir dizi, b ve c int türden nesnelerdir. Dizi elemanlarının her biri ayrı birer nesnedir. Dizi elemanlarına köşeli ayraç işleciyle [ ] ulaşılabilir. 4

5 Köşeli ayraç işlecinin terimi dizi ismidir. Aslında bu bir adres bilgisidir, çünkü bir dizi ismi işleme sokulduğunda, işlem öncesi derleyici tarafından otomatik olarak dizinin ilk elemanının adresine dönüştürülür. Köşeli ayraç içinde dizinin kaçıncı indisli elemanına ulaşılacağını gösteren bir tamsayı ifadesi olmalıdır. C dilinde bir dizinin ilk elemanı, dizinin sıfır indisli elemanıdır. T bir tür bilgisi olmak üzere T a[size]; gibi bir dizinin ilk elemanı a[0] son elemanı ise a[size - 1]'dir. Örnekler: dizi[20] /* a dizisinin 20 indisli yani 21. elemanı olan nesne */ ave[0] /* ave dizisinin 0 indisli yani birinci elemanı olan nesne */ total[j] /* total dizisinin j indisli elemanı olan nesne*/ Görüldüğü gibi "bir dizinin n. elemanı" ve "bir dizinin n indisli elemanı" terimleri dizinin farklı elemanlarını belirtir. Bir dizinin n indisli elemanı o dizinin n + 1. elemanıdır. Bir dizi tanımlaması ile karşılaşan derleyici, tanımlanan dizi için bellekte yer ayırır. Ayrılacak yer dizinin eleman sayısı * bir elemanın bellekte kapladığı yer kadar byte olur. Örneğin: int a[5]; gibi bir dizi tanımlaması yapıldığını düşünelim. Windows işletim sisteminde çalışılıyorsa derleyici a dizisi için bellekte 4 * 5 = 20 byte yer ayırır. 5

6 Dizi indis ifadelerinde ++ ya da -- işleçleri sık kullanılır: int a[20]; int k = 10; int i = 5; a[k++] = 100; deyimiyle dizinin 10 indisli elemanına yani dizinin 11. elemanına 100 değeri atanıyor. Daha sonra k değişkeninin değeri 1 artırılarak 11 yapılıyor. a[--i] = 200; deyimiyle dizinin 4 indisli elemanına yani dizinin 5. elemanına 200 değeri atanıyor. Daha sonra i değişkeninin değeri 1 azaltılarak 4 yapılıyor. Köşeli ayraç işlecinin kullanılmasıyla artık dizinin herhangi bir elemanı diğer değişkenler gibi kullanılabilir. Aşağıdaki örnekleri inceleyin: a[0] = 1; a dizisinin ilk elemanına 1 değeri atanıyor. printf("%d\n", b[5]); b dizisinin 6. elemanının değeri ekrana yazdırılıyor: ++c[3]; c dizisinin 4. elemanının değeri 1 artırılıyor: d[2] = e[4]; d dizisinin 3. elemanına e dizisinin 5. elemanı atanıyor: 6

7 Aşağıda SIZE elemanlı a isimli bir dizi için for ve while döngü deyimlerinin kullanıldığı bazı kalıplar gösteriliyor: a dizisinin bütün elemanlarına 0 değeri atanıyor: for (i = 0; i < SIZE; ++i) a[i] = 0; Aynı iş şüphesiz bir while döngü deyimiyle de yapılabilirdi: i = 0; while (i < SIZE) a[i++] = 0; Aşağıda a dizisinin elemanlarına standart scanf işleviyle standart giriş biriminden değer alınıyor: for (i = 0; i < SIZE; i++) scanf("%d", &a[i]); ya da i = 0; while (i < SIZE) scanf("%d", &a[i++]); Aşağıda a dizisinin elemanlarının toplamı hesaplanıyor: for (total = 0, i = 0; i < SIZE; i++) total += a[i]; ya da total = 0; i = 0; while (i < SIZE) total += a[i++]; 7

8 Dizilerin Taşırılması Bir dizi tanımlamasını gören derleyici dizi için bellekte dizinin tüm elemanlarının sığacağı büyüklükte bir alan ayırır: double a[10]; gibi bir tanımlama yapıldığında, çalışılan sistemde double türünün bellekte 8 byte yer kapladığı var sayılırsa, dizi için bellekte bitişik (contiguous) toplam 80 byte'lık bir yer ayrılır. Dizinin son elemanı a[9] olur. Çok sık yapılan bir hata, dizinin son elemanına ulaşmak amacıyla yanlışlıkla bellekte derleyici tarafından ayrılmamış bir yere değer atamak, yani diziyi taşırmaktır: a[10] = 5.; deyimiyle bellekte ne amaçla kullanıldığı bilinmeyen 8 byte' lık bir alana, yani güvenli olmayan bir bellek bölgesine değer aktarma girişiminde bulunulur. Dizi taşmaları derleme zamanında kontrol edilmez. Böyle hatalar programın çalışma zamanı ile ilgilidir. Dizilere İlkdeğer Verilmesi Değişken tanımlamalarında tanımlanan bir değişkenin "ilkdeğer verme sözdizimi" diye isimlendirilen bir kural ile belirli bir değerle başlatılması sağlanabiliyordu. Tanımlanan dizilere de ilkdeğer verilebilir: double sample[5] = 1.3, 2.5, 3.5, 5.8, 6.0; char str[4] = 'd', 'i', 'z', 'i'; unsigned a[10] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10; 8

9 Dizilere yukarıdaki gibi ilkdeğer verildiğinde, verilen değerler dizinin ilk elemanından başlayarak dizi elemanlarına sırayla atanmış olur. Dizilerin tüm elemanlarına ilkdeğer verme zorunluluğu yoktur. Dizinin eleman sayısından daha az sayıda elemana ilkdeğer verilmesi durumunda kalan elemanlara 0 değeri atanmış olur. Bu kural hem yerel hem de global diziler için geçerlidir. Bu durumda bir dizinin bütün elemanlarına 0 değeri verilmek isteniyorsa bunun en kısa yolu aşağıdaki gibidir: int a[20] = 0; Yalnızca dizinin ilk elemanına 0 ilkdeğeri veriliyor. Bu durumda derleyici dizinin kalan elemanlarına otomatik olarak 0 değeri yerleştirecek kodu üretir. Dizi elemanlarına ilkdeğer verilmesinde kullanılan ifadeler, değişmez ifadeleri (constant expression) olmalıdır. int a[10] = b, b + 1, b + 2; /* Geçersiz */ gibi bir ilkdeğer verme işlemi geçersizdir. [Yukarıdaki tanımlama C++ dilinin kurallarına uygundur. C++ dilinde dizi elemanlarına değişmez ifadeleriyle ilkdeğer vermek zorunlu değildir] Bir diziye ilkdeğer verme işleminde, dizi eleman sayısından daha fazla sayıda ilkdeğer vermek geçersizdir: int b[5] = 1, 2, 3, 4, 5, 6; /* Geçersiz */ Yukarıdaki örnekte b dizisi 5 elemanlı olmasına karşın, ilkdeğer verme deyiminde 6 değer kullanılıyor. Bu durum derleme zamanında hata oluşturur. 9

10 İlkdeğer verme işleminde dizi boyutu belirtilmeyebilir. Bu durumda derleyici dizi uzunluğunu, verilen ilkdeğerleri sayarak kendi hesaplar. Dizinin o boyutta açıldığını kabul eder. Örneğin: int a[ ] = 1, 2, 3, 4, 5; Derleyici yukarıdaki deyimi gördüğünde a dizisinin 5 elemanlı olduğunu kabul eder. Bu durumda yukarıdaki gibi bir bildirimle aşağıdaki gibi bir bildirim eşdeğerdir: int a[5] = 1, 2, 3, 4, 5; Yerel ve Global Diziler Bir dizi de diğer nesneler gibi yerel ya da global olabilir. Yerel diziler blokların içinde tanımlanan dizilerdir. Global diziler ise global isim alanında, yani tüm blokların dışında tanımlanır. Global bir dizinin tüm elemanları, global nesnelerin özelliklerine sahip olur. Yani dizi global ise, dizi elemanı olan nesneler dosya bilinirlik alanına (file scope) ve statik ömre (static storage duration) sahip olurlar. Global bir dizi söz konusu olduğunda eğer dizi elemanlarına değer verilmemişse, dizi elemanları 0 değeriyle başlatılır. Ama yerel diziler söz konusu olduğunda, dizi elemanı olan nesneler blok bilinirlik alanına (block scope) ömür açısından ise otomatik ömür karakterine (automatic storage class) sahip olur. Değer atanmamış dizi elemanları içinde çöp değerler (garbage values) bulunur. 10

11 Aşağıdaki programı yazarak derleyin: #define SIZE 10 int g[size]; int y[size]; int i; for (i = 0; i < SIZE; ++i) printf("g[%d] = %d\n", i, g [i]); for (i = 0; i < SIZE; ++i) printf("y[%d] = %d\n", i, y [i]); Dizilerin Birbirine Atanması Dizilerin elemanları nesnedir. Ancak bir dizinin tamamı bir nesne olarak işlenemez: int a[size], b[size]; gibi bir tanımlamadan sonra, a dizisi elemanlarına b dizisinin elemanları kopyalanmak amacıyla, aşağıdaki gibi bir deyimin yazılması sözdizim hatasıdır. a = b; /* Geçersiz */ 11

12 Yukarıdaki gibi bir atama derleme zamanı hatasına neden olur. Çünkü dizilerin isimleri olan a ve b nesne göstermez. Dizinin bellekte kapladığı toplam alan doğrudan tek bir nesne olarak işlenemez. Yani dizinin elemanları birer nesnedir ama dizinin tamamı bir nesne değildir. C'de dizi isimleri dizilerin bellekte yerleştirildikleri bloğun başlangıcını gösteren, dizinin türü ile aynı türden adres değerleridir. Dolayısıyla değiştirilebilir sol taraf değeri (modifiable L value) değillerdir. İki dizi birbirine ancak bir döngü deyimi ile kopyalanabilir: for (i = 0; i < SIZE; ++i) a[i] = b[i]; Yukarıdaki döngü deyimiyle b dizisinin her bir elemanının değeri a dizisinin eş indisli elemanına atanıyor. srand İşlevi Rand işlevi rastgele sayı üretmek için bir algoritma kullanıyor. Bu algoritma derleyiciden derleyiciye değişse de, rastgele sayı üretiminde kullanılan ana tema aynıdır. Bir başlangıç değeri ile işe başlanır. Buna tohum değeri (seed value) denir. Bu değer üzerinde bazı işlemler yapılarak rastgele bir sayı elde edilir. Tohum değer üzerinde yapılan işlem bu kez elde edilen rastgele sayı üzerinde yinelenir. rand işlevi çağrılarını içeren bir program her çalıştırıldığında aynı tohum değerinden başlanacağı için aynı sayı zinciri elde edilir. 12

13 Bir başka standart işlev olan srand işlevi, rastgele sayı üreticisinin tohum değerini değiştirmeye yarar. srand işlevinin stdlib.h başlık dosyasında yer alan bildirimi aşağıdaki gibidir: void srand (unsigned seed); srand işlevine gönderilen değer, işlev tarafından rastgele sayı üreticisinin tohum değeri yapılır. srand işlevine argüman olarak başka bir tohum değeri gönderildiğinde işlevin ürettiği rastgele sayı zinciri değişir. Aşağıda rand ve srand işlevleri tanımlanıyor: #define RAND_MAX unsigned long int next = 1; int rand() next = next * ; return (unsigned int)(next / 65536) % 32768; void srand(unsigned int seed) next = seed; srand işlevi çağrılmaz ise başlangıç tohum değeri 1'dir. 13

14 Yukarıdaki programa srand işlevi çağrısını ekleyerek yeniden derleyin, çalıştırın: #include <stdlib.h> int k; srand(100); for (k = 0; k < 10; ++k) printf("%d ", rand()); Bazı durumlarda, programın her çalıştırılmasında aynı rastgele sayı zincirinin üretilmesi istenmez. Örneğin bir oyun programında programın çalıştırılmasıyla hep aynı sayılar üretilirse, oyun hep aynı biçimde oynanır. Programın her çalışmasında farklı bir sayı zincirinin elde edilmesi için, srand işlevinin rastgele sayı üreticisinin tohum değerini programın her çalışmasında başka bir değer yapması gerekir. Bu amaçla çoğu zaman standart time işlevinden faydalanılır. time standart bir C işlevidir, bildirimi standart bir başlık dosyası olan time.h dosyası içindedir. 14

15 time işlevi kendisine 0 değeri gönderildiğinde, önceden belirlenmiş bir tarihten (sistemlerin çoğunda tarihinden) işlevin çağrıldığı ana kadar geçen saniye sayısını geri döndürür. İşlevin geri dönüş değeri, derleyicilerin çoğunda long türden bir değerdir. İçinde rastgele sayı üretilecek programda, srand işlevine argüman olarak time işlevinin geri dönüş değeri gönderilirse, program her çalıştığında, belirli bir zaman geçmesi nedeniyle, rastgele sayı üreticisi başka bir tohum değeriyle ilkdeğerini alır. Böylece programın her çalıştırılmasında farklı sayı zinciri üretilir: srand(time(0)); Yukarıdaki daha önce yazılan örnek programı her çalıştığında farklı sayı zinciri üretecek duruma getirelim: #include <stdlib.h> #include <time.h> int k; srand(time(0)); for (k = 0; k < 10; ++k) printf("%d ", rand()); 15

16 Programlarda bazen belirli bir aralıkta rastgele sayı üretilmesi istenir. Bu amaçla kalan işleci kullanılabilir. Aşağıdaki ifadeleri inceleyin: rand() % 2 Yalnızca 0 ya da 1 değerini üretir. rand() % aralığında rastgele bir değer üretir rand() % aralığında rastgele bir değer üretir. (örneğin bir zar değeri) rand() % aralığında rastgele bir değer üretir. 16

17 Aynı türden nesneler bir dizi altında tanımlanırlarsa, bir döngü deyimi yardımıyla dizi elemanlarının tamamını işleme sokan kodlar kolay bir biçimde yazılabilir. #include <stdlib.h> #include <time.h> #define SIZE 10 int a[size]; int toplam = 0; int k; srand(time(0)); for (k = 0; k < SIZE; ++k) a[k] = rand() % 100; printf("%d ", a[k]); for (k = 0; k < SIZE; ++k) toplam += a[k]; printf("\na elemanlari toplami = %d\n", toplam); 17

18 Aşağıdaki programda ise int türden bir dizinin en küçük değere sahip olan elamanının değeri bulunuyor: #include <stdlib.h> #include <time.h> #define SIZE 10 int a[size]; int toplam = 0; int k, min; srand(time(0)); for (k = 0; k < SIZE; ++k) a[k] = rand() % 100; printf("%d ", a[k]); min = a[0]; for (k = 1; k < SIZE; ++k) if (min > a[k]) min = a[k]; printf("\nen kucuk eleman = %d\n", min); 18

19 Aşağıdaki programda ise int türden bir dizinin tek ve çift sayı olan elemanlarının aritmetik ortalamaları ayrı ayrı hesaplanıyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int sum_of_odds = 0; int sum_of_even = 0; int no_of_odds = 0; int k; for (k = 0; k < SIZE; ++k) if (a[k] % 2) sum_of_odds += a[k]; no_of_odds++; else sum_of_even += a[k]; if (no_of_odds) printf("teklerin ortalamasi = %lf\n",(double)sum_of_odds /no_of_odds); else printf("dizide tek sayi yok!\n"); if (SIZE - no_of_odds) printf("ciftlerin ortalamasi = %lf\n",(double)sum_of_even /(SIZE - no_of_odds)); else printf("dizide cift sayi yok!\n"); 19

20 Aşağıdaki programda bir dizi içinde arama yapılıyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int k; int searched_val; printf("aranacak degeri girin : "); scanf("%d", &searched_val); for (k = 0; k < SIZE; ++k) if (a[k] == searched_val) break; if (k < SIZE) printf("a[%d] = %d\n", k, a[k]); else printf("aranan deger dizide yok!\n"); 20

21 Dizilerin Sıralanması Dizinin elemanlarını küçükten büyüğe ya da büyükten küçüğe sıralamak için farklı algoritmalar kullanılabilir. Aşağıda, algısal karmaşıklığı çok yüksek olmayan "kabarcık sıralaması" (bubble sort) isimli algoritma ile bir dizi sıralanıyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int i, k, temp; for (i = 0; i < SIZE - 1; ++i) for (k = 0; k < SIZE -1 - i; ++k) if (a[k] > a[k + 1]) temp = a[k]; a[k] = a[k + 1]; a[k + 1] = temp; for (k = 0; k < SIZE; ++k) printf("%d ", a[k]); 21

22 Aynı algoritma bir do while döngüsü kullanılarak da kodlanabilirdi: #define SIZE 10 #define UNSORTED 0 #define SORTED 1 int a[size] = 12, 25, -34, 45, -23, 29, 12, 90, 1, 20; int i, k, temp, flag; do flag = SORTED; for (k = 0; k < SIZE - 1; ++k) if (a[k] > a[k + 1]) temp = a[k]; a[k] = a[k + 1]; a[k + 1] = temp; flag = UNSORTED; while (flag == UNSORTED); for (i = 0; i < SIZE; ++i) printf("a[%d] = %d\n", i, a[i]); 22

23 Aşağıdaki programda bir dizinin elemanları küçükten büyüğe "araya sokma" (insertion sort) algoritmasıyla sıraya diziliyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int i, k, temp; for (i = 1; i < SIZE; ++i) temp = a[i]; for (k = i; k > 0 && a[k - 1] > temp; --k) a[k] = a[k - 1]; a[k] = temp; for (i = 0; i < SIZE; ++i) printf("%d ", a[i]); Sıralama yönünü küçükten büyüğe yapmak yerine büyükten küçüğe yapmak için içteki döngüyü aşağıdaki gibi değiştirmek yeterli olur. for (k = i; k > 0 && dizi[k - 1] < temp; --k) 23

24 Aşağıdaki programda ise diziyi küçükten büyüğe sıralamak için "seçme sıralaması (selection sort) algoritması kullanılıyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int i, k, min, index; for (k = 0; k < SIZE; ++k) min = a[k]; index = k; for (i = k + 1; i < SIZE; ++i) if (a[i] < min) min = a[i]; index = i; a[index] = a[k]; a[k] = min; for (k = 0; k < SIZE; ++k) printf("%d ", a[k]); 24

25 Aşağıdaki programda dizinin değeri tek olan elemanları küçükten büyüğe olacak şekilde dizinin başına, dizinin çift olan elemanları ise küçükten büyüğe dizinin sonuna yerleştiriliyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int i, k, temp; for (i = 0; i < SIZE - 1; ++i) for (k = 0; k < SIZE i; ++k) if (a[k] % 2 == a[k + 1] % 2 && a[k] > a[k + 1] a[k] % 2 == 0 && a[k + 1] % 2!= 0) temp = a[k]; a[k] = a[k + 1]; a[k + 1] = temp; for (k = 0; k < SIZE; ++k) printf("%d ", a[k]); 25

26 Aşağıdaki programda bir dizi ters çevriliyor: #define SIZE 10 int a[size] = 2, 3, 1, 7, 9, 12, 4, 8, 19, 10; int k; for (k = 0; k < SIZE / 2; ++k) int temp = a[k]; a[k] = a[size k]; a[size k] = temp; for (k = 0; k < SIZE; ++k) printf("%d ", a[k]); 26

27 Aşağıdaki program, rastgele üretilen bir sayısal loto kuponunu ekrana yazıyor: #include <stdlib.h> #include <time.h> #define KOLON_SAYISI 8 void kolon_yaz() int numaralar[50] = 0; int k, no; for (k = 0; k < 6; ++k) while (numaralar[no = rand() % ]) ; numaralar[no]++; for (k = 1; k < 50; ++k) if (numaralar[k]) printf("%2d ", k); int k; srand(time(0)); for (k = 0; k < KOLON_SAYISI; ++k) printf("kolon %2d : ", k + 1); kolon_yaz(); printf("\n"); 27

28 Aşağıdaki programda bir dizinin en büyük ikinci elemanının değeri bulunuyor: #define SIZE 10 int a[size] = 12, 34, 3, 56, 2, 23, 7, 18, 91, 4; int k; int max1 = a[0]; int max2 = a[1]; if (a[1] > a[0]) max1 = a[1]; max2 = a[0]; for (k = 2; k < SIZE; ++k) if (a[k] > max1) max2 = max1; max1 = a[k]; else if (a[k] > max2) max2 = a[k]; printf("en buyuk ikinci deger = %d\n", max2); 28

29 Aşağıdaki programda yalnızca bir dizinin içinde tek (unique) olan elemanların değerleri ekrana yazdırılıyor. #include <stdlib.h> #include <time.h> #define SIZE 100 int a[size]; int i, k; int counter; srand(time(0)); for (k = 0; k < SIZE; ++k) a[k] = rand() % 30; printf("%d ", a[k]); printf("\n*******************************************************\n"); for (i = 0; i < SIZE; ++i) counter = 0; for (k = 0; k < SIZE; ++k) if (a[k] == a[i]) if (++counter == 2) break; if (counter == 1) printf("%d ", a[i]); printf("\n"); 29

30 Aşağıdaki program SIZE elemanlı bir dizinin tüm elemanlarına 0 - MAX aralığında birbirinden farklı rastgele değerler yerleştiriyor: #include <stdlib.h> #include <time.h> #define SIZE 50 #define MAX 100 int a[size]; int k; srand(time(0)); for (k = 0; k < SIZE; ++k) int val; while (1) int i; val = rand() % MAX; for (i = 0; i < k; ++i) if (val == a[i]) break; if (i == k) break; a[k] = val; /* dizi yazdırılıyor */ for (k = 0; k < SIZE; ++k) printf("%d ", a[k]); printf("\n"); 30

31 Aşağıdaki programda sıralı iki dizi, bir sıralı dizi biçiminde birleştiriliyor: #define SIZE 10 int a[size] = 2, 3, 6, 7, 8, 9, 13, 45, 78, 79; int b[size] = 1, 2, 4, 5, 7, 9, 10, 18, 33, 47; int c[size + SIZE]; int k; int index1 = 0, index2 = 0; for (k = 0; k < SIZE + SIZE; ++k) if (index1 == SIZE) c[k] = b[index2++]; else if (index2 == SIZE) c[k] = a[index1++]; else if (a[index1] < b[index2]) c[k] = a[index1++]; else c[k] = b[index2++]; for (k = 0; k < SIZE + SIZE; ++k) printf("%d ", c[k]); 31

32 THE END!!! 32

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

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ı

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ

BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ BİLİNİRLİK ALANI ve ÖMÜR, KONTROL DEYİMLERİ Kaynak: C ve Sistem Programcıları Derneği Kurs notu Öğr.Gör.Dr. Mahmut YALÇIN Bilinirlik Alanı Bilinirlik alanı (scope), bir ismin tanınabildiği program aralığıdır.

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ı

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

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

Detaylı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

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ı

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ı

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ı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD 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 : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

Önişlemci Komutları, switch ve goto deyimleri

Önişlemci Komutları, switch ve goto deyimleri Önişlemci Komutları, switch ve goto deyimleri Kaynak: C ve Sistem Programcıları Derneği Kurs notu Yrd.Doç.Dr.Mahmut YALÇIN ÖNİŞLEMCİ KOMUTLARI (1) C derleyicileri iki ayrı modülden oluşur: 1. Önişlemci

Detaylı

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler

Programlama Dilleri 1. Ders 12: Belirleyiciler ve Niteleyiciler Programlama Dilleri 1 Ders 12: Belirleyiciler ve Niteleyiciler Genel Bakış Giriş Yer Belirleyicilerle Bildirim İşlemi auto Belirleyicisi register Belirleyicisi static Belirleyicisi Statik ve Global Değişkenlerin

Detaylı

BLM 111 ALGORİTMA VE PROGRAMLAMA I

BLM 111 ALGORİTMA VE PROGRAMLAMA I 1 BLM 111 ALGORİTMA VE PROGRAMLAMA I DİZİLER (ARRAYS) Kullanıcıdan N tane tamsayı, xi, alalım ve 1. Bu sayıların ortalamasını hesaplamak isteyelim ort = 0; for (i=0; i

Detaylı

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b.

Dizi nin Önemi. Telefon rehberindeki numaralar, haftanın günleri gibi v.b. Diziler Dizi Nedir Ortak özelliğe sahip birden fazla bilginin oluşturduğu bütün bilgi kümelerine veya hafızada art arda sıralanmış aynı türden verilerin oluşturduğu yapıya dizi denir. Kısaca; Bellekte

Detaylı

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

/ C Bilgisayar Programlama Yıliçi Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak. Selçuk Üniversitesi Mühendislik-Mimarlık Fakültesi Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :26.11.2012, 60 dak. Dikkat!!! Soru kitapçığında

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ı

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ı

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER

Bölüm 8, Yrd. Doç. Dr. A. Kadir YALDIR PAÜ Bilgisayar Mühendisliği Bölümü BÖLÜM 8: DİZİLER BÖLÜM 8: DİZİLER Dizi bir kümedir. Aynı tipte verilere tek bir isimle erişmek için kullanılır. Bir dizinin bütün elemanları bellekte peş peşe saklanır. Dizi Tipi Tek boyutlu İki boyutlu Çok boyutlu Genel

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ı

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ı

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

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ı

Pointers (İşaretçiler)

Pointers (İşaretçiler) Pointers (İşaretçiler) Pointers (İşaretçiler) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ile ilişkilidir. Donanımsal açıdan

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

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ı

DÖNGÜ DEYİMLERİ (while, do while, for)

DÖNGÜ DEYİMLERİ (while, do while, for) DÖNGÜ DEYİMLERİ (while, do while, for) Kaynak: C ve Sistem Programcıları Derneği Kurs notu Yrd.Doç.Dr. Mahmut YALÇIN while Döngü Deyiminin Kullanıldığı Örnekler Aşağıda, bir tamsayının kaç basamaklı olduğu

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/ GENEL TEKRAR 1) /*Kullanıcının belirlediği sayı kadar dikdörtgenin kenar bilgilerini kullanıcıdan alan, dikdörtgenlerin alan ve çevresini alt fonksiyon yardımı ile hesaplayan ve sonuçları ekrana yazan

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ı

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

BMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel

Detaylı

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN ESM-361 Mikroişlemciler 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN Bit operatörleri Bit operatörleri bit düzeyinde işlem yapan operatörlerdir; yani sayıları bir bütün olarak değil, bit bit

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ı

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,

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ı

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ı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar 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

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ı

YAPILAR (STRUCTURES)

YAPILAR (STRUCTURES) YAPILAR (STRUCTURES) Yapılar, dizilere benzeyen ancak farklı tipten verileri bir arada tutan bütün olarak tanımlanabilir. Yapıların kullanılmasının esas sebebi de budur. Yapı tipi aslında yeni bir tip

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ı

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ı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

Detaylı

BİLDİRİM, TANIMLAMA, DEĞİŞMEZLER ve İŞLEVLER

BİLDİRİM, TANIMLAMA, DEĞİŞMEZLER ve İŞLEVLER BİLDİRİM, TANIMLAMA, DEĞİŞMEZLER ve İŞLEVLER Kaynak: C ve Sistem Programcıları Derneği Kurs notu Öğr.Gör.Dr. Mahmut YALÇIN C Dilinin İsimlendirme Kuralları İsimlendirmede yalnızca 63 karakter kullanılabilir.

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ı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

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ı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon Tanımı Fonksiyon

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ı

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ı

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 Diziler Dizi Nedir? Dizilerin Bildirimi

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ı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

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ı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları Kocaeli Ü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 : 11.04.2018, 50 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

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ı

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ı

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ı

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER // 5 adet ogrenci icin 8 adet sinavi // temsil etmesi icin bir ogrenci tablosu // olusturuyoruz. Bunun icin 5x8 bir matris // yaratilmasi

Detaylı

BÖLÜM 11: YAPISAL VERİ TİPLERİ

BÖLÜM 11: YAPISAL VERİ TİPLERİ BÖLÜM 11: YAPISAL VERİ TİPLERİ I. STRUCTURE-YAPI (struct) TİPİ DEĞİŞKENLER Birbiriyle bağlantılı ve bir küme teşkil eden değerler bir tek değişkenin çatısı altında bu değişkenin alt alanları olarak tanımlanabilirler.

Detaylı

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. C PROGRAMLAMA FONKSİYONLAR Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır. Daha büyük programlar yazmanın en kolay yolu onları küçük parçalar halinde yazıp sonra

Detaylı

Strings(Karakter Dizisi)

Strings(Karakter Dizisi) Strings(Karakter Dizisi) 0 {\ /\ Suhap SAHIN Onur GÖK 1 Tanımlama ve Kullanım char ad[20]; printf("adinizi girin: "); scanf("%s", ad); printf("\nmerhaba %s\n\n", ad); 2 Tanımlama ve Kullanım char ad[20];

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

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ı

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ı

KONTROL DEYİMLERİ, İŞLEV BİLDİRİMLERİ, DÖNGÜ DEYİMLERİ

KONTROL DEYİMLERİ, İŞLEV BİLDİRİMLERİ, DÖNGÜ DEYİMLERİ KONTROL DEYİMLERİ, İŞLEV BİLDİRİMLERİ, DÖNGÜ DEYİMLERİ Kaynak: C ve Sistem Programcıları Derneği Kurs notu Yrd.Doç.Dr. Mahmut YALÇIN else if Merdiveni Eğer bir karşılaştırmanın doğru olarak sonuçlanması

Detaylı

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN BLM111 Programlama Dilleri I Hafta 10 Diziler Yrd. Doç. Dr. Caner ÖZCAN Diziler Bilgisayarlar yardımıyla yapılan işlemlerde, çok sayıda veri girilmesi ve girilen verilerin işlenerek belirli bir sistematiğe

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 Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

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ı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

Detaylı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

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ı

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 Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

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ı

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ı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

Detaylı

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar

BLM 112- Programlama Dilleri II. Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar 1 BLM 112- Programlama Dilleri II Hafta 2 C Programlarının Bellek Düzeni ve Rekürsif (Özyinelemeli) Fonksiyonlar Dr. Öğr. Üyesi Caner Özcan Kendi yolculuğumuzu yapmak için buradayız; bu yolculukta kendimiz

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ı

Programlama Dilleri 3

Programlama Dilleri 3 Diziler (Arrays) 1 Dizi Kavramı 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

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

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 DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların

Detaylı

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers) 1 BLM 112- Programlama Dilleri II Hafta 4 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan İyilik insanları birbirine bağlayan altın zincirdir. ~Goethe Hafıza Yapısı 2 Bir değişken tanımlandığında arka

Detaylı

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz. Ön bilgi: Dizi tanımlayabilmeli. foreach deyimi bilinmeli. Rastgele sayılar (Random) bilinmeli. 1. Aşağıda tamsayı tipinde iki boyutlu bir dizinin nasıl tanımlandığı, bir fonksiyona parametre olarak nasıl

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ı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

2. Dereceden Denklemin Köklerini Bulan Program

2. Dereceden Denklemin Köklerini Bulan Program 2. Dereceden Denklemin Köklerini Bulan Program [crayon-5bb74e5b18b15225541464/] C++ 2.dereceden denklemin köklerini bulan program [crayon-5bb74e5b18b25989362529/] ÇIKTI; C++ 2. dereceden denklemin köklerini

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ı

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ı

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER

İstanbul Teknik Üniversitesi IEEE Öğrenci Kolu DİZİLER DİZİLER Dizi Nedir? Aynı türden nesnelerin oluşturduğu, bellekte bitişik bir biçimde bulunan veri yapısına dizi denir.mesela alfabe diye bir dizi tanımlarız, harfleri a,b,c,d... diye sıralarız.dizinin

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ı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

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ı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Hafıza Yapısı Bir değişken tanımlandığında arka planda bilgisayarın hafızasında bir konuma yerleştirilir. Hafıza küçük hücrelerden oluşmuş bir blok olarak düşünülebilir. Bir değişken

Detaylı