Programlama Ders Notları etiketine sahip kayıtlar gösteriliyor.
Programlama Ders Notları etiketine sahip kayıtlar gösteriliyor.

C Programlama Örnekler 4

Örnek 1 : Kullanıcının girmiş olduğu iki sayının arkadaş sayı olup olmadığını bulan bir C programı yazınız. 

Arkadaş Sayılar: A ve B pozitif iki sayı olsun. A'nın kendisi hariç pozitif bölenlerinin toplamı B ise ve B'nin kendisi hariç pozitif bölenlerinin toplamı A ise A ile B arkadaş sayılardır. 

Örneğin: 
220 ile 284 arkadaş sayılardır.
S(220)=1+2+4+5+10+11+20+22+44+55+110=284
S(284)=1+2+4+71+142=220 
 
#include <stdio.h>
#include <conio.h>
int main()
{
    int sayi1,sayi2;
    int s1Toplam=1,s2Toplam=1;
    int gecici,i=2;
    printf("Lutfen Sayilari Giriniz:\n");
    scanf("%d %d",&sayi1,&sayi2);
    if (sayi2>sayi1)
    {
        gecici=sayi1;
        sayi1=sayi2;
        sayi2=gecici;
    }
    while( i<=(sayi1/2) )
    {
        if(sayi1%i==0)
            s1Toplam=s1Toplam+i;
        if(sayi2%i==0)
            s2Toplam=s2Toplam+i;
        i=i+1;
    }
    if(sayi1==s2Toplam && sayi2==s1Toplam)
        printf("\nArkadas Sayilardir.");
    else
        printf("\nArkadas Sayi Degillerdir.");
    getch();
    return 0;
}


C Programlama Örnekler 3

Örnek 1 : 1'den n'e kadar Olan Çift Sayıların Toplamı ve Ortalaması
#include <stdio.h>
#include <conio.h>

int main(){

    int adet, sayac = 0, toplam = 0, i;

    printf("Lütfen kontrol edilecek n degerini giriniz: ");
    scanf("%d", &adet);

    if( adet <= 1 ){  //1 ve 1'den küçük ise sonlandır.
        printf("Lutfen 1 den buyuk deger giriniz!");
        getch();
        return 0;
    }

    for ( i=1; i<=adet; i++ ){
        if( i % 2 == 0){
            toplam+=i;
            sayac++;
        }
    }

    printf("Toplam= %d\n", toplam);
    printf("Ortalama= %d", toplam / sayac);

    getch();
    return 0;

}

C Programlama Döngü Örnekleri 3

C Programlama

Klavyeden n adet sayı girilmektedir. Girilen sayılardan 5 den küçük olanların  adet ve toplamlarını  bulan programı for, do while, while ve if goto ile yazınız?
for

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
for(s=0;s<n;s++)
{
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
{
a++;
t+=x;
}
}
printf ("Adet=%d dir,Toplam=%d dir…",a,t);
getch();
}

while

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
s=0;
while(s<n)
{
s++;
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
a++;
t+=x;
}
printf ("Adet=%d dir,Toplam=%d dir…",a,t);
getch();
}

do while

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
s=0;
do
{
s++;
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
a++;
t+=x;
}
while (s<n);
printf ("Adet=%d dir,Toplam=%d dir…",a,t);
getch();
}

if goto

#include <stdio.h>
#include <conio.h>
main()
{
int n,s,x,t,a,kriter; a=t=0;
printf ("n sayiyi giriniz=");
scanf ("%d",&n);
s=0;
bayraktar:

{
s++;
printf("\n %d. x sayisini  giriniz:",s+1);
scanf("%d",&x);
if (x<5)
a++;
t+=x;
}
if (s<n)goto bayraktar;
printf ("Adet=%d dir,Toplam=%d dir…",a,t);
getch();
}

C Programlama Döngü Örnekleri 2

C Programlama

