borlandx
siberTurk
KARMA: 1152
Offline
Cinsiyet: 
Mesaj Sayısı: 175
Konu Sayısı: 145
|
 |
« : 08 Ağustos 2008, 22:18:22 » |
|
C NEDIR ? C programlama dili, Dennis Ritchie tarafindan Bell laboratuarlarinda yaratilmistir. PDP-11 ile Unix altinda calismak icin yaratilmis olmasina ragmen, ilgi uzerine MS-DOS altinda calisacak hale getirilmistir. Basitligi, olusan kodun kucuklugu, ve her cesit programlamada kullanilabilmesi, C yi populer bir dil yapmistir. C, cok kestirme olmasi nedeni ile, yeni bilgisayarlara baslayanlar icin ogrenmesi zordur. Bir programci, C ile ust seviyelerden, assembly'ye yaklasan alt seviyelere kadar programlama yapabilir. C nin sagladigi bu rahatligin yaninda, tehlikeleride vardir. Ornegin, makineyi kilitleyebilecek bir program yazmak, Pascal yada BASIC de yazmaktan cok daha kolaydir. Bir Pascal derleyicisinin fark edip uyaracagi bir hatayi, C derleyicileri fark etmeyebilir. C de, kendi basinizasiniz.. NIYE C? Bu gun IBM-PC icin yazilan piyasadaki yeni programlarin yuzde 75'i, C ile yaziliyor. MicroSoft, Macro Assembler 4.0 i cikardiktan sonra, onu C ile yazdiklarini acikladi. Herhalde icinde birkac assembler rutin vardir ama, cogunlugu C ile yazilmistir. C, bir komite degilde, bir kisi tarafindan yazilmis oldugundan, cok kullanisli bir lisandir, fakat cok iyi tanimlanmamistir. C icin bir standart yoktur, ama ANSI grubu, bu konuda calismaktadir. Isin ilgincligi, bir standart olmamasina ragmen, degisiklikleri cok azdir. Halbuki iyi tanimi olan Pascal dilinin, derleyicileri birbirinden cok farklidir, ve bir Pascal programini bir bilgisayardan digerine gecirmek zordur.. C nin Tasinabilirlik referanslari iyi olmasina ragmen, derleyiciler arasinda farkliliklar vardir. Bu degisiklikler genellikle BIOS fonksiyonlari gibi standart olmayan seyler kullanildiginda kendini gosterir. TANIMLAYICI ISIMLERI Fonksiyon ve degisken isimleri, harfler ve rakkamlardan olusabilir. Ilk harf ya bir harf yada alt-cizgi karakteri olmak zorundadir. geri kalanlarise, harf, rakkam yada alt cizgi olabilir. Iki nokta onemlidir: (1) Buyuk ve kucuk harfler farklidir. Bir programda "ISIM", "iSiM" ve "isim", degisik tanimlayicilardir.(2) C'de, en fazla sekiz karakter onemlidir. Bir tanimlayici 8 karakterden uzun olabilir, fakat ilk sekizi sayilir. Bu derleyiciniz icin boyle olmayabilir. DERLEYICI Bu derste bircok ornek program sunacagim. Bunlari istediginiz herhangi bir derleyici ile derleyebilirsiniz, fakat kullanim kolayligi bakimindan QuickC derleyicisini tercih etmenizi tavsiye ederim. Temel Bilgiler
Bu dili anlatirken azda olsa belli bir düzeyde programlama bilgisine sahip oldugunuzu düsünmekteyiz. Ancak yeni baslayanlarada mümkün olan en iyi sekilde yaklasabilmek için baslangiçta C++ diline ait veri tiplerinden, degisken tanimlamadan ve degiskenlere deger atamadan bahsedip, basit bir C++ programinin yapisina göz atacagiz. Hazirmisiniz ? Hiç vakit kaybetmeden basliyoruz.
Veri Tipleri
Temel Veri Tipleri :
bool: true ve false degerlerini alir. true = 1, false = 0 gibi düsünelebilir. Derleyicisine göre Bool seklindede tanimlaniyor olabilir. char: ASCII karakterleri ve çok küçük sayilar için kullanilir. enum: Siralanmis degerleri tutar. int: Sayma sayilari. long: Sayma sayilari. float: Ondalikli sayilar. double: Ondalikli sayilar. long double: Ondalikli sayilar. void: Degersiz - bos.
Temel Veri Tiplerinin Uzunluklari :
Not : Bu degerler 32 bit uygulama gelistirme ortamindaki platformlara özeldir. Platformdan platforma degisebilir.
bool 0--1 char -128 -- 127 enum int ile ayni degerde int –2,147,483,648 -- 2,147,483,647 long –2,147,483,648 -- 2,147,483,647 float 3.4E +/- 38 double 1.7E +/- 308 long double 1.2E +/- 4932
unsigned : unsigned belli veri tiplerinin isaretsiz degerler almasini saglar.Örnegin; unsigned char 0 - 255 arasinda deger alir. Dikkat edilecek olunursa negatif kisim atilmis ve burada ki deger uzunlugu pozitif kisima eklenmis.unsigned char;int ve long türlerine uygulanabilir. typdef - Türleri kendinize göre adlandirin : typdef kullanarak tanimlanmis türleri kendinize göre adlandirabilirsiniz..Dikkat ediniz ki bu sekilde yeni bir tür yaratmiyorsunuz. Ayrica bu isimlendirmenizi diger tiplerle birlikte kullanamazsiniz. örnegin: typdef double FINANSAL artik double yerine FINANSAL kullanabilirsiniz. long FINANSAL seklinde bir kullanim hatalidir.
Degiskenler
Degisken nedir? Degisken belli bit türe ait verileri saklayan veri deposudur. Aksi belirtilmedikçe içerikleri degistirilebilir. Degisken nasil Tanimlanir ? Degiskenleri tanimlamak için asagidaki notasyon kullanilir. [Veri Tipi] [Degisken Adi];
Örnegin içinde sayi tutacak bir degisken su sekilde tanimlanabilir.
int sayi;
Benzer olarak asagidaki tanimlamalarda dogudur
char c; int i; float f; double d; unsigned int ui;
Degisken isimlerini tanimlarken dikkate alinacak noktalar : C++ dilinde de C dilinde ki gibi büyük ve küçük harfler farkli verileri temsil eder. Örnegin; char c; char C; int sayi; int Sayi; c ve C hafizada farkli yerleri gösterirler. sayi ve Sayi'da farklidir. Degiskenler harflerle yada _ baslar. içlerinde bosluk yoktur. Degiskenler istenildekleri yerde tanimlanabilirler. Ancak burada dikkate alinmasi gereken noktalar vardir. Lütfen bölüm sonundaki örneklere göz atiniz.
Degiskenlere deger atanmasi : Bir degiskene deger atamak için = operatörü kullanilir. Degiskene deger atama tanimlandigi zaman yapilabildigi gibi daha sonradanda yapilabilir. Örnegin; Tanimlama sirasinda deger atama: char c = 'c'; int sayi = 100;
Daha sonradan deger atama: char c; int sayi; c = 'c '; sayi = 100;
Ayni anda birden fazla degisken tanimlanabilir, ve ayni anda birden fazla degiskene deger atanabilir;
int i , j , k; i = j = k = 100; i,j,k'nin degeri 100 oldu. Programlara Açiklama Eklenmesi
Açiklama Nedir? Degiskenleri tanimlarken dikkat ettiyseniz her C++ komutu ; (noktali virgül) ile bitiyor. Bu derleyiciye komut yaziminin bittigini belitmek için kullaniliyor. Programlar uzadikça ve karmasiklastikça programimiza bir daha ki bakisimizda neyi neden yaptigimizi unutabiliriz. Yada yazilmis olan programi bizden baska kisilerde kullanacak olabilir. Bundan dolayi ne yaptigimiza dair açiklamalari kodun içine serpistirmeliyiz.Yazdiginiz komutlar basit fonksiyonlari içersede detayli sekilde açiklama eklemenizi öneririm. Böylecene aylar sonra kodunuza tekrar baktiginizda ne yaptiginizi kolayca hatirlayabilirsiniz. Baskasi sizin kodunuza baktiginda ögrenmesi çok hizlanacaktir.
Açiklamalari C++'ta nasil tanimlayacaksiniz ? C++ program içerisine iki sekilde açiklama eklemenize izin veriyor.Biri C'nin açiklama ekleme sekli olan // kullanilmasi. C++ derleyicisi // 'den sonra satir boyunca yazilanlarin tümünü yok sayar. Örnegin: // Bu satir derleyici tarafindan umursanmaz // Ve ben satirin basina // yazarak bu satirin açiklama oldugunu belirtiyorum // Asagida da örnek bir degisken tanimlanmistir. long ornek;
C++'in C'den farkli olarak birden fazla satira açiklama yazmayi saglayan bir yapi daha vardir. Bu yapi /* ile baslar */ ile biter. Yukaridaki örnegi bu yapi ile asagidaki gibi tanimlayabiliriz.
/* Bu satir derleyici tarafindan umursanmaz Ve ben satirin basina // yazarak bu satirin açiklama oldugunu belirtiyorum Asagida da örnek bir degisken tanimlanmistir.*/ long ornek; ILK C PROGRAMINIZ
not:Anlatıom kısımlarında programların sadece main fonksiyonlarını açıklayacağız fakat her C++ programinin en basinda programin içinde kullanilan fonksiyon ve veri tiplerinin tanimlandigi bir kütüphane dosyasi tanimlanir. Programinizda bu fonksiyon ve tipleri kullanabilmek için önceden bu kütüphaneleri programiniza ilave etmeniz gererkir. Bu islem
#include "[kütüphana adi]" seklinde yapilir ve siz ilk başlarda "stdio.h" kütüphanesini kullanabilirsiniz.
En basit C programi:
main()
{
}
Bu bir programdir, ve bunu kisaltmanin, basitlestirmenin bir yolu yoktur. Isin kotu tarafi, bu program birsey yapmaz. Buradaki en onemli kelime, main() sozcugudur. Her programda olmasi gereken bu sozcuk, daha sonra gorecegimiz gibi, ilk satirda olmak zorunda degildir, fakat bir giris noktasi saglamasi nedeni ile gereklidir. Bunu takiben, iki tane parantez vardir. Bunlar da, main'in bir fonksiyon oldugunu belirtir. (Bir fonksiyonun tam olarak nelerden olustugunu daha sonra gorecegiz) Programin kendisi ise, iki kume isareti arasinda yer alir.
BIRSEYLER YAPAN BIR PROGRAM:
Daha ilginc bir program:
main()
{
printf("Bu bir satirlik yazidir.");
}
Bu programin, ayni diger program gibi, main, ve kume isaretleri vardir. Icinde yer alan fonksiyonun, bir satiri ekrana getirmesi icin, satiri " " isaretleri arasina aliyoruz. Ayrica fonksiyonun parametresi oldugunu belirtmek icin de, cevresine parantez koyuyoruz. Satirin sonundaki noktali virgule dikkatinizi cekerim: Bir satirin bittigini derleyiciye bildirmek icin, C dilinde ; noktali virgul kullanilir.
DAHA COK SEY YAZAN BIR PROGRAM
main()
{
printf("Bu bir satirlik yazidir.\n");
printf("Bu bir baska ");
printf(" satirdir.\n");
printf("Bu ucuncu satirdir.\n");
}
Bu programda, 4 tane islenecek komut vardir. Satirlar bu sirada islenir. Ilk satirin sonundaki tuhaf ters bolu isareti, ondan sonra gelecek karakterin bir kontrol karakteri oldugunu belirtiyor. Bu durumda n harfi, yeni bir satir istegini belirtir. Yani, cursor, ekranin sol basina, ve birsatir asagiya kayar. Katarin herhangi bir yerinde yeni bir satir isteyince, "\n" komutunu verebilirsiniz. Hatta bir kelimenin ortasina bile koyup, kelimeyi iki satira bolebilirsiniz. Ilk komut, metini ekrana yazar, ve bir satir asagi iner. Ikinci komut, yazdiktan sonra, yeni satir yapmadan, ucuncu komutun icindekileri ekrana yazar. Bu komutunsonunda, yeni satira gecilir. Dorduncu komut ise, ucuncu satiri yazar, ve bir return karakteri sunar.
RAKAMLAR YAZALIM
main()
{
int index;
index = 13;
printf("Indexin degeri simdi %d\n",index);
index = 27;
printf("Indexin degeri simdi %d\n",index);
index = 10;
printf("Indexin degeri simdi %d\n",index);
}
Bu programda ise, ilk defa olarak bir degisken kullaniyoruz. main() ve { isaretlerine artik alismis olmalisiniz. Bunun altinda "int index" diye bir satir yer aliyor. Bu satir, "index" isimli bir tamsayi degiskenini tanimliyor. Cogu mikrobilgisayarlar icin, 'int' tipi bir degiskenin alabilecegi degerler, -32768 ila 32767 dir.'index' ismi ise, TANIMLAYICILAR da bahsettigimiz kurallara uyan herhangi birsey olabilir. Bu satirin sonunda da, satirin bittigini belirten ; noktali virgul yer alir. Bir satirda birden fazla tam sayi tanimlanabilir, fakat henuz biz bununla ortaligi karistirmayacagiz. Programi incelerken, uc tane atama satiri oldugunu, ve bu satirlarin altinda da degerlerin yazildigini goruyoruz. Once 13 atanir, ve ekranayazilir, sonra 27 ve 10. RAKAMLARI NASIL YAZARIZ Sozumuze sadik kalmak icin, tekrar printf komutuna donelim, ve nasil calistigini gorelim. Gordugunuz gibi, butun satirlar, birbiri ile ayni, ve diger orneklerden farki, icindeki % isareti. Bu harf, printf'e ekrana yazmayi durdurup, ozel birsey yapmasini soyler. % isaretinden sonra gelen harf, d, bir tamsayi yazilacagini belirtir. Bundan sonra, yeni satira geciren tanidik \n isaretini goruyoruz. Den-denler arasinda kalan butun harfler, printf komutu ile ekrana cikacaklari tanimlar. Bundan sonraki virgul ve "index" sozcugu yer alir. printf komutu buradan degiskenin degerlerini okur. Daha fazla %d ekleyerek ,ve bunlari yine virgul ile birbirine ekleyerek, birden fazla degiskenin de bu komut ile goruntulenmesini saglayabiliriz. Hatirlamaniz gereken onemli bir nokta, saha tanimlayici %d ile gecirdiginiz degisken miktari, ayni kalmalidir, yoksa bir runtime hatasi verir.
BILGI SATIRLARI NASIL EKLENIR
/* Bu satiri, derleyici kullanmaz */
main() /* Bir satir daha */
{
printf("Bilgi satirlarinin nasil eklenecegini ");
/* Bilgi satirlari,
bir satirdan uzun olabilir.
*/
printf("goruyoruz.\n");
}
/* Ve programin sonu... */
Programa aciklik katmak icin, eklenebilecek bilgiler, derleyici tarafindan uzerinden atlanir. Lutfen yukaridaki programi, iyi bir ornek olarak almayin. Son derece daginik bir sekilde katilmis bilgi satirlari, sadece kullanimini gostermek amaci iledir. Bilgi satirlari, /* isaretleri ile baslar, ve */ isareti ile sona erir. Dikkat etmeniz gereken bir nokta, birkac satirdan olusan bilgi satirlarinda bulunan program komutlarinin, isleme konmayacagidir.Bilgi satirlari, programin nasil calistigini gostermesi bakimindan cok onemlidir. Yazdiginiz bir programin, bir baskasi tarafindan okunabilmesi, yada siz nasil calistigini unuttuktan sonra hatirlayabilmeniz icin, mumkun oldugu kadar cok bilgi satiri eklemekte fayda vardir. Bazi derleyiciler ic ice bilgi satirlarini kabul ederler, fakat genelde, ic ice bilgi satirlari kabul edilmez.
IYI SAYFA DIZIMI
Yazdiginiz bir program, kolay anlasilir olmalidir. Bunun icin, duzgun bir sekilde programlamak cok onemlidir. C derleyicileri, komutlar arasindaki bosluklari goz onune almaz, ve bu nedenle de programlariniza aciklik katmak icin, dilediginiz gibi bosluk ve bos satir birakabilirsiniz. Su iki programi karsilastiralim:
main() /* Program buradan basliyor */
{
printf("iyi yazis,");
printf ("programin anlasilmasini kolaylastirir\n");
}
ve:
main() /* Program buradan basliyor */ {printf("iyi yazis,"); printf
("programin anlasilmasini kolaylastirir\n");}
Odev: (ödev adettendir ders sonunda :-)
1. Ekrana kendi isminizi yazacak bir program yazin.
2. Programa ayri satirlarda, iki "printf" satiri daha ekleyerek,
adresinizi ve telefon numaranizi da yazdirin.
'WHILE' DONGUSU
C dilinde, bircok tip dongu vardir. While dongusu, herhangi bir test, dogru kaldigi surece, bir program parcasini tekrarlar. Bu testin sonucu yalnis cikarsa, while dongusu sona erer, ve program normal akisina devam eder.
main() /* while dongusunun bir ornegi */
{
int count;
count = 0;
while (count<6)
{
printf("count'un degeri: %d oldu. ",count);
count = count + 1;
}
}
Bu programda, count isimli bir degiskeni tanimliyoruz, ve sifira esitliyoruz. while dongusunun kullanimi, gorundugu gibi, 'while' sozcugu ve parantez icinde bir test'den olusur. Parantezlerin icindeki deyim dogru kaldigi surece, bu program tekrarlar. Bu programda, degiskenin degeri teker teker arttirildigindan, eninde sonunda degeri altiya varacaktir, ve bu durumda program donguden cikacaktir. Parantezlerin icinde yer alan deyimleri, bundan sonraki konuda isleyecegiz. O zamana kadar, bunlarin dusundugunuz seyleri yaptigini kabul ediniz.
Birkac onemli nokta:
1. Sayet 'count' un baslangic degeri 5 den buyuk birseye atanmis olsa idi, dongunun icindekiler hic yapilmayacakti.
2. Eger 'count = count + 1' komutu ile degerini bir arttirmasa idik, bu program hic durmazdi.
3. Son olarak, eger dongude tek bir komut varsa, kume isaretlerine gerek yoktur.
DO-WHILE DONGUSU
Buna benzeyen bir baska komut ise, 'do-while' komutudur. Su program, daha once gordugumuz programa cok benzer:
main() /* Do-While dongusu ornegi */
{
int i;
i=0;
do
{
printf("I nin degeri simdi: %d oldu.\n",i);
i = i + 1;
} while (i<5);
}
Yegane farkin, dongunun bir 'do' komutu ile yapilmasi ve denkligin kontrolunun sona birakilmasidir. Bu durumda, parantezlerin arasinda deyim dogru kaldigi surece, dongu tekrarlanir. Burada onemli noktalar: Kontrol, dongunun sonunda yapildigindan, kume isaretlerinin arasindaki deyimler daima en az bir kere islenir. Ayrica yine, sayet i nin degeri degismez ise, program donguden cikmaz. Son olarak, sayet dongunun icinde bir tek komut varsa, kume isaretlerine gerek yoktur. Ayrica, dilediginiz miktarda donguyu ic ice de koymaniz mumkundur. FOR DONGUSU
For dongusu, yeni birsey degildir. Sadece, 'while' dongusunun bir baska seklidir:
main() /* Bir for dongusu */
{
int index;
for(index=0;index<6;index = index + 1)
printf("index'in degeri simdi %d oldu.\n",index);
}
'For' dongusu, uc parcadan olusmustur. Her kesim birbirinden ; ile ayrilir. Ilk kesimi, baslangic kesimi (initalization) dir. Burada bulunan islemler, dongu baslamadan once, ve bir kere yapilir. Aslinda buraya yazilacak seyler icin bir sinir yoktur, fakat basit tutmakta fayda vardir. Bu kesime birden fazla islem yazilabilir, bunlari da birbirinden ',' virgul ile ayirmak gerekir. Ikinci kesimde, "index<6" diyen parcada, bu dongunun her turunda kontrol edilmesi gereken deyim yer alir. Bu deyim dogru oldugu surece, dongu devam eder. Dogru yada yalnis sonuc veren herhangi bir deyim, bu kesimde yer alabilir. Ucuncu kesimde yer alan islemler ise, yine dongunun her turunda yapilir, fakat isleme baslamasi, dongunun icinde yer alan komutlarin islenmesinden sonra yapilir. 'For' komutundan sonra, ya tek bir komut gelir, yada kume isaretleri icinde, bir komut bloku.. C de hemen heryerde, tek bir komut yerine, bir komut bloku koymaniz mumkundur. IF KOMUTU
/* Bu, if-else komutunun bir ornegidir */
main()
{
int data;
for (data=0;data<10;data = data + 1)
{
if (data==2)
printf("Data simdi %d ye esit.\n",data);
if (data<5)
printf("Data simdi %d. Bu da, 5 den azdir. \n",data);
else
printf("Data simdi %d. Bu da, 4 den buyuktur.\n",data);
}
}
Bu programda, ilk once, icinde iki tane if komutu olan bir for dongusu gorunuyor. Bu dongunun on kere tekrarlanacagi, acik bir sekilde goruluyor. Ilk if satirina bakin: "if" kelimesi ile basliyor, ve sonra bir parantez icinde, sarti goruluyor. Sayet bu parantezin icindeki islemin sonucu dogru (evet) ise, if'den hemen sonra gelen satir islenir. Sayet cevap yalnis ise, if'den sonra gelen komut, atlanir. Burada da, tek bir komut, kume isaretleri ile, bir komut bloku haline getirilebilir. Burada data==2 islemi, data degiskeninin degerinin ikiye esit olup olmadigini kontrol eder. (Sayet data = 2 olsa idi, tumuyle ayri birsey gerceklesirdi.)
IF-ELSE
Ikinci "if", yine birincisine benziyor. Fakat, ek olarak "else" isimli bir kesimi de iceriyor. Bu da, sayet parantezlerin icindeki islem dogru (EVET) sonuc verirse, "if" den sonra gelen satir islenecektir, sayet yalnis (HAYIR) sonucu verirse, "else" den sonra gelen komut islenecektir. Bu nedenle, iki satirdan biri muhakkak islenecektir. BREAK ve CONTINUE
main()
{
int xx;
for (xx=5;xx<15; xx=xx+1)
{
if (xx==8)
break;
printf("Break dongusunun icinde, xx in degeri simdi %d\n",xx);
}
for (xx=5;xx<15;xx=xx+1)
{
if (xx==8)
continue;
printf("Continue dongusunun icinde, xx in degeri simdi %d\n",xx);
}
}
Bu programda gordugunuz gibi, sayet xx in degeri 8 e esit ise, break isimli komutu cagiran bir if komutu goruyorsunuz. Break komutu, bizi donguden cikarip, programi dongunun hemen altindaki satirdan devam etmesini saglar. Bu komut, ornegin dongunun icinde hesaplanan bir degere gore, donguden cikmak istediginizde cok ise yarar. Ornekte, xx in degeri sekize ulasinca, program donguden cikar, ve ekrana yazilmis en son deger, yedi olur. Programin ikinci parcasindaki dongude ise, Continue komutunu goruyoruz. Burada ise, deger 8 e ulasinca, program donguden cikmaz, fakat program dongunun en son satirina atlayip, aradaki printf satirini islemez.
SWITCH
main()
{
int kamyon;
for (kamyon = 3;kamyon<13;kamyon = kamyon + 1)
switch (kamyon)
{
case 3: printf("Degeri simdi uc.\n");
break;
case 4: printf("Degeri simdi dort.\n");
break;
case 5:
case 6:
case 7:
case 8: printf("Degeri simdi 5 le 8 arasinda.\n");
break;
case 11:printf("Degeri simdi onbir.\n");
break;
default:printf("Tanimsiz degerlerden biri.\n");
break;
}
}
}
Simdiye kadar gordugumuz en buyuk komut olan "switch", aslinda kullanimi kolaydir. Ilk once, "switch" kelimesi ile baslar. Bunun arkasindan, parantez icinde bir deyim gelir. Bundan sonra, dilediginiz kadar 'case' komutlari, kume isaretleri arasinda yer alir. Her degeri sembolize eden 'case' satirlari, degiskenin degeri, iki nokta ust uste, ve bununla ilgili komutlardan olusur. Bizim ornegimizde, "kamyon" degiskeninin degeri 3 oldugunda, printf satiri, 'Degeri simdi uc' satirinin ekrana yazilmasini, saglar. Daha sonra yer alan 'break' komutu ise, switch in icinde yer alan diger komutlari islenmeden, switch den cikilmasini saglar. Bir giris noktasi bulunduktan sonra, satirlar bir 'break' komutuna rastlayincaya kadar, yada switch'in son kume isaretine varincaya kadar komutlar siradan islenir. "Kamyon" un degeri 5 e esit ise, program, case 5,6,7 den gecerek 8'de bulunan printf ve break komutlarini isler. Break komutu da, programi son kume isaretine getirir.Sayet degiskenin bir degerine karsilik gelen bir case yoksa, 'default:' isimli secenek secilir.
GOTO KOMUTU
main()
{
goto leave
printf("Bu satir hic yazilmayacak.\n");
leave:
}
Goto komutunu kullanmak icin, "goto" isminin yanina, atlamak istediginiz yerin sembolik ismini yazmaniz yeterlidir. "goto" ile bir dongunun icine atlamaniza izin yoktur, fakat bir dongunun disina atlayabilirsiniz. Ayrica bir fonksiyondan otekine de "goto" ile gecemezsiniz. Bazi kimseler, goto nun hicbir yerde kullanilmamasi gerektigini belirtiyorlar. Sayet, goto kullanimi ile, diger metodlara gore daha anlasilir bir program olusacaksa, goto yu kullanmaktan cekinmeyin. SONUNDA - ISE YARAYAN BIR PROGRAM
main() /* Santigrad'dan Fahrenheite */
{
int count; /* for degiskeni */
int fahr; /* fahrenheit degerini tutar */
int cen; /* Santigrat degerini tutar */
printf("Santigrad -> Fahrenheit karsilik tablosu\n ");
for (count=-2;count<=12;count=count+1)
{
cen = 10 * count;
fahr = 32 + (cen * 9) / 5;
printf(" C = %4d F = %4d ",cen,fahr);
if (cen == 0)
printf(" Suyun donma noktasi");
if (cen == 100)
printf(" Suyun kaynama noktasi");
printf("\n");
}
}
Bu program, santigrad ve fahrenheit derecelerin tablosunu yaratmaktadir. Birden fazla degisken kullanilan ilk programimizdir bu. Degisken taniminda, uc ayri satir kullanilmasi sayesinde, degiskenlerin yanina ne ise yaradiklarini da yazabiliriz.
Odev:
1. Isminizi ekrana 10 kere yazan bir program yaziniz. Bu programi 3 kere
yaziniz. Her seferinde ayri bir dongu metodu kullanarak..
2. Birden ona kadar sayan ve bu degerleri her satira bir tane olmak uzere
ekranda gosteren bir program yazin. Bu deger 3 e ve 7 ye esit olunca,
dilediginiz bir mesaji yazsin.
|