BİLDİRİM, TANIMLAMA, DEĞİŞMEZLER ve İŞLEVLER
|
|
- Melek Onaral
- 7 yıl önce
- İzleme sayısı:
Transkript
1 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
2 C Dilinin İsimlendirme Kuralları İsimlendirmede yalnızca 63 karakter kullanılabilir. Bunlar: İngiliz alfabesinde yer alan 26 küçük harf karakteri: a,b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z İngiliz alfabesinde yer alan 26 büyük harf karakteri: A,B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z rakam karakterleri 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 alttire (_) (underscore) karakteridir. İsimlendirmelerde yukarıda belirtilen karakterlerin dışında başka bir karakterin kullanılması geçersizdir. Örneğin, boşluk karakterleri, Türkçeye özgü (ç, ğ, ı, ö, ş, ü, Ç, Ğ, İ, Ö, Ş, Ü) karakterler, +, -, /, *, & ya da $ karakterleri bir isimde kullanılamaz. Değişken isimleri rakam karakteriyle başlayamaz. Değişken isimleri alttire '_' karakteriyle başlayabilir. C'nin 32 anahtar sözcüğü isimlendirme amacı ile kullanılamaz. 2
3 Uzun Değişken İsimleri İsimler boşluk içeremeyeceği için uygulamalarda genellikle boşluk hissi vermek için alttire (underscore) karakteri kullanılır. genel_katsayi_farki, square_total, number_of_cards gibi. İsimlendirmede başka bir seçenek de her sözcüğün ilk harfini büyük, diğer harfleri küçük yazmaktır: GenelKatsayiFarki, SquareTotal, NumberOfCards C dili standartları isim uzunluğu konusunda bir sınırlama koymamıştır. Ancak ismin ilk 31 karakterinin derleyici tarafından dikkate alınmasını zorunlu kılar. Ancak derleyicilerin çoğu, çok daha uzun değişken isimlerini işleme sokabilirler. 31 karakterden daha uzun isimler kullanıldığında programcı için çok az da olsa şöyle bir risk söz konusudur: Herhangi bir derleyici ilk 31 karakteri aynı olan iki farklı ismi aynı isim olarak ele alabilir. İsimlendirmede Nelere Dikkat Edilmeli? İsimlendirme, yazılan programların okunabilirliği açısından da çok önemlidir. İyi yazılmış olan bir programda kullanılan isimlerin dilin kurallarına göre uygun olmalarının dışında, bazı başka özelliklere de sahip olması gerekir: 3
4 4 1. Seçilen isimler anlamlı olmalıdır. Verilen isimler, değişkenin kullanım amacı hakkında, okuyana bilgi vermelidir. Çoğu zaman, bir değişkenin ismini x, y, z gibi alfabenin harflerinden seçmek kötü bir tekniktir. Tanımlanan değişken, içinde neyin değerini tutacaksa buna yönelik bir isim vermek, kodu okuyanın işini kolaylaştırır, algılamasını hızlandırır. 2. İsimler farklı özelliklere sahip değişkenlerin ait oldukları grubun ismi olarak seçilmemelidir. Örneğin sayaç görevini üstlenen bir değişkenin ismini counter olarak seçmek yerine prime_counter, valid_word_counter vs. olarak seçmek çok daha iyidir. Zira programın içinde birden fazla sayaç bulunabilir. Bunların isimleri, neyi saydıklarına göre değişirse, kodu okuyan kişinin anlamlandırması çok daha kolaylaşır. 3. İsimlendirmede dil bütünlüğü olmalıdır. Yazılımda kullanılan temel dilin İngilizce olduğunu kabul etmek zorundayız. Yazılım projelerinde isimlendirme genellikle İngilizce tabanlı yapılır. Ancak bazı değişkenlerin isimlerinin İngilizce seçilirken bazı başka değişkenlerin isimlerinin Türkçe seçilmesi programın okunabilirliğine zarar verir.
5 Bildirim Örnekleri int x; unsigned long int var; double MFCS; unsigned _result; signed short total; Tür belirten anahtar sözcüklerin yazılmasından sonra aynı türe ilişkin birden fazla nesnenin bildirimi, isimleri arasına virgül atomu koyularak yapılabilir. Bildirim deyimi yine noktalı virgül atomu ile sonlandırılmalıdır. unsigned char ch1, ch2, ch3, ch4; float FL1, Fl2; unsigned total, subtotal; int _vergi_katsayisi, vergi_matrahi; Farklı türlere ilişkin bildirimler virgüllerle birbirinden ayrılamaz. long x, int y; /* Geçersiz! */ signed ve unsigned sözcükleri tür belirten anahtar sözcük(ler) olmadan yalnız başlarına kullanılabilirler. Bu durumda int türden bir değişkenin bildiriminin yapıldığı kabul edilir: signed x, y; İle signed int x, y; tamamen aynı anlamdadır. 5
6 Bildirimlerin Kaynak Kod İçindeki Yerleri C dilinde genel olarak 3 yerde değişken bildirimi yapılabilir : 1. Blokların içinde 2. Tüm blokların dışında. 3. İşlevlerin parametre değişkeni olarak, işlev parametre ayraçlarının içinde. C dilinde eğer bildirim blokların içinde yapılacaksa, bildirim işlemi blokların ilk işlemi olmak zorundadır. Başka bir deyişle bildirimlerden önce, bildirim deyimi olmayan başka bir deyimin bulunması geçersizdir. Bir bildirimin mutlaka işlevin ana bloğunun başında yapılması gibi bir zorunluluk yoktur. Eğer iç içe bloklar varsa içteki herhangi bir bloğun başında da yani o bloğun ilk işlemi olacak biçimde, bildirim yapılabilir. Örnekler : int var1, var2; char ch1, ch2, ch3; var1 = 10; float f; /* Geçersiz */ Yukarıdaki örnekte var1, var2, ch1, ch2, ch3 değişkenlerinin tanımlanma yerleri doğrudur. Ancak f değişkeninin bildirimi geçersizdir. Çünkü bildirim deyiminden önce bildirim deyimi olmayan başka bir deyim yer alıyor. Bu durum geçersizdir. 6
7 Tanımlanan Değişkenlere İlkdeğer Verilmesi Bir değişken tanımlandığında bu değişkene bir ilkdeğer verilebilir (initialize). Bu özel bir sözdizim ile yapılır: int a = 20; İlkdeğer verme deyimi bir atama deyimi değildir, bir bildirim deyimidir. Bu deyim ile, programın çalışma zamanında bir değişkenin önceden belirlenen bir değer ile hayata başlaması sağlanır. Yukarıdaki bildirimi gören derleyici a değişkenini 20 değeri ile başlatacak bir kod üretir. İlkdeğer verme deyiminde atama işlecinin sağ tarafında kullanılan ifadeye "ilkdeğer verici" (initializer) denir. Bir bildirim deyimi ile birden fazla değişkene de ilkdeğer verilebilir: int a = 10, b = 20, c = 30; Yukarıdaki deyimle a değişkenine 10, b değişkenine 20, c değişkenine 30 ilkdeğerleri veriliyor. İlkdeğer verme deyimi bir atama deyimi değildir: void func() int a; a = 20; int b; /* Geçersiz! */ /****/ Yukarıdaki kod parçasında b değişkeninin tanımı geçersizdir. 7
8 DEĞİŞMEZLER Veriler ya nesnelerin içinde ya da doğrudan değişmez (sabit - constant) biçiminde bulunur. Değişmezler nesne olmayan, programcı tarafından doğrudan sayısal büyüklük olarak girilen verilerdir. Değişmezlerin sayısal değerleri derleme zamanında tam olarak bilinir. Örneğin: x = y + z; ifadesi bize y ve z içindeki değerlerin toplanacağını ve sonucun x değişkenine aktarılacağını anlatır. Oysa d = x + 10; ifadesinde x değişkeni içinde saklanan değer ile 10 sayısı toplanmıştır. Burada 10 sayısı herhangi bir değişkenin içindeki değer değildir, doğrudan sayı biçiminde yazılmıştır. Tamsayı Değişmezleri Tamsayı değişmezlerinin (integer constants) değerleri tamsayıdır. Bir tamsayı değişmezi signed int unsigned int signed long unsigned long türlerinden olabilir. Bir tamsayı değişmezinin türü, yazımında kullanılan sayı sistemine ve değişmezin aldığı soneke göre belirlenir. 8
9 Karakter Değişmezleri Karakter değişmezleri tipik olarak char türden nesnelere atanan değişmezlerdir. Karakter değişmezleri C'de farklı biçimlerde bulunabilir. i. Bir karakterin görüntüsü tek tırnak (single quote) içinde yazılırsa derleyici tarafından doğrudan karakter değişmezi olarak ele alınır. Örnek : 'a' 'J' 'Ç' ':' '8' '<' Yukarıdaki atomların her biri birer karakter değişmezidir. C'de tek tırnak içinde yazılan char türden değişmezler, aslında o karakterin (kullanılan sistemin karakter kodundaki (örneğin ASCII)) kod numarasını gösteren bir tamsayıdır. char ch; ch = 'a'; /***/ ASCII karakter kodlamasının kullanıldığını düşünelim. Bu örnekte aslında ch isimli char türden bir değişkene 'a' karakterinin ASCII tablosundaki kod numarası olan 97 değeri aktarılır. 9
10 Ters Bölü Karakter Değişmezleri Karakter değişmezlerinin diğer yazımlarında tek tırnak içinde ters bölü '\' karakteri ve bunu izleyen başka karakter(ler) kullanılır. Tek tırnak içindeki ters bölü karakterinden sonra yer alan bazı karakterler çok kullanılan bazı karakterlerin yerlerini tutar. Bunların listesi aşağıda veriliyor: Önceden Tanımlanmış Ters Bölü Karakter Değişmezleri 10
11 İŞLEVLER (FONKSİYONLAR) İşlev Nedir? C'de alt programlara işlev (function) denir. İngilizcedeki "function" sözcüğü bu bağlamda matematiksel anlamıyla değil diğer programlama dillerinde ya da ortamlarında kullanılan, "alt program", "prosedür", sözcüklerinin karşılığı olarak kullanılır. Bir işlev, bağımsız olarak çalıştırılabilen bir program parçasıdır. Programı İşlevlere Bölerek Yazmanın Faydaları Bir programı alt programlara yani işlevlere bölerek yazmak bazı faydalar sağlar: 1. Programın kaynak kodu küçülür. Böylece oluşturulması hedeflenen çalışabilir dosya da (örneğin.exe uzantılı dosya) küçülür. 2. Kaynak dosyanın okunabilirliği artar. Okunabilirliğin artması, kodu yazanın ve okuyanın işini kolaylaştırır. Böylece proje geliştirme süresinin azalması yönünde kazanım sağlanmış olur. 3. Belirli kod parçalarının programın farklı yerlerinde yinelenmesi, programda yapılacak olası bir değişikliğin maliyetini artırır. Programın farklı yerlerinde, kodun kullanıldığı yere bağlı olarak değişiklikler yapmak gerekir. Kaynak dosyalarda böyle değişiklikler yapmak hem zaman alıcıdır hem de risklidir. Çünkü bir değişikliğin yapılmasının unutulması durumunda ya da değişiklik yapılmaması gereken bir yerde kodun değiştirilmesi durumunda program yanlış çalışabilir. Oysa ortak kod parçaları işlevler şeklinde paketlendiğinde, yalnızca işlevlerde değişiklik yapılmasıyla, istenen değişiklik gerçekleştirilmiş olur. 11
12 4. Programda hata arama daha kolay gerçekleştirilir. Projelerdeki hata arama maliyeti azalır. 5. Yazılan işlevler başka projelerde de kullanılabilir. Alt programlar tekrar kullanılabilir (reusable) bir birim oluştururlar. Böylelikle de projelerdeki kodlama giderlerini azaltırlar. İşlevler C'nin temel yapı taşlarıdır. Çalıştırılabilen bir C programı en az bir C işlevinden oluşur. Bir C programının oluşturulmasında işlev sayısında bir kısıtlama yoktur. İşlevlerin onları çağıran işlevlerden aldıkları girdileri ve yine onları çağıran işlevlere gönderdikleri çıktıları vardır. İşlevlerin girdilerine aktüel parametreler (actual parameters) ya da argümanlar (arguments) denir. İşlevlerin çıktılarına ise geri dönüş değeri (return value) diyoruz. Bir işlev başlıca iki farklı amaçla kullanılabilir: 1. İşlev, çalışması süresince belli işlemleri yaparak belirli amaçları gerçekleştirir. 2. İşlev, çalışması sonunda üreteceği bir değeri kendisini çağıran işleve gönderebilir. 12
13 İşlevlerin Tanımlanması ve Çağrılması Bir işlevin ne iş yapacağının ve bu işi nasıl yapacağının C dilinin sözdizimi kurallarına uygun olarak anlatılmasına, yani o işlevin C kodunun yazılmasına, o işlevin tanımı (definition) denir. İşlev tanımlamaları C dilinin sözdizimi kurallarına uymak zorundadır. Bir işlev çağrısı (call / invocation) ise o işlevin kodunun çalışmaya davet edilmesi anlamına gelir. İşlev çağrı ifadesi karşılığında derleyici, programın akışını ilgili işlevin kodunun bulunduğu bölgeye aktaracak şekilde bir kod üretir. Programın akışı işlevin kodu içinde akıp bu kodu bitirdiğinde, yani işlevin çalışması bittiğinde, programın akışı yine işlevin çağrıldığı noktaya geri döner. Bir işleve yapılacak çağrı da yine bazı sözdizimi kurallarına uymalıdır. İşlevlerin Tanımlanması İşlevlerin kodunun yazılması için tanımlama (definition) terimi kullanılır. C'de işlev tanımlama işleminin genel biçimi şöyledir: [Geri dönüş değerinin türü] <işlev ismi> ([parametreler]) /***/ 13
14 [Geri dönüş değerinin türü] <işlev ismi> ([parametreler]) /***/ Yukarıdaki gösterimde bulunması zorunlu sözdizim elemanları açısal ayraç içinde, bulunması zorunlu olmayan sözdizim elemanları ise köşeli ayraç içinde belirtilmiştir. Tanımlanan işlevler en az bir blok içermelidir. Bu bloğa işlevin ana bloğu denir. Ana blok içinde istenildiği kadar iç içe blok yaratılabilir. Aşağıdaki işlev tanımından func isimli işlevinin parametre almadığı ve geri dönüş değerinin de double türden olduğu anlaşılır. double func() Yukarıdaki tanımı inceleyin. Önce işlevin geri dönüş değerinin türünü gösteren anahtar sözcük yazılır. Bildirim ve tanımlama konusunda anlatılan C'nin doğal türlerini belirten anahtar sözcük(ler) ile işlevin hangi türden bir geri dönüş değeri ürettiği belirtilir. Yukarıda tanımlanan func isimli işlevin geri dönüş değeri double türdendir. 14
15 void Anahtar Sözcüğü Tanımlanan bir işlevin bir geri dönüş değeri üretmesi zorunlu değildir. İşlev tanımında bu durum geri dönüş değerinin türünün yazıldığı yere void anahtar sözcüğünün yazılmasıyla anlatılır: void func() Yukarıda tanımlanan func işlevi geri dönüş değeri üretmiyor. Geri dönüş değeri üretmeyen işlevlere void işlevler denir. İşlev tanımında geri dönüş değerinin türü bilgisi yazılmayabilir. Bu durum, işlevin geri dönüş değeri üretmediği anlamına gelmez. Eğer geri dönüş değeri tür bilgisi yazılmaz ise, C derleyicileri tanımlanan işlevin int türden bir geri dönüş değerine sahip olduğunu varsayar. Örneğin: func() Yukarıda tanımlanan func işlevinin geri dönüş değerinin türü int türüdür. Yani işlevin yukarıdaki tanımıyla int func() tanımı arasında derleyici açısından bir fark yoktur. 15
16 İşlevlerin Tanımlanma Yerleri C dilinde bir işlev tanımı içinde bir başka işlev tanımlanamaz. Yani içsel işlev tanımlamalarına izin verilmez. Örneğin aşağıdaki gibi bir tanımlama geçersizdir, çünkü func işlevi tanımlanmakta olan foo işlevinin içinde tanımlanıyor: double foo() /***/ int func() /* Geçersiz */ /***/ /***/ Tanımlamanın aşağıdaki biçimde yapılması gerekirdi: double foo() /***/ int func() /***/ 16
17 İşlevlerin Geri Dönüş Değerlerinin Oluşturulması C dilinde işlevlerin geri dönüş değerleri return deyimi (return statement) ile oluşturulur. return deyiminin iki ayrı biçimi vardır: return; Ya da return anahtar sözcüğünü bir ifade izler: return x * y; return anahtar sözcüğünün yanındaki ifadenin değeri, geri dönüş değeri olarak, işlevi çağıran kod parçasına iletilir. return ifadesinin değişken içermesi bir zorunluluk değildir. Bir işlev bir değişmez değerle de geri dönebilir. return 1; return deyiminin bir başka işlevi de içinde bulunduğu işlevi sonlandırmasıdır. Bir işlevin kodunun yürütülmesi sırasında return deyimi görüldüğünde işlevin çalışması sona erer. int func() /**/ return x * y; 17
18 Bazı programcılar return ifadesini bir ayraç içinde yazarlar. Bu ayraç return deyimine ek bir anlam katmaz. Yani return x * y; gibi bir deyim return (x * y); biçiminde de yazılabilir. Okunabilirlik açısından özellikle uzun return ifadelerinde ayraç kullanımı salık verilir. return (a * b - c * d); Geri dönüş değeri üretmeyen işlevlerde, yani void işlevlerde, return anahtar sözcüğü yanında bir ifade olmaksızın tek başına da kullanılabilir: return; Bu durumda return deyimi içinde yer aldığı işlevi, geri dönüş değeri oluşturmadan sonlandırır. C dilinde işlevler yalnızca tek bir geri dönüş değeri üretebilir. Bu da işlevlerin kendilerini çağıran işlevlere ancak bir tane değeri geri gönderebilmeleri anlamına gelir. 18
19 main İşlevi main de diğer işlevler gibi bir işlevdir, aynı tanımlama kurallarına uyar. C programlarının çalışması, ismi main olan işlevden başlar. C programları özel bir işlem yapılmamışsa, main işlevinin çalışmasının bitişiyle sonlanır. main işlevine sahip olmayan bir kaynak dosyanın derlenmesinde bir sorun çıkmaz. Ancak bağlama (linking) aşamasında bağlayıcı main işlevinin bulunmadığını görünce bağlama işlemini gerçekleştiremez. Bağlayıcı programlar bu durumda bir hata iletisi verir. int main() return 0; Biçiminde tanımlanmış bir main işlevi de int türden bir değer döndürmelidir. main işlevinin ürettiği geri dönüş değeri, programın çalışması bittikten sonra işletim sistemine iletilir. Geleneksel olarak, main işlevinin 0 değerine geri dönmesi programın sorunsuz bir şekilde sonlandırıldığı anlamına gelir. main işlevinin 0 dışında bir değere geri dönmesi ise, kodu okuyan tarafından programın başarısızlıkla sona erdirildiği biçiminde yorumlanır. Yani bazı nedenlerle yapılmak istenenler yapılamamış, bu nedenle main işlevi sonlandırılmıştır. 19
20 İşlevlerin Çağrılması C dilinde bir işlev çağrısı (function call - function invocation), ismi işlev çağrı işleci olan bir işleç ile yapılır. İşlev çağrı işleci olarak () atomları kullanılır. Çağrılacak işlevin ismi bu işleçten önce yazılır. func(); Yukarıda deyim ile func isimli işlev çağrılır. Bir işlev çağrıldığı zaman programın akışı, işlevin kodunun yürütülmesi için bellekte işlevin kodunun bulunduğu bölgeye atlar. İşlevin kodunun çalıştırılması işlemi bittikten sonra da akış yine çağıran işlevin kalınan yerinden sürer. İşlevin geri dönüş değeri bir değişkene atanabileceği gibi doğrudan aritmetik işlemlerde de kullanılabilir. Örneğin: sonuc = hesapla(); Yukarıdaki örnekte önce hesapla() işlevi çağrılır, daha sonra işlevin kodunun çalıştırılmasıyla elde edilen geri dönüş değeri sonuc değişkenine atanır. İşlev çağrı ifadeleri nesne göstermez yani sol taraf değeri (L value) değildir. Yani C dilinde aşağıdaki gibi bir atama deyimi geçersizdir: func() = 5; /* Geçersiz */ İşlevlerin geri dönüş değerleri sağ taraf değeridir. sonuc = func1() + func2() + x + 10; İşlevler, ancak tanımlanmış işlevlerin içinden çağrılabilirler. Blokların dışından işlev çağrılamaz. 20
21 İşlev Parametre Değişkenlerinin Tanımlanması İşlevler çağrıldıkları yerlerden alacakları bilgileri, işlev çağrı ifadeleri ile alırlar. Bir işlevin formal parametreleri (formal parameters) ya da parametre değişkenleri, işlevlerin kendilerini çağıran işlevlerden aldıkları girdileri tutan değişkenleridir. Bir işlevin parametre sayısı ve bu parametrelerin türleri gibi bilgiler, işlevlerin tanımlanması sırasında derleyiciye bildirilir. İşlev çağrısı ile gönderilen argüman ifadelerin değerleri, işlevin ilgili parametre değişkenlerine kopyalanır. Örneğin bir küpün hacmini hesaplayan işlev, çağrıldığı yerden bir küpün kenar uzunluğunu alacağına göre, bu değerin kopyalanması için, bir parametre değişkenine sahip olması gerekir. Benzer şekilde iki sayıdan daha büyük olanını bulan bir işlevin iki tane parametre değişkenine sahip olması gerekir. İşlev parametre değişkenlerinin bildirimi işlev ayraçlarının içinde yalnızca bir kez yapılır. Bu biçimde, işlevin ayraçlarının içine parametre değişkenin türü ve yanına da ismi yazılır. Eğer birden fazla işlev parametre değişkeni varsa bunlar virgüllerle ayrılır, ancak her bir değişkenin tür bilgisi yeniden yazılır. 21
22 Örnek : int func(int x, int y) /***/ double foo(double a, int b) /***/ İşlev parametre değişkenleri aynı türden olsa bile her defasında tür bilgisinin yeniden yazılması zorunludur. Örneğin: int foo (double x, y) /* Geçersiz */ /***/ bildirimi hatalıdır. Doğru tanımlama aşağıdaki biçimde olmalıdır: int foo (double x, double y) /***/ 22
23 Argümanların Parametre Değişkenlerine Kopyalanması Bir işlevin parametre değişkenleri, o işlevin çağrılma ifadesiyle kendisine gönderilen argümanları tutacak olan yerel değişkenlerdir. Örnek: void func(int a) /***/ int main() int x = 10; /***/ func (x); return 0; Yukarıdaki örnekte main işlevi içinde, func isimli işlev çağrılıyor ve çağrılan işleve x isimli değişkenin değeri argüman olarak geçiliyor. İşlev çağrısı, programın çalışma zamanında, programın akışının func işlevinin kodunun bulunduğu yere sıçramasına neden olur. func işlevindeki a isimli parametre değişkeni için bellekte bir yer ayrılır ve a parametre değişkenine argüman olan ifadenin değeri, yani x değişkeninin değeri atanır. Yani int a = x; işleminin derleyicinin ürettiği kod sonucu otomatik olarak yapıldığı söylenebilir. 23
24 int add(int a, int b) return a + b; int main() int x = 100, y = 200, z; z = add(x, y); /***/ return 0; Yukarıda tanımlanan add işlevi çağrıldığında programın akışı bu işleve geçmeden önce, x ve y değişkenlerinin içinde bulunan değerler, add işlevinin parametre değişkenleri olan a ve b'ye kopyalanır. 24
25 Standart C İşlevleri Standard C işlevleri, C dilinin standartlaştırılmasından sonra, her derleyicide bulunması zorunlu hale getirilmiş işlevlerdir. Yani derleyicileri yazanlar standart C işlevlerini kendi derleyicilerinde mutlaka tanımlamak zorundadırlar. Bu durum C dilinin taşınabilirliğini (portability) artıran ana etmenlerden biridir. Örneğin printf işlevi standart bir C işlevidir. Yani printf işlevi her derleyici paketinde aynı isimle bulunmak zorundadır. Standart C işlevlerinin derlenmiş kodları özel kütüphanelerin içindedir. Başlık dosyaları içinde, yani uzantısı.h biçiminde olan dosyaların içinde standart C işlevlerinin bildirimleri bulunur. İşlev bildirimi konusu ileride ayrıntılı bir biçimde incelenecek. Neden Standart İşlevler Bazı işlevlerin bulunmasının dilin standartları tarafından güvence altına alınması ile aşağıdaki faydalar sağlanmış olur. i) Bazı işlemler için ortak bir arayüz sağlanmış olur. Mutlak değer hesaplayan bir işlevi yazmak çok kolaydır. Ancak standart bir C işlevi olan abs işlevinin kullanılmasıyla ortak bir arayüz sağlanır. Her kaynak kod kendi mutlak değer hesaplayan işlevini tanımlamış olsaydı, tanımlanan işlevlerin isimleri, parametrik yapıları farklı olabilirdi. Bu durum da kod okuma ve yazma süresini uzatırdı. 25
26 Neden Standart İşlevler (Devam...) ii) Bazı işleri gerçekleştirecek işlevlerin kodları sistemden sisteme farklılık gösterebilir. Bu da kaynak dosyanın taşınabilirliğini azaltır. Bu işlemleri yapan standart işlevlerin tanımlanmış olması kaynak kodun başka sistemlere taşınabilirliği artırır. iii) Bazı işlevlerin yazılması belirli bir alanda bilgi sahibi olmayı gerektirebilir. Örneğin bir gerçek sayının bir başka gerçek sayı üssünü hesaplayan bir işlevi verimli bir şekilde yazabilmek için yeterli matematik bilgisine sahip olmak gerekir. iv) Sık yapılan işlemlerin standart olarak tanımlanmış olması, programcının yazacağı kod miktarını azaltır. Böylece proje geliştirme süresi de kısalır. v) Derleyicilerin sağladığı standart işlevler çok sayıda programcı tarafından kullanılmış olduğu için çok iyi derecede test edilmişlerdir. Bu işlevlerin tanımlarında bir hata olma olasılığı, programcının kendi yazacağı işlevlerle kıyaslandığında çok düşüktür. İyi bir C programcısının C dilinin standart işlevlerini çok iyi tanıması ve bu işlevleri yetkin bir şekilde kullanabilmesi gerekir. 26
27 printf İşlevi printf standart bir C işlevidir. printf işlevi ile ekrana bir yazı yazdırılabileceği gibi, bir ifadenin değeri de yazdırılabilir. Değişkenlerin içindeki değerler aslında bellekte ikilik sistemde tutulur. Bir değişkenin değerinin ekrana, hangi sayı sisteminde ve nasıl yazdırılacağı programcının isteğine bağlıdır. Değişkenlerin değerlerinin ekrana yazdırılmasında standart printf işlevi kullanılır. printf aslında çok ayrıntılı özelliklere sahip bir işlevdir. printf işlevlerle ilgili yukarıda açıklanan genel kurallara uymaz. printf işlevi değişken sayıda parametreye sahip bir işlevdir. Bir işlevin kaç tane parametre değişkeni varsa o işlev çağrıldığında, işleve o kadar argüman geçilmelidir ama printf işlevine istenen sayıda argüman geçilebilir. Bu işleve kaç tane argüman geçilirse işlevin o kadar sayıda parametre değişkenine sahip olacağı düşünülebilir. printf işlevine ilk gönderilen argüman genellikle çift tırnak içinde yer alan bir yazıdır. Çift tırnak içinde yer alan böyle yazılara dizge (string) denir. printf işlevine argüman olarak geçilen dizge içinde yer alan tüm karakterler ekrana yazılır. Ancak printf işlevi dizge içindeki % karakterini ve bunu izleyen belirli sayıda karakteri ekrana yazmaz. İşlev, dizge içindeki % karakterlerini yanındaki belirli sayıda karakter ile birlikte formatlama karakterleri (conversion specifiers) olarak yorumlar. 27
28 printf İşlevi (devam...) Formatlama karakterleri, çift tırnaktan sonra yazılan argümanlarla bire bir eşleştirilir. Formatlama karakterleri önceden belirlenmiştir, kendileriyle eşlenen bir ifadenin değerinin ekrana ne şekilde yazdırılacağı bilgisini işleve aktarırlar. Bu format bilgisi Argüman olan ifadenin hangi türden olarak yorumlanacağı İfadenin değerinin ekrana hangi sayı sistemi kullanılarak yazılacağı İfadenin kaç karakterlik bir alana yazdırılacağı Pozitif tamsayıların yazımında '+' karakterinin yazdırılıp yazdırılmayacağı Gerçek sayıların yazımında üstel notasyonun kullanılıp kullanılmayacağı Gerçek sayıların yazımında noktadan sonra kaç basamağın yazılacağı gibi açıklamalardır. Aşağıdaki programı inceleyin: #include <stdio.h> int main() int x = 25; double pi = ; printf("x = %d\npi = %lf\n", x, pi); return 0; 28
29 printf İşlevi (devam...) main işlevi içinde yapılan printf("x = %d\npi = %lf\n", x, pi); çağrısında işleve gönderilen birinci argüman olan çift tırnak içindeki yazıda iki ayrı format dizgesi kullanılıyor: %d ve %lf. %d format karakterleri ikinci argüman olan x ile, %lf format karakterleri ise 3. argüman olan pi ile eşleniyor. Format karakterleri ile eşlenen ifadelerin değerleri, istenen formatlama özellikleri ile ekrana yazılır. Örneğin yukarıdaki çağrıyla ekrana x = 25 pi = yazısı yazdırılır. Aşağıda formatlama karakterlerinden bazılarının anlamı veriliyor. 29
30 scanf İşlevi scanf işlevi, klavyeden her türlü bilginin girişine olanak tanıyan standart bir C işlevidir. scanf işlevi de printf işlevi gibi aslında çok ayrıntılı, geniş kullanım özellikleri olan bir işlevdir. Ancak bu noktada scanf işlevi yüzeysel olarak ele alınacak. scanf işlevinin de birinci parametresi bir dizgedir. Ancak bu dizge yalnızca klavyeden alınacak bilgilere ilişkin format karakterlerini içerir. printf işlevinde olduğu gibi scanf işlevinde de bu format karakterleri önceden belirlenmiştir. % karakterinin yanında yer alırlar. scanf işlevinin kullandığı format karakterlerinin printf işlevinde kullanılanlar ile hemen hemen aynı olduğu söylenebilir. Yalnızca gerçek sayılara ilişkin format karakterlerinde önemli bir farklılık vardır. printf işlevi %f formatı ile hem float hem de double türden verileri ekrana yazabilirken scanf işlevi %f format karakterini yalnızca float türden veriler için kullanır. double türü için scanf işlevinin kullandığı format karakterleri %lf şeklindedir. scanf işlevinin format kısmında format karakterlerinden başka bir şey olmamalıdır. printf işlevi çift tırnak içindeki format karakterleri dışındaki karakterleri ekrana yazıyordu, ancak scanf işlevi format karakterleri dışında dizge içine yazılan karakterleri ekrana basmaz, bu karakterler tamamen başka anlama gelir. Bu nedenle işlevin nasıl çalıştığını öğrenmeden bu bölgeye format karakterlerinden başka bir şey koymayın. Buraya konulacak bir boşluk bile farklı anlama gelir. 30
31 scanf İşlevi (devam...) #include <stdio.h> int main() int x, y; printf("iki sayı girin : "); scanf("%d%d", &x, &y); printf("%d + %d = %d\n", x, y, x + y); return 0; Yukarıdaki örnekte, programı kullanan kişiye değer girmesinin beklendiğini söyleyen bir yazı, printf işleviyle ekrana yazdırılıyor. Bu iş scanf işlevi ile yapılmazdı. scanf işlevi ile ekrana bir yazı yazdırmak mümkün değildir. scanf yalnızca giriş amacıyla tanımlanmış bir işlevdir, çıkış işlemi yapmaz. scanf("%d%d", &x, &y); çağrısı ile programın çalışma zamanında klavyeden girilecek değerler x ve y değişkenlerine aktarılır. x ve y değişkenleri için onluk sayı sisteminde klavyeden giriş yapılır. Giriş arasına istenildiği kadar boşluk karakteri konulabilir. Yani ilk sayıyı girdikten sonra SPACE, TAB ya da ENTER tuşuna bastıktan sonra ikinci değer girilebilir. Örneğin: 5 60 biçiminde bir giriş, geçerli olacağı gibi; 5 60 biçiminde bir giriş de geçerlidir. scanf işlevine gönderilecek diğer argümanlar & adres işleci ile kullanılır. & bir gösterici işlecidir. 31
32 TO BE CONTINUED... 32
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ı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ı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ıBil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini
Detaylı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ı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ıGenel Programlama II
Genel Programlama II 15.02.2011 1 Genel Programlama Tekrar Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Önceki bölümde bir problemin çözümü ile
Detaylı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ı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ıBASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN
BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"
DetaylıC PROGRAMLAMA DİLİNE GİRİŞ
C PROGRAMLAMA DİLİNE GİRİŞ C Dilinin Tarihçesi 1972 de Dennis Ritchie tarafından AT&T Bell Laboratuarlarında B dilinden geliştirildi. C dili konusundaki ilk kitap 1978 de Dennis Ritchie ve Brain Kernighan
Detaylı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ı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ıBLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri
BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde
Detaylı/ 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ı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ı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ıDöngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar
Bölüm 5 Döngü (Loop) Deyimleri / Veri Belirleyicileri / Matematiksel Fonksiyonlar İçindekiler 5.1 Formatlı Yazdırma............................ 34 5.2 Döngü Deyimleri............................. 34 5.2.1
Detaylı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ıDers Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1
Ders Tanıtım Sunumu Internet Programming II Elbistan Meslek Yüksek Okulu 2012 2013 Bahar Yarıyılı Öğr. Gör. Murat KEÇECİOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır.
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
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ıB02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri
B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması
DetaylıInternet Programming II
Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr. Gör. Murat KEÇECĠOĞLU 1 PHP Program Yapısı Php çoğunlukla HTML etiketleri arasına gömülerek kullanılır. Form işlemleri
Detaylı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ı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ı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ıTemel Giriş/Çıkış Fonksiyonları
Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden
DetaylıBölüm 2 - C ile Programlamaya Giriş
1 Bölüm 2 - C ile Programlamaya Giriş Başlıklar 2.1 Giriş 2.2 Basit C Programları: Bir Metni Yazdırmak 2.3 Basit C Programları: İki Tam Sayıyı Toplamak 2.4 Hafıza Konuları 2.5 C de Aritmetik 2.6 Karar
DetaylıİŞLEVLER ve İŞLEÇLER. İstanbul Üniversitesi Elektrik Elektronik Mühendisliği. Kaynak: C ve Sistem Programcıları Derneği Kurs notu
İŞLEVLER ve İŞLEÇLER Kaynak: C ve Sistem Programcıları Derneği Kurs notu Öğr.Gör.Dr. Mahmut YALÇIN Klavyeden Karakter Alan C İşlevleri Sistemlerin hemen hemen hepsinde klavyeden karakter alan üç ayrı C
Detaylı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ı/ 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ı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ı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ıGENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf
Giriş GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI printf Fonksiyonu scanf Fonksiyonu Verilerin kaybolmaması için hafızada değişkenler içine yerleştirilmeleri gerekir. Bu veriler iki şekilde yerleştirilebilir. Değişkene
DetaylıProgramlamaya Giriş. Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi.
Programlamaya Giriş Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Programın Yazımında İzleyeceğimiz Adımlar Problemi anla. İhtiyaçları belirle. Problemin
DetaylıBÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI
BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI C programlama dilinde, diğer programlama dillerinde olduğu gibi, işlemler, ilk satırdan başlamak üzere sırayla çalışır. Program kontrol yapıları ise, programın
Detaylı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ı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ıBMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı
Detaylı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ıÜ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 ozbek@science.ankara.edu.tr
Detaylı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
Detaylı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ı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"
DetaylıBÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.
BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir. TC programı çalıştırıldığında C++ çalışma ortamı açılır. C++ çalışma ortamında istenirse yeni bir
DetaylıAlgoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi
Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar
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 C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde
Detaylı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ıHSancak Nesne Tabanlı Programlama I Ders Notları
METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı
Detaylı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ıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri
DetaylıGiriş. ENF102 Jeoloji
DİZİLER Arrays Giriş Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.
Detaylı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ı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
Detaylı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ıMAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya
MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ Prof. Dr. Necmettin Kaya C PROGRAMLAMA DİLİ ÖZELLİKLERİ C programlama dili, 1972 yılında Bell Labortuvarı nda Dennis Ritchie tarafından geliştirilmiştir.
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Kodlarına Yorum Satırı Eklemek Java Paket Kavramı Java Kütüphane Kavramı Konsoldan Veri Çıkışı ve JOPtionPane Kütüphanesi JOptionPane Kütüphanesi Kullanarak
Detaylı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ıDizgiler. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir. Bu karakterlerin her biri aslında bir tamsayı ile ifade edilir.
DİZGİLER (STRINGS) Dizgiler char tipli karakterlerin gruplanmş haline dizgi(string) denilir. Bazen katar ismide kullanılabilir. C dilinde karakter m şeklinde tek tırnak içerisinde yazılan ifadelerdir.
DetaylıProgramlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1
Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama
Detaylı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
Detaylı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ıB02.8 Bölüm Değerlendirmeleri ve Özet
B02.8 Bölüm Değerlendirmeleri ve Özet 57 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Şimdiye kadar C programlama dilinin, verileri ekrana yazdırma, kullanıcıdan verileri alma, işlemler
DetaylıÖ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ıNesne Tabanlı Programlama
Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi
Detaylıİstanbul Üniversitesi Elektrik Elektronik Mühendisliği GENEL KAVRAMLAR. Kaynak: C ve Sistem Programcıları Derneği Kurs Notu. Öğr.Gör.Dr.
GENEL KAVRAMLAR Kaynak: C ve Sistem Programcıları Derneği Kurs Notu Öğr.Gör.Dr. Mahmut YALÇIN Gerçek Sayıların Bellekte Tutulması Bir gerçek sayı aşağıdaki gibi ifade edilebilir: Yukarıdaki genel denklemde
Detaylı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
Detaylı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ıint printf (const char *format [, argument,...]);
1 printf (): Fonksiyonu Sayısal ve alfanümerik değerleri ekrana (çıkış elemanı olarak tanımlı ise) göndermek için kullanılan formatlı çıkış fonksiyonudur. Bu fonksiyon stdio.h başlık dosyası altında tanımlıdır.
DetaylıC Programlama printf() Fonksiyonu
C Programlama printf() Fonksiyonu Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. Girdi ve çıktı deyimleri gerçekte C dilinin bir parçası
DetaylıDeğişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:
C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.
DetaylıC Konsol Giriş Çıkış Fonksiyonları
C Konsol Giriş Çıkış Fonksiyonları Öğr. Gör. M. Ozan AKI Rev 1.0 Stringlerde Özel Karakterler \n : Bir sonraki satırın ilk sütununa git \b : Backspace (önceki karakteri sil) \a : Bip sesi \\ : Ters bölü
DetaylıDİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek
Giriş DİZİLER Arrays Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.
Detaylıfor döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }
for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) ifadeler; Başlangıç değeri; koşul içinde tanımladığımız değişkene ilk değerin atanmasını sağlar. Koşul: Döngünün
Detaylı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ı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ıAdım Adım C-II. Eksik kalmış konular
Adım Adım C-II Eksik kalmış konular Bu dersin amacı Bu derste; değişkenler, sabitler ve operatörler ile fonksiyonlar konusunun detayları anlatılacaktır. Ders bitiminde; Daha etkin programlar yazma becerisinin
DetaylıPROGRAMLAMA TEMELLER. C Program Yap s
PROGRAMLAMA TEMELLER 1 C Program Yap s 2 Aç klama sat r Program kodlar n makine diline çeviren C dili derleyicisi /* ve */ karakterleri aras nda kalan bölümleri ihmal eder. /* Aç klama Sat r */ Sadece
DetaylıTemel Giriş/Çıkış Fonksiyonları (Devam) Örnek :
Temel Giriş/Çıkış Fonksiyonları (Devam) Örnek : scanf() Fonksiyonu Birçok programda ekrana verilerin yazdırılması yanısıra klavyeden veri okunması gerekebilir. scanf() fonksiyonu klavyeden veri okumak
DetaylıBİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1
BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde
Detaylı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,
Detaylı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ıAlgoritma ve Programlama: Karar Yapıları ve Döngüler
Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan
DetaylıELN1002 BİLGİSAYAR PROGRAMLAMA 2
ELN1002 BİLGİSAYAR PROGRAMLAMA 2 KARAKTERLER KARAKTER DİZİLERİ (STRING) Sunu Planı Karakterler ve Stringler Karakter İşleme Kütüphanesi String Dönüşüm Fonksiyonları Standart Giriş/Çıkış Kütüphane Fonksiyonları
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
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ıANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;
Detaylı1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını
1.SORU. Genişlemiş ascii karakterlerinin kodlarını karşılarına yazan C programını a. while döngüsü, b. do-while c. for döngüleri ile ayrı ayrı yazınız. Çözüm (while): int harf=0; while(harf
Detaylı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ıEln 1001 Bilgisayar Programlama I
Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları
Detaylı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ı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
DetaylıJAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ
JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra
DetaylıHafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri
BLM111 Programlama Dilleri I Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Caner ÖZCAN C Dilinde Temel Veri Tipleri C dilinde kullanılacak değişkenler ve veri tipleri
DetaylıDers 4: Temel Giriş/Çıkış Fonksiyonları
Ders 4: Temel Giriş/Çıkış Fonksiyonları Giriş 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
Detaylı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ıÖrnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar Değer Döndüren Fonksiyonlar Çok Parametreli Fonksiyonlar Değişken Kapsamları Çok Fonksiyonlu Programlar Fonksiyon Tanımı Karmaşıkveuzunprogramları,
DetaylıBİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,
BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.
Detaylı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ı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ü yakupemul@cumhuriyet.edu.tr Ofis Saatleri :
Detaylı