Klavyeden girilen n adet sayının kareleri toplamını bulan bir programı for, do while, while ve if goto ile yazınız?
for

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);

    for (s=0; s<n;s++)
    {
        printf("%d x degerini giriniz:",s+1);
        scanf("%d",&x);
        sonuc=x*x;
        t=t+sonuc;
    }
    printf("Sonuc=%d",t);
    return 0;
}
while
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);
    s=0;
    while (s<n)
    {

        printf("%d x degerini giriniz:",s+1);
        scanf("%d",&x);
        s++;
        sonuc=x*x;
        t=t+sonuc;
    }
    printf("Sonuc=%d",t);
    return 0;
}
do while
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);
    s=0;

    do
    {
    printf("%d x degerini giriniz:",s+1);
    scanf("%d",&x);
    s++;
    sonuc=x*x;
    t=t+sonuc;
    }

    while (s<n);
    printf("Sonuc=%d",t);
    return 0;
}
if goto

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,s,x,t,sonuc;
    t=0;
    printf("n sayisinin degerini giriniz: ");
    scanf("%d",&n);
    s=0;
    bayraktar:

    {
    printf("%d x degerini giriniz:",s+1);
    scanf("%d",&x);
    s++;
    sonuc=x*x;
    t=t+sonuc;
    }

    if(s<n)goto bayraktar;
    printf("Sonuc=%d",t);
    return 0;
}

C Programlama Döngü Örnekleri 1

C Programlama

Klavyeden girilen bir sayının faktöriyelini bulan bir programı for, do while, while ve if goto ile yazınız?
for

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

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      for (s=1;s<=sayi;s++)
      {
          fakt*=s;
      }
      printf ("Sonuc=%d dir…",fakt);
      getch();
}
while
#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      s=1;
      while (s<=sayi)
{
            fakt*=s;
            s++;
}
printf ("Sonuc=%d dir…",fakt);
getch();
}
do while
#include <stdio.h>
#include <conio.h>

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      s=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      do
      {
      fakt*=s;
      s++;
      }
      while (s<=sayi);
      printf ("Sonuc=%d dir…",fakt);
      getch();
}
if goto

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

main()
{
      int sayi,fakt,s;
      s=0;fakt=1;
      s=1;
      printf("Bir Sayi Giriniz:");
      scanf("%d",&sayi);
      bayraktar:
      {
      fakt*=s;
      s++;
      }
      if (s<=sayi)goto bayraktar;
      printf ("Sonuc=%d dir…",fakt);

      getch();
}

C Programlama Döngüler

C Programlama 
Döngüler : C Programlama Dilinde döngüler bir veya birden fazla işlem satırını programcı tarafından belirlenen sayılarda tekrarlı bir şekilde çalıştırmak için kullanılan ifadelerdir. C Programlama Dilinde, for, while ve do-while olmak üzere üç tip döngü vardır. Diğer programlama dillerinde olduğu gibi, bu deyimlerle istenildiği kadar iç-içe döngü yapısı kullanılabilir. 

for Döngüsü : Yazım şekli olarak for deyiminin üç bileşeni vardır. Birincisi ve üçüncüsü atama ifadesi ve fonksiyon çağrısı iken, ortadaki ikincisi karşılaştırma ifadesidir.

for Döngüsü Genel Yazım Biçimi : 
for (başlangıç ifadesi; koşul ifadesi; artırma ve azaltma ifadeleri;)
{
........
döngüdeki deyimler
........
}

Başlangıç İfadesi : Döngü içerisinde kullanılacak olan temel atama işlemlerini içerir.
Koşul İfadesi : Mantıksal ifadelerin bulunduğu kısımdır.
Artırma ve Azaltma İfadeleri : Döngü içerisinde kullanılacak sayaç değişkenlerinin değerlerinin değiştirildiği komutları içerir.

Yazım biçiminde gördüğünüz gibi bileşenler arasında (;) bulunması zorunludur. Örneğin karşılaştırma ifadesi yazılma ise koşulun her zaman pozitif olduğu kabul edilir ve  döngü koşulsuz tekrarlanır.

for (;;) 
{
....
}

ifadesinde sonsuz bir döngü oluşturmuş oluruz.

C Programlama switch - case Yapısı

C Programlama 


