Aylık Arşiv: Ekim 2010

C’de Diziler (Array)

C dilinde diziler çok kullanışlıdır. Diziler, aynı isim ve farklı indis numarası ile verileri tutabildiğimiz değişkenlerdir. Aynı tür verilerle çalışırken büyük kolaylık sağlar. Diziyi kaç elemanlı tanımlamışsak, o kadar değişken tanımlamışız gibi düşünülebilir.

Dizileri normal bir değişken gibi tanımlarız. Önce tipini, ardından ismini, son olarak da isminin yanına köşeli parantez içinde eleman sayısını yazarız. Örnek olarak:

int dizi[10]; //10 elemanlı dizi tanımladık.
int dizi[10] = {0}; //10 elemanlı dizi tanımlayıp, tüm elemanlarını "0"a eşitledik.
int dizi[] = {0, 1, 2, 3, 4}; //Dizi tanımlarken eleman sayısını belirtmedik, fakat diziye 5 adet değer atadığımız için dizi otomatik olarak beş elemanlı tanımlandı.

Sonraki Sayfa »

Share

do – while ile girilen beş sayının ortalamasını hesaplama

#include <stdio.h>
#include <conio.h>

int main()
{
    int sayac = 0;
    int toplam = 0;
    int puan = 0;

    do
    {
        printf("Puan girin : ");
        scanf("%d", &puan);

        toplam = toplam + puan;
        sayac++;

        }

        while(sayac < 5);

        printf("\n-------------------\n\nSinif ortalamasi : %.2f", float(toplam)/5.0);

        getch();
        return 0;
}

Kodu inceleyecek olursak, ilk önce değişkenlerimizi tanımladık. “sayac” değişkeni döngünün kaç kez döndüğünü kontrol ediyor. “toplam” değişkeni, girilen sayıların toplamını tutuyor. “puan” değişkeni ise girilen puanları “scanf” ile aldığımız değişken. Sonraki Sayfa »

Share

do – while döngüsü

Bu yazıda do – while döngüsünden bahsetmeye çalışacağım. do – while, while döngüsüne benzer, fakat koşul ile çalışacak kodların yeri farklıdır. Yani yazım şekli şöyledir:

do{
//calisacak kodlar
}
while(kosul);

Burada, dikkat edilmesi gereken while’dan sonra “;”ün unutulmamasıdır. Örneğin girilen beş sayının ortalamasını alan bir kod yazalım:

#include
#include

int main()
{
    int sayac = 0;
    int toplam = 0;
    int puan = 0;

    do
    {
        printf("Puan girin : ");
        scanf("%d", &puan);

        toplam = toplam + puan;
        sayac++;

        }

        while(sayac < 5);

        printf("\n-------------------\n\nSinif ortalamasi : %.2f", float(toplam)/5.0);

        getch();
        return 0;
}

Kodu kısaca inceleyecek olursak, ilk önce değişkenlerimizi tanımladık. “sayac” değişkeni döngünün kaç kez döndüğünü kontrol ediyor. “toplam” değişkeni, girilen sayıların toplamını tutuyor. “puan” değişkeni ise girilen puanları “scanf” ile aldığımız değişken.

do’nun içini incelersek;
İlk önce kullanıcıdan puan girmesi isteniyor. Girilen puan “puan” isimli değişkene aktarılıyor. Ardından, “toplam” değişkenine girilen puan ekleniyor, tekrar “puan” değişkenine atanıyor. “sayac” değeri bir arttırılıyor. Daha sonra koşul kontrol ediliyor. “sayac” değeri 5’ten küçük olduğu sürece, yani “0,1,2,3,4” değerlerinde olmak üzere döngü beş kez dönüyor. Ardından “sayac” değeri 5 olduğunda 5<5 olmadığı için döngüden çıkılıyor.

Sıra geldi sonucu ekrana bastırmaya. “printf”i incelersek; ilk olarak “\n” ile bir satır aşağı indik. “————-” şeklinde girilen değerlerle sonucu ayırmak için bir çizgi çektik. “\n\n” ile iki satır daha aşağı indik. “%.2f” ile, bastırılacak değişkenin “float” tipinde olduğunu, ve “f”ten önce gelen “.2” ile de virgülden sonra iki basamak bastırmak istediğimizi belirttik.

Gelelim bastırılacak değişkenin hesaplanmasına: öncelikle elde etmek istediğimiz sonuç “float” tipinde olduğu için, bu tipi sadece float’u float’a bölerek elde ederiz. Bu nedenle “float(toplam)” ile int tipinde olan “toplam” değişkeni float’a dönüştürüldü. “5.0” yazmamızın nedeni de yine float olması. “5” yazsaydık bu integer olarak kabul edilecekti. Sonuç olarak float’a dönüştürdüğümüz “toplam” değişkenini yine float olan “5.0” a böldüğümüzde sonucumuzu elde ederiz, bunu da “%.2f” ile ekrana basarız.

Share

switch – case yapısı

Merhaba. Uzun bir aradan sonra bloga yazmaya fırsat buldum. Hemen konuya gireyim. Bu yazımda switch – case yapısından bahsedeceğim.
“Switch – case”i, “if – else if – else” yapısına benzetebiliriz. if ile yapacağımız şu işlemi:

if(x == 1)
{
printf("Bir");
}
else if(x == 2)
{
printf("Iki");
}
else
{
printf("Yanlis giris");
}

switch – case ile şu şekilde yazabiliriz: Sonraki Sayfa »

Share