İNTERNET PROGRAMCILIĞI - I

Özcan

0

.................... .....................3 2... struct............... .. ... .. ....4 2.... .......................6...... ..... ............ ................2 1............ ...İNTERNET PROGRAMCILIĞI ....... ... int tamsayı tipi......2 1............................. Basit atama...... ..... ............................1 1....3 Giriş.. ....... .............................. ................... Karakter dizileri....................... Alfanumerik karakterler..............1 1................ .......................4.................................... .................................1 2..... ................. ...................... ...............................................6............. ................................. ........... Yapısal veri tipleri........................................ ..... char tamsayı tipi.... .................4.................. ...................5...5.2 2....... short ve long tamlayıcıları... ... . ........I Özcan İÇİNDEKİLER: Bölüm 1 C dilinde kullanılan basit veri tipleri 1.... ... .... . Toplu değer atamaları.. .......... .... ....... ...............................1 1..........2 2... ..................... ................. İsimlendirme kuralları....5 1....................................................3 Pointer veri tipi. ....................... . ......6............ ............. ..........................1 1..............................................6 1................................. ...1 1. Program sabitleri... .... ............ Diziler..... .............. ................ ...... .......... .................... ..... . ............. .......... .2 2.. .................... ................... ... ......... ................. ................ ............... Karakter tanımlaması................ enum birebir sayma tipi...................... Tamsayılar...3................. .......................5.. ...........1 2...... 1 13 14 16 17 18 19 19 20 21 21 22 23 ... .............4 1............ Karakter ifadeler............................................. .........5...................... ............... ........... ........... .................................. ..................2... union..........5 2....... float gerçel sayı tipi......2 1.................... ............................................. ........... ..........................................................1 2.... ............ .................... ............ ...... .......... ......... .............................. ........ ..4..................... . signed ve unsigned tamlayıcıları. ....... .............. ...................... ..3.. ..... İlk değer atamaları............. ..4...3 1....................... Tip sıfatları.......5.............2 1........................... . .. double gerçel sayı tipi........ ....... .1 2... Gerçel sayılar...................................... C’nin yazım takımı.... ... ........ .................... ................2 2. 4 4 4 5 6 6 7 8 8 8 9 9 10 10 Bölüm 2 Karmaşık veri tipleri 2...

................... Üçlü koşul seçeneği........... ..................... .............................................. ...... Operatörler....................... ........................................ .....................1............................. ............. .. .................................... if-else if.........3 3....... Fonksiyon prototipleri..4 5....................4......... ...... switch ifadeleri..............2 3.... .... ... .................... .................................. ... ....3 4......................4......................................... .4. ......8 Program yapısı. ...........2 3.......... Atama operatörü.... . Çıkış format karakterleri................................. 2 59 59 61 61 62 63 .... ........................ ............ . scanf giriş fonksiyonu.....1 5..... ......... ....................................... ...... .... Üçlü koşul operatörü. ....... ........... ................. ....... . ........ . .........................1........... ... .................. ...I Özcan Bölüm 3 Turbo C ile programlamaya giriş 3..... ... ........ ........................5 5............................................ .................. ...............2 3.......... ..... ........................1 3............ pointerlar.....................1 3......................... .. .......... Ekrana düzenli çıkışlar.........4..4 3....... Text ekranı fonksiyonları...... ....... ....... Standart string fonksiyonları.............. .......... ....... ................1 3............................. ......... . ......... Çıkış format stringi...................... . ................... ... ........3 3...1 4..... ........... ...........5 3. Giriş format karakterleri.......... Mantıksal operatörler............... 25 26 28 29 30 31 33 33 34 35 35 36 36 39 41 42 42 44 45 Bölüm 4 Text ekranı kullanımı 4. ........... .. . ........İNTERNET PROGRAMCILIĞI .. ................................. .. .... ...... Text ekranı kullanımına ait fonksiyonlar......................... Karşılaştırma operatörleri....................... .....................2 4...........................................1 3.... Bit seviye operatörleri...................7 3.........................3.......... .............3 3.......2 4........... ..3 3... .2......................................................... .1 3............. ......4............................6 3.....1..... . .................... .....................2..... Escape düzeni karakterleri.. .............. ....... ........ .......... . ................ Ön işlemci komutları......... ....... .. ................ .. .....4 3.... ........................... .......... .......... .....4.................. ........... Bileşik atama operatörleri. ....................... . 47 48 49 51 57 Bölüm 5 Program kontrol ifadeleri 5... printf çıkış fonksiyou.... if-else ifadeleri.......... ...................... ...... ..........................................2 5............. ..4 Standart text fonksiyonları....... .................. .............. Aritmetik işlem operatörleri....... ...........2 3............ .........................4.............. ........ ...... ........ ....... ....2. ................... ................... ......... ......... .... Değişken tanımlamaları.. ........... .......... ... goto ifadesi.............4...3 5....................6 if ifadeleri............................