switch - case Yapısı : Bu yapı bir değişkenin içeriğine bakarak, programın akışını bir çok seçenekten birine yönlendirir. case (durum) yapısından sonra değişkenin durumu belirlenir ve sonraki gelen satırlar işleme girer. Aksi söz konu olduğunda gerçekleştirilmesi istenen deyimler default deyiminden sonraki kısımda bildirilir. Kısaca yapının temel amacı  değişkenin değerine göre programın çalışmasına yön vermektir. Aynı işlem if else yapısı ilede uygulanabilsede daha kolay okunması nedeniyle programcılar tarafından tercih edilmektedir.

switch - case yazım biçimi  ve akış diyagramı :
switch( degisken ) {
 case sabit1:
  komut(lar)
  [break]
 case sabit2:
  komut(lar)
  [break]
 .
 .
 .
 case sabitN:
  komut(lar)
  [break]
 default:
  komut(lar);
}

C Programlama Koşul ve if else Yapıları

C Programlama 

Koşullu (Conditional) İfadeler : C Programlama Dilinde tüm işlem satırlarını herhangi bir koşula bağlı olmaksızın çalıştırabiliriz fakat, bazı durumlarda belirli işlemler için istenen koşullar sağlandığında çalışması gerekebilecek satırların belirlenmesi gerekebilir. Bu koşulları devreye sokmaya yarayan program yapılarına "Program Kontrol Terimleri" adı verilir. Programlarınızda sizin tarafınızdan belirlenen koşullara bağlı olarak çalıştırmak istediğiniz işlem satır veya satırları olacaktır. Tanımlanan koşul sağlanmadığı zaman söz konusu işlem satır veya satırları programda hiç yer almamış gibi değerlendirilecek başka bir ifade ile hiç çalışmayacaklardır. Program aynı işlem satırı içinde yer alan koşul bölümünü değerlendirdiğinde sadece olumlu sonuç alırsa satırın geri kalanına işlem yapacak aksi takdirde bu satırları görmeden atlayacaktır. 

if, if-else Yapıları : Bu yapılar, koşullu işlem yapan kontrol yapılarıdırlar. if ve else tek bir karşılaştırma deyimi olup else kullanımı isteğe bağlıdır. Eğer bu koşul olumlu ise if den sonraki bölüm yürütülür ve else den sonraki bölüm atlanır. Koşul olumsuz ise if den sonraki satırlar atlanır ve eğer varsa, else den sonraki işlemler gerçekleştirilir. 

if yapısının genel biçimi: 
if(koşul)
{
........
işlem satırı; (ifade) ........
}
if ile başlayan komut satırında if'den sonra yer alan parantezler içindeki koşul doğru ise (koşul sonucu 0'dan farklı ise) aynı satırda if yapısından sonra yer alan işlem satırı çalışır. Eğer koşul yanlış ise (ifade sonucu 0'a eşit ise) if yapısından sonra yer alan işlem satırı devre dışı kalır. Programımız o işlem satırı hiç yazılmamış gibi bir sonraki işlem satırından çalışmaya devam eder.

Örnek  if kullanımı :
#include<stdio.h>
int main( void )
{
 int s1; //girilen sayimiz//
 printf("Lütfen bir tam sayı giriniz: ");
 scanf("%d",&s1);
 if( s1 > 100 )
  printf("Girilen sayı 100'den büyüktür\n");
 return 0;
}

Örnek programımızda klavyeden, bir tam sayı girilmesi istenmektedir. Ve bizde girilen sayı, 100'den büyükse koşulunu vererek ekrana "Girilen sayı 100'den büyüktür" yazdırmaktayız.

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)
 

C Programlama Veri Tipleri

C Programlama 

C Veri Tipleri (Data Types)
Önceki derslerde C Programlama Dilin'de tanımladığımız her bir değişkenin bir tipi olması gerektiğini öğrenmiştik. 


Temel Veri Tipleri (Primary Data Type )
  • char : karakter
  • int : tamsayılar
  • float : ondalıklı gerçek sayı (6.basamağa kadar hassasiyet)
  • double : ondalıklı gerçek sayı (10. basamağa kadar hassasiyet)
  • void : boş veri tipi
C Programlama Dilin'de temel veri tiplerinin yanı sıra birde özel veri tipleri bulunmaktadır.

