İNTERNET PROGRAMCILIĞI - I

Özcan

0

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

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

................ ................................. ........1 7............ ......I Özcan Bölüm 6 Döngüler 6..................................3 7......... .....11..................... .....8 6........................ ... .... .... ....... ................. .......................İNTERNET PROGRAMCILIĞI ...... ........ . Trigonometrik fonksiyonlar............. .......... ....... .... .. ....... ...9..... ......................... Ters hiperbolik fonksiyonlar............................................ continue ifadesi........ .. ......... ...... .......... ....... ................ 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... ............ ..... ...... ............11 6................ ....... break ifadesi.. ................. ........... .................... .... Altprogramlar ........3 6.................. ........1 7.................. Ters trigonometrik fonksiyonlar....h’da verilmiş matematiksel fonksiyonlar.. ... ............................. .. ...... Kotanjant fonksiyonları..... ................ ..... ....................1 6.................. ...11............ ..................... 3 85 87 87 89 90 90 91 .......3 6...... Herhangi bir tabana göre logaritma alınması... Math... .......................................3 6..... ............. ..4 7........................11........... ..... while döngüsü..2........................... ................... while ile do-while arasındaki fark.... ....... Örnek programlar.............. ......... ............. Biosdisk................ for döngüsünde boş ifadelerin kullanılması..... ......................... ........... Rastgele sayı üretim fonksiyonları.........................9. .. ............. ......................... ...... ........................ ... ....9 6.. ................. . .... ............4 6....10 6................ ....... ...... .................................. .. .... Diğer fonksiyonlar....7...................... ................. do-while döngüsü.........1 6....................11................. ...............2 6.. Printer.......... .. Hafıza .......................8........................... Fonksiyonlar............... .......... .... ............. for döngüsü.. ..... ..... ...................4 Giriş ............. .....1 6... ................ . .......2 6...................2 6.......... ...... . .......................7........... ......... ................. ............................ ......................... ......... ..... .2 7..................... break ve continue ifadeleri.................................................................... ......... ............................5 6.......... Zaman ...............9......2 6.......................... . .............................. ................1 6.....5 Port ................................ ............................ ...... Disk ..... .................................... ............. .. .. .....................6 6...........................1 6...... Turbo C’de bulunmayan matematiksel fonksiyonlar. .....7 6... Bir sayının karesinin alınması.

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

Bu değer Turbo C için 32 karakter olarak verilmiştir. / slaş \ ters slaş % yüzde & ve = eşit < küçük Özcan ! ünlem “ çift tırnak { sol küme ~ tilda ^ üst ok > büyük . hIZ ve hiz isimleri birbirinden tamamen farklı beş isim olarak kabul edilir.İNTERNET PROGRAMCILIĞI .) (**Sadece Microsoft C de geçerlidir.3 İSİMLENDİRME KURALLARI: C’de isimlendirme yapılırken. ilk harfi rakam olamaz. isimler İngiliz alfabesinin küçük ve büyük harflerinden. 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. Örneğin HiZ.. İsmin bu değerden fazla olması halinde fazla kısım dikkate alınmaz. Bunların dışında özel bir karakter veya Türkçe karakter kullanılmaz. ) (‘_’ ile başlayan isimler Merkezi işlem birimi-Cpu değişkenleridir.I Altçizgi (underscore): _ Özel karakterler: ‘ ‘ boşluk .eksi 1. C için ayrılmış isimler programcı tarafından tekrar isim olarak kullanılmaz. İsmin uzunluğu belli bir sınırı aşmamalıdır.) Geçerli isimlere örnek: X x Sira Sira_no prim1 5 Prim_1 . Hiz. Küçük harfler ve büyük harfler birbirinden farklı olarak ele alınır ve farklı değişken isimleri temsil ederler. noktalı virgül (sol parantez ) sağ parantez } sağ küme | duvar + artı # diyez * askteriks (yıldız) . ] sağ köşeli par. HIZ. virgül : iki nokta üstüste ‘ tırnak [ sol köşeli par. nokta . İsmin ilk karakteri bir harf veya ‘_’ olmalıdır. rakamlardan ve altçizgi karakterinden yararlanılarak yapılır.

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

