Şimdi Ara

C PROGRAMLAMA DiLi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
22
Cevap
0
Favori
2.414
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • C konusunda bilgisi olan varsa benim takıldıgım konularda soru sormam icin bana yardımcı olabilecek biri varmiydi acaba??



  • Slm Eğer bildiğim bir konuda yardım istersen elimden geleni yaparım....bye

    Ümit GÜLER
    Computer Engineering
    Girne American University of Cyprus...
  • ben ibrahim SÜRMEGÖZLÜER
    İZMİR YÜKSEK TEKNOLOJİ ENSTİTÜSÜ
    COMPUTER ENGINEERING I.TERM
    pardon kacıncı sınıftasın?
    ilgi ve alakan icin cok tesekkür ederim
    peki bana en basitinden BUBLE SORT ve SELECTION SORT örnekleri yollayabilir misin?
    anlaması kolay ve olabildigince basit olursa cok sevinirim...
  • elinde dev c++ veya borland c++ builder e-book ları olan varsa..
    verebilirmi?

    (mimkinse TR)
  • msn den veya icqdan irtibata geç 25 milyon veripte aldiğim kitabin word halini(ki satin aldiğim gun bulmuştum :) ve diğer dokumanlari yollayabilirm
  • quote:

    Orjinalden alıntı: iRoNMaSTeR

    msn den veya icqdan irtibata geç 25 milyon veripte aldiğim kitabin word halini(ki satin aldiğim gun bulmuştum :) ve diğer dokumanlari yollayabilirm

    dostum bana linkini verebilir misin.
  • taam.. msnden geliom
    quote:

    Orjinalden alıntı: iRoNMaSTeR

    msn den veya icqdan irtibata geç 25 milyon veripte aldiğim kitabin word halini(ki satin aldiğim gun bulmuştum :) ve diğer dokumanlari yollayabilirm
  • Yapay Zeka’dan İlgili Konular
    C programlama
    5 yıl önce açıldı
    Daha Fazla Göster
  • iste msn'im: surmegozluer@hotmail.com cok tesekkür ederim yardımlarınız icin beyler
  • iste c BUDUR:

    C PROGRAMLAMA DERS NOTLARI
    C PROGRAMLAMA DİLİ
    Programlamaya Giriş:
    Belli bir problemi çözmek için bilgisayar dili kullanarak yazılmış deyimler dizisidir.

    Bir problemi bilgisayar ile çözmek için geliştireceğimiz program yazımında izleyeceğimiz adımlar
    1-) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle.
    2-) Problemin girdilerini çıktılarını ve diğer kısıtlama gereksinimlerini belirle.
    3-) Problemin çözümünü veren algoritmayı yaz.
    4-) Algoritmayı bir program diline çevir.
    5-) Programı test et.

    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main() /* Program Ana Başlangıcı */
    { /* Başlangıç */
    int a=10; /* Tanımlamalar */
    printf("A'nın Değeri = %d",a); /* Gövde Kısım */
    getch();
    } /* Bitiş */

    Veri Türleri Ve Değişkenlerin Tanımlanması
    Tip İsmi :Kullanılacak verinin tipini belirleyen isimdir.
    Tip İsmi Uzunluğu (Byte) Sayı Aralığı
    char 1 -128 , +127
    int 2 -32768 , +32767
    longint 4 -2147483648 , +2147483647
    float 4 -3.4e-38 , +3.4e38
    shortint 2 -32768 , +32767
    unsigned char 1 0 , 255

    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    char ad[30];
    printf("Adını Gir :");
    scanf("%s",&ad);
    printf("%s",ad);
    getch();
    }
    Ekran:
    Adını Gir : RESUL
    RESUL

    Örnek: X=22 sayısını 16'lık sistemde yaz.
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int x=22;
    printf("%x",x);
    getch();
    }
    NOT : %x 16'lık sisteme, %o 8'lik sisteme çevirir.


    Değer Atamaları:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int x=3;
    float y=5.2;
    float z;
    z=x+y;
    printf("y nin değeri : %f\n",y);
    printf("z nin değeri : %f\n",z);
    getch();
    }
    Ekran:
    Y nin değeri : 5.200000
    Z nin değeri : 8.200000

    Not:Mod un sonucu her zaman tam sayıdır.

    Artım ve Azaltım Operatörleri: Bu operatörler değişkenin değerini bir artırmak ve bir azaltmak için kullanılır. Bir değişkenin değerini bir artırmak için x=x+1, ++x veya x++ Kullanılır.
    Örnek:
    {
    int a,b;
    a=5; b=9;
    printf("%d\n",++a);
    printf("%d\n",a);
    printf("%d\n",b++);
    printf("%d\n",a);
    getch();
    }
    Ekran:
    6
    5
    10
    9

    Karşılaştırma Operatörleri : Bu operatörler çoğunlukla kontrol ve döngü ifadeleri ile birlikte kullanılırlar. Bu operatörler iki değeri karşılaştırır. Değer doğru ise 1, yanlış ise 0 değeri üretilir.
    < Küçüktür
    > Büyüktür
    <= Küçük Eşit
    >= Büyük Eşit
    == Eşittir
    != Eşit Değildir
    İşlem Karşılaştırma Sonucu
    10>3 1
    10>3 0
    10==10 1

    Karşılaştırmaları Birleştirme Operatörleri: Birden fazla şartın birleştirilmesi gerektiğinde örneğin birden fazla şartın birleştirilmesi isteniyorsa bu durumda şartların birleştirme operatörleri ile yazılması gerekir. Şartlar iki şekilde birleştirilebilir.
    • VE (&&) Operatörü
    • VEYA (||) Operatörü

    Seçim Operatörü: Bu operatör 3 kısımdan oluşur. Şart Kısmı ve Değer Kısımları.
    (şart)?(değer_1):(değer_2)

    Bit Seviyesinde İşlem Operatörleri : C Dili assembly dilinde yapılabilen bit seviyesindeki işlemlerin tamamını destekler.

    X Y Ve Veya Özel Veya
    1 0 0 1 1
    0 1 0 1 1
    1 1 1 1 0
    0 0 0 0 0
    Bu tabloya göre:
    a=24 =00011000
    b=12 =00001100

    ve =00001000=8
    veya =00011100=28
    ö.veya =00010100=20

    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int a=24, b=12;
    int c,d,e;
    c=a & b;
    d=a ^ b;
    e=a | b;
    printf("a & b = %d\n",c);
    printf("a ^ b = %d\n",d);
    printf("a | b = %d\n",e);
    getch();
    }
    Ekran:
    a & b = 8
    a ^ b = 28
    a | b = 20


    Printf Bildirimi : Değişkenlerin içeriğini veya mir mesajı istenen bir düzende(formatta) Standart çıkışa yazmak için kullanılır. Bu komutta kullanılan en önemli 2 karakter; \ (ters slaş) ve % (yüzde) dir.
    Printf("Kontrol Dizisi, Format Tanımlayıcısı",argıman1,argıman2,....,argıman N);
    Kodu Anlamı____________________
    \b İmleci sola kaydırır (Backspace)
    \n Satır atla.
    \r Satır başına al.
    \t Yatay tab.
    \" Çift tırnak.


    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    clrscr();
    printf(" \"Turbo\" \n\"C\" \"Dersi\" ");
    getch();
    }
    Ekran:
    "Turbo"
    "C" "Dersi"


    Scanf Bildirimi : Bu fonksiyon klavyeden değer okumakta kullanılan formatlı giriş fonksiyonudur. Bu fonksiyonda formatlı sayıların, karakterlerin ya da karakter katarlarının programla bilgisayara girilmesi gerçekleştirilebilir.

    scanf("Kontrol Dizisi",argıman1,argıman2,...,argımanN);

    printf fonksiyonunda gerçek değişkenler listelenmektedir. Scanf fonksiyonunda ise değişkenin adresi argıman olarak kullanılır. Argıman olarak gösterilen & işareti ile değişkenin ismi değil de değişkenin adresini gösteririz.

    Örnek: Girilen iki sayının ortalamasını yapan C programı:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    float s1,s2,ort;
    printf("Birinci Sayıyı Giriniz : "); scanf("%f",&s1);
    printf("İkinci Sayıyı Giriniz : "); scanf("%f",&s2);
    ort=(s1+s2)/2;
    printf("İki Sayının Ortalaması : %0.1f",ort);
    getch();
    }
    Ekran:
    Birinci Sayıyı Giriniz : 15
    İkinci Sayıyı Giriniz : 10
    İki Sayının Ortalaması : 12,5

    Örnek: Girilen iki sayının 8'lik ve 16'lık karşılığı:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int s1,s2;
    printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1);
    printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2);
    printf("Birinci Sayının 8'lik Karşılığı : %o\n",s1);
    printf("Birinci Sayının 16'lık Karşılığı : %x\n",s1);
    printf("İkinci Sayının 8'lik Karşılığı : %o\n",s2);
    printf("İkinci Sayının 16'lık Karşılığı : %x\n",s2);
    getch();
    }
    Ekran:
    Birinci Sayıyı Giriniz : 15
    İkinci Sayıyı Giriniz : 10

    Birinci Sayının 8'lik Karşılığı : 17
    Birinci Sayının 16'lık Karşılığı : F
    İkinci Sayının 8'lik Karşılığı : 12
    İkinci Sayının 16'lık Karşılığı : A

    Örnek: Girilen iki sayının ve veya yöntemi ile 8'lik ve 16'lık karşılığı:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int s1,s2,c,d;
    printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1);
    printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2);
    c=s1&s2;
    d=s1^s2;
    printf("s1 & s2 :%d\n",c);
    printf("s1 ^ s2 :%d\n",d);
    getch();
    }
    Ekran:
    Birinci Sayıyı Giriniz : 24
    İkinci Sayıyı Giriniz : 12

    S1 & s2 :20
    S1 ^ s2 : 8

    Program Denetim Deyimleri:
    Karşılaştırma Deyimleri: İf ve Switch olmak üzere 2 tip karşılaştırma deyimi vardır.

    if - else Kullanımı:
    if(koşul)
    {
    :
    deyim_1;
    }
    else { deyim_2; }

    Örnek: Klavyeden girilen sayının tek veya çift olduğunu hesaplayan program:
    {
    int sayi;
    printf("Sayı Gir : ");scanf("%d",&sayi);
    if(sayi%2==0) printf("%d Çifttir",sayi);
    else printf("%d Tektir",sayi);
    grtch();
    }
    Ekran:
    Sayı Gir : 5
    5 Tektir

    if-else-if Kullanımı: 2 den fazla koşulun olduğu durumlarda kullanılır.
    if(kontrol_ifadesi_1)
    deyim_1;
    if(kontrol_ifadesi_2)
    deyim_2;
    :
    :
    else if(kontrol_ifadesi_N)
    deyim_N;
    Örnek : Notlar: 0-25=E, 26-44=D, 45-54=C, 55-84=B, 85-100=A olan program
    {
    int not;
    char sonuc;
    printf("Notu Gir : ");scanf("%d",&not);
    if (not>=0 && not<=25) sonuc='E'
    else if (not>=26 && not<=44) sonuc='D'
    else if (not>=45 && not<=54) sonuc='C'
    else if (not>=55 && not<=84) sonuc='B'
    else sonuc='A'
    printf("Sonuç = %c",sonuc);
    getch();
    }
    Ekran:
    Notu Gir : 75
    Sonuç = B

    switch ifadeleri: Her ne kadar if-else-if yapısında kontrol ifadeleri sıra ile işletiliyorsa da bu yapının kullanılması programın anlaşılır olmasını güçleştirir. Switch yapısı kullanılarak programın okunurluğu artmaktadır.
    switch(seçici)
    {
    case seçenek_1 : Deyim_1;
    case seçenek_2 : Deyim_2;
    :
    case seçenek_N : Deyim_N;


    DÖNGÜ DEYİMLERİ:
    Bu tip deyimler bir kümenin belirli bir koşul altında yinelenmesi için kullanılır. while, do while ve for olmak üzere 3 tip döngü deyimi vardır.

    for: Diğer döngü deyimleri gibi bir öbeği birçok kez tekrarlamakta kullanılır.
    for(başlangıç;koşul;artırım)
    {
    deyimler
    }

    while: Mantıksal ifade doğru olduğu sürece deyim yürütülür. Eğer yanlış ise kontrol bir sonraki deyime geçer.
    while(Mantıksal İfade)
    { deyim }

    do while: Bir gurup deyimi işlediği zaman kontrol ifadesini test eder. Eğer kontrol ifadesi doğru ise deyim gruba tekrar işletilir. Yanlış ise döngüden çıkar. do while döngüsünün while döngüsünden farkı, kontrol ifadesinin döngünün sonunda olması.
    do
    {
    deyim
    } while(Kontrol İfadesi);

    DİZİLER
    Tek Boyutlu Diziler: Tüm programlama dillerinde olduğu gibi C dilinde de Dizi(Array) yapısı son derece önemli veri yapısıdır.
    Dizi: Bilgisayar belleğinde aynı isim altında genellikle aynı tipte çok sayıda veriyi bir arada saklayan veri yapısıdır.

    X Dizisinin mantıksal görünümü;
    4 2 3 5 7
    0 1 2 3 4
    X[0] =4
    X[1] =2
    X[2] =3
    X[3] =5
    X[4] =7

    Tanımlama:
    X[3]=5 x: Dizinin Adı, [3]: Dizinin indisi...

    C dilinde bir dizinin ilk eleman indisi daima 0 dır. Son eleman indisi ise diziye ayrılan yer sayısının bir eksiğine eşittir.

    C Programı İçinde Dizinin Bildirilmesi:
    Bir C programı içinde diziyi tanıtmak için değişken bildirimine benzer bir yol izlenir.

    Tip Dizi_Adı[Eleman_Sayısı];
    İn i[6];

    Dizinin Gerekliliği:
    Dizi Kullanılmayan Versiyon Dizi Kullanılan Versiyon
    #include<stdio.h>
    main()
    {
    int sayi,t;
    int i;
    t=0;
    for(i=1;i<=5;i++)
    {
    printf("Bir Sayı Giriniz");
    scanf("%d",&sayi);
    t=t+sayi;
    }
    printf("Toplam = %d",t);
    printf("Sayi = %d",sayi);
    getch();
    } #include<stdio.h>
    main()
    {
    int sayi[5],t;
    int i;
    t=0;
    for(i=0;i<=4;i++)
    {
    printf("Bir Sayı Giriniz");
    scanf("%d",&sayi);
    t=t+sayi;
    }
    printf("Toplam = %d",t);
    printf("Sayi = %d",sayi[2]);
    getch();
    }

    Dizilere İsimlendirilmiş Bir Sabit İle Yer Ayrılması:
    Daha önceden kendisine bir değer atanmış olacağı için dizilerin tanımında dizinin eleman sayısı isimlendirilmiş bir sabit yardımı ile de belirtilebilir.

    Örnek: 1 İle 10 Arasındaki Sayıların Karesini Dizi Elemanına Aktarıp Ekrana Yazan Program:
    #include<stdio.h>
    int i;
    int s[11];
    main()
    {
    clrscr();
    for(i=1;i<=11;i++)
    {
    s=i*i;
    printf("%d nin Karesi : %d\n",i,s);
    }
    getch();
    }

    Stringlerin Bir Karakter Dizisi Olarak Tanımlanması:
    C Dilinde bir karakter zincirini ya da stringini oluşturmak için tek yol karakter dizisinin her karakterini char türü ile diziye yükleyerek bir karakter dizisi oluşturmaktadır.

    Kullanımı:
    char ad[7]={'B','i','l','g','i','s','\0'};
    char ad[7]="Bilgis";
    printf("%s",ad);

    Örnek:
    #include<stdio.h>
    main()
    {
    int i;
    char c[6]={'a','b','c','d','e','\0'};
    for(i=0;c!='\0';i++)
    printf("\n %c",c);
    getch();
    }
    İKİ BOYUTLU DİZİLER
    Uygulamada karşılaşılan pek çok problem, tablo halindeki verinin bilgisayarda saklanması, ve tablo üzerinde çeşitli işlemlerin gerçekleştirilmesi (Tablonun satır toplamları, sütun toplamları gibi hesaplamalar) söz konusudur. Örneğin aşağıdaki gibi bir veri mevcut olsun

    1999 Yılı Otomobil Satışları
    Ocak Şubat Mart
    VW 500 500 500
    Reno 600 650 700
    Fiat 700 600 650
    Ferrari 50 60 70
    Porshe 50 60 80

    Örneğin her marka için 3 aylık satışlar toplamını bulmak için;

    0 1 2
    0 500 500 500
    1 600 650 700
    2 700 600 650
    3 50 60 70
    4 50 60 80

    Tanımlama: int satis[5][3];
    Satis :Dizi Adı
    5 :Satır Sayısı
    3 :Sütun Sayısı

    İki Boyutlu Dizilere Değer Okutmak;
    İki boyutlu dizinin elemanları C Programı icrası esnasında klavyeden girmek için aşağıdaki gibi program kullanılır.

    Örnek: Satış adlı tabloyu bilgisayar belleğine yükleyip yüklenen tabloyu ekrana yazdıran c programını yapınız.

    #include<stdio.h>
    main()
    {
    int satis[5][3];
    int i,j;
    printf(“Bilgi Girişi\n”);
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=2;j++)
    {
    printf(“Satış [%d][%d] = “,i,j);
    scanf(“%d”,%satis[j]);
    }
    printf(“\n”);
    }
    printf(“Satış Adlı Tanlo : \n”);
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=2;j++)
    {
    printf(“%d ”,satis[j]);
    }
    printf(“\n”);
    }
    getch();
    }

    İki Boyutlu Dizi Elemanlarına İlk Değer Atama:
    İki boyutlu dizinin elemanları statik karakterde ise yani programın her icra edilişinde değerler değişmiyorsa bu durumda iki boyutlu dizi elemanlarına program içinde değer ataması yapılabilir.

    Örnek:
    #include<stdio.h>
    main()
    {
    int satis[5][3]={{70,60,50},{65,75,25},{30,40,45},{40,40,40},{25,10,60}};
    int i,j;
    printf(“\n\n”);
    printf(“Satış Adlı Tanlo : \n”);
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=2;j++)
    {
    printf(“%d ”,satis[j]);
    }
    printf(“\n”);
    }
    getch();
    }

    C DİLİNDE FONKSİYON YAPISI
    C dilinde bir program kesinlikle en az bir fonksiyondan oluşur.

    Fonksiyonların Tanımlanması:
    1. Başlık
    2. Gövde
    Başlık kısmı fonksiyonun göndereceği değere göre belirlenen tipini bildiren bir tip bildirisi ya da fonksiyon adı ve varsa parametre listesi ister. Fonksiyon adı değer gönderemeyecekse void sözcüğü ile başlar. Parametre listesinde parametrelerin tipi ve isimleri belirtilir. Her parametreye ilişkin tip bildirimleri arasında virgül (,) sembolleri kullanılır.

    Örnek: int topla(int x, int y)

    Burada topla adlı fonksiyon int tipinde tanımlanmıştır. İki tane parametresi vardır x ve y. Bu parametreler int tipindedir.

    Örnek: int deger(void)

    Burada değer int tipinde bir değer gönderecek olan fonksiyondur. Herhangi bir parametresi olmadığından void yerleştirilmiştir.

    Fonksiyon Bildirimleri:
    Bir fonksiyon hangi fonksiyon içinden çağrılacaksa çağrılacağı fonksiyon içinde bir bildirim deyimi formunda tanımlanmalıdır. Buna fonksiyon bildirimi adı verilir.
    Not:Fonksiyon bildirimleri daima noktalı virgülle (;) sona erer.

    Örnek:
    #include<stdio.h>
    main()
    {
    int toplam(int n);
    int m;
    }
    Burada main (ana program) içinde çağrılacak olan toplam adlı fonksiyonun bildiri deyimleri kümesi içinde bir bildiri deyimi formunda programa tanıtmaktadır.

    Örnek:
    #include<stdio.h>
    main()
    {
    int toplam(int n);
    int m;
    printf("Ust Limit :");
    scanf("%d",&m);
    printf("\n1+2+3+ ... + %d = %d",m,toplam(m));
    }
    int toplam(int n)
    {
    int i,s;
    s=0;
    for(i=1;i<=n;i++)
    s=s+i;
    return s;
    }
    Örnek: c(n,r)=n!/(r!*(n-r)!) Kombinasyon formülünü hesaplayan C programı

    #include<stdio.h>
    main()
    {
    float cnr;
    int n,r;
    float fakt(int n);
    printf("n = ");
    scanf("%d",&r);
    cnr=fakt(n)/fakt(r)*fakt(n-r));
    printf("c(%d,%d) = %0.8f",n,r,cnr);
    }
    float fakt(int n)
    {
    float f;
    int i;
    f=1;
    for(i=1;i<=n;i++)
    f=f*i;
    return f;
    }




  • 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, assebly'ye yaklasan alt seviyelere kadar programlama yapabilir. C nin sagladigi bu rahatligin yaninda, tehlikeleride de 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.




  • c++ yoqmu yaw
    he bişe daha sorucam.. c++ için win ortamında DEV C++ ile program yazabiliyorum... C için böyle bi editör/compiler varmı?
  • visual C++ ı dene bence
  • visual C++ ı netten indirebilirmiyim?
    bildiğiniz bi link varmı?
    quote:

    Orjinalden alıntı: surmegozluer

    visual C++ ı dene bence
  • Notorious ne deseler netten indiresin geliyor walla
  • quote:

    Orjinalden alıntı: surmegozluer

    iste c BUDUR:

    C PROGRAMLAMA DERS NOTLARI
    C PROGRAMLAMA DİLİ
    Programlamaya Giriş:
    Belli bir problemi çözmek için bilgisayar dili kullanarak yazılmış deyimler dizisidir.

    Bir problemi bilgisayar ile çözmek için geliştireceğimiz program yazımında izleyeceğimiz adımlar
    1-) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle.
    2-) Problemin girdilerini çıktılarını ve diğer kısıtlama gereksinimlerini belirle.
    3-) Problemin çözümünü veren algoritmayı yaz.
    4-) Algoritmayı bir program diline çevir.
    5-) Programı test et.

    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main() /* Program Ana Başlangıcı */
    { /* Başlangıç */
    int a=10; /* Tanımlamalar */
    printf("A'nın Değeri = %d",a); /* Gövde Kısım */
    getch();
    } /* Bitiş */

    Veri Türleri Ve Değişkenlerin Tanımlanması
    Tip İsmi :Kullanılacak verinin tipini belirleyen isimdir.
    Tip İsmi Uzunluğu (Byte) Sayı Aralığı
    char 1 -128 , +127
    int 2 -32768 , +32767
    longint 4 -2147483648 , +2147483647
    float 4 -3.4e-38 , +3.4e38
    shortint 2 -32768 , +32767
    unsigned char 1 0 , 255

    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    char ad[30];
    printf("Adını Gir :");
    scanf("%s",&ad);
    printf("%s",ad);
    getch();
    }
    Ekran:
    Adını Gir : RESUL
    RESUL

    Örnek: X=22 sayısını 16'lık sistemde yaz.
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int x=22;
    printf("%x",x);
    getch();
    }
    NOT : %x 16'lık sisteme, %o 8'lik sisteme çevirir.


    Değer Atamaları:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int x=3;
    float y=5.2;
    float z;
    z=x+y;
    printf("y nin değeri : %f\n",y);
    printf("z nin değeri : %f\n",z);
    getch();
    }
    Ekran:
    Y nin değeri : 5.200000
    Z nin değeri : 8.200000

    Not:Mod un sonucu her zaman tam sayıdır.

    Artım ve Azaltım Operatörleri: Bu operatörler değişkenin değerini bir artırmak ve bir azaltmak için kullanılır. Bir değişkenin değerini bir artırmak için x=x+1, ++x veya x++ Kullanılır.
    Örnek:
    {
    int a,b;
    a=5; b=9;
    printf("%d\n",++a);
    printf("%d\n",a);
    printf("%d\n",b++);
    printf("%d\n",a);
    getch();
    }
    Ekran:
    6
    5
    10
    9

    Karşılaştırma Operatörleri : Bu operatörler çoğunlukla kontrol ve döngü ifadeleri ile birlikte kullanılırlar. Bu operatörler iki değeri karşılaştırır. Değer doğru ise 1, yanlış ise 0 değeri üretilir.
    < Küçüktür
    > Büyüktür
    <= Küçük Eşit
    >= Büyük Eşit
    == Eşittir
    != Eşit Değildir
    İşlem Karşılaştırma Sonucu
    10>3 1
    10>3 0
    10==10 1

    Karşılaştırmaları Birleştirme Operatörleri: Birden fazla şartın birleştirilmesi gerektiğinde örneğin birden fazla şartın birleştirilmesi isteniyorsa bu durumda şartların birleştirme operatörleri ile yazılması gerekir. Şartlar iki şekilde birleştirilebilir.
    • VE (&&) Operatörü
    • VEYA (||) Operatörü

    Seçim Operatörü: Bu operatör 3 kısımdan oluşur. Şart Kısmı ve Değer Kısımları.
    (şart)?(değer_1):(değer_2)

    Bit Seviyesinde İşlem Operatörleri : C Dili assembly dilinde yapılabilen bit seviyesindeki işlemlerin tamamını destekler.

    X Y Ve Veya Özel Veya
    1 0 0 1 1
    0 1 0 1 1
    1 1 1 1 0
    0 0 0 0 0
    Bu tabloya göre:
    a=24 =00011000
    b=12 =00001100

    ve =00001000=8
    veya =00011100=28
    ö.veya =00010100=20

    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int a=24, b=12;
    int c,d,e;
    c=a & b;
    d=a ^ b;
    e=a | b;
    printf("a & b = %d\n",c);
    printf("a ^ b = %d\n",d);
    printf("a | b = %d\n",e);
    getch();
    }
    Ekran:
    a & b = 8
    a ^ b = 28
    a | b = 20


    Printf Bildirimi : Değişkenlerin içeriğini veya mir mesajı istenen bir düzende(formatta) Standart çıkışa yazmak için kullanılır. Bu komutta kullanılan en önemli 2 karakter; \ (ters slaş) ve % (yüzde) dir.
    Printf("Kontrol Dizisi, Format Tanımlayıcısı",argıman1,argıman2,....,argıman N);
    Kodu Anlamı____________________
    \b İmleci sola kaydırır (Backspace)
    \n Satır atla.
    \r Satır başına al.
    \t Yatay tab.
    \" Çift tırnak.


    Örnek:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    clrscr();
    printf(" \"Turbo\" \n\"C\" \"Dersi\" ");
    getch();
    }
    Ekran:
    "Turbo"
    "C" "Dersi"


    Scanf Bildirimi : Bu fonksiyon klavyeden değer okumakta kullanılan formatlı giriş fonksiyonudur. Bu fonksiyonda formatlı sayıların, karakterlerin ya da karakter katarlarının programla bilgisayara girilmesi gerçekleştirilebilir.

    scanf("Kontrol Dizisi",argıman1,argıman2,...,argımanN);

    printf fonksiyonunda gerçek değişkenler listelenmektedir. Scanf fonksiyonunda ise değişkenin adresi argıman olarak kullanılır. Argıman olarak gösterilen & işareti ile değişkenin ismi değil de değişkenin adresini gösteririz.

    Örnek: Girilen iki sayının ortalamasını yapan C programı:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    float s1,s2,ort;
    printf("Birinci Sayıyı Giriniz : "); scanf("%f",&s1);
    printf("İkinci Sayıyı Giriniz : "); scanf("%f",&s2);
    ort=(s1+s2)/2;
    printf("İki Sayının Ortalaması : %0.1f",ort);
    getch();
    }
    Ekran:
    Birinci Sayıyı Giriniz : 15
    İkinci Sayıyı Giriniz : 10
    İki Sayının Ortalaması : 12,5

    Örnek: Girilen iki sayının 8'lik ve 16'lık karşılığı:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int s1,s2;
    printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1);
    printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2);
    printf("Birinci Sayının 8'lik Karşılığı : %o\n",s1);
    printf("Birinci Sayının 16'lık Karşılığı : %x\n",s1);
    printf("İkinci Sayının 8'lik Karşılığı : %o\n",s2);
    printf("İkinci Sayının 16'lık Karşılığı : %x\n",s2);
    getch();
    }
    Ekran:
    Birinci Sayıyı Giriniz : 15
    İkinci Sayıyı Giriniz : 10

    Birinci Sayının 8'lik Karşılığı : 17
    Birinci Sayının 16'lık Karşılığı : F
    İkinci Sayının 8'lik Karşılığı : 12
    İkinci Sayının 16'lık Karşılığı : A

    Örnek: Girilen iki sayının ve veya yöntemi ile 8'lik ve 16'lık karşılığı:
    #include<stdio.h>
    #include<conio.h>
    main()
    {
    int s1,s2,c,d;
    printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1);
    printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2);
    c=s1&s2;
    d=s1^s2;
    printf("s1 & s2 :%d\n",c);
    printf("s1 ^ s2 :%d\n",d);
    getch();
    }
    Ekran:
    Birinci Sayıyı Giriniz : 24
    İkinci Sayıyı Giriniz : 12

    S1 & s2 :20
    S1 ^ s2 : 8

    Program Denetim Deyimleri:
    Karşılaştırma Deyimleri: İf ve Switch olmak üzere 2 tip karşılaştırma deyimi vardır.

    if - else Kullanımı:
    if(koşul)
    {
    :
    deyim_1;
    }
    else { deyim_2; }

    Örnek: Klavyeden girilen sayının tek veya çift olduğunu hesaplayan program:
    {
    int sayi;
    printf("Sayı Gir : ");scanf("%d",&sayi);
    if(sayi%2==0) printf("%d Çifttir",sayi);
    else printf("%d Tektir",sayi);
    grtch();
    }
    Ekran:
    Sayı Gir : 5
    5 Tektir

    if-else-if Kullanımı: 2 den fazla koşulun olduğu durumlarda kullanılır.
    if(kontrol_ifadesi_1)
    deyim_1;
    if(kontrol_ifadesi_2)
    deyim_2;
    :
    :
    else if(kontrol_ifadesi_N)
    deyim_N;
    Örnek : Notlar: 0-25=E, 26-44=D, 45-54=C, 55-84=B, 85-100=A olan program
    {
    int not;
    char sonuc;
    printf("Notu Gir : ");scanf("%d",¬);
    if (not>=0 && not<=25) sonuc='E'
    else if (not>=26 && not<=44) sonuc='D'
    else if (not>=45 && not<=54) sonuc='C'
    else if (not>=55 && not<=84) sonuc='B'
    else sonuc='A'
    printf("Sonuç = %c",sonuc);
    getch();
    }
    Ekran:
    Notu Gir : 75
    Sonuç = B

    switch ifadeleri: Her ne kadar if-else-if yapısında kontrol ifadeleri sıra ile işletiliyorsa da bu yapının kullanılması programın anlaşılır olmasını güçleştirir. Switch yapısı kullanılarak programın okunurluğu artmaktadır.
    switch(seçici)
    {
    case seçenek_1 : Deyim_1;
    case seçenek_2 : Deyim_2;
    :
    case seçenek_N : Deyim_N;


    DÖNGÜ DEYİMLERİ:
    Bu tip deyimler bir kümenin belirli bir koşul altında yinelenmesi için kullanılır. while, do while ve for olmak üzere 3 tip döngü deyimi vardır.

    for: Diğer döngü deyimleri gibi bir öbeği birçok kez tekrarlamakta kullanılır.
    for(başlangıç;koşul;artırım)
    {
    deyimler
    }

    while: Mantıksal ifade doğru olduğu sürece deyim yürütülür. Eğer yanlış ise kontrol bir sonraki deyime geçer.
    while(Mantıksal İfade)
    { deyim }

    do while: Bir gurup deyimi işlediği zaman kontrol ifadesini test eder. Eğer kontrol ifadesi doğru ise deyim gruba tekrar işletilir. Yanlış ise döngüden çıkar. do while döngüsünün while döngüsünden farkı, kontrol ifadesinin döngünün sonunda olması.
    do
    {
    deyim
    } while(Kontrol İfadesi);

    DİZİLER
    Tek Boyutlu Diziler: Tüm programlama dillerinde olduğu gibi C dilinde de Dizi(Array) yapısı son derece önemli veri yapısıdır.
    Dizi: Bilgisayar belleğinde aynı isim altında genellikle aynı tipte çok sayıda veriyi bir arada saklayan veri yapısıdır.

    X Dizisinin mantıksal görünümü;
    4 2 3 5 7
    0 1 2 3 4
    X[0] =4
    X[1] =2
    X[2] =3
    X[3] =5
    X[4] =7

    Tanımlama:
    X[3]=5 x: Dizinin Adı, [3]: Dizinin indisi...

    C dilinde bir dizinin ilk eleman indisi daima 0 dır. Son eleman indisi ise diziye ayrılan yer sayısının bir eksiğine eşittir.

    C Programı İçinde Dizinin Bildirilmesi:
    Bir C programı içinde diziyi tanıtmak için değişken bildirimine benzer bir yol izlenir.

    Tip Dizi_Adı[Eleman_Sayısı];
    İn i[6];

    Dizinin Gerekliliği:
    Dizi Kullanılmayan Versiyon Dizi Kullanılan Versiyon
    #include<stdio.h>
    main()
    {
    int sayi,t;
    int i;
    t=0;
    for(i=1;i<=5;i++)
    {
    printf("Bir Sayı Giriniz");
    scanf("%d",&sayi);
    t=t+sayi;
    }
    printf("Toplam = %d",t);
    printf("Sayi = %d",sayi);
    getch();
    } #include<stdio.h>
    main()
    {
    int sayi[5],t;
    int i;
    t=0;
    for(i=0;i<=4;i++)
    {
    printf("Bir Sayı Giriniz");
    scanf("%d",&sayi);
    t=t+sayi;
    }
    printf("Toplam = %d",t);
    printf("Sayi = %d",sayi[2]);
    getch();
    }

    Dizilere İsimlendirilmiş Bir Sabit İle Yer Ayrılması:
    Daha önceden kendisine bir değer atanmış olacağı için dizilerin tanımında dizinin eleman sayısı isimlendirilmiş bir sabit yardımı ile de belirtilebilir.

    Örnek: 1 İle 10 Arasındaki Sayıların Karesini Dizi Elemanına Aktarıp Ekrana Yazan Program:
    #include<stdio.h>
    int i;
    int s[11];
    main()
    {
    clrscr();
    for(i=1;i<=11;i++)
    {
    s=i*i;
    printf("%d nin Karesi : %d\n",i,s);
    }
    getch();
    }

    Stringlerin Bir Karakter Dizisi Olarak Tanımlanması:
    C Dilinde bir karakter zincirini ya da stringini oluşturmak için tek yol karakter dizisinin her karakterini char türü ile diziye yükleyerek bir karakter dizisi oluşturmaktadır.

    Kullanımı:
    char ad[7]={'B','i','l','g','i','s','\0'};
    char ad[7]="Bilgis";
    printf("%s",ad);

    Örnek:
    #include<stdio.h>
    main()
    {
    int i;
    char c[6]={'a','b','c','d','e','\0'};
    for(i=0;c!='\0';i++)
    printf("\n %c",c);
    getch();
    }
    İKİ BOYUTLU DİZİLER
    Uygulamada karşılaşılan pek çok problem, tablo halindeki verinin bilgisayarda saklanması, ve tablo üzerinde çeşitli işlemlerin gerçekleştirilmesi (Tablonun satır toplamları, sütun toplamları gibi hesaplamalar) söz konusudur. Örneğin aşağıdaki gibi bir veri mevcut olsun

    1999 Yılı Otomobil Satışları
    Ocak Şubat Mart
    VW 500 500 500
    Reno 600 650 700
    Fiat 700 600 650
    Ferrari 50 60 70
    Porshe 50 60 80

    Örneğin her marka için 3 aylık satışlar toplamını bulmak için;

    0 1 2
    0 500 500 500
    1 600 650 700
    2 700 600 650
    3 50 60 70
    4 50 60 80

    Tanımlama: int satis[5][3];
    Satis :Dizi Adı
    5 :Satır Sayısı
    3 :Sütun Sayısı

    İki Boyutlu Dizilere Değer Okutmak;
    İki boyutlu dizinin elemanları C Programı icrası esnasında klavyeden girmek için aşağıdaki gibi program kullanılır.

    Örnek: Satış adlı tabloyu bilgisayar belleğine yükleyip yüklenen tabloyu ekrana yazdıran c programını yapınız.

    #include<stdio.h>
    main()
    {
    int satis[5][3];
    int i,j;
    printf(“Bilgi Girişi\n”);
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=2;j++)
    {
    printf(“Satış [%d][%d] = “,i,j);
    scanf(“%d”,%satis[j]);
    }
    printf(“\n”);
    }
    printf(“Satış Adlı Tanlo : \n”);
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=2;j++)
    {
    printf(“%d ”,satis[j]);
    }
    printf(“\n”);
    }
    getch();
    }

    İki Boyutlu Dizi Elemanlarına İlk Değer Atama:
    İki boyutlu dizinin elemanları statik karakterde ise yani programın her icra edilişinde değerler değişmiyorsa bu durumda iki boyutlu dizi elemanlarına program içinde değer ataması yapılabilir.

    Örnek:
    #include<stdio.h>
    main()
    {
    int satis[5][3]={{70,60,50},{65,75,25},{30,40,45},{40,40,40},{25,10,60}};
    int i,j;
    printf(“\n\n”);
    printf(“Satış Adlı Tanlo : \n”);
    for(i=0;i<=4;i++)
    {
    for(j=0;j<=2;j++)
    {
    printf(“%d ”,satis[j]);
    }
    printf(“\n”);
    }
    getch();
    }

    C DİLİNDE FONKSİYON YAPISI
    C dilinde bir program kesinlikle en az bir fonksiyondan oluşur.

    Fonksiyonların Tanımlanması:
    1. Başlık
    2. Gövde
    Başlık kısmı fonksiyonun göndereceği değere göre belirlenen tipini bildiren bir tip bildirisi ya da fonksiyon adı ve varsa parametre listesi ister. Fonksiyon adı değer gönderemeyecekse void sözcüğü ile başlar. Parametre listesinde parametrelerin tipi ve isimleri belirtilir. Her parametreye ilişkin tip bildirimleri arasında virgül (,) sembolleri kullanılır.

    Örnek: int topla(int x, int y)

    Burada topla adlı fonksiyon int tipinde tanımlanmıştır. İki tane parametresi vardır x ve y. Bu parametreler int tipindedir.

    Örnek: int deger(void)

    Burada değer int tipinde bir değer gönderecek olan fonksiyondur. Herhangi bir parametresi olmadığından void yerleştirilmiştir.

    Fonksiyon Bildirimleri:
    Bir fonksiyon hangi fonksiyon içinden çağrılacaksa çağrılacağı fonksiyon içinde bir bildirim deyimi formunda tanımlanmalıdır. Buna fonksiyon bildirimi adı verilir.
    Not:Fonksiyon bildirimleri daima noktalı virgülle (;) sona erer.

    Örnek:
    #include<stdio.h>
    main()
    {
    int toplam(int n);
    int m;
    }
    Burada main (ana program) içinde çağrılacak olan toplam adlı fonksiyonun bildiri deyimleri kümesi içinde bir bildiri deyimi formunda programa tanıtmaktadır.

    Örnek:
    #include<stdio.h>
    main()
    {
    int toplam(int n);
    int m;
    printf("Ust Limit :");
    scanf("%d",&m);
    printf("\n1+2+3+ ... + %d = %d",m,toplam(m));
    }
    int toplam(int n)
    {
    int i,s;
    s=0;
    for(i=1;i<=n;i++)
    s=s+i;
    return s;
    }
    Örnek: c(n,r)=n!/(r!*(n-r)!) Kombinasyon formülünü hesaplayan C programı

    #include<stdio.h>
    main()
    {
    float cnr;
    int n,r;
    float fakt(int n);
    printf("n = ");
    scanf("%d",&r);
    cnr=fakt(n)/fakt(r)*fakt(n-r));
    printf("c(%d,%d) = %0.8f",n,r,cnr);
    }
    float fakt(int n)
    {
    float f;
    int i;
    f=1;
    for(i=1;i<=n;i++)
    f=f*i;
    return f;
    }





    ya bu c değil ki turbo c.




  • quote:

    Orjinalden alıntı: skyjack

    Notorious ne deseler netten indiresin geliyor walla

    kadıköye gidip para vermek istemiom ..öğrenci olmak kolay deil kılı kırk yarmam lazım
  • quote:

    kadıköye gidip para vermek istemiom ..öğrenci olmak kolay deil kılı kırk yarmam lazım

    dev c++ veya mingw ile yazabilirsin
    mesela www.nergin.com'da bu programlar war
    visual studio'dan daha iiler
  • Using the data in the following table, create a two dimensional array of students. Then write a search function that uses the sequential search to find a student in the array and prints the student’s scores, average score, grade based on an absolute scale (≥90 is AA, ≥85 and <90 is BA, ≥80 and <85 is BB, ≥75 and <80 is CB, ≥70 and <75 is CC, ≥60 and <70 is DC, ≥50 and <60 is DD, and <50 is F), medians and modes of each quiz. After the each printout, give the user the opportunity to continue or stop. Your code should also check the student numbers that not found in the table list.







    Student ID# ----- Quiz1------Quiz2------Quiz3

    1100 ------------- 52 ----------7---------100

    1120 ------------- 90 --------- 36--------90

    1117 ------------- 100 ---------45--------20

    1123 ------------- 45 ---------17---------81

    1136-------------20----------12----------45

    1108 -------------34 ---------80---------55

    1115 -------------60---------100---------56

    1134-------------70--------- 11 --------- 66

    1105 ------------- 34---------9 ---------77

    1142------------- 45---------40---------88

    1127------------- 55---------50--------- 99

    1130-------------22---------70---------100

    1138-------------89 ---------50---------91

    1145-------------11---------11----------0

    1150--------------0---------98---------89



    arkadaşlar biliyorum işiniz çok ama ben zaten kıt olan c bilgi(sizliği)m le bu işin içinden çıkamadım...yardım ederseniz çok teşekkür ederim..etmezsenizde canınız saolsun




  • arkadaşlar bide ben microsoft visiual c++ 6.0 kullanıyorum ve programları derlerken sorun çıkıyo..
    programı yazıyorum derliyorum hata yok uyarı yok build yapıyorum 1. programda exe sini yapıyo ama başka program yazdığımda programdan tamamen çıkmadan exe sini yapamıyorum...execute edemiyo diye hata veriyo
  • @bojo
    şu öğrenci prg. c++ da yazmıştım.. arşvimde var.. belki işine yarar




    ***************************************************************************



    #include <iostream.h>
    #include <stdlib.h>
    #include <math.h>

    int main()
    {

    //Degisken tanimlamalari
    int n; //id
    int ogrsay[n]; //ogrenci sayisi
    int on[n]; //ogrenci no
    int s1[n]; //vize
    int s2[n]; //final
    float ort[n]; //ortalama


    cout << "-------------------------------------";

    //not girisi icin ogrenci sayisi: max-> 20, min--> 1
    while (n<0 || n>20)
    {
    cout << endl << " Ogrenci sayisi : ";
    cin >> n;
    }

    int nn=n;

    //not girisi
    while (n>0)
    {

    cout << endl << endl<< " Ogrenci no: ";
    cin >> on[n];
    cout << endl << " 1.Vize : ";
    cin >> s1[n];
    cout << endl << " 2.Final : ";
    cin >> s2[n];
    cout << "-------------------------------------" ;
    n = n-- ;
    }


    //not cikti
    cout << endl << endl << endl;
    for (n=nn; n<=nn && n>0 ; n--)
    {
    ort[n] = s1[n]*0.4 + s2[n]*0.6; //ortalama hesabi
    cout << endl << " [Ogrenci no: " << on[n] << " [Ortalama : " << ort[n]<<endl;
    cout << "-------------------------------------\a" ;
    }

    //program sonu
    cout <<endl<<"PROGRAM SONA ERDI" << endl;
    system("pause");
    return 0;
    }

    ***************************************************************************




  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.