Özel Veri Tipleri (Secondary Data Type)
  • array : dizi
  • pointer : işaretci
  • structure : veri yapısı
  • enum : sıralanmış değerler
  • union: farklı tür ve boyutlardaki veriler
Temel Veri Tipleri (Primary Data Type ) 

CHAR Veri Tipi : Karakter değişkenlerini tutmak için tasarlanmış veri tipidir. char veri tipinde değişkenler  bellekte 1 byte alan kaplamaktadırlar. char veri tipi karakter değişkenlerini saklamasına rağmen sayısal bir veri tipidir. Çünkü C Programlama Dilinde her karakterin sayısal bir karşılığı vardır.En basit anlatımla karakterlerin sayısal karşılıkları American Standart Kodlaması olarak bilinen ASCII (American Standart Code for Information Interchange) tablosudur. ASCII kodlama tablosu sadece C diline özgü değil bütün programlama dillerinde karakterlerin sayısal karşılığını tutmak için kullanılmaktadır.
Table of ASCII Characters
ASCII Tablosu
ASCII tablosunda 72 sayısının H karakterine 104 sayısınında h karakterine karşılık geldiğini görmekteyiz. Örneğin char ornekch = 'H' ifadesinde ornekch isimli karakter değişkene ASCII tablosunda H harfinin karşılığı 40 sayısını atamaktadır. Yazmış olduğumuz kod parçasında görüldüğü gibi karakter değeri tek tırnak işaretleri arasındadır. Aynı şekilde  chat ornekch = '72' yazım şekliylede ornekch isimli karakter değişkene atama yapabiliriz. char tipindeki değişkenlerin ASCII karşılığını printf fonksiyonuyla yazdırmak istediğimizde %c niteleyicisini kullanmalıyız.
printf("ornekch degiskeninin karakter degeri:%c\n",ornekch);

C Programlama Değişkenler

C Programlama 

Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına ihtiyacı vardır. İşte değişkenler bu bellek adreslerine verilen isimlerdir. Kısaca değişkenler bellekte bilginin saklandığı hücreler verilmiş sembolik adlardır. Her değişkenin tuttuğu değerin nasıl bir veri olduğunu gösteren bir tipi vardır. C dilinde temelde birkaç tane değişken tipi vardır. 

C gibi yüksek seviyeli programlama dilleri programcıyı bellek adreslerinin karmaşasından kurtararak değişkenler aracılığıyla bellek alanlarına takma isimler vermemize olanak tanırlar. Bu sayede hexadecimal olarak bilinen 16'lık sayı tabanında tutulan bellek adreslerini bilme zorunluluğumuz ortadan kalkar ve kodlama süresince ihtiyaç duyulan bellek alanlarına kendi adlandırdığımız isimlerle erişebilme kolaylığına sahip oluruz.

Değişken isimleri verirken bazı kurallara uymak gereklidir.
  • Değişken adları en fazla 32 karakterden oluşabilir. 
  • 32 karakterden uzun değişken adları ilk 32 karakteri değerlendirilir. 
  • Geriye kalan karakterler işleme tabi tutulmaz.
  • Değişken adları ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) yada rakamlar (0-9) ile yazılmalıdır. 
  • Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz.
  • Değişken adları herhangi bir rakam ile başlayamaz. 
  • İlk karakter bir harf olamalıdır. Sonrakiler rakamlardan oluşabilir. 
  • Daha önce  değişken adı olarak kullanılmış bir isim prg içerisinde başka bir değişkene verilemez.
  • C dili büyük ve küçük harf ayrımı olan bir dildir. sayi, Sayi ve SAYI kelimeleri 3 farklı değişkene isim olarak verilebilir.
  • ANSI C 'nin anahtar kelimeleri (key words) değişken ismi olarak kullanılamaz.

C Programlama Örnekler 1

C Programlama 

Örnek 1 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
    //Klavyeden girilen iki sayının toplamını bulan bir c programı//
    int s1,s2,t;
    printf("Birici sayiyi giriniz");
    scanf("%d",&s1);
    printf("ikinci sayiyi giriniz");
    scanf("%d",&s2);

    t=s1+s2;

    printf("\n\nSayilarin Toplami: %d",t);

    return 0;
}