2. Sonuca 1 ilave edilir. Böyle bir bilgi tipinin bir değişken için belirtilmesi C programlama dilinde char kelimesi ile yapılır. 15 14 13 12 11 10 9 8 7 6 5 4 3 2 2. Sayı işaretsiz olarak ikili sayı sisteminde yazılır.İNTERNET PROGRAMCILIĞI . j.k . 1. 0 ise 1. Bütün bitlerin tersi alınır. Ör: Ör: char i . 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.4. Tek fark işlemlerin 8 bit üzerinden değilde 16 bit üzerinden yapılmasıdır. Bilgi 2 bayt’tan oluştuğu için hafızateki konumlarında önce ikinci bayt ardından da birinci bayt yer alır.) ile son bulur.I Özcan 1. Dolayısıyla –32768 den +32767’e kadar olan tamsayıları temsil edebilir. 7 . 3. Sekiz bitten taşan kısımlar göz önüne alınmaz. 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. Ve hepsi program içerisinde – 128 den +127 ye kadar olan değerlere sahip olabilirler. int veri tipi 2 baytlık bir uzunluğa sahiptir.2 İNT TAMSAYI TİPİ: Bir çok özelliği ile char veri tipine benzemekle birlikte. 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 (. Buradaki değişkenler char veri tipinde tanımlanmıştır. alarak sayının negatif olduğunu belirtmiştik. char i. 1 ise 0 yapılır.bayt bu tip görüldüğü gibi char’a benzemektedir.bayt 1 0 1.

00. İnt max.n.74123. Hafızada 4 baytlık yer kaplar. Ve oluşturulabilen mutlak değerce en küçük sayı ise 3. Kullanılan değerler. İnt x.y. 2.toplam.İNTERNET PROGRAMCILIĞI . 0 0 1 1 0 0 0 0 1 1 0 1 0 1 0 0 2. matematiksel anlamda 1. Gerek tamsayı gerekse gerçel sayıların hepsi tek bir formda (üstel gösterim formunda) toplanabilir. 0 5 1.min.5.bayt 1.9567 0e00 5e00 1.5e00 89567e-04 1. Bu sayılar float sayı 8 . veya 8.z. 2.4E-38 dir.I Özcan İkinci bayt 2000 birinci 2001 2002---Æ adresleri Örneğin Ox30D4 (12500) sayısı şöyle kodlanır.5 GERÇEL SAYILAR: Bilimsel çalışmalarda kullanılan sayılar genellikle tamsayı değillerdir. 3.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.1459.50.717816. 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. Ör: int m. -1.9612x10-10 gibi gerçel sayılardır.5 8. 1.p.1 FLOAT GERÇEL SAYI TİPİ C’de temel iki gerçel sayı tipinden biridir.4E38 dir.

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.max.b.2 DOUBLE GERÇEL SAYI TİPİ Bu gerçel sayı tipi ise hafızate 8 baytlık bir alan işgal eder. Çünkü yukarıda belirtilen bütün tipler (char. Double tip tanımlaması ise diğerlerine benzer olarak Doble x.7E-308 dür.İNTERNET PROGRAMCILIĞI . şeklinde yapılır.6 TİP SIFATLARI 1. c.7E+308 ve en küçük sayı 1. Signed tanımlaması ise sayının işaret bitinin olmasını sağlar. float min. int. ve double) işaret bitine sahiptir. Double ile float sayı tipi tanımlamalarının tercihi programcıya ait olmakla birlikte. 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. 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. daha büyük üst sınır veya hassasiyetin tercih edildiği yerlerde double sayı tipi tercih edilmelidir. 9 . Double term. A. Sonuc. b.6. 1. C dilinde float sayı tipini kullanmak için float kelimesinden sonra değişken isimlerini sıralamak yeterlidir. a.I Özcan tipinin duyarlığını belirler.c. Bu tanımlamaya genelde tip tanımlamasında gerek yoktur.5. Ör: float a. 1. float.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.

Long belirticisi gerçel sayılar için kullanılırsa. fakat 16 bitlik bilgisayarlarda herhangi bir etkisi yoktur.7 x 10308 ±3. Short int veya signed short int tanımlaması int tanımlaması ile aynıdır. 1 x 10 4932 kadar olur. 4 x 10 − 4932 den ± 1 .7 x 10-308 ±3.4 x 10 38 ±1. Ve kısaca short veya signed short olarak da anılır. Sayı sınırı: ± 3 .6. Unsigned short 16 bitlik işaretsiz tamsayı. long float tanımlaması yapılırsa. Ör: short int x. (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.7 x 10 -308 0 0 -2147483648 ÜST SINIR +127 +32767 ±3. Fakat long double tanımlaması yapıldığı zaman uzunluğun 10 bayt olması sağlanır.4 x 10-4932 ÜST SINIR ±1. short tamlayıcısı 32 bit bilgisayarlarda 16 bitlik bilgilerin elde edilmesini sağlar.I Özcan 1. örneğin.z.4 x 10 -38 ±1.2 SHORT VE LONG TİP TAMLAYICILARI Short belirticisi sadece int tipi ile birlikte kullanılır. Nümerik veriler için değişkenlerin alabileceği değerler belirli idi. signed short veya short 16 bitlik işaretli tamsayı elde edilmesini sağlar.1 Veri tipleri 1. bu double tanımlamasına denktir.İNTERNET PROGRAMCILIĞI .4 x 104932 Tablo 1. 32 bitlik bilgisayarlarda int tipi 4 baytlık bir alanı kapsadığından.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. Fakat 10 .7 x 10 308 255 65535 +2147483647 TİP long float long double UZUNLUK 8 byte 10 byte ALT SINIR ±1.y.6.

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

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