C Programlama Dili'ne Giriş etiketine sahip kayıtlar gösteriliyor.
C Programlama Dili'ne Giriş 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 Örnek Enigma Makinesi (Enigma Machine)


Örneğimize geçmeden önce Enigma Makinesini tanıyalım. Bir Rotor makinesi olan enigma kriptolojide şifreleme ve deşifre işlemleri için kullanılan elektro-mekanik akışlı şifreli bir cihazdır. Enigma Makinesi ilk olarak Birinci Dünya Savaşının sonlarında Alman Mühendis Arthur Scherbius tarafından keşfedilmiştir. Scherbius tarafından geliştirilen bu mekanik şifreleyici cihaz 1920’lerin başlarında ticari amaçlı kullanılmış, ardından İkinci Dünya Savaşı öncesinde ve süresince Nazi Almanya’sında olmak üzere çeşitli ülkelerde askeri ve hükümete bağlı kuruluşlar tarafından benimsenmiştir.



(Yararlı Bağlantılar)
Enigma Şifrelemesinin Analizi ve Genel Prensipler
Enigma Makinesinin Çalışma Sistemi
Unutulmuş Bir Dahi Alan TURING
Alan Turing: Creator of modern computing
Wikipedia: Enigma Machine
Online Enigma Makinesi Emülatörü
Dünya Bilim Festivali — Enigma Tanıtımı
KhanAcademy Enigma Şifreleme Makinesi

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 Yarıçapı girilen dairenin çevresini ve alanını hesaplama Örnek

#include <cstdlib>
#include <iostream>
#include <conio.h>
#define PI 3.14
int main(int argc, char *argv[])
{
using namespace std;
{
float radius;
float circum, area;
cout << "Dairenin Yaricapini Giriniz= ";
cin >> radius;
circum = 2 * PI * radius;
area = PI * radius * radius;
cout << "Dairenin Cevresi= " << circum << endl;
cout << "Dairenin Alani= " << area << endl;
getch();
}
}

C Programlama SWITCH CASE Örnek

Dışardan girilen bir sayi için;
f:faktöriyel hesabı yapan,
i:girilen sayı kadar isim yazan
t:girilen sayıya kadar kaç tane tek var
y:girilen sayıya kadar kaç tane cift var

İşlemlerini yapan yapan programı switch case ile yazınız.
Program sonunda; Devam etmek istiyormusun(E/H) sorusuyla başa dönmelidir.
Faktöriyel döngüsü do while; isim yazdırma döngüsü while ile yazılmalıdır.
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main(void)
{
    gidilecekYer: ;
    system("cls");
    int s;
    int f=1;
 int u=1;
 int x,m;
 char z;

    printf ("Islem Yapilacak Sayiyi Giriniz: ");
    scanf("%d",&s);
 printf("\n\n(f) Faktoriyel Hesapla");
 printf("\n(i) Girilen Sayi Kadar Isim Yaz");
 printf("\n(t) Sayiya kadar kac adet tek sayi var");
 printf("\n(y) Sayiya kadar kac adet cift sayi var\n\n");

 scanf("%s",&z);

      switch (z) {
  case 'f':
   do
   {
   f=f*s;
   s--;
   }
   while (s!=1); //sayi 1 e esit degilse dönecek. do calisacak.
   printf ("Faktoriyel Sonuc: %d",f);
   break;
    case 1:
   printf ("1e");
   break;
        case 'i':
   m=1;
   while (m<s+1)
   {
   printf ("BAYRAKTAR\n");
   m++;
   }
   break;

        case 't':
   for(m=0;m<s+1;m++)
   {
    if(m%2==1)
    {
   printf("tek sayi: %d",m);
    }
   }
   break;

  case 'y':
   x=1;
   for(m=0;m<s+1;m++)
   {
    if(m%2==0)
    {
   printf(x+".cift sayi: %d",+m);
   x++;
    }
   }
   break;

            default: printf("Hatali Deger Girdin"); break;
}

   char x2;
   printf("\n\nDevam Etmek istiyor musunuz ? (e/h)\n");
   scanf("%s",&x2);


   if(x2=='e')
   {
               goto gidilecekYer;
}
}

C Çalışmaları

S1-klavyeden girilen bir sayıdan 0'a kadar ekrana yazan programı yazınız.
S2-klavyeden girilen bir sayıya kadar olan rakamları alt alta ekrana yazdıran programı yazınız .
S3-klavyeden girilen 10 sayıdan tek olanların toplamını bulan programı yazınız.

C1:
#include <stdio.h>
#include <conio.h>
int main(int argc, char *argv[])
{
    int sayac;
  int sayi; //Sayı değişkenini tanımlıyorum.
  printf("Sayiyi Girin: \n");
  scanf("%d",&sayi); //değişkene dışardan değer aldırıyorum.
 
  if(sayi<0) //eğer sayı sıfırdan küçükse bu alan çalışacak.
  {
            printf("0'a kadar olan sayilar asagida: \n");
            for(sayac=sayi; sayac<=0 ; sayac=sayac+1)
            {
                   printf("%d\n",sayac);
            }
  } else
  if(sayi==0) //Eğer sayı 0 a eşitse bu alan çalışacak..
  {
  printf("Zaten 0 Girmissiniz..");
  }
  else //Eğer sayı 0 dan büyükse bu alan çalışacak..
  {
              printf("\n0'a kadar olan sayilar asagida: \n\n");

            for(sayac=sayi; sayac>=0 ; sayac=sayac-1)
            {
                   printf("%d\n",sayac);
            }
  }
  printf("\nCikis icin herhangi bir tusa basin…");
  getch();
}

C2:

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

int main(int argc, char *argv[])
{
    int sayac;
    int sayi;
    printf("Bir Sayi Girin..\n");
    scanf("%d",&sayi);
  
   if(sayi > 0)
   {
    for (sayac=0;sayac <= sayi; sayac ++)
    {
        printf("\n%d",sayac);
    }
}
else if(sayi==0)
{
     printf("0 girdiniz…");
 } else if(sayi<0)
 {
        printf("Sayi sifirdan kucuk");
        for (sayac=sayi;sayac <=0;sayac++)
        {
            printf("\n%d",sayac);
        }
       
       
        } else {
               printf("Harici Hata var. Yanlis Birseyler yapiyor olmalisin..");
               }
               printf("\n\nCikis icin herhangi bir tusa basin..");
  getch();
 
}

C3:

int main(int argc, char *argv[])
{
    int sayac;
    int toplam=0;
    int dizi[9];
    for(sayac=0;sayac<=9;sayac++)
    {
            printf("%d. Elemani girin\n",sayac+1);
            scanf("%d",&dizi[sayac]);
            printf("%d. Eleman Tanimlandi..\n",sayac+1);
            }
  for(sayac=0;sayac<=9;sayac++)
  {
                               if(dizi[sayac]%2==1) //girilen sayıların 2 ile bölümünden kalan 1 ise, yani tek sayılar ise.
                               {
                                      toplam=toplam+dizi[sayac];
                                      printf("Tek Sayilar: %d\n",dizi[sayac]);            
                                                   }
                               }
                               printf("Toplami: %d",toplam);
                               getch();
}

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.