Örnek 2 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{

//Klavyeden girilen iki notun ortalamasını bulan bir c programı - vize%40 final%60 olarak //
    int s1,s2,t;
    printf("Vize notunu giriniz:");
    scanf("%d",&s1);
    printf("Final notunu giriniz:");
    scanf("%d",&s2);

    t=s1*0.4+s2*0.6;
    printf("\n Notlarin Ortalamasi: %d",t);

   // printf("%d",t);
   return 0;
}

Örnek 3 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
//Klavyeden girilen iki sayının çarpım ve bölümünü bulan bir c programı//
    int s1,s2,c,b;
    printf("Birici sayiyi giriniz");
    scanf("%d",&s1);
    printf("ikinci sayiyi giriniz");
    scanf("%d",&s2);

    c=s1*s2;
    b=s1/s2;

    printf("\n\nsayilarin carpimi: %d",c);
    printf("\nsayilarin bolumu: %d",b);

   return 0;
}

Örnek 4 :
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
//Klavyeden iki notun ortalamasını bulan ve ortalaması 45den büyükse geçti değilse kaldı yazan bir c programı//
    int s1,s2,t;
    printf("Vize notunu giriniz:");
    scanf("%d",&s1);
    printf("Final notunu giriniz:");
    scanf("%d",&s2);

    t=s1*0.4+s2*0.6;

    if(t<45)
    {
        printf("KALDI.%d",t);
    }
    else
    {
    printf("GECTI: %d",t);
    }

   return 0;
}

Örnek 5 :
#include <stdio.h>
#include <stdlib.h>

int main()
{
//Klavyeden girilen isminizi 10 defa yazdıran bir c programı//
    int sayac;
    char isim[200];
    printf("Isminizi Yaziniz:");
    scanf("%s",&isim);

    printf("\n\n");

    for(sayac=1;sayac<11;sayac++)
    {

    printf("%d.Metin: %s\n",sayac,isim);
    }
     return 0;
}

Örnek 6 :
#include <stdio.h>
#include <stdlib.h>

int main()
{
//0'dan 10'a kadar olan sayıların toplamını bulan bir c programı//
    int t=0;
    int sayac;

    for(sayac=0;sayac<=10;sayac++)
    {
        t=t+sayac;
    }

    printf("%d",t);
    return 0;
}

C Programlama Sabitler

C Programlama 

C dilinde, tamsayı, kayan noktalı, yani gerçek sayı, karakter ve karakter dizisi sabitleri bulunur.

Tamsayı Integer Sabitleri
Tamsayı sabitleri, ondalık, sekizli ve onaltılık sayı tabanlarında kullanılırlar ve derleyici programcı tarafından yazılan şekle göre sayı tabanlarının ayrımını yapar. C de bu veri tipleri int, short intvelong intolarak üç tipde tanımlanabilir ve 16, 32 veya 64 bit şeklinde saklanırlar. Pozitif veya negatif olabilen rakamlardan oluşabilir. İşaretsiz tamsayılar sadece pozitif değerler alabilir. Ayrıca kısa ve uzun tamsayılar kullanılabilir.

C Programlama Dili'ne Giriş

C Programlama
  • Programlama Nedir? 
  • Programlama Dillerinin Kısa Tarihçesi
  • Derleyici (Compiler) ve Yorumlayıcı (Interpreter) Nedir?
  • C'de Program Yazmak için gerekli araçlar ve adresler
  • C Programlama Dili
  • İlk C Programım (Hello World)
  • C Dilinde Kullanılan Anahtar Kelimeler
Bu ilk derste öncelikle Programlama Dili kavramı  Programlama Dillerinin Kısa Tarihçesi, bir C programının derlenip çalıştırılabilmesi için Internet'te bulabileceğiz derleyicilerden ve İlk C Programlama deneyiminden bahsedeceğim.

Algoritma Örnekleri 3

Programlamaya Giriş ve Algoritmalar - Ders Notları
Algoritma ve Akış Diyagramı Örnekleri