..........4 6....................... ... ....2 6.... ....4 Giriş ................... ............................ .................. .........................................................11......... ................................. 3 85 87 87 89 90 90 91 ............................. .... for döngüsünde boş ifadelerin kullanılması..........9........ .... Bir sayının karesinin alınması......... . while ile do-while arasındaki fark......................................... ....... .............. .. Herhangi bir tabana göre logaritma alınması....... .............................. ........... ........... ........... ..............5 Port .................... Hafıza .................... ............................... ........... ......... ... .......... ............ Fonksiyonlar.... ... ................ ........................ break ve continue ifadeleri.......... ...... .2 6......1 7........... ............................ .......................1 7... ........1 6.... Math...........................................2...9.................. Turbo C’de bulunmayan matematiksel fonksiyonlar................ .......... . ....... ...... .. while döngüsü...2 6...................... ... ..................... Printer.............. break ifadesi..... ..........6 6............. ....... .......................8 6................. ..................... ........... ........... Kotanjant fonksiyonları.... ....1 6............. Trigonometrik fonksiyonlar...7.. Ters hiperbolik fonksiyonlar............................. ... ...... ..... 66 67 68 70 70 74 75 75 76 77 78 79 79 80 80 81 82 82 83 84 84 Bölüm 7 Bilgisayarın donanım birimlerine erişme 7..İNTERNET PROGRAMCILIĞI . for döngüsü. Ters trigonometrik fonksiyonlar..h’da verilmiş matematiksel fonksiyonlar.............. ............ . ......... .......... ...... ......1 6.............. .............3 6...11................3 7....................10 6............................................................................................ ... .2 6.3 6... Rastgele sayı üretim fonksiyonları. ........................ ............ . .......................11 6.... ..... ........ .. ............. ...... ............ ................................7.. ....5 6.... Örnek programlar....... Zaman .. ............... ....11.............................. ...11................. Altprogramlar ...................... Diğer fonksiyonlar.7 6. ................................... ..............................1 6..................8....... .................. ...4 7..3 6............. ........... ....... ............................ ............... ................. ........ ............ do-while döngüsü......................1 6..... Biosdisk............................9........2 7........ ......... ....... .. .......... continue ifadesi... ...................................9 6. ...I Özcan Bölüm 6 Döngüler 6............... ............... ......... ................ ................ ........ .. ... ..... ........... ....................................... .......... . .. .... ..... Disk ................... ....... ...........

