1. Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha Fazla Bilgi.

C'ye Giriş

'Bilgisayar Programlama' forumunda Powers tarafından 30 Eylül 2012 tarihinde açılan konu

  1. Powers

    Powers Administrator Site Yetkilisi

    C'ye yeni başlayanlar için C programının temel mantığını oturtmanız amacıyla bazı kodlar vereceğiz. Bu küçük programcıkların hepsi denenmiş ve çalışmaktadır.

    C'de programlar genel olarak aşağıdaki gibi yazılmaktadır.
    Kod:
    /*genel gösterim*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    /*değişkenler buraya*/     
    clrscr();
    /*program buraya*/	  
    
    getch();
    }
    /*fonksiyonlar buraya*/
    
    Ekrana "Merhaba Dünya" yazdıralım
    Kod:
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    clrscr();
    printf("Merhaba Dunya\n");
    getch();
    }
    
    \n ile alt satıra inildiğini görelim
    Kod:
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    clrscr();
    printf("C'yi ogrenmeye karar verdim\nArtik geri donus yok\nCok inatciyimdir.(!)");
    getch();
    }
    
    Ekrana tam sayı yazdıralım
    Kod:
    /*Tam sayı yazdırma*/
    #include <stdio.h>
    main()
    {
        int a;
        a=10;
        printf("a nin degeri %d\n",a);
    }
    
    
    İki tane sayı girip bu sayıları toplayalım. Scanf ile sayı girildiğini görelim.
    Kod:
    /*Girilen iki sayıyı toplayan program*/
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    main()
    {
    float a,b;
    int top;
    clrscr();
    printf("Toplanacak 2 sayi girin\n");
    scanf("%f %f",&a,&b);
    top=a+b;
    printf("sonuc %d",top);
    getch();
    }
    
    Girilen iki sayıyı birbirinden çıkaralım
    Kod:
    /*Girilen iki sayıyı bir birinden çıkaran program*/
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    main()
    {
    float a,b;
    int cik;
    clrscr();
    printf("Cikarilacak 2 sayi girin\n");
    scanf("%f %f",&a,&b);
    cik=a-b;
    printf("sonuc %d",cik);
    getch();
    }
    
    3 sayı girip bunlardan ikisini toplayıp üçüncüye bölelim
    Kod:
    /*Girilen 2 sayıyı toplayıp girilen sayıya bölen program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
          
    int a,b,c,top;
    float bol;
    clrscr();
    printf("Toplanacak 2 sayi girin\n");
    scanf("%d %d",&a,&b);
    printf("Bolecek sayiyi girin\n");
    scanf("%d",&c);
    top=a+b;
    bol=(float)top/c;
    printf("sonuc %f",bol);
    getch();
    }
    
    Girilen sayının 2 katını alalım
    Kod:
    /*Girilen sayının 2 katını alan program
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int m,n;
    clrscr();
    printf("2 kati alinacak sayi girin\n");
    scanf("%d",&m);
    n=2*m;
    printf("%d'nin iki kati %d'dir.",m,n);
    getch();
    }
    
    Programda belirlemiş olduğumuz bir sabiti ekrana yazdıralım
    Kod:
    /*Girilen bi sabiti yazdırma*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    float pi;
    const float pi=3.1415;
    clrscr();
    printf("%f",pi);
    getch();
    }
    
    ++ komutunun kullanımını görelim
    Kod:
    /*++ komutu ile sayı nasıl artırılır*/
    
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int m,n,a,b;
    clrscr();
    printf("2 sayi girin\n");
    scanf("%d%d",&m,&n);
    a=m++; /*once atama yapilir*/
    b=++n; /*once artirma yapilir*/
    printf("%d,%d",a,b);
    getch();
    }
    
    Sayısal loto tahmincisi yapalım
    Kod:
    /*1 ile 49 arasında rasgele 6 sayı seçen program*/
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <time.h>
    main()
    {
    int i;
    clrscr();
    printf("6 sayi\n");
    randomize();
    for(i=0; i<6; i++)
    printf("%d ", rand() % 49+1);
    getch();
    }
    
    If-else döngüsünün kullanımını görelim
    Kod:
    /*if-else kullanımı*/
    
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int i;
    clrscr();
    printf("Bir sayi girin\n");
    scanf("%d",&i);
    if
    (i>10 && i<20)
    printf("Sayi 10 ile 20 arasinda");
    else
    printf("Sayi belirtilen aralikta degil");
    getch();
    }
    
    Girdiğimiz sayının tek mi çift mi olduğunu öğrenelim. Sayının modunu alma denemesi.
    Kod:
    /*Girilen sayinin tek mi çift mi oldugunu gösteren program*/
    #include <stdio.h>
    #include <conio.h>
                           
    main()
    {
    int i,k;
    clrscr();
    printf("Bir sayi girin\n");
    scanf("%d",&i);
    k=i%2;
    if (k)
    printf("Sayi tektir");
    else
    printf("Sayi cifttir");
    getch();
    }
    
    Tek mi çift mi alternatif algoritma ile görelim
    Kod:
    /*tek-Çift Diğer bir gösterimi*/
    #include <stdio.h>
    #include <conio.h>
                           
    main()
    {
    int i,k;
    clrscr();
    printf("Bir sayi girin\n");
    scanf("%d",&i);
    k=i%2;
    (k) ? printf("Sayi tektir") : printf("Sayi cifttir");
    getch();
    }
    
    Fonksiyon kullanımı ile girdiğimiz iki sayıdan büyük olanı öğrenme
    Kod:
    /*Girilen iki sayının büyüğünü söyleyen program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int x,y,z;
    clrscr();
    printf("iki sayi girin\n");
    scanf("%d %d",&x,&y);
    z=buyuk(x,y);
    printf("Buyugu %d dir.",z);
    getch();
    }
    
    buyuk(a,b)
    int a,b;
    {
    if(a>b) return a;
    return b;
    }
    
    If komutu örneği. Parola kullanma
    Kod:
    /*Parola kullanım örneği*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int parola=1988,gir;
    clrscr();
    printf("parolayi girin\n");
    scanf("%d",&gir);
    if (gir==parola)
    {
    printf("Parola sistem tarafindan kabul edildi\n");
    }
    else
    {
    printf("PAROLA HATALI\n");
    ("Program kendini kitleyecek...\n");
    exit();
    }
    getch();
    }
    
    Switch case ile seçim yapma
    Kod:
    /*switch case örneği*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    char kr;
    clrscr();
    printf("Bir tusa basin\n");
    kr=getch();
    clrscr();
    switch(kr)
    {
    case'a':
    case'b':
    case'c':
    printf("Selam bebek");
    break;
    case'd':
    case'e':
    printf("selam velet");
    break;
    case'f':
    printf("selam guzel insan");
    break;
    default:
    printf("sen de kimsin");
    }
    getch();
    }
    
    While döngüsü kullanımı
    Kod:
    /*while döngüsü ile 1 den 20 ye kadar sayan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int k;
    clrscr();
    k=1;
    while (k<20)
    {
    printf("%d\n",k);
    k++;
    }
    getch();
    }
    
    Do while döngüsü kullanımı
    Kod:
    /*do-while döngüsü ile 1 den 20ye kadar sayan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int k;
    clrscr();
    k=1;
    do
    {       
    printf("%d\n",k);
    k++;  
    }
    while(k<20);
    getch();
    }
    
    For döngüsü kullanımı
    Kod:
    /*for döngüsü ile 1den 20ye kadar sayan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int k;
    clrscr();
    for(k=1;k<20;k++)
    {       
    printf("%d\n",k); 	
    }
    getch();
    }
    
    For döngüsü örneği. Faktöryel hesaplama
    Kod:
    /*for döngüsü ile faktöryel hesaplayan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int k,l,m=1;
    clrscr();
    printf("kac faktoryeli hesaplamak istediginizi girin\n");
    scanf("%d",&l);
    clrscr();
    for(k=1;k<=l;k++)
    m*=k;  
    printf("%d faktoryel %d dir.\n",l,m);
    getch();
    }
    
    Rekürsif fonksiyon
    Kod:
    /*rekürsif fonksiyon ile faktöryel hesaplayan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int sayi;
    long int fak(int);
    clrscr();
    printf("Faktoryeli hesaplanacak sayi\n");
    scanf("%d",&sayi);
    printf("%d!= %ld dir.\n", sayi, fak(sayi));
    getch();
    }
    long int fak(a)
    int a;
    {
    long int s;
    if (a>1) s=a*fak(a-1);
    else s=1L;
    return (s);
    }
    
    Girilen sayılardan büyüğünü belirleyip bu sayının tek mi çift mi olduğunu gösteren program
    Kod:
    /*Girilen sayının büyüğünün tek mi çift mi olduğunu gösteren program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int x,y,z,k;
    clrscr();
    printf("iki sayi girin\n");
    scanf("%d %d",&x,&y);
    z=buyuk(x,y);
    printf("Buyugu %d dir.",z);
    k=z%2;
    if (k)
    printf("Sayi tektir");
    else
    printf("Sayi cifttir");
    getch();
    }
    buyuk(a,b)
    int a,b;
    {
    if(a>b) return a;
    return b;
    }
    
    Obeb hesaplama algoritması
    Kod:
    /*Obeb hesaplayan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int x,y,z,m;
    clrscr();
    printf("iki sayi girin\n");
    scanf("%d %d",&x,&y);
    if (x<y)
    {
    m=x;
    x=y;
    y=m;
    }
    printf("%d,%d\n",x,y);
    clrscr();
    hesap:
    if (y!=0)
    {
    z=x%y;
    printf("%d %d %d\n",x,y,z);
    x=y;
    if (z==0)
    {
    printf("-------------\n");
    printf("Obeb %d dir.",y);
    exit();
    }
    else
    y=z;
    goto hesap;
    }
    getch();
    }
    
    Ortalama alan program
    Kod:
    /*Girilen iki sayının ortalamsını alan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int a,b,top;
    float ort;
    clrscr();
    printf("iki sayi girin\n");
    scanf("%d",&a);
    scanf("%d",&b);
    top=a+b;
    ort=top/2.0;
    printf("ortalama %f olarak hesaplandi",ort);
    getch();
    }
    
    Sayı oyunları deneme programları
    Kod:
    /*Girilen iki sayıyı bir biri ile toplayıp bir birine bölen fonksiyon program*/
    #include <stdio.h>
    #include <conio.h>
    
    float bol(a,b)
    int a,b;
    {
    float g;
    g=(float)a/b;
    return g;
    }
    int topla(a,b)
    int a,b;
    {
    int g;
    g=a+b;
    return g;
    }
    main()
    {
    int x,y,z;
    float f;
    clrscr();
    printf("iki sayi girin\n");
    scanf("%d",&x);
    scanf("%d",&y);
    z=topla(x,y);
    f=bol(x,y);
    printf("toplam %d, bolum %f dir",z,f);
    getch();
    }
    
    Kod:
    /*Yarıçapı girilen çemberin alanını ve çevresini hesaplayan program*/
    #include <stdio.h>
    #include <conio.h>
    #define kare(x) ((x)*(x))
    #define dalan(r) 3.14*kare(r)
    #define dcevre(r) 3.14*2*(r)
    main()
    {
    float ycap, x, alan, cevre;
    clrscr();
    printf("yaricapi girin\n");
    scanf("%f",&ycap);
    alan = dalan(ycap);
    cevre= dcevre(ycap);
    clrscr();
    printf("dairenin alani %f\n",alan);
    printf("cemberin cevresi %f",cevre);
    getch();
    }
    
    Kod:
    /*Girilen sayının asal olup olmadığını bulan program*/
    #include  <stdio.h>
    #include <conio.h>
    main()
    {
    int a,r,i,b;
    clrscr();
    printf("Bir sayi girin\n");
    scanf("%d",&a);
    i=2;
    biyer:
    if (a==i)
    {
    printf("%d asaldir",a);
    goto ora;
    }
    b=a/i;
    r=a-b*i;
    if (r==0)
    {
    printf("sayi asal degil");
    }
    else
    {
    i++;
    goto biyer;
    }
    ora:
    getch();
    }
    
    Dizi oluşturma
    Kod:
    /*10 elemanlı bir dizi oluşturan program*/
    #include <stdio.h>
    #include <conio.h>
    main()
    {
    int sayi[10], k,j;
    clrscr();
    printf("Sayilari girin...\n");
    for (k=0; k<10; k++)
    {
    printf("sayi %d:\n",k+1);
    scanf("%d",&sayi[k]);
    }
    clrscr();
    for (j=0; j<10; j++)
    {         	
    printf("sayi[%d]=%d\n",j+1,sayi[j]);
    }
    getch();
    }
    
    Dizi işlemleri
    Kod:
    /*10 elemanlı bir dizinin elemanlarının ortalamasını bulan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int sayi[10], k,j,top=0;
    float ort;     
    clrscr();
    printf("Sayilari girin...\n");
    for (k=0; k<10; k++)
    {
    printf("sayi %d:\n",k+1);
    scanf("%d",&sayi[k]);
    }
    clrscr();
    for (j=0; j<10; j++)
    {         	
    printf("sayi[%d]=%d\n",j+1,sayi[j]);
    top+=sayi[j];
    }
    ort=top/10.0;
    printf("Sayilarin ortalamasi %f dir.\n",ort);
    getch();
    }
    
    Kod:
    /*Girilen 10 elemanlı dizinin en küçük elemanını bulan program*/
    #include <stdio.h>
    #include <conio.h>
    #define N 10
    main()
    {
    int sayi[10], k,j,enk;
    clrscr();
    printf("Sayilari girin...\n");
    for (k=0; k<10; k++)
    {
    printf("sayi %d:\n",k+1);
    scanf("%d",&sayi[k]);
    }
    clrscr();
    for (j=0; j<10; j++)
    {         	
    printf("sayi[%d]=%d\n",j+1,sayi[j]);
    }
    enk=bul(sayi);
    printf("En kucuk eleman %d",enk);
    getch();
    }
    bul(int dizi[])
    {
    int i,ek;
    ek=dizi[0];
    for(i=1; i<N; i++)
    if(dizi[i]<ek)
    ek=dizi[i];
    return ek;
    }
    
    Matris oluşturma
    Kod:
    /*Matris oluşturan program*/
    #include <stdio.h>
    #include <conio.h>
    
    main()
    {
    int sayi[2][3], k,i;
    float ort;
    clrscr();
    printf("Sayilari girin...\n");
    for (i=0; i<2; i++)
    for (k=0; k<3; k++)
    {
    {
    printf("sayi %d,%d:\n",i+1,k+1);
    scanf("%d",&sayi[i][k]);
    }
    }
    clrscr();
    for (i=0; i<2; i++)
    {
    for (k=0; k<3; k++)
    {
    printf("%d ",sayi[i][k]);
    }
    printf("\n");
    }
    getch();
    }
    
     
    Tags:
  2. Ekrem

    Ekrem CEO Site Yetkilisi

    genç adeta yardırmışsın ortalığı süpersin bu arada arkdaşlar eğer bu proğramları nasıl çalıştıracam derseniz bunun için
    buradaki
    forumu takip edip proğramı kurabilir ve deneyebilirsiniz ki ben denicem bakalım :)
     
  3. Geveze

    Geveze Member

    O kadar kasmaya gerek yok vusual studio falan dev c++ işinizi görecektir... Hem daha az yer kaplar hem daha hızlıdır.
     
  4. Kral Çıplak

    Kral Çıplak New Member

    ben hiç birşey anlamadım ama ya biraz daha açık anlatabilirmisiniz nasıl kullanıcaz bunu yani o yazdıklarını nereye yazıcam yada daha doğrusu o yazdıkların neden okadar karmaşık yani bi merhaba yazmak için ne diye onca satır yazıyoru
     
  5. Geveze

    Geveze Member

    Anlamıyosan hiç bulaşma zamanına yazık
     
  6. Onur1988

    Onur1988 Kovulmuş Eski Üye


    C'yi anlamakla bulaşmamanın ne alakası var. Bu geveze bu kafayla hiçbir yere çivi çakamaz.
     
  7. s_eher

    s_eher New Member

    sayısal loto örneğini kopyalım direk program hata verdi acaba nedendir bi çözseniz
    clrscr(); burda veriyo
     
  8. Powers

    Powers Administrator Site Yetkilisi

    Programda kod olarak bir hata yok ancak

    "clrscr();" ekranı temizlemek için olan bir koddur, "randomize();" ise rasgeleliği sağlamak için olan bir koddur. "clrscr()" conio.h kütüphanesinde bulunur ve "randomize()" de time.h kütüphanesinde bulunur. devcpp programında bu kütüphanelerde clrscr tanımlı olmayabiliyor. bunun için siyah beyaz ekrande çalışan "borland turbo c" programını kullanabilirsiniz.
     
  9. Powers

    Powers Administrator Site Yetkilisi

    Bu iki satırı silerek aşağıdaki gibi de programı çalıştırabilirsiniz ancak rasgelelik sağlanmayacaktır.

    Kod:
    /*1 ile 49 arasında rasgele 6 sayı seçen program*/
    #include <stdio.h>
    #include <conio.h>
    #include <stdlib.h>
    #include <time.h>
    main()
    {
    int i;
    //clrscr();
    printf("6 sayi\n");
    //randomize();
    for(i=0; i<6; i++)
    printf("%d ", rand() % 49+1);
    getch();
    }
    
     
  10. Ekrem

    Ekrem CEO Site Yetkilisi

    hangi derleyici kullanıyorsun kaptan sadece borçlandı mı
     
  11. s_eher

    s_eher New Member

    üstteki gibi yaptım bide "int i " den önce srand(time(NULL)) yazdğmda rastgele sayıyı veriyo her çalştırdığında
     
  12. Powers

    Powers Administrator Site Yetkilisi

    Problemi çözüldüyse sorun kalmamıştır bir de aşağıdaki adreste clrscr komutunun kullanımı ile ilgili olarak demişler ki

    http://forum.ceviz.net/c-c/35783-clrscr-nasil-kullanilir.html

     
  13. autos38

    autos38 New Member

    teşekkürler
     

Bu Sayfayı Paylaş

Yükleniyor...