fonksiyonlar etiketine sahip kayıtlar gösteriliyor.
fonksiyonlar etiketine sahip kayıtlar gösteriliyor.

C Programlama Dizi Örnekleri

Örnek 1: 10 tamsayıyı 10 elemanlı bir diziye okuyup içlerinden negatif olanları negatif isimli bir diziye, pozitif olanlarını pozitif isimli diziye atan program.


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

using namespace std;
void yazdir(int[], int);
int main(int argc, char *argv[])
{
    int sayilar[10], pozitif[10], negatif[10];
    int poz=0, neg=0;
    cout<<"10 Sayi Giriniz: ";
    for (int i=0; i<10;i++)
    {
        cin>>sayilar[i];
        if (sayilar[i]>0) pozitif[poz++]=sayilar[i];
        else if (sayilar[i]<0) negatif[neg++]=sayilar[i];
    }
    cout<<"Girilen Sayilar: ";
    yazdir(sayilar,10);
    cout<<"Pozitif Sayilar: ";
    yazdir(pozitif,poz);
    cout<<"Negatif Sayilar: ";
    yazdir(negatif,neg);
    getch();
}
void yazdir(int a[], int boy)
{
     for (int j=0; j<boy;j++)
         cout<<a[j]<<" ";cout<<endl;
}
 
Örnek 2: Birincisi 3 karakterden oluşan, ikincisi 6 karakterden oluşan iki kelimeyi iki diziye okutuyoruz. İlk kelimenin tüm harflerinin ikinci kelimede olup olmadığını ekrana yazdıralım.

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

using namespace std;

int main(int argc, char *argv[])
{
    char birincikelime[3], ikincikelime[6];
    bool buldum=true;
    cout<<"Birinci Kelimeyi Giriniz: ";
    cin>>birincikelime;
    cout<<"Ikinci Kelimeyi Giriniz: ";
    cin>>ikincikelime;
    for (int i=0; i<3&&buldum;i++)
    {
        buldum=false;
        for(int j=0; j<6&&!buldum;j++)
        if (birincikelime[i]==ikincikelime[j]) buldum=true;
    }
    if (buldum) cout<<birincikelime<<" kelimesinin tum harfleri "<<ikincikelime<<" kelimesinde bulunmustur.";
    else cout<<birincikelime<<" kelimesinin tum harfleri"<<ikincikelime<<" kelimesinde bulunamamistir.";

    getch();
}


C Programlama getchar(), putchar(), getche() ve getch() Fonksiyonları

C Programlama 


C Programlama Dilinde klavyeden girilen verileri okutmak için getchar(), putchar(), getche() ve getch() kütüphane fonksiyonlarından birini kullanabiliriz. Şimdi, bu fonksiyonları sıra ile incelemeye çalışalım.

getchar() ve putchar() Fonksiyonları : Klavye arabelleğini kullanan fonksiyonlardan biridir. Herhangi bir parametreye sahip değildir. Fonksiyon her çağrıldığında kullanıcıdan klavyeden girdiği ilk harfi alır ve geri döndürür. Klavye arabelleğini kullanan bir fonksiyon olması nedeniyle döndürme işleminden önce kullanıcıdan Enter tuşuna basmasını bekler. stdio.h isimli kütüphane dosyasında tanımlanmışlardır. putchar fonksiyonu ise, ekrana tek bir karakter yazar. putchar fonksiyonunun parametresi int bir değerdir, ancak bu değer fonksiyon tarafından unsigned char bir değere çevrilir. Eğer işlem başarılı olursa, putchar fonksiyonu parametre olarak verilen karakteri ekrana yazdırır.

Klavye Arabelleği Kavramı (Keyboard Buffer) : İşletim Sistemlerinde klavyeden yazılan harflerin depolandığı arabellektir. Kullanıcıdan metin girişi istendiğinde yazılan metin bu bellekte tutulur. enter tuşuna basılıncaya kadar programımız kullanıcı girişine tepki vermez. enter tuşuna basıldığında ise bellek boşaltılır. Biz klavyeden bir bilgi girdiğimizde aslında standart I/O dosyasına yazmış oluyoruz. yani bizim girdi ve çıktı olarak bildigimiz klavye, ekran aslında birer input ve output dosyalarını temsil etmektedir. C Programlama Dilinde bunları stdin dosyası ve stdout dosyası denir. stdin dosyasının varsayılan değeri klavye, stdout dosyası ise ekranı temsil eder. C Programlama Dili fonksiyonlarının büyük çoğunluğu bu şekilde çalışmaktadır.

Örnek getchar() ve putchar() Fonksiyonları
#include <stdio.h>

int main(int argc, char** argv)
{
    char karakter;
    //klavyeden bir karakter oku ve enter tusunu bekle//
    printf("bir karakter giriniz ve enter tusuna basiniz:");
    karakter=getchar();
    printf("girilen karakter:");
    //okunan karakteri ekrana yazdir//
    putchar (karakter);
    return 0;
}

C Programlama scanf() Fonksiyonu

C Programlama 

scanf() Fonksiyonu : Programların çalışma esnasında veri girişine ihtiyaç duyabilirler. Kullanıcıların girdiği verileri işleyip değerlendirmemize yarayan fonksiyonlarda giriş fonksiyonları adı verilir. Örneğin printf fonksiyonu nasıl verinin ekrana yazdırılmasını sağlayan bir çıkış fonksiyonu ise scanf de printf fonksiyonunuda bunun tam tersi olarak düşünebiliriz.

Resimde görüldüğü gibi scanf fonksiyonunun ilk parametresi bir karakter disidir. Bu parametre kullanıcıdan hangi veri girişlerinden kaç tane beklendiğini derleyiciye anlatır. %d ifadesi bizden bir tamsayı istendiğini belirtirken, %d %f %d ifadesi sırasıyla bir tamsayı, bir ondalık sayı ve bir tamsayı olmak üzere üç adet değer istendiğini ifade eder. scanf fonksiyonunun sonraki parametreleri ise değerlerin depolanacağı değişkenlerin bellek adresleri olmalıdır.

Örnek scanf Fonksiyonu 
#include <stdio.h>

int main(int argc, char** argv)
{
    int s1,s2;
    printf("2 adet sayi girisi yapiniz:");
    scanf("%d %d", &s1, &s2);
    printf("girilen sayilar:%d ve %d", s1,s2);
    return 0;
}
Programın Çıktısı

C Programlama printf() Fonksiyonu

C Programlama 

printf() Fonksiyonu : Standart C kütüphanesinin bir parçası olan printf() C Programlama Dili'nin genel amaçlı çıktı alma fonksiyonudur. <stdio.h> kütüphanesinde kullanılan en önemli elemanlardır. Ekrana istediğimiz verileri yazmak içim kullanılan bir fonksiyondur. printf() fonksiyonu karakter dizisinden oluşan tek bir değeri veya farklı değişken ve sabitlerden oluşan birden fazla değeri ekrana yazdırmak için kullanılabilir. 

printf() fonksiyonunu kullanırken yazdırmak istediğimiz değeri daha düzgün göstermek maksatlı bazı yardımcı komutlar (Kontrol karakterleri) vardır.


\n
yeni satıra geç
\b
geri alma
\r
satırbaşı
\t
1 (tab) ileri hareket
\f
sayfa ilerletme
\v
dikey durak
\a
beep sesi çıkart
\'
tek tırnak
\"
çift tırnak
\?
soru işareti
\\
ters slash
\ddd
sekizli kodu ddd (1, 2 veya 3 adet sekizli rakam)
\xhh
onaltılı kodu hh (herhangi bir sayıda onaltılı rakam)