ForumSevgisi.Com

  ForumSevgisi.Com > ForumSevgisi Webmaster Bölümü > Webmaster Genel

Webmaster Genel Webmasterlıkla ilgili Her şeyin Paylaşıldığı Bölüm.


c++ dev-12

Webmasterlıkla ilgili Her şeyin Paylaşıldığı Bölüm.


c++ dev-12

ForumSevgisi Webmaster Bölümü Kategorisinde ve Webmaster Genel Forumunda Bulunan c++ dev-12 Konusunu Görüntülemektesiniz,Konu İçerigi Kısaca ->> c++ dev-12 8.STANDART GİRDİ-ÇIKTI KOMUTLARI Bu komutlardan en önemli iki tanesini görelim. Bu iki komutun bulunduğu include dosyası dır. Yani ...

Kullanıcı Etiket Listesi

Yeni Konu aç  Cevapla
LinkBack Seçenekler Stil

Okunmamış 19 Mart 2015, 00:00   #1
Durumu:
Çevrimdışı
IDurDurBeni
Düşmanlara inat Mücadeleye devam...
IDurDurBeni - ait Kullanıcı Resmi (Avatar)
Arastirmaci
Üyelik tarihi: 12 Mart 2015
Mesajlar: 164
Konular: 95
Beğenilen: 49
Beğendiği: 64
www.forumsevgisi.com
Standart c++ dev-12

c++ dev-12

8.STANDART GİRDİ-ÇIKTI KOMUTLARI

Bu komutlardan en önemli iki tanesini görelim. Bu iki komutun bulunduğu include dosyası dır. Yani bu komutları kullanabilmek için programın başına
Kod:
#include satırını eklemek gerekir

printf(yazılacaklar);
Printf komutu ekrana bir şeyler yazdırmak için kullanılır. Yazılacaklar tırnak işaretleri içerisinde belirtilir.
örnek:
Kodrintf("Merhaba! Bu benim ilk komutum!");Bu komut ekrana Merhaba! Bu benim ilk komutum! yazdırır.
Sembolleri yazdırmak içinse aşağıdaki yol izlenir.
örnek:
Kod:int sayi1; float sayi2; char karakter1; printf("%d",sayi1); //sayi1 bir int tipi değişken olduğu için %d operatörü kullanılır. printf("%f",sayi2); //sayi2 bir float tipi değişken olduğu için %f operatörü kullanılır. printf("%c",karakter1); //karakter1 bir char tipi değişken olduğu için %c operatörü kullanılır. //Hepsini bir kerede yazdırmak içinse: printf("%d %f %c",sayi1,sayi2,karakter1); ///Aralara istenilen karakterler eklenebilir. Örnek: printf("sayı 1 = %d sayi 2 = %f karakter 1 = %c",sayi1,sayi2,karakter1); ///printf komutu yazmaya en son kaldığı yerden başlar. //Bir alt satıra geçmek için n karakteri kullanılır. (printf("Merhaba!n Alt satıra böyle geçilir.");scanf(girilenler);
scanf komutu kullanıcıdan bilgi almak için kullanılır. Alınan bilgiler değişkenlere aktarılır. Tırnak işaretleri içinde hangi tip değişken alınacağı belirtilir ve daha sonra değişken isimleri yazılır.
örnek:
Kod:int sayi1; scanf("%d",&sayi1);Bu komut programı durdurur. Kullanıcının "Enter" tuşuna basmasını bekler. "Enter" tuşuna basıldıktan sonra, klavyeden girilen değer sayi1 değişkenine aktarılır. Burada, sayi1"in önündeki & işareti atama operatörüdür.

Diğer tiplerin okunması aşağıdaki gibidir.

örnek:
Kod:int sayi1; float sayi2; char karakter1; scanf("%d",&sayi1); //sayi1 bir int tipi değişken olduğu için %d operatörü kullanılır. scanf("%f",&sayi2); //sayi2 bir float tipi değişken olduğu için %f operatörü kullanılır. scanf("%c",&karakter1); //karakter1 bir char tipi değişken olduğu için %c operatörü kullanılır. Hepsini bir kerede yazdırmak içinse: scanf("%d %f %c",&sayi1,&sayi2,&karakter1);