: C dili 1970’li yıllarda AT&T Bell labaratuarında.BÖLÜM 1 İNTERNET PROGRAMCILIĞI . C’nin kısa öyküsü işe şöyledir. C programlama dilli bu iki dil gurubu içerisinde 1975 yılından itibaren yer almaya başlamıştır. özel bir takım işaretlere ihtiyaç vardır. İsteklerimizi bu işaretleri kullanarak klavye.I Özcan C DİLİNDE KULLANILAN BASİT VERİ TİPLERİ 1. C yüksek seviyeli dillerin hızlılığını bünyesinde birleştiren bir dil olarak önemli bir konum elde etmiştir. sahip olduğu geniş fonksiyon kütüphaneleri ve özellikle bu kütüphanelere grafik komutları eklenmesi ile günümüzde programcıların seçimlerinde önemli rol oynamaktadır. Dennis M. C derleyicileri. 1. 1. Ritche ve Brain W. Daha sonraları labatuvardan dışarı çıkarak akademik düzeydeki çalışmalarda ve büyük askeri projelerde kullanılmaya başlandı. kolay yazılabilir ve her bilgisayarda uygulanabilir olmakla beraber düşük seviyeli dillerde hızlılık avantajı her zaman korunmuştur. Hızın önemli olduğu yerlerde düşük seviyeli diller hep tercih edilmiştir. şerit. Dilin C olarak adlandırılmasının sebebi kendinden önceki B dili üzerine kurulu bir yapı olmasıdır.1 ALFANÜMERİK KARAKTERLER: Küçük harfler: 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 Büyük harfler: 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 Rakamlar: 0 1 2 3 4 5 6 7 8 9 4 . Unix işletim sisteminin yazımı amacı ile yaratılan C dili. Yüksek seviyeli dillerde çok hızlı programlar yazmak mümkün olmamıştır. Bu ise amatör programcılar için ilk önceleri problem çıkarmasına karşın sonraları önemli avantajlar sağlamaktadır. delikli kart gibi araçlarla bilgisayarlara ulaştırabiliriz. Bu işaretler daha ziyade insanların bugüne kadar kullandığı en genel işaretlerdir. Bunun için C dili bir yazım takımına sahiptir. Ritchie tarafından yaratıldı. C dilinde programların yazılması bu yazım takımı ile olur. Piyasada bulunan C derleyicilerinin çokluğu bunun bir kanıtıdır. ilk başlarda adece Bell labaratuarında kullanıldı. Programcılar tarafından kullanılmaya başlanması ise yavaş yavaş oldu. Kernighan tarafından “C Programming Language” adlı kitabın yayımlanması olmuştur. Komut ve işlem ifadeleri yüksek seviyeli dilleri andırmakla beraber. C’nin mantığı daha ziyade Macro Assembler’ın mantığıdır. Yazım takımındaki işaret grupları şunlardır.2. C dilinin tanınmasının en önemli adımı 1978’de Dennis M. Bu işaretler bilgisayarda çeşitli elektronik sinyallere çevrilerek kullanılır.2 C’NİN YAZIM TAKIMI İnsan ve bilgisayarın iletişimini sağlamak için.1 GİRİŞ Yüksek seviyeli diller kolay anlaşılır. C dilinde bu tür işaretleri kullanarak yazılır. Bundan sonra C dilinin gelişmesi ve popülerliği gün geçtikçe artmıştır.

. ilk harfi rakam olamaz.I Altçizgi (underscore): _ Özel karakterler: ‘ ‘ boşluk . rakamlardan ve altçizgi karakterinden yararlanılarak yapılır. ] sağ köşeli par. Örneğin HiZ. noktalı virgül (sol parantez ) sağ parantez } sağ küme | duvar + artı # diyez * askteriks (yıldız) . Küçük harfler ve büyük harfler birbirinden farklı olarak ele alınır ve farklı değişken isimleri temsil ederler. nokta . C için ayrılmış isimler programcı tarafından tekrar isim olarak kullanılmaz.İNTERNET PROGRAMCILIĞI . ) (‘_’ ile başlayan isimler Merkezi işlem birimi-Cpu değişkenleridir. Bunların dışında özel bir karakter veya Türkçe karakter kullanılmaz.eksi 1. / slaş \ ters slaş % yüzde & ve = eşit < küçük Özcan ! ünlem “ çift tırnak { sol küme ~ tilda ^ üst ok > büyük .) Geçerli isimlere örnek: X x Sira Sira_no prim1 5 Prim_1 . Hiz. Bu değer Turbo C için 32 karakter olarak verilmiştir. C’de ayrılmış isimler şunlardır: asm* defualt for pascal* switch -CS -CX -SS auto do goto register typedef -BP -DX -AL break double huge* return union -DI -ES -BL case else if short unsigned -SI -AH -CL cdecl enum int signed* void* -SP -BH -DL char extern interrupt* sizeof volatile* -DS -CH const far* long static while -AX -CH continue float near* struct fortran** -BX -DH _no_ a3t1_4a_ (* Standart isimler. hIZ ve hiz isimleri birbirinden tamamen farklı beş isim olarak kabul edilir. isimler İngiliz alfabesinin küçük ve büyük harflerinden.3 İSİMLENDİRME KURALLARI: C’de isimlendirme yapılırken. İsmin uzunluğu belli bir sınırı aşmamalıdır. İsmin bu değerden fazla olması halinde fazla kısım dikkate alınmaz. HIZ. İsmin ilk karakteri bir harf veya ‘_’ olmalıdır. virgül : iki nokta üstüste ‘ tırnak [ sol köşeli par.) (**Sadece Microsoft C de geçerlidir.

