C · C++

C ile C++ Arasındaki Farklar

  • C fonksiyon tabanlı yapısal bir programlama dilidir, C++ ise OOP (Nesne Yönelimli) bir programlama dilidir.
  • C++, C’ nin bir üst düzeyi olarak düşünülebilir.
  • C düşük seviyeli sistemler için yazılabildiği gibi yüksek sistemlilerde de kullanılabilir. Makine diline daha yakındır.
  • C++ daha kolay ve hızlıdır.
  • C, en popüler yapısal programlama dilidir.
  • C++, en popüler nesne temelli programlama dilidir.

C

C Dilinde Matrisler

Geldik çok boyutlu diziler olan matrislere.

Öncelikle dizi, belirli sayıdaki değişkeni bir sıra içinde tutmak için kullanılır. Diziler, tek boyutlu ve çok boyutlu olabilir. Örneğin; matrisler, iki boyutlu dizilerdir. Satır ve sütun olmak üzere iki boyuttan oluşurlar.

Aşağıdaki örnekte matrisin kaça kaçlık bir matris olduğu ve elemanları kullanıcı tarafından girilecektir.

#include<stdio.h>
#include<conio.h>
 int main()
{
  int melis[50][50];
  int i,j,satir,sutun;

  printf("Satir sayisini giriniz:"); 
  scanf("%d",&satir);
  printf("Sutun sayisini giriniz:");
  scanf("%d",&sutun);

  printf("\nDizinin degerlerini giriniz:\n");
  for(i=0;i<satir;i++)
  {
   for(j=0;j<sutun;j++)
   {
    printf("\nmelis[%d][%d] icin deger: ",i,j);
    scanf("%d",&melis[i][j]); 
   }
  } 
    printf("\ndizi %d Satir ve %d Sutundan olusan=melis[%d][%d] cok boyutlu dizi:\n",satir,sutun,i,j);
    for(i=0;i<satir;i++)
  {
    for(j=0;j<sutun;j++)
   {
   printf("%2d",melis[i][j]); 
   } 
    printf("\n\n"); 
  }
   getch(); 
}
C

C Dilinde Gelin ‘H’ Harfi Yapalım!

♣For’ları öğrendiğimize göre bunu yapmak oldukça basit olmalı:

#include <stdio.h>
int main()
{
 int i,j;
 for(i=0;i<=0;i++)
 {
   for(j=0;j<=3;j++)
   printf("*\t*\n");
   printf("---------\n");
 
   for(int a=0;a<=0;a++)
  {
    for(int b=0;b<=3;b++)
    printf("*\t*\n");
  }
 }
}
C

C Dilinde Sayıları Büyükten Küçüğe Sıralama

Scanf’ten bahsetmemişiz bahsedelim hemen. Scanf fonksiyonunun prototip bildirimi de printf fonksiyonu gibi stdio.h başlık dosyasında yer alır. Yazdığımız programda karşı taraftan veri almak istediğimizde adreslerle iş yapan sevgili ‘scanf’i kullanırız.

Puts() ise scanf() gibi bizden bilgiyi alır. Aslında ‘puts’ un asıl görevi, ileride göreceğimiz katarları alıp, atamak için kullanmaktır. Şöyle ki; sevgili scanf() bizden şu cümleyi almak için yetersizdir: “Programlamayı ögrenmek istiyorum”. Çünkü boşluk gördüğü anda, veriyi almayı keser ve sadece “Programlamayı” kelimesinin atamasını yapar. Boşluk içeren böyle cümleler için puts( ) ve gets( ) fonksiyonları kullanılır.

Bu bilgiler ışığında şimdi gelin programa bakalım. Burada görüldüğü gibi bir sayı dizimiz var x[5]; i ve j ise if yardımıyla 2 sayı arasında kıyaslama yapmak için kullanılacak. ‘Gec’ değişkeni kıyaslama için verilen gecici bir değer. Şimdi gelin sıralamaya başlayalım:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
 main()
 {
   int x[5],i,j,gec; puts("5 tane sayi gir:");
   for(i=0;i<5;i++)
  {
    printf("%d Sayi: ",i);
    scanf("%d",&x[i]);
  }

   for(i=0;i<4;i++)
  {
   for(j=i+1;j<5;j++)
   {
     if( x[j]<x[i] )
    {
      gec = x[i];
      x[i] = x[j];
      x[j] = gec;
    }
   }
  }
   for(i=0;i<5;i++)
   printf("\n %d",x[i]);
   getch();
 }
C

C Dilinde Mod Alarak 1’den 20’ye kadar Tek Sayıları Yazdırma (Continue ile)

C dilinde mod almak istersek bunu nasıl yaparız? Tek sayıları nasıl yazarız?

Aşağıda gördüğünüz gibi ‘i’ değişkenini integer tipinde ‘for’un içinde tanımlayabiliyoruz.

Şimdi gelelim nasıl çalıştığına:

