3.1 Pointer in Yararları
|
|
|
- Fidan Çimen
- 7 yıl önce
- İzleme sayısı:
Transkript
1 3 Pointers Pointer, başka bir değişkenin bellekteki adresini işaret eden bir değişkendir. O nedenle, pointere işaretçi, gösterici adları verilir. Değişkenler için olduğu gibi, pointerin değeri, işaret ettiği adresteki değerdir. Nasıl ki, değişken bildiriminde, değişkenin veri tipini belirtiyorsak, pointer bildiriminde de, onun işaret edeceği bellek adresine konulabilecek değerin veri tipini belirtmeliyiz. Aslında bütün değişkenler, bellekte birer adres işaret ederler. Dolayısıyla, bütün değişkenler birer pointerdir. Ama, C dilinde pointerlerle pointer aritmetiği denilen işlemler yapılır. Bu işlemler, bazı işlerin yapılmasını çok kolaylaştırır. Pointer aritmetiğini biraz sonra açıklayacağız. Bildirimi sırasında, değişkenin pointer olduğunu belirtmek için, değişken adının önüne yıldız (*) karakteri konulur: int gelir; int *gelirptr; bildirimilerinin birincsi int değer alan gelir adlı bir değişkeni bildiriyor. İkincisi int tipi veri içerecek bir bellek adresini işaret eden *gelirptr adlı bir pointer bildirimidir. Her ikisi de int tipinden olduğu için, istenirse iki bildirim tek bildirim halinde yazılabilir: int gelir, *gelirptr; Pointer bildiriminde, değişken adının sonuna Ptr ekledik. Bunu yapmak zorunlu değildir. Derleyici yalnızca değişkenin önündeki (*) karakterine bakar. Ptr eklememizin nedeni, kaynak programı okuyan kişinin pointer değişkenlerini kolay algılaması içindir. Zorunlu olmayan bu işi alışkanlık edinmek yararıdır.
2 22 BÖLÜM 3. POINTERS 3.1 Pointer in Yararları Her veri tipinden pointer tanımlanabilir. O nedenle, bazı kaynaklara göre, pointer, C dilinde türetilmiş (derived) bir veri tipidir. Pointere atanan değerler, değişken adresleridir. Pointer kendisine atanan adresteki değeri gösterir. Dolayısıyla, bellekteki verilerle işlem yapmak için güçlü bir araçtır. Pointerlerin başlıca yararları şöyle sıralanabilir: 1. Arrayler ve veri tabloları üzeride işlemleri kolaylaştırır. 2. Dinamik adres yönetimini sağlar. 3. Değerle çağrı nın asıl olduğu fonksiyonlarda, parametrelere pointerler atanabilir ve böylece referan ile çağrı oluşur. Bu oluşumda, parametre değerleri değişebilir ve fonksiyon birden çok değer verebilir. (Bununla ilgili örnekleri birazdan inceleyeceğiz). 4. Pointerler, doğrudan adresleri gösterdiği için, programın koşma hızını artırır. 5. Pointer bağlı listeler, kuyruklar, yığıtlar (stacks) gibi yapılarla işlem yapmayı kolaylaştıran bir araçtır Bellek Adresleri Bilgisayarın CPU dan sonra en önemli bileşeni anabelleğidir. Buna İngilizcede RAM (Random Access Memory - Seçkili Erişilir Bellek) denilir. Türkçe de ona ana bellek diyoruz. Donanımsal yapıları farklı olan RAM türleri vardır. Ama programcı için, RAM in donanımsal yapısı önem taşımaz. Hepsi benzer kuralla işlev yapar. Genellikle, bellek adresleri 1 byt lık (8 bit lik) gözelerden (hücre) oluşur. Her gözenin pozitif tam sayı ile belirlenen bir adresi vardır. Göze adresleri artan sırada dizilirler. İşletim sistemi, her gözenin adresini bilir. Seçkili Erişilir Bellek (RAM) denmesinin nedeni, istenilen gözeye doğrudan erişilebiliyor olmasıdır. Bilgisayar çalışırken, işletim sisteminin komutları, uygulama programının komutları ve veriler anabellekte tutulur. Uygulama programının gerekli gördüğü komutlar ve veriler anabelleğe yerleştirilir. Bu işi işletim sistemi ve uygulama programı birlikte yaparlar. Anabellek, içine veri yazılan hücrelerden oluşur. Hücrelerin her birisi numarasıyla belirlidir. Buna hücrenin adresi diyoruz. İşletim sistemi ve dolayısıyla derleyici ana bellekteki her hücrenin numarasını (adresini) bilir.
3 3.1. POINTER IN YARARLARI 23 Ana bellekte göze sayısı ne kadar çoksa, orada tutulanlar ( veriler, komutlar vb) o kadar çok olur. Bu da programın daha hızlı çalışmasını sağlar. Tabii, RAM büyüklüğü sistemden sisteme değişir. Ama hepsinin bir sınırı vardır. Çok sayıda veri işleyen programlar, RAM e sığmayan verileri hard disk, flopy disk vb gibi ikincil bir kayıt ortamına yazar ve gerektikçe oradan alır. Oraya süpürme alanı (swap space) denilir. Genellikle büyük veri tabanlarında bu iş kaçınılmazdır. İkincil kayıt ortamı ile veri alış-verişi RAM dekilere göre daha yavaştır. C dilinde bir değişkenin anabellek adresi, değişkenin önüne konulan & karakteri ile belirtilir. Pointerlerin değerleri de bellek adresleri olduğuna göre * ile & karakterleri birbirlerinin tümleyeni olarak işlev yaparlar. Bunu bir örnekle açıklayalım. int x = 77; int *p; p = &x; bildirimlerinden birincisi int tipinden x değişkeni tanımlıyor ve ona 77 değerini atıyor. İkincisi int tipinden verilere ayrılan bir adresi gösterecek olan p pointer değişkenini tanımlıyor. p yerine istenilen başka bir ad verilebilir. Bu aşamada p pointeri henüz bir adres göstermiyor. Üçüncü deyim, p pointer değişkenine x değişkeninin adresini atıyor. Böylece p pointeri x in adresini işaret etmeye başlıyor; o adreste 77 değeri vardır. Dolayısıyla p pointeri 77 değerini işaret etmeye başlıyor. Buna göre, p = &x; *p = x; atamaları birbirlerine denk olur. Bunu bir örnekle gösterelim: Program #i n c l u d e <s t d i o. h> i n t main ( v o i d ) { 6 i n t x, p ; x = 7 7 ; p = &x ; 11 p r i n t f ( " \nx d e g i s k e n i n i n d e g e r i : %d ", x ) ; p r i n t f ( " \nx d e g i s k e n i n i n a d r e s i : %d ", &x ) ; p r i n t f ( " \n " ) ; p r i n t f ( " \n p i n d e g e r i : %d ", p ) ; p r i n t f ( " \n p = x :% l d = %l d ", p, x ) ; 16 p r i n t f ( " \n " ) ;
4 24 BÖLÜM 3. POINTERS p r i n t f ( " \np p o i n t e r i n i n d e g e r i : %d ", p ) ; p r i n t f ( " \n p = &x ( hex ) :%x = %x ", p, &x ) ; 21 p r i n t f ( " \n p = &x ( long ) :% l d = %l d ", p, &x ) ; / x d e g i s k e n i n i n d e g e r i : 77 3 x d e g i s k e n i n i n a d r e s i : p i n d e g e r i : 77 p = x : 77 = 77 8 p p o i n t e r i n i n d e g e r i : p = &x ( hex ) : 2 2 f e 4 4 = 22 f e 4 4 p = &x ( long i n t ) : = / Açıklama: Çıktının 6. satır p = x eşitliğini, 9. ve 10 satırları ise p = &x eşitliğini hexadecimal ve long int olarak gösteriyor. Pointer bildiriminde * karakterini iki farklı konumda kullanabili- Uyarı: riz: 1. int *p; 2. int* p; Bu derste kullandığımız gcc derleyicisi bu iki bildirimi eşdeğer sayar. Notasyonlarda birliği sağlamak için biz ilk gösterimi kullanacağız. Program 3.2 ikinci bildirimin de kullanılabileceğini gösteriyor. Şekil 3.1: Pointer in İşlevi
5 3.2. NULL POINTER 25 Program 3.2. #i n c l u d e <s t d i o. h> i n t main ( ) { 4 i n t p ; i n t c ; c =123; p = &c ; 9 p r i n t f ( " c = 123 i s e \n " ) ; p r i n t f ( " c nin a d r e s i :%d\n ",&c ) ; p r i n t f ( " c nin d e g e r i :%d\n\n ", c ) ; p r i n t f ( " p p o i n t e r i n i n d e g e r i :%d\n ", p ) ; p r i n t f ( " p p o i n t e r i n i n g o s t e r d i g i deger :%d\n\n ", p ) ; 14 r e t u r n 0 ; / c = 123 i s e c nin a d r e s i : c nin d e g e r i : p p o i n t e r i n i n d e g e r i : p p o i n t e r i n i n g o s t e r d i g i deger : / 3.2 NULL Pointer NULL, stdio.h dosyasında tanımlı sembolik bir sabittir. Türkçe de boş, hiç anlamlarına gelir. Bir pointerin hiçbir adresi işaret etmediğini belirtmek için, ona NULL değer atamak iyi bir alışkanlıktır. Aksi halde, pointer çöp (garbage) toplar; yani herhangi bir değer alabilir, dolayısıyla öngörülemeyen bir bellek adresini işaret edebilir. NULL değer atanmış pointerin; yani hiçbir adresi işaret etmeyen pointerin değeri daima 0 olur. Kendisine hiç değer atanmamış, NULL atanmış ya da bir değişken adresi atanmış pointerlerin değerlerini Program 3.3 örneğinden görebiliriz: Program 3.3. #i n c l u d e <s t d i o. h> 2 i n t main ( ) { i n t x, p1, p2, p3 ; x = ; p2 = NULL; 7 p3 = &x ; p r i n t f ( " Deger atanmamis p1 p o i n t e r i n i n d e g e r i : %x\n ", p1 ) ;
6 26 BÖLÜM 3. POINTERS p r i n t f ( " p2 = NULL atanmis p o i n t e r i n d e g e r i : %x\n ", p2 ) ; p r i n t f ( " p3= &x atanmis p o i n t e r i n i n d e g e r i : %x\n ", p3 ) ; 12 p r i n t f ( "&x a d r e s i n i n d e g e r i : %x\n ", p3 ) ; r e t u r n 0 ; / Deger atanmamis p1 p o i n t e r i n i n d e g e r i : 1 e p2 = NULL p o i n t e r i n i n d e g e r i : 0 p3 p o i n t e r i n i n d e g e r i : 22 f e &x a d r e s i n i n d e g e r i : 22 f e 3 4 Açıklama: Çıktının 2. satırında hiç değer atanmamış bir pointerin aldığı değer görülüyor. Bu değer öngörülemez çöp (garbage) değerdir. Pointere NULL ya da bir adres atanmadan önce kullanılması hatalara yol açar. Çıktının 3. satırı NULL atanmış bir pointerin değerinin 0 olduğunu gösteriyor. Çıktının 4. ve 5. satırları bir değişken adresi atanmış pointerin değerinin atanan adres olduğunu gösteriyor. 3.3 * ve & Operatörleri x değişkeninin adresinin &x ile gösterildiğini biliyoruz. Burada & bir operatördür. Bellek adresini göstermek gibi önemli bir işleve sahiptir. Ama bellek adreslerindeki veriler üzerinde işlem yapmaya elvermez. Bellek adreslerindeki verilerle işlem yapacağımız zaman * operatörünü kullanırız. p pointerinin gösterdiği adresteki değer, *p ile belirtilir. Anımsayacağınız gibi, x değişkeninin adresini p pointerine atamak için p = &x; deyimini kullanıyoruz. Bu atamadan sonra *p = x; olur. Bu nedenle & operatörü ile * operatörü birbirlerinin tümleyen leridir, denilir. * operatörü, adresteki veriyi dolaylı gösteriyor. O nedenle * operatörüne dolaylı adres operatörü (indirection operator) denilir. Bazı problemlerin çözümünde & peratörü çok etkili olur. Program 3.4 takas işleminde & operatörünün kullanılışını gösteriyor. Program 3.4.
7 3.4. OPERATÖRLERIN ÖNCELIKLERI 27 #i n c l u d e <s t d i o. h> v o i d swap ( i n t i, i n t j ) { i n t t = i ; 5 i = j ; j = t ; v o i d main ( ) { 10 i n t a = 23, b = 4 7 ; p r i n t f ( " Önce a : %d, b : %d\n ", a, b ) ; swap(&a, &b ) ; p r i n t f ( " Sonra a : %d, b : %d\n ", a, b ) ; 1 / Önce : a = 18, b = 67 Sonra : a = 67, b = Operatörlerin Öncelikleri İşlemlerde operatörlerin öncelik sıraları vardır. Kod yazarken bunlara dikkat edilmezse mantıksal hatalar doğar. Parantez kulllanarak, işlemlerde öncelik sırasını istediğimiz gibi ayarlayabiliriz. Ana bellek adresleri artan sırada ardışık unsigned int (pozitif tam sayı) değerler alır. Dolayısıyla p pointeri bir adres gösteririyorsa, p için ++ ve operatörlerini önel ya da sonal olarak kullanabiliriz. Böylece + + p, p, p++ ve p simgeleri sayısal değişkenlerde bildiğimiz anlamlarına denk olur. Adresler üzerinde ++,,!, *, & operatörleri işlevseldir. Bunların öncelik sıraları sağdan sola doğrudur. Şimdiye dek gördüğümüz operatörlerin öncelik sıralarını Tablo 3.1 de olduğu gibi, topluca görmek yararlı olabilir. 3.5 Fonksiyonları Referans İle Çağırma Fonksiyon çağrısının değerle (call by value) ve referansla (call by reference) olmak üzere iki türlü yapılabileceğini söylemiş, referansla yapılan çağrıyı incelenmeyi pointer kavramından sonraya bırakmıştık. Artık referans ile çağrıyı inceleyebiliriz. Değerle çağrıda, parametre ya da yerel değişken olarak kullanılsalar bile, fonksiyon bloku dışındaki değişken değerlerinin değişmediğini söyle-
8 28 BÖLÜM 3. POINTERS Operatörler İşlem Sırası Yönü Tür () [ ] soldan sağa en yüksek öncelik + + +! &. sağdan sola birli / % soldan sağa çarpımsal + - solda sağa toplamsal < <= > >= solda sağa ilşkisel ==!= soldan sağa eşitlik && sağdan sola mantıksal VE sağdan sola mantıksal VEYA?: solda sağa koşullu deyim = += -= = /= %= solda sağa atama, solda sağa virgül, ayraç Tablo 3.1: Operatör Öncelikleri miştik. Ancak, bazen fonksiyon bloku dışındaki değişken değerlerini değiştirmek isteyebiliriz. Bunun için referans ile çağrı yöntemi kullanılır. Ama öncelikle, programın & ve * operatörleri ile ne kadar kolay ve kısa yazıldığını Program 3.5 örneğinde görecek, sonra, Program 3.6 örneğinde main() ve takas() fonksiyonlarının her adımda yaptığı işleri printf() ile ekrana yazdıracağız. Program 3.5. #i n c l u d e <s t d i o. h> 2 v o i d takas ( i n t i, i n t j ) { i n t t = i ; i = j ; j = t ; 7 v o i d main ( ) { i n t a = 3, b = 8 ; p r i n t f ( " Önce a : %d, b : %d\n ", a, b ) ; 12 takas(&a, &b ) ; p r i n t f ( " Sonra a : %d, b : %d\n ", a, b ) ; 1 / Önce : a = 3, b = 8 Sonra : a = 8, b = 3 / Referans ile çağrıyı (call by reference) iyi anlayabilmek için Program 3.6 örneğini satır satır incelemek (izleme, trace) yeterli olacaktır. Program 3.6.
9 3.5. FONKSIYONLARI REFERANS İLE ÇAĞIRMA #i n c l u d e <s t d i o. h> v o i d takas ( i n t, i n t ) ; i n t main ( ) { 6 i n t a = 3, b = 8 ; p r i n t f ( " \ ntakastan once : " ) ; p r i n t f ( " \na = %d, b = %d ", a, b ) ; p r i n t f ( " \n&a =%d ve &b = %d ", &a,&b ) ; p r i n t f ( " \n " ) ; takas(&a, &b ) ; p r i n t f ( " \n\ ntakastan sonra : " ) ; p r i n t f ( " \na = %d, b = %d ", a, b ) ; p r i n t f ( " \n&a =%d ve &b = %d ", &a,&b ) ; v o i d takas ( i n t x, i n t y ) { i n t z ; 21 p r i n t f ( " \n&x =%d, &y = %d, &z = %d ", &x,&y, &z ) ; p r i n t f ( " \n x =%d, y = %d, z= %d ", x, y, z ) ; p r i n t f ( " \n\n " ) ; p r i n t f ( " z = x atamasından sonra : " ) ; 26 z = x ; p r i n t f ( " \n&x =%d, &y = %d, &z = %d ", &x,&y, &z ) ; p r i n t f ( " \n x =%d, y = %d, z= %d ", x, y, z ) ; p r i n t f ( " \n\n " ) ; 31 p r i n t f ( " x = y atamasından sonra : " ) ; x = y ; p r i n t f ( " \n&x =%d, &y = %d, &z = %d ", &x,&y, &z ) ; p r i n t f ( " \n x =%d, y = %d, z= %d ", x, y, z ) ; 36 p r i n t f ( " \n\n " ) ; p r i n t f ( " y = z atamasından sonra : " ) ; y = z ; p r i n t f ( " \n&x =%d, &y = %d, &z = %d ", &x,&y, &z ) ; 41 p r i n t f ( " \n x =%d, y = %d, z= %d ", x, y, z ) ; / Takastan once : 3 a = 3, b = 8 &a = ve &b = &x = , &y = , &z = x =3, y = 8, z= 0 z = x atamasından sonra : &x = , &y = , &z = x =3, y = 8, z= 3 13 x = y atamasından sonra : &x = , &y = , &z = x =8, y = 8, z= 3
10 30 BÖLÜM 3. POINTERS y = z atamasından sonra : 18 &x = , &y = , &z = x =8, y = 3, z= 3 Takastan sonra : a = 8, b = 3 23 &a = ve &b = / Açıklamalar: main() içindeki 6.satır a ve b değişkenlerine ilk değerleri atıyor. 8. ve 9. satırlar a ile b nin değerlerini ve adreslerini yazıyor. Çıktının 3. ve 4. satırları bunları gösteriyor. main() içindeki 12. satır takas() fonksiyonunu çağırıyor. 3. satırda, takas() fonksiyonunun prototipine bakarsak, parametrelerin int gösteren pointer olduğunu görebiliriz. Bu demektir ki, takas() fonksiyonu çağrılırken, parametrelere ancak int tipinden değişkenlerin adresleri konulabilir. 12.satır bu işi yapıyor. Çıktının satırları takas() fonksiyonu tarafından yazılıyor. a ile b nin adresleri ile x ile y nin adreslerinin farklı olduğuna dikkat ediniz. Her fonksiyon, kendi kapsanma alanında (scope), kendi parametreleri ve yerel değişkenleri için gerekli adresleri ayırır. Değişken adları aynı olsa bile, bu adresler, fonksiyonu çağıran bloktaki adreslerden farklıdır. takas() içindeki 26.satırda z= *x ataması yapılınca, 27. ve 28. satırların yaptığı iş, çıktının 10.ve 11.satırlarında görülüyor. x, y değişkenlerinin adreslerinin ve değerlerinin değişmediğine, ama x in değerinin z ye atandığına; dolayısıyla *x= 3, *y= 8, z=3 olduğuna dikkat ediniz. Takas işleminin ilk adımı burada atılıyor. takas() içindeki 32.satırda *x= *y ataması yapılınca, 33. ve 34. satırların yaptığı iş, çıktının 14.ve 15.satırlarında görülüyor. x, y değişkenlerinin adreslerinin değişmediğine, ama *x= 8, *y= 8 ve z=3 olduğuna dikkat ediniz. Bu adımda, &x içindeki değer değişmiştir. Takas işleminin ikinci adımı burada atılıyor. takas() içindeki 39.satırda *y= z ataması yapılınca, 40. ve 41. satırların yaptığı iş, çıktının 18.ve 19.satırlarında görülüyor. x, y değişkenlerinin adreslerinin değişmediğine, ama *x= 8, *y= 3 ve z=3 olduğuna dikkat ediniz. Takas işleminin üçüncü ve son adımı burada atılıyor. takas() fonksiyonunun işlevi bu adımda bitiyor. Program akışı, takas() fonksiyonunu çağıran main() e dönüyor ve kaldığı 12.satırdan devam ediyor. main() içindeki 14. ve 15.satırlar, a ile b değişkenlerinin değerlerini ve
11 3.5. FONKSIYONLARI REFERANS İLE ÇAĞIRMA 31 adreslerini yazdırıyor. adreslerin değişmediğini, ama içlerindeki değerlerin takas edildiğini görüyoruz. Böyle olması doğaldır; çünkü takas() fonksiyonu onların içindeki *x ve *y değerlerini takas etti. Program #i n c l u d e <s t d i o. h> i n t karebul ( i n t ) ; i n t main ( v o i d ) { 6 i n t number = 7 ; p r i n t f ( " \ nsayinin i l k d e g e r i :%d ", number ) ; karebul ( &number ) ; p r i n t f ( " \ nsayinin y e n i d e g e r i : %d\n ", number ) ; 11 i n t karebul ( i n t nptr ) { nptr = nptr nptr ; r e t u r n nptr ; 16 / /
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
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
Program Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:
1 Program Çözümleme Bir bilgisayar programını çözümleme eylemini, onun her satırının (deyiminin) yaptığı işi açıklamak olarak anlayacağız. Bazı kaynaklarda bu eyleme analiz der. Daha ileri düzeyde "trace"
ALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme İşaretçi Kavramı
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
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
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
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
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
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,
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ı
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ı
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
Fonksiyonlar -Genel Test- A
1 Fonksiyonlar -Genel Test- A 1. C dilinde fonksiyon bildirimi için hangisi gereklidir? (a) Fonksiyonun döndüreceği veri tipi (b) Fonksionun adı (c) Fonksiyon parantezi ( ) (d) Hepsi 2. C dilinde fonksion
BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)
1 BLM 112- Programlama Dilleri II Hafta 5 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan Hiç hata yapmayan insan, hiçbir şey yapmayan insandır. Ve hayatta en büyük hata, kendini hatasız sanmaktır. ~Y.
BLM-112 PROGRAMLAMA DİLLERİ II. Ders-3 İşaretçiler (Pointer) (Kısım-2)
BLM-112 PROGRAMLAMA DİLLERİ II Ders-3 İşaretçiler (Pointer) (Kısım-2) Yrd. Doç. Dr. Ümit ATİLA [email protected] http://web.karabuk.edu.tr/umitatilla/ Dinamik Bellek Yönetimi Bir program çalıştırıldığında
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
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
Ö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,
Biçem Belirteçleri (Format Specifiers)
1 Biçem Belirteçleri (Format Specifiers) Bilgisayara, girdiler ve çıktılar insanın anlayacağı biçemdedir. Harfler, sayılar ve diğer krakterler, kültürlere bağlı olan simgelerdir. Bir bakıma, onlar birer
Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini
1 Veri Tipleri Bazı diller veri tiplerini önceden ayırır, bazıları ayırmaz. Teknik olarak, veri tipini önceden belirleyen diller, anabelleğe yerleşecek verileri, orada kapsayacakları alanlara göre gruplara
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.
Genel Programlama II
Genel Programlama II 08.03.2011 1 Çok Boyutlu Diziler Önceki derslerimizde dizileri görmüştük. Kısaca özetleyecek olursak, belirlediğimiz sayıda değişkeni bir sıra içinde tutmamız, diziler sayesinde gerçekleşiyordu.
NESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA İŞARETÇİ ELEMANLI SINIFLAR REFERANSLAR OPERATÖRLERİN AŞIRI YÜKLENMESİ ATAMA OPERATÖRÜ Özlem AYDIN Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü İşaretçi Elemanlı Sınıflar
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
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
Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan
2 C Programlarının Yapısı Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan yapıtaşlarıdır. Bir C programının,
C#(Sharp) Programlama Dili
Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin
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.
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
ALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Bellek ve Adresleme Dinamik Bellek
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"
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 [email protected] Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,
Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.
PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki
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
Mikroişlemcilerde Aritmetik
Mikroişlemcilerde Aritmetik Mikroişlemcide Matematiksel Modelleme Mikroişlemcilerde aritmetik işlemler (toplama, çıkarma, çarpma ve bölme) bu iş için tasarlanmış bütünleşik devrelerle yapılır. Bilindiği
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
Bölüm 9. Altprogramlar ISBN
Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda
Metotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end
4 Metotlar Hemen her programlama dilinde var olan metot kavramı Ruby için de aynıdır. Bazı kaynaklarda metot terimi yerine fonksiyon terimi kullanılır. Bu kitapta iki terimi eşanlamlı kullanacağız. Ruby
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
Ö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ı,
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
Linux Assembly Programlamaya Giriş
Linux Assembly Programlamaya Giriş Barış Metin Konular gcc / gas / ld Intel ve AT&T söz dizimleri gdb INT 80H C kütüphane fonksiyonları Stack Frame Örnek
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
Rasgele Sayılar. 1.1 Bilgisayar Rasgele Sayı Üretemez! 1.2 rand() fonksiyonu
1 Rasgele Sayılar 1.1 Bilgisayar Rasgele Sayı Üretemez! Bilgisayar uygulamalarında sık sık rasgele sayı üretimi ile karşılaşırız. Hemen her oyunda ve kriptografide karşımıza aynı soru çıkar. Bilgisayarda
PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
Mantıksal İşlemler. 7.1 true, false, nil
7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve
Fonksiyonlar 1.1 Fonksiyon Nedir?
1 Fonksiyonlar 1.1 Fonksiyon Nedir? C dili öteki dillere göre küçüktür; çünkü programın yapacağı işler fonksiyonlarla yapılır. Onlar C dilinin birer parçası değildir. Şimdiye dek, main() ana fonksiyonu
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
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
/ 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
C++ Göstericiler (Pointer)
C++ Göstericiler (Pointer) C++ Dilinde Gösterici(Poniter) İşlemleri Gösterici nedir? Bir değişkenin bellek adresini tutan değişkene gösterici denir. Yani, gösterici bir tür değişkendir ve başka bir değişkenin
Programlama Dilleri 1. Ders 5: Göstericiler
Programlama Dilleri 1 Ders 5: Göstericiler Değişkenlerin adresleri Bellekteki her değişkenin bir adresi ve bir de taşıdığı değeri vardır. int x=3; DEĞİŞKEN BELLEK ADRES 0 (0000) 1 2 3 4...... 65533 (FFFD)
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
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
/ 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
Nesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin
ALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 İşaretçiler ve Diziler Fonksiyon
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
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
C dilinde if-else yapısı
C dilinde if- yapısı Merhaba arkadaşlar, bu başlık altında sizlere koşullu ifadelerden bahsedeceğim. Peki nedir bu koşullu ifadeler(if, if, )? Bunu bir koşulun gerçekleşmesine bağlı olarak gerçekleşen
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
Yrd. Doç. Dr. Caner ÖZCAN
Yrd. Doç. Dr. Caner ÖZCAN malloc Malloc fonksiyonu bir değişken için hafızadan bir blok yer ayrılması için kullanılır. Eğer hafızada yeterli alan yoksa fonksiyon NULL döndürür. int *ptr; ptr = (int *)
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.
int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }
FONKSİYONLAR Fonksiyon, programcı tarafından seçilen bir kod bloğuna isim vermek için kullanılan araçtır. Fonksiyon ismi program içerisinde çağrıldığında fonksiyonun temsil ettiği kod çalıştırılır. Örneğin
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
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
Bilgisayar Programlama MATLAB
What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi
ALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ [email protected] YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C
(Dizim) Array. 1.1 Array Nedir?
1 Array (Dizim) 1.1 Array Nedir? Array (dizim), aynı veri tipinden çok sayıda değişkeni barındıran bir yapıdır. Array e ait değişkenler, sıra numarası verilmiş bir liste gibidir. Listedeki öğelere sıra
ALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar
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 [email protected] http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde
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
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)
BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ
BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN [email protected] C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların
Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.
I. GİRİŞ Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. İnsanların elle yaptığı ve yapmakta olduğu bir çok
Özyineleme (recursion)
2 Özyineleme (recursion) Kendi kendini çağıran fonksiyonlara özyineli (recursive) fonksiyon denilir. Özyineli fonksiyonlar, ileri bilgisayar uygulamalarında çok kullanılır. Bilgisayar biliminin zor sayılan
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 [email protected] http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı
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,
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
C++ Dersi: Nesne Tabanlı Programlama
C++ Dersi: Nesne Tabanlı Programlama Bölüm 11: Bileşim, Arkadaş ve Diğer Araçlar İçerik Bileşim Arkadaş Fonksiyonlar ve Sınıflar Arkadaş Fonksiyonlar Arkadaş Sınıflar Sabit Nesneler Sabit Üye Fonksiyonlar
Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.
İST 205 Bilgisayar Programlama III C Programlamaya Giriş ve Matematiksel-İstatistiksel Uygulamalar Y.Doç.Dr. Levent Özbek Ankara Üniversitesi Fen Fakültesi İstatistik Bölümü Tel: 0.312.2126720/1420 [email protected]
C PROGRAMLAMA D İ L İ
C PROGRAMLAMA DİLİ Fonksiyonlar (Alt programlar) Fonksiyon Kavramı Fonksiyon, belirli sayıda verileri kullanarak bunları işleyen ve bir sonuç üreten komut grubudur. Her fonksiyonun bir adı ve fonksiyona
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
Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.
Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html
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
İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için,
PDP 7 1 İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, operatörlerin sırası ve İşlenenlerin (operant) değerlendirmesine aşina olmamız
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 - 5 Nesneye Yönelik Programlamaya Giriş Bu
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
Döngüler. 1.1 while döngüsü
1 Döngüler Belirli bir iş birden çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü yapıları o deyim(ler)i istenildiği kadar tekrarlar. C dilinde bu işi yapan üç ayrı yapı vardır: 1. while
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ü
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
Bigisayar Programlama
Bigisayar Programlama (GÜZ 2015) DERS-02: C de Programlamaya Giriş Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü [email protected] Ofis Saatleri :
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;
Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri
Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri 7.0. Amaç Ve Kapsam Deneyde C dilinde kullanılan fonksiyon tanımlama ve parametre aktarım yöntemleri hakkında bilgi verilecektir. 7.1. Deneyden
Dosyalar 1.1 Dosya Nedir?
1 Dosyalar 1.1 Dosya Nedir? Bilgisayar kullanımını gerektiren çoğu işler çok sayıda veri kullanır. Üstelik, aynı konularda bilgi veren verilerin gruplandırılarak bilgisayar izlencesinin her yürütülüşünde
Ç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
şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;
Dosya İşlemleri Nedir? Programlarınızı girdi (input) olarak aldığı verileri bir text dosyasında yada word dosyasında vb. saklamasıdır. Artık C programınızın yaratıp içine veriler koyacağı text dosyasını
Dr. Fatih AY Tel: 0 388 225 22 55 [email protected] www.fatihay.net
Bilgisayar Programlama Ders 1 Dr. Fatih AY Tel: 0 388 225 22 55 [email protected] www.fatihay.net Bilgisayar Programlamaya C ile Programlamaya Yazılım: Bilgisayarın işlemler yapması ve karar vermesi