Hexadesimal sayılarda a=10. Hexadesimal sayılar 0 ile 9 arasındaki rakamlar ve ‘a’ile ‘f’ veya ‘A’ ile ‘F’ arasındaki harfler yardımı ile yazılırlar.b=11. (0x178. rakamlar kullanılarak ifade edilir.) 1.b.4 TAMSAYILAR Tamsayılar belli bir alt limitten bir üst limite kadar olan sayıları bire bir ifade eden sayılardır. c=12. Oktal sayıları desimal sayılardan ayırmak için sayının başına 0o veya 0O işareti konur (0o75.4. NO3: Özel karakter (:) kullanılmaz ÖĞRENİM_YILI Türkçe karakter kullanılmaz (Ö. Oktal sayılar ise 0 ile 7 arasındaki. 0X75A4F v.Ğ. Bu sayıların yazılmasında nokta kullanılmadığı için noktasız sayılar olarak anılır. 0 ile 9 arsındaki rakamlarla yapılan sayılardır. 1. 6 . İşaret biti pozitif sayılar için 0 negatif sayılar için 1 değerini alır. 43 tamsayısının ikili sayı sisteminde yazılışı 101101 sayı alanına yerleştirilir ve bütün bilgi alanı 0 0 1 0 1 1 0 1 şeklinde olur.0o4140 v.I Özcan Geçersiz isimlere örnek: 1ADAM İlk harf rakam olamaz AI?3 Özel karakter (?) kullanılmaz.İ) Artim-1(-) (-) işareti özel karakterdir. 128 den +127 ye kadar olan tamsayıları belirtmek mümkün olur. e=14 ve f=15 için kullanılır.1 CHAR TAMSAYI TİPİ: En küçük bilgi birimi olan bayt’ın son biti sayının işaretini belirlemek için ayrılırsa. oktal (sekizlik) ve hexadesimal (onaltılık) sayı sistemlerinde kodlanabilirler. Çünkü 43 pozitifdir.0o3016. Negatif bir sayının kodlanması ise pozitif sayıların kodlanmasından daha farklıdır.). d=13. C’de tamsayılar desimal (onluk).b. Örneğin 43 için bilgi alanının kodlanışı şöyledir: işaret biti 0 yapılır. Desimal sayılar günlük hayatımızda kullanılan. Negatif sayıların kodlanması şu şekilde yapılır.İNTERNET PROGRAMCILIĞI . 7 6 5 4 işaret biti 3 2 1 0 sayı alanı Burada bütün bitler sıfır yapılırsa sayı sıfırdır. kullanılmaz Tek altçizgi ile isim olmaz. Oktal sayılarda olduğu gibi hexadesimal sayılarda desiaml sayılardan ayırmak için 0x ve 0X işareti eklenir.