‘i’ nin 2’ye göre modu 0 ise (yani bir sayı 2’ye bölündüğünde kalan 0’sa) bu bir çift sayıdır. Bu durumda ekrana yazdırılmaması için döngü bir sonraki adıma geçip ekrana tek sayıları basar. (‘continue‘ ile bu sağlanır.)

#include <stdio.h>
#include <conio.h>  // getch() fonksiyonun kütüphanesi. Bu fonksiyon programın durmasını sağlar.

int main()
{
 for(int i=0; i<20; i++)
 {
   if(i%2 == 0) continue;
   printf("%d \n",i);
 }
   getch();
}
C

C Dilinde 1’den 40’a Sayıları yazdır ama 18 ile 28 arasındakiler olmasın!

Evet geldik şimdi başka bir örneğe. Başlıktan da gördüğünüz gibi şimdi 1’den 40’a kadar olan rakamları yazdıracağız. Ancak 18 ile 28 arasındaki sayılar olmayacak. Gördüğünüz gibi bunun için continue diye bir komut kullandık. Gövdenin içindeki continue komutu döngüyü devam ettirmek için kullanılır. Nasıl kullanıldığını görmeniz için burada kullandım yani bunu illa burada kullanmak gibi bir zorunluluğunuz yok.

#include <stdio.h>

int main()
{
 int x;
 for(x=1;x<=40;x++)
 {
  if(x>18 && x<28)
  continue;
  printf("%d \n",x);
 }
}
C

C Dilinde For Döngüsü ile Yıldızlarla Üçgen Yapımı

For Döngüsü, döngünün (loop) kontrol degişkenine başlangıç değerinin atanması ile başlar. Daha sonra koşulumuzu yazar, son olarak kaçar arttırmak (veya azaltmak) istiyorsak onu yazarız.

Sol tarafta gördüğünüz i++ demek i=i+1 demektir yani sayıyı 1 arttırır ve ekrana normal üçgen basar. Sağ tarafta gördüğünüz ise ters üçgendir. Orada da üçgeni tersten elde etmek için i- – diyerek birer azaltıyoruz.  Bunu yapmak için de iç içe for kullanıyoruz.

#include <stdio.h>          #include <stdio.h>
int main()                  int main()
{                            {
 int i,j;                      int i,j;
 int sayi=5;                   int sayi=0;
 for(i=0;i<=sayi;i++)          for(i=10;i>=sayi;i--)
 {                              {
  for(j=0;j<=i;j++)               for(j=0;j<=i;j++)
  printf("*");                    printf("*");
  printf("\n");                   printf("\n");
 }                              }
}                             }
C

C Dilinde Değişkenler

Burada değişken kullanımını yani bir sayının nasıl ifade edildiğini görüyoruz. Integer veri tipinde tanımlanmış olan m, bir tam sayıdır. Bu sayı eğer ki 3.14 gibi bir sayı olsaydı o zaman veri tipi float olmalıydı.

main()
{
int m;
m = 13; 
printf("m'nin degeri: %d \n"m);
m = 23;
printf("m'nin degeri: %d \n",m);
m = 22;
printf("m'nin suanki degeri: %d \n",m);
}
C

C Programlama Dilinin Temel Özellikleri

Bir C programı bu özellikleri kesinlikle taşımak zorundadır.

  • Her C programı main() fonksiyonunu içermelidir.
  • Satırın sonuna “;" işareti konmalıdır.
  • Her fonksiyonun başlangıcı ve bitişi {} sembolleri ile belirlenir.
  • C dilinde yazılan kodlarda küçük-büyük harf ayrımı vardır. Örneğin A ile a derleyici tarafından farklı değerlendirilir.
  • Açıklama operatörü /* */ sembolleridir.
  • Değişken isimleri en fazla 32 karakterden oluşabilir. 32 karakterden uzun değişken isimlerinin ilk 32 karakteri değerlendirilir.
  • Değişken adları ingiliz alfabesinde bulunan karakterler (A-Z) veya (a-z) ile yazılmalıdır.
  • Değişken adları herhangi bir rakam ile başlayamaz. Ilk karakter bir harf olamalıdır.
  • Aşağıdakiler birer veri tipidir ve değişken ismi olarak kullanılamaz.
    int      short    long
    float    char     double
    
C

C Programlama Diline Giriş

İlk yazacağımız şey rutin “Selam dünya” öncelikle gençler işe kütüphaneleri yazarak başlıyoruz. Sonraki adım ana fonksiyonumuz olan main() fonksiyonunu yazmak. Şimdi gelin içini dolduralım. Programa yorum yazmak istiyorsak // tek satır için bunu kullanıyoruz. Eğer bir kaç satır yorum yazmak istiyorsak  /* Yazacaklarımızı bunların arasına yazıyoruz */ böylece programın ne işe yaradığına dair notlar alabilirsiniz. /n bu da bir alt satıra geçmeyi sağlıyor yani yazılacakların bitişik yazılmasını önlüyor.

#include <stdio.h>
int main()
{
     printf(" Selam Dünya!!! \n");
     return 0;
}

Oldu bile. İşte ilk adımı attınız…