1. Klavyeden girilen n adet günün sıcaklık ortalamalarını bulan  bir algoritma ve akış diyagramı?

A1 Başla
A2 Oku, Gün
A3 s=0 t=0 ort=0
A4 Oku sc (sıcaklık)
A5 s=s+1
A6 t=t+sc
A7 s<gün A4’e git
A8 ort=t/gün
A9 Yaz ort
A10 Dur



Algoritmanın Temel İfadeleri ve Operatörler

Programlamaya Giriş ve Algoritmalar - Ders Notları
Algoritmanın Temel İfadeleri ve Operatörler

Bir problemin çözümünde algoritma oluştururken satır algoritma yazabilir yada akış diyagramı çizebiliriz. Bu şekilde programlamaya başlamadan önce problemin çözümünü açık bir şekilde ifade etmiş oluruz. Böylelikle süreç ile ilgili bir hatayı programlamaya geçmeden önce gözlemleme imkanı buluruz.
Algoritmanın Temel İfadeleri
Değişkenler (variable) : Programın işleyişi içinde farklı değerleri tutmak üzere ayrılmış bellek bölümüdür. Bir değişkenin tanımlanması halinde tüm bilgiler geçici hafızada (RAM) tutulur. Örneğin :  a=b+c ifadesinde a,b,c tanımlamaları birer değişkendir.Değişken isimlendirme tamamen programcıya aittir. Ancak adının yerini aldığı ifadeye çağrışım yapacak şekilde olması programın anlaşılırlığı açısından önemlidir.
Tanımlayıcılar (identifier) : Değişken, sabit, alt yordam ve alan gibi programlama birimlerine programcı tarafından verilmiş isimlerdir.
İsimlendirme Kuralları
  • 0-9 arası rakamlar kullanılabilir.
  • Sembollerden sadece alt çizgi ( _ ) kullanılabilir.
  • Tanımlayıcı isimleri harf veya alt çizgi ile başlayabilir.
  • Tanımlayıcı ismi, rakamla başlayamaz veya sadece rakamlardan oluşamaz (sayı olamaz).
  • İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir.


Döngüsel Akış Diyagramları Örnekleri

Programlamaya Giriş ve Algoritmalar - Ders Notları
Algoritma ve Akış Diyagramı Örnekleri (Döngüsel Akış Diyagramları)


Döngüsel (İteratif, Çevrimli, Yineli) Akış Şemaları
Sorunun çözümü için, çözümde yer alan herhangi bir adım ya da aşamanın birden fazla kullanıldığı akış şemalarına denir. İş akışları genel olarak giriş ya da başlangıç değeri verme, hesaplama, kontrol biçiminde olmaktadır.  

Mantıksal Akış Diyagramları Örnekleri

Programlamaya Giriş ve Algoritmalar - Ders Notları
Algoritma ve Akış Diyagramı Örnekleri (Mantıksal Akış Diyagramları)


Mantıksal Akış Şemaları
Geniş ölçüde mantıksal kararları içeren akış şemalarıdır. Hesap düzenleri genellikle basittir.

100 kişilik bir sınıfta 18-22 yaş arası kaç öğrenci bulunduğunu yazan programın akış diyagramı :
Değişkenlerimiz : OS: Öğrenci sayısı, I18: 18 yaşında olan öğrencilerin sayısı, I19: 19 yaşında olan öğrencilerin sayısı, I20: 20 yaşında olan öğrencilerin sayısı, I21:21 yaşında olan öğrencilerin sayısı I22: 22 yaşında olan öğrencilerin sayısı , IOS: İşlem yapılan öğrenci sayısı

A1 Başla
A2 I18=0 I19=0 I20=0 I21=0 I22=0 IOS=0
A3 OS oku
A4 OS=18 ise I18'i arttır, A9'a git
A5 OS=19 ise I19'u arttır, A9'a git
A6 OS=20 ise I20'yi arttır, A9'a git
A7 OS=21 ise I21'i arttır, A9'a git
A8 OS=22 ise I22'Yİ arttır, A9'a git
A9 IOS<100 ise A3'e git
A10 I18,I19,I20,I21,I22,yaz
A11 DUR