k . 0 ise 1. j. Buna göre –43 sayısının kodlanışı 00101101(43 sayısı) 11010010(43’ün tersi) + 1 11010011= -43 Dikkat edilirse yedinci bit (işaret biti) kendiliğinden 1 değerin. Sayı işaretsiz olarak ikili sayı sisteminde yazılır.) ile son bulur.2 İNT TAMSAYI TİPİ: Bir çok özelliği ile char veri tipine benzemekle birlikte. Tek fark işlemlerin 8 bit üzerinden değilde 16 bit üzerinden yapılmasıdır. 3. Kontrol açısından 43 ile –43 ü toplarsak 00101101 + 11010011 43 -43 1 00000000 0 Taşma değeri (1) göz önüne alınmadığından sonuç 0 dır. 1. Char kelimesinden sonra bu tipte olmasını istediğimiz bütün değişken adları araya virgül konarak yazılır ve tanımlama noktalı virgül (. Böyle bir bilgi tipinin bir değişken için belirtilmesi C programlama dilinde char kelimesi ile yapılır.I Özcan 1. Ör: Ör: char i . Bütün bitlerin tersi alınır. int veri tipi 2 baytlık bir uzunluğa sahiptir. Dolayısıyla –32768 den +32767’e kadar olan tamsayıları temsil edebilir.bayt 1 0 1. Sonuca 1 ilave edilir. Sekiz bitten taşan kısımlar göz önüne alınmaz. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 2. Buradaki değişkenler char veri tipinde tanımlanmıştır.İNTERNET PROGRAMCILIĞI .4. 1 ise 0 yapılır. alarak sayının negatif olduğunu belirtmiştik. Ve hepsi program içerisinde – 128 den +127 ye kadar olan değerlere sahip olabilirler. 7 . 2. Bilgi 2 bayt’tan oluştuğu için hafızateki konumlarında önce ikinci bayt ardından da birinci bayt yer alır. char i.bayt bu tip görüldüğü gibi char’a benzemektedir.

0 5 1. -1.toplam. İnt x.5e00 89567e-04 1.50.y. İnt max.5 GERÇEL SAYILAR: Bilimsel çalışmalarda kullanılan sayılar genellikle tamsayı değillerdir.9612x10-10 gibi gerçel sayılardır. 31 30 İşaret s 23 Üs e 22 0 Noktali kısım f Bu sayı tipi ile oluşturulabilen mutlak değerce en büyük sayı 3.z. 2.717816.İNTERNET PROGRAMCILIĞI .5 8.p.74123. 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 2. veya 8.00.bayt işaret biti C dilinde int sayı tipini kullanmak için int sayı tipinde olması istenilen değişken isimleri int kelimesinden sonra char’da olduğu gibi sıralanır. 2. Kullanılan değerler.9567 0e00 5e00 1. Bu sayılar float sayı 8 . matematiksel anlamda 1.min. Ör: int m.5. Gerek tamsayı gerekse gerçel sayıların hepsi tek bir formda (üstel gösterim formunda) toplanabilir.1459. Hafızada 4 baytlık yer kaplar. 3.bayt 1.4E38 dir.n. 1.I Özcan İkinci bayt 2000 birinci 2001 2002---Æ adresleri Örneğin Ox30D4 (12500) sayısı şöyle kodlanır. Ve oluşturulabilen mutlak değerce en küçük sayı ise 3.1 FLOAT GERÇEL SAYI TİPİ C’de temel iki gerçel sayı tipinden biridir.4E-38 dir.

c. a. şeklinde yapılır.6. Double tip tanımlaması ise diğerlerine benzer olarak Doble x. 1. Fakat bu fiziksel anlamda bitin olmaması anlamında değil sadece işaret bitinin diğer normal bitler gibi işleme alınmaması anlamındadır.I Özcan tipinin duyarlığını belirler. Bu tanımlamaya genelde tip tanımlamasında gerek yoktur. C dilinde float sayı tipini kullanmak için float kelimesinden sonra değişken isimlerini sıralamak yeterlidir. Çünkü yukarıda belirtilen bütün tipler (char. c.1 SİGNED VE UNSİGNED TİP TAMLAYICILARI Bu iki belirteç sayının işaret bitinin bulunup bulunmaması veya diğer bir deyişle sayının negatif değerlere sahip olup olmayacağının belirtilmesini sağlar.5.2 DOUBLE GERÇEL SAYI TİPİ Bu gerçel sayı tipi ise hafızate 8 baytlık bir alan işgal eder.b. A.max.6 TİP SIFATLARI 1. b. Sonuc. Unsigned tanımlaması sayının işaret bitinin olamaması sağlar. Bit düzeni aşağıdaki gibidir: 63 (s) 62 52 (e) 51 0 (f) Double sayı tipinin ifade edebileceği mutlak değerce en büyük sayı 1.İNTERNET PROGRAMCILIĞI . 1. Double sayı tipi değer float sayı tipli değere göre çok daha duyarlıdır ve daha büyük bir üst sınıra sahiptir. float min. Double term. ve double) işaret bitine sahiptir. 9 . daha büyük üst sınır veya hassasiyetin tercih edildiği yerlerde double sayı tipi tercih edilmelidir. float.7E+308 ve en küçük sayı 1.7E-308 dür. Double ile float sayı tipi tanımlamalarının tercihi programcıya ait olmakla birlikte. Signed tanımlaması ise sayının işaret bitinin olmasını sağlar. int. Ör: float a.

Short int veya signed short int tanımlaması int tanımlaması ile aynıdır. Unsigned short 16 bitlik işaretsiz tamsayı. Ör: short int x. Nümerik veriler için değişkenlerin alabileceği değerler belirli idi. long float tanımlaması yapılırsa.İNTERNET PROGRAMCILIĞI . Long belirticisi gerçel sayılar için kullanılırsa.2 SHORT VE LONG TİP TAMLAYICILARI Short belirticisi sadece int tipi ile birlikte kullanılır.y.6. örneğin.7 x 10 308 255 65535 +2147483647 TİP long float long double UZUNLUK 8 byte 10 byte ALT SINIR ±1.4 x 10 38 ±1.7 x 10 -308 0 0 -2147483648 ÜST SINIR +127 +32767 ±3. fakat 16 bitlik bilgisayarlarda herhangi bir etkisi yoktur.I Özcan 1. (2 byte) long float – (8 byte) long double –( 10 byte) TİP Char İnt Float Double Unsigned char unsigned int long int UZUNLUK 1 byte 2 byte 4 byte 8 byte 1 byte 2 byte 4 byte ALT SINIR -128 -32768 ±3.z. 1 x 10 4932 kadar olur.6. bu double tanımlamasına denktir. 4 x 10 − 4932 den ± 1 . Sayı sınırı: ± 3 . Fakat long double tanımlaması yapıldığı zaman uzunluğun 10 bayt olması sağlanır. Ve kısaca short veya signed short olarak da anılır.3 ENUM BİREBİR SAYMA TİPİ Değişkenin bilgi depolayan bir hafıza birimi olduğunu söylemiş ve numerik verileri incelemiştik.1 Veri tipleri 1. Fakat 10 . signed short veya short 16 bitlik işaretli tamsayı elde edilmesini sağlar.4 x 10 -38 ±1.4 x 10-4932 ÜST SINIR ±1.7 x 10308 ±3. short tamlayıcısı 32 bit bilgisayarlarda 16 bitlik bilgilerin elde edilmesini sağlar. 32 bitlik bilgisayarlarda int tipi 4 baytlık bir alanı kapsadığından.7 x 10-308 ±3.4 x 104932 Tablo 1.

enum { sonbahar=2. sonbahar=2 ifadesi sonbahar terimine 2 değerinin atamaktan başka aksi belirtmedikçe kendisinden sonraki elemanların 3. bu değişkenin alacağı değere göre cevap belirlenir. medeni_hal 0 ise bekar.3.b. Yalnız eşit işareti atama görevinden çok sayaç değiştirme işlemine yarar. Sadece farklı olarak sıralama değiştirilmektedir. asker_durumu. 1 ise evli. gibi ve cinsiyet. evli de dul’dan daha küçüktür. Burada medeni_hal isminde bir değişken tanımlanırken. cinsiyetiniz medeni haliniz O erkek O evli O kız O bekar O dul enum cinsiyet a. Bu da sırayla 0. Şimdide bu tanımlanın değişik şekillerini görelim. bu değişkenin alabileceği değerler sırası ile Bekar. enum {Kiz. Dul olarak tanımlamaktadır. Yani bekar evli’den . kis. enum {ilkbahar. sırası ile devam etmesini sağlar..4.4.5. Aslında burada her sembolik değer için birer nümerik değer bilgisayar tarafından otomatikman verilmektedir. Bu değişken hangi cevap için hangi değeri alacaktır? Bu seçim tamamen programcıya aittir. Bu olanakla örnekteki tanımlamalar. enum {bekar. şeklinde yapılabilir. sonbahar. evli. burada mevsimler değişkenin alabileceği değerler kıs.2. yaz=1. Bu yüzden kis elemanı 3 değerine sahiptir. Örneğin. 0 ise Kız 1 ise Erkek.. Görüldüğü gibi eşit işareti ile nümerik değer vermek mümkün olmaktadır. Burada her bir cevaba bir sayısal değer verip bu değeri kontrol ederek sorunun cevabını bulmak mümkündür. Bu sayede enum tipindeki bilgilerin sıralanabilmesini sağlamaktadır. yaz. kış} mevsimler. dul} medeni_hal.I Özcan hayatımızdaki bütün veriler nümerik değildir.. Erkek} cinsiyet. Örnekteki bütün soruların cevapları için birer tamsayı değişken tanımlayıp. Burada her bir sorunun cevabının saklanacağı bir değişken düşünelim. şeklinde olmaktadır.yaz.1.ilkbahar ve sonbahar olarak bildirilmiştir. medeni_hali . Bu yaklaşım doğru olmakla beraber karmaşıklığa yol açar. ilkbahar=0 } mevsimler. Şöyle ki. Kbunun için C programcılara enum (bire bir sayma) değişken tipini sunmaktadır. Evli.. -1 ise dul olduğu kabul edilebilir.İNTERNET PROGRAMCILIĞI . bir kimlik formundaki sorular ve cevaplar şöyle olabilir.. 11 . Bu yazım şuna denktir. int cinsiyet. Yaz ise yeni değeri 1 ile işleme başladığından 1 değerine sahiptir.

I Özcan Diğer bir tanımlama şekli de şöyledir.erkek}.İNTERNET PROGRAMCILIĞI .b. şeklinde de yazılabilir. Burada ilk satırda alabileceği değerler Kız ve Erkek olan cinsiyet tipi tanımlanmaktadır. İkinci satırda ise cinsiyet tipindeki a ve b değişkenleri tanımlamaktadır. enum cinsiyet {kiz. 12 . Bu iki satır tek satır halinde enum cinsiyet{Kiz. enum cinsiyet a.b. Erkek} a.

Sign up to vote on this title
UsefulNot useful