————————————————————————–
9. İLK C PROGRAMIMIZ

Şimdi de, ilk baştaki örnek programı c koduna çevirelim. Programımız klavyeden iki sayı girmemizi ve bunların toplamını ekrana yazdırmayı amaçlıyordu
Kod:include main( ) { int sayi1,sayi2,toplam; printf("Lütfen birinci sayıyı giriniz!n"); scanf("%d",&sayi1); printf(" Lütfen ikinci sayıyı giriniz!n"); scanf("%d",&sayi2) toplam=sayi1+sayi2; //buradaki = işareti atama operatörüdür. İşaretin sağındaki değer soldaki //değişkene aktarılır. printf("Girdiğiniz iki sayının toplamı = %d",toplam); } Şimdi programı inceleyelim:
#include deyimiyle standart girdi-çıktı komutlarının bulunduğu dosyayı kullanacağımızı belirttik.
Sadece main( ) fonksiyonunda kullanılmak üzere üç adet int tipinden değişken tayin ettik.(lokal değişken)
Birinci ve ikinci sayıları girmesi için standart girdi-çıktı komutlarını kullandık.

toplam=sayi1+sayi2; satırıyla toplam değişkenine sayi1 ve sayi2"nin o anki değerlerinin toplamını aktardık. Yani eğer sayi1 için kullanıcı 10, sayi2 için de 20 girseydi toplam = 10 + 20 yani 30 olacaktır.
printf("Girdiğiniz iki sayının toplamı = %d",toplam); son olarak toplam değerini ekrana aktardık.
Bu programda akla takılabilecek iki soru:
1- n işaretlerini niye kullandık?

2-// işaretleri neyi belirtir.

n işaretini kullanmasaydık program printf komutuyla yazılan herşeyi yan yana yazacak ve hoş bir görüntü oluşmayacaktı. Arada sırada aşağı satıra geçmek iyidir.

// işaretleri açıklama satırları koymak için kullanılır. Yani derleyici bu işareti gördüğü an, o satırdaki kalan karakterlerin bir komut belirtmediğini anlar. Bu kodun aralarına açıklamalar koymak için kullanılır. Eğer belli bir bölümün işleme konmamasını dilerseniz her satırın başına // işaretini koymaktansa, bölümün en başına /* işareti koyup bölümün sonuna da */ işareti koyarak o bölümü işlem dışı bırakabilirsiniz. Uzun açıklamalar için bu yöntem kullanılır.

Program yazarken unutulmaması gereken en önemli şey noktalı virgüldür. C"de her komutun bitişinde noktalı virgül konulması mecburidir. Burada dikkat edilecek husus ise, komutun komple bitmiş olmasıdır.
————————————————————————–
10. BAZI GEREKLİ KOMUTLAR
Şimdi de bazı gerekli komutlar hakkında bilgi verebilirim.

clrscr();
Bu komut ekrandaki yazılmış olan bütün karakterleri siler ve imlecin konumunu sol üst köşeye taşır. Yani bu komuttan sonra printf komutuyla yazılacak bir yazı sol üst köşeden başlayacaktır.

getchar();
Bu komutun kullanılabilmesi için include satırlarına yazılması gerekenler

#include

Bu komut bir tuşa basıncaya kadar bekleme sağlayacaktır. Böylece programın son çıktıyı göstermeden kapanmasını engellemiş olursunuz. Eğer hangi tuşa basıldığını öğrenmek istiyorsanız bunu fonksiyonun kendisinden öğrenebilirsiniz. Çünkü bu fonksiyon geri dönüş değeri olan bir fonksiyondur. Geri dönüş değeri olan bir fonksiyon bir değişken gibi değer içerir. Fakat fonksiyona yeni değer aktarması yapılamaz. Örnek:
Kod:char karakter1; karakter1=getchar( )

Bu komutlardan sonra karakter1"in değeri klavyeden basılan tuşun karakter değeridir. Mesela, eğer "A" tuşuna basılmışsa değeri 65 olur. Çünkü 65"in karakter karşılığı A harfidir.

Eğer burada printf("%c",karakter1); komutu kullanılırsa ekrana A harfi yazılır. Fakat printf("%d",karakter1); komutu kullanılırsa ekrana A"nın tamsayı değeri olan 65 yazılır.
11.KOŞULLANDIRMA DEYİMLERİ

Programlamadaki ana unsur elbette ki "eğer" ifadesidir. "eğer" bütün programların yapıtaşıdır. Çünkü bilgisayar "eğer"lerle çalışmaktadır. C dilinde karşılaştırma yapmak için if- else deyimleri sıklıkla kullanılır. Kullanımı şöyledir:
Kod:if ( değer1 karşılaştırma operatörü değer2 ) Eğer doğruysa şunları yap… else Eğer yanlışsa şunları yap…Karşılaştırma operatörleri şunlardır:

Kod:!= eşit değil mi? = = eşit mi? < küçük mü? > büyük mü? <= küçük – eşit mi? >= büyük – eşit mi? = işareti karşılaştırma operatörü değil, atama operatörüdür. == işareti karşılaştırma operatörüdür.Şimdi gerçek bir kod örneği verelim.

Kod:int sayi1; if ( sayi1==10) printf("sayi1"in değeri 10"dur"); else printf("sayi1"in değeri 10 değildir.");Eğer birden fazla işlem yapılacaksa köşeli parantezler içine alınır

Kod:char karakter1; if ( karakter1=="A")//*** { printf("karakter1"in sayısal değeri 65"dir"); printf("karakter1"in karakter değeri A harfidir"); } else { printf("karakter1"in sayısal değeri 65 değildir"); printf("karakter1"in karakter değeri A harfi değildir"); } İstenilirse else kullanılmayabilir. Doğru olmadığı durumda ekstra bir şeye gerek yoksa kullanmamak daha iyidir.

Not: "A" yerine A yazamayız. Çünkü eğer öyle yaparsak derleyici A"yı bir değişkenmiş gibi yorumlayacaktır. Öyle bir değişken yoksa hata verir. Eğer varsa o değişkenin değeri ile karşılaştırma yapar. Demek ki tek tırnak işaretleri, içerisindekini karakter olarak yorumlamak için kullanılır ve yalnızca bir karakter için kullanılır. Çift tırnak işaretleri ise içerisinde birden fazla karakter olanlar için kullanılır. Bu konu string"ler bölümünde tafsilatlı olarak anlatılacaktır.
————————————————————————–

12.Döngüler

Daha önce, taslak hazırlama bölümünde, döngünün ne olduğuna kısaca değinmiştik. Döngü, tekrar edilecek işlemlerin oluşturulmasında kullanılan bir yöntemdir. C"de iki çeşit döngü vardır.Bunlar for döngüsü ve do-while döngüsüdür.

for döngüsü:
Bu döngünün kullanımında en azından bir sayaç gerekir. Sayaç genelde tamsayı bir değişken olarak seçilir. Bir örnek verip inceleyelim.
Kod:int sayac; for (sayac=1;sayac<10;sayac++) yapılacak işlemlerBu döngüyü derleyici şu adımlarla yorumlar.
1. sayac değişkenine ilk değer olarak 1 verir.
2. sayac değişkeninin 10"dan küçük olup olmadığını test eder.
2.a. Eğer küçükse yapılacak işlemleri yapar.
2.b. Eğer küçük değilse, yani eşit veya büyükse "5" numaralı adıma gider.
3. sayac değişkenine bir eklenir. (sayac++ komutu bu değişkeni 1 arttır demektir)
4. Döngünün devam etmesi için "2" numaralı adıma geri döner.
5. Döngü bitmiştir. Programa döngünün dışından, kaldığı yerden, devam eder.

Kod:for( ilk değer atama; karşılaştırma; değer değiştirme ) İŞLEMLER….

İlk değer atamada istenilen sayıda değişken için başlangıç değeri verilebilir. Karşılaştırma bölümünde o bölgedeki lokal değişkenler veya global değişkenler karşılaştırılabilir. Döngünün bir dahaki adımında karşılaştırma değerlerinin değiştirilmesi, değer değiştirme bölümünde olur. Yapılacak işlemler bölümünde bir değer değiştirme de elbette döngüyü etkileyecektir. Daha kısa veya uzun veya sonsuz döngü haline sokabilecektir. Buna dikkat edilmesi gerekir. İşlemler bölümünde birden fazla işlem varsa, işlemler köşeli parantezler içine alınır.

do-while döngüsü:
Bu döngü de kendi arasında iki çeşittir. Birincisi:

Kod:do { yapılacak işlemler ve belirlenen sayaçta değer değiştirme; } while ( karşılaştırma);Bu döngü çeşitinde sayacı arttırmak için gerekli kod yapılacak işlemler bölümüne yazılır. Bu kod gayet açıktır. Derleyici bu kodu aşağıdaki şekilde yorumlar.
1. Yapılacak işlemleri yapar.
2. Karşılaştırma bölümündeki işlemi yapar.
2.a. Eğer karşılaştırma doğruysa "1" numaralı adıma döner.
2.b. Eğer karşılaştırma yanlışsa döngü biter

İkincisi:
Kod:while ( karşılaştırma) { yapılacak işlemler ve belirlenen sayaçta değer değiştirme; } Bu ikinci yöntem birincisine çok benzemekle birlikte farklıdır.. Derleyici bu kodu aşağıdaki şekilde yorumlar
1. Karşılaştırma bölümündeki işlemi yapar.
1.a. Eğer karşılaştırma doğruysa "2" numaralı adıma gider.
1.b. Eğer karşılaştırma yanlışsa "4" numaralı adıma gider.
2. Yapılacak işlemleri yapar.
3. "1" numaralı adıma geri döner.
4. Döngü biter

Aralarındaki tek fark şudur. Birinci örnekte, işlemler mutlaka, en az bir kere yapılır. Çünkü döngü, yapılacak işlemlerle başlar. İkinci örnekteyse ilk önce karşılaştırma yapıldığı için, döngü işlemleri en az bir kere yapılır diyemeyiz. Çünkü karşılaştırma yanlışsa döngü bitecektir.
Şimdi bunlara birer örnek verelim.
Kod:int sayac; sayac=1; do { printf("%dn",sayac); sayac=sayac*2; } while ( sayac<=128);———————————————————————
Kod:int sayac; sayac=1; while (sayac<=128) { printf("%dn",sayac); sayac=sayac*2; } Bu iki program kodu da, çalıştırıldığı zaman ekrana alt alta 2"nin kuvvetlerini 128"e kadar yazdırır.
"1 2 4 8 16 32 64 128" değerleri alt alta ekranda belirir.

————————————————————————–
13.DÖNGÜLERDE KULLANILAN İKİ ÖZEL DEYİM

Döngülerden çıkmak, ya da döngüye bir sonraki adımdan devam etmek bazen çok gerekli olur. Bu gibi durumlarda imdadımıza continue; ve break; komutları yetişir. Adlarından da anlaşılabileceği gibi, continue; komutu döngüyü bir sonraki adıma yönlendirir. break; komutu ise döngüyü yarıda bırakır.

————————————————————————–
14.SWITCH-CASE DEYİMİYLE KOLAY KOŞULLANDIRMA

Ard arda bir sürü if-else kullanmak bazen karmaşıklığa yol açabilir. Bunun yerine göze daha hoş görünen bir koşullandırma yöntemi kullanılmalıdır. switch-case
switch-case �de karşılaştırma operatörü yoktur. Sadece tam sayılar için kullanılır ve tam sayıların farklı değerlerinde ne olacağını bir liste halinde belirtir. Örnek:
Kod:int sayi1; switch ( sayi1 ) { case 0:yapılacak işlemler; break; case 1: yapılacak işlemler; break; …………. …………. case 17: yapılacak işlemler; break; } Görüldüğü gibi sayi1 değişkeninin değerleri için ayrı ayrı karşılaştırma deyimi yazmaya gerek kalmadı. Bu yöntem bu gibi durumlarda büyük kolaylık sağlar. Şimdi bu yöntemi derleyicinin nasıl yorumladığına bakalım

1. Derleyici karşılaştırılacak tam sayı değer içeren değişkenin �sayi1� değişkeni olduğunu öğrenir.
2. Listedeki case değerlerini tek tek karşılaştırarak, sayi1 değerine eşit bir case satırı gördüğünde o satırdaki işlemleri yapar. break; komutu kullanılmazsa o satırdan sonra break; komutu gelene kadar bulunan bütün işlemler yapılır. Yani, listenin alt kısmında ne varsa yapılır. case dikkate alınmadan!

Unutulmaması gereken bir başka özellik, karşılaştırılacak değişkenin sadece tam sayı olması gereğidir. char, int ya da başka bir tamsayı değişken tipi kullanılabilir.
————————————————————————–
15.DİZİLER

Bazı programlarda çok sayıda ve sıralı değişkenler kullanmak ve bunlara özel indis numaralarıyla ulaşmak isteyebilirsiniz. Bütün programlama dillerinde de olduğu gibi, C dilinde bu işi diziler yardımıyla yapabilirsiniz. Örneğin, bir küpün koordinatlarını kaydetmek için 8 adet koordinat gerekir. Her koordinat için 3 adet float tipinden koordinat verisi gerekir. Bunun için ayrı ayrı 24 tane değişken tanımlamak çok hantaldır. Bunun yerine 3 tane dizi tanımlarız:
Kod:int x[8]; int y[8],z[8]; Bu diziler sayesinde her koordinata ulaşmak kolaylaşır. Çünkü istediğimiz koordinata ulaşmak için indis numarasını kullanmamız yeterli olacaktır.
Dizilerin önemli özelliği, indislemenin 0�dan başlayarak tanımlamada belirtilen sayının bir eksiğine kadar devam etmesidir. Yani dizi[2] olarak tanımlanan dizinin 2 elemanı vardır. {0 ve 1}

Şimdi, dizileri kullanan bir örnek program verelim
Kod:int dizi[8]; int sayac; dizi[0]=5; printf(�%dn�,dizi[0]); for (sayac=1;sayac<8;sayac++) { dizi[sayac]=dizi[sayac-1]*5; printf(�%dn�,dizi[sayac]); } 16.FONKSİYONLAR

C dilinin en can alıcı kısımlarından biri de, şüphesiz fonksiyonlardır. Eğer buraya kadar olan kısmı okuduysanız, fonksiyonun ne olduğu hakkında ufak bir bilgi edinmişsinizdir. Fonksiyon programlayıcın yapacağı işlemleri gruplandırmasını sağlar. Bu gruplandırma sayesinde onlara ulaşım kolay olur ve program geliştirilmesi de kolaylaşır. Bu söylenileni daha önce BASIC dilini kullananlar daha iyi anlayacaktır. BASIC dilinde böyle bir gruplandırma söz konusu değildir. Bütün işlemler alt alta tek bir liste halinde yazılır. Bu dille uzun programlar yazmak o kadar zordur ki, insanı programlamadan soğutabilir. Neyse, konumuz BASIC dilinin dezavantajları değil elbette

C dilinde program başlatıldığında hemen devreye girecek olan fonksiyon, main ( ) fonksiyonudur. Eğer başka fonksiyonlar tanımlamak isterseniz ilk olarak fonksiyonun ne yapmak istediğini belirtmeniz gerekir. Örnek olarak, bir satırı komple * karakteri ile dolduran bir fonksiyon yapalım. Fonksiyonun ismi yildiz_doldur olsun. (Not: 1 satıra 40 adet karakter sığar)
Kod*** yildiz_doldur( ) { int i=1; for( i=1;i<=40;i++) printf("*"); } Fonksiyonun başındaki **** ifadesi bu fonksiyonun geriye bir değer döndürmeyeceğini belirtir. Yani getch() fonksiyonunun geriye döndürdüğü bir değer gibi bir değere sahip değildir. Eğer bir fonksiyonun geriye değer döndürmesini istiyorsak döndüreceği değerin tipini buraya yazarız. **** ise bir değer döndürmeyen fonksiyonlarda kullanılır.
Bu fonksiyonu bu şekilde tanımladıktan sonra fonksiyon program başladığı gibi işlemleri faaliyete geçirmeyecektir. Çünkü bu fonksiyonu çalıştırmak için bilgisayara bunu yapmasını söyleyecek komut gerekir. Bu komutu istenilen bir fonksiyonun içine ekleyebilirsiniz. Bizim örneğimizi ana fonksiyonun içine yerleştirelim. Böylece program çalıştığı zaman ilk olarak 1. satır * karakteriyle dolacaktır. Programın tam metni şu şekilde olmalıdır.
Kod:#include **** yildiz_doldur( ) { int i=1; for( i=1;i<=40;i++) printf("*"); } **** main( ) { char kar; clrscr( ); yildiz_doldur(); fscanf("%c",&kar); } Bu program ekranı temizler. Birinci satırı * karakterleriyle doldurur. "Enter" tuşuna basılıncaya kadar bekler ve biter.
Fonksiyonları bir yerde çağırabilmek için, fonksiyonun o yerden önce mutlaka tanımlanmış olması gerekir. Örneğin, main fonksiyonuyla yildiz_doldur fonksiyonlarının yerlerini değişitirseydik program fonksiyonu bulamayacaktı. Eğer iki fonksiyon da birbirini çağırıyor ya da sıraları önemsememek istiyorsanız fonksiyonu ayrıca tanımlayabilirsiniz. Örnek üzerinde gösterelim:
Kod:#include **** yildiz_doldur( ); **** main( ) { char kar; clrscr( ); yildiz_doldur(); fscanf("%c",&kar); } **** yildiz_doldur( ) { int i=1; for( i=1;i<=40;i++) printf("*"); }
#include satırından hemen sonra fonksiyonu olduğu şekliyle tanımlamak suretiyle programın bu halde de çalışmasını sağladık. Çünkü artık yildiz_doldur fonksiyonu, main fonksiyonundan önce tanımlanmıştır.

Fonksiyonların önemli bir özelliği, lokal değişkenlere sahip olabilmesidir. Yani bir fonksiyonun içinde tanımlanmış bir değişkene, diğer fonksiyonlarla hiçbir şekilde ulaşamazsınız. Bunun sağladığı en büyük yarar gereksiz değişken kullanımını engellemektir. Aynı isimde iki değişkenin, iki ayrı fonksiyonda kullanılması bu şekilde mümkündür. Bu işlem kesinlikle hata vermez ve programlamada sık kullanılan bir biçimdir.

Eğer bütün fonksiyonlar içerisinde de geçerli değişkenler tanımlamak isterseniz, bu tanımlamayı fonksiyonların dışında yapmanız gerekir. Tanımlama yapıldığı yerden sonraki tüm fonksiyonlarda tanımlanan global değişken kullanılabilir. Çok gerekmedikçe, global değişken kullanımı tavsiye edilmez.

Eğer bir fonksiyondan çıkmak isterseniz return komutunu kullanabilirsiniz. Fonksiyonda bu komut görüldüğü an fonksiyondan çıkılır ve programa kaldığı yerden devam edilir.Şu şekilde kullanılır:

return;
Alıntı ile Cevapla
Yeni Konu aç  Cevapla

Etiketler
dev12

Seçenekler
Stil


Saat: 10:21

Forum Yasal Uyarı
vBulletin® ile Oluşturuldu
Copyright © 2016 vBulletin Solutions, Inc. All rights reserved.

ForumSevgisi.Com Her Hakkı Saklıdır
Tema Tasarım:
Kronik Depresif


Sitemiz bir 'paylaşım' sitesidir. Bu yüzden sitemize kayıt olan herkes kontrol edilmeksizin mesaj/konu/resim paylaşabiliyorlar. Bu sebepten ötürü, sitemizdeki mesaj ya da konulardan doğabilecek yasal sorumluluklar o yazıyı paylaşan kullanıcıya aittir ve iletişim adresine mail atıldığı taktirde mesaj ya da konu en fazla 48 saat içerisinde silinecektir.

ankara escort, izmir escort ankara escort, ankara escort bayan, eryaman escort, bursa escort pendik escort, antalya escort,