C Dili - Ders 31 - Structure (Yapılar) & Pointerlar



Şimdi bir structure oluşturalım ve bu structureın üyelerini 5 elemanlı bir dizi olsun daha sonra bu dizinin elemanlarını pointer kullanarak kullanıcıdan alalım.



#include "stdio.h"
struct yapi_turu{ int yas;};
struct yapi_turu insanlar[5];
int main(){
struct yapi_turu* pointer;
pointer=insanlar; int i=0;
for(i=0;i<5;i++) {
printf("gir:");
scanf("%d",pointer->yas);
printf("%d degerini girdin!\n",(*pointer).yas);
pointer++;
}
return 0;
}

Yukarıda pointerı tanımlarken türüne dikkat edin. elemanları kullanıcıdan alma işlemini bir fonksiyonla yapabilirsiniz.

C Dili - Ders 30 - Structure(Yapılar)



Bu yapı paralel dizi oluşturmamıza gerek kalmadan birden fazla değişken türüyle yeni bir değişken türü oluşturmamıza yarayan yapıdır.

Kullanılışı aşağıdaki gibidir. integer ve char değişken türlerinden yeni bir değişken türü oluşturdum.



struct kitap_turu{
int fiyat;
char isim[100];
char yazar[100];
};

Yukarıda yeni bir struct kitap_turu adında değişken türü oluşturduk. Şimdi bu türden bir kitap adında bir değişken oluşturalım.



struct kitap_turu kitap;
//hatta dizi değişken bile oluşturabiliriz.
struct kitap_turu kitap_dizisi[10];

Şimdi bir değişken daha oluşturalım ve değer atayalım.



#include "stdio.h"
struct kitap_turu{
int fiyat;
char isim[100];
char yazar[100];
};
struct kitap_turu kitap2={10,"Define Adasi","Robert Louis Stevenson"};
int main(){
printf("Kitap ismi: %s\n",kitap2.isim);
printf("Kitap fiyat: %d TL\n",kitap2.fiyat);
printf("Kitap yazar: %s\n",kitap2.yazar);
return 0;
}

Structurelara değer atarken içerisindeki değişkenlerin sıralamasına uymalısınız.

C Dili - Ders 29 - Paralel Diziler



Örneğin bir kitap listesi tutacak bir veri yapısı olulşturmak istedik. Veri yapısı kitap isimlerini ve fiyatlarını tutacak, fakat isimler char türünde fiyatlar ise integer türünde olacak, biz bunu tek bir değişken türü olarak tanımlayamayız. Bunun için paralel dizi yöntemini kullanacağız.

İlk olarak fiyatları tutacak dizimizi tanımlayalım.

int fiyat[10];

Şimdi kitap isimlerini tutacak diziyi tanımlayalım.

char isim[10][100];

Programın tamamını yazalım şimdi.

#include "stdio.h"
int main(){
int fiyat[10];
char isim[10][100];
int i=0;
while(i<10){
printf("kitap ismi gir:");
scanf("%s",isim[i]);
printf("fiyat gir:");
scanf("%d",fiyat[i]);
i++;
}
return 0;
}

Bu yapıyı daha sonra göreceğimiz structure yapılarını kullanarak oluşturabiliriz.

C Dili - Ders 28 - Hafıza ile Çalışma II



Bu dersimizde hafızdan ayırdığımız bölümü işimiz bittiğinde serbest hale getirmeyi göreceğiz.

Bu işlemi free fonksiyonu ile yapıyoruz. Aşağıda görüldüğü gibi.

#include "stdio.h"
#include "stdlib.h"

int main()
{
 int* pointer=(int *)malloc(sizeof(int));
 *pointer=6;
 printf("Deger: %d   -   Adres: %d\n",(*pointer),pointer);
 free(pointer);
 return 0;
}

C Dili - pointer to pointer



C dilinde pointerları başka pointerlarda gösterebilir. Aşağıdaki kodda p pointerını q pointerı gösteriyor ve p pointerı da x değişkenini gösteriyor.

#include "stdio.h"
#include "stdlib.h"
int main()
{
int x, *p, **q;
x = 10;
p = &x;
q = &p;
printf("%d\n", **q);
printf("%d\n", q);
printf("%d\n", p);
printf("%d\n", *q);
printf("%d\n", *p);
return 0;
}

C Dili - Ders 27 - Hafıza ile Çalışmak (malloc)



Bu dersimizde hafızadan nasıl yer ayrılır(allocate) ve ayrılan yer nasıl tekrar boşaltılır onu göreceğiz. Biz bunun için malloc (memory allocate) fonksiyonunu kullanıyoruz.

int *pointer=null;
pointer=malloc( sizeof(int) );

yukarıdaki kodda en başta bir pointer tanımlıyoruz. Daha sonra malloc ile hafızadan yer ayırıyoruz. Ve hafızanın baş adresini pointera atıyoruz. malloc fonksşyonunu kullanırken içine ayırmak istediğimiz hafıza miktarını yazıyoruz.

2 integer değişkeni tutacağımız kadar hafıza ayıralım ve hafızaların içini dolduralım.

#include "stdio.h"
#include "stdlib.h"
int main()
{
 int *pointer=(int *)malloc((2*sizeof(int)));
 *pointer=10;
 printf("Adres: %d , Deger: %d\n",pointer,*pointer);
 pointer++;
 *pointer=9;
 printf("Adres: %d , Deger: %d\n",pointer,*pointer);
 return 0;
}

Bu fonksiyonu kullanabilmek için stdlib.h kütüphanesini include etmeniz lazım. Daha karışık bir örnek dinamik dizi oluşturmak yazısında var.

C Dili - Ders 27 - Stringler



Stringler çok boyutlu char dizileridir. örneğin aşağıda.

char kelime[10]="merhaba";

Bu tek boyutlu bir dizi bunda sadece bir kelime yada bir satır bilgi tutabiliriz. peki çok satırlı bir yazımız var ise onu çok boyutlu char dizisinde tutmalıyız.

char metin[5][10]={
"csharp","assembly","fortran","pascal","java"
};
printf("ilk dilimiz %s",metin[0]);

C Dili - Ders 26 - Pointer ve Fonksiyonlar



Bu dersimizde pointerlarla fonksiyonlar nasıl kullanılır onu görecez. Örneğin dışarıda bir dizi tanımlayalım ve dizisirala adında bir fonksiyonumuz olsun. fonksiyona dizinin ilk adresini ve boyutunu gönderelim ve dizi elemanlarını ekrana sıralayalım.

#include "stdio.h"
#include "stdlib.h"

void dizisirala(int *pointer,int boy){
 int i=0;
 while(i<boy){
  printf("%d\n",*pointer);
  pointer++;
  i++;             
 }     
}

int main()
{
  int dizi[10]={1,2,3,4,5,6,7,8,9,0};
  dizisirala(dizi,10); 
  return 0;
}

C Dili - Ders 25 - Pointer Aritmetik



bu yazımızda pointer aritmetik konusuna değineceğiz. Pointerlar bildiğiniz gibi adresleri gösterir. integer türünde bir pointer 1002 adresini gösteriyorsa; pointerın adresini bir artırırsak (pointer++) 1006 adresini göstercektir. Sebebi integer türünün 4 byte alan kaplamasıdır. Şimdi Bunu bir örnekle görelim.

int degisken=10;
int* p=°isken;
printf("%d\n",p);
p++;
printf("%d\n",p);
p++;
printf("%d\n",p);
p++;

Yukarıdaki örneği bir de char ve float türleriyle deneyin.

Yukarıda yaptığımız adresleri bir arttırmaktı. Pointerın gösterdiği değişkeni bir artıralım.

*p++;
printf("Degiskenin degeri:%d\n",*p);

Pointerları biraz daha işe yarar bir şeyde kullanalım. Bir dizi oluşturalım ve dizinin ilk elemanının adresini pointer göstersin. Daha sonra pointer ile dizinin bütün elemanlarını ekrana yazdıralım.

#include "stdio.h"
#include "stdlib.h"

int main()
{
  int dizi[5]={1,2,3,4,5};
  int* pointer=dizi; //dizinin ilk elemaninin adresi
  int i=0;
  while(i<5)
  {
   printf("eleman %d:%d - Adresi:%d\n",i,*pointer,pointer);
   pointer++;
   i++;         
  } 
  return 0;
}

C Dili - Dinamik Dizi Oluşturmak



Yazacağımız program önce kullanıcıdan dizinin kaç elemanlı olacağını sorsun. Daha sonra dizinin elemanlarını kendi atayarak ekrana yazdırsın.

#include "stdio.h"
#include "stdlib.h"

int main()
{
  int boyut=0;
  printf("Dizi boyutunu girin:");
  scanf("%d",&boyut);
  int* dizi;
  dizi=(int *)malloc((boyut*sizeof(int)));
  
  int i=0;
  for(i=0;i<boyut;i++)
  {
   *dizi=i;
   printf("%d",*dizi);
   dizi++;                   
  }
 
  return 0;
}

C Dili - Ders 24 - Pointer



C programlama denilince akla ilk gelenler arasında pointer meselesi vardır. Aslında en zorlanılan konudur. Ama aslında süper bişeydir

Kısaca Pointerlar oluşturduğumuz değişkenlerin adreslerini gösterirler. Peki bu nasıl olur.

int a=5; //temel değişken tanımı.

şimdi bu değişkenin adresini ekrana yazdıralım.

printf("\na degiskenin adresi : %d",&a);

şimdi bir pointer tanımlayalım ve bu pointer a değişkenini göstersin.

int* pointer=&a;

Yukarıda görüldüğü gibi pointer tanımlarken *(yıldız) karakterini kullanıyoruz.

printf("\npointerin gostedigi adres : %d",pointer);
printf("\npointerin gosterdigi adresteki deger : %d",*pointer);

Yukarıdaki konuyu anlamışsınızdır umarım.Bu ilk bölümdü. Pointerlar daha bitmedi.

C Dili - Örnek 08 - Faktoriyel (Rekürsif)



Faktoriyel alan rekürsif bir fonksiyon.

#include "stdio.h"
int faktoriyel(int x);
int main(){
 int deger=1;
 int sonuc=faktoriyel(deger);
 printf("Sonuc=%d",sonuc);
 return 0;
}
int faktoriyel(int x){
 int birim;
 if(x>0){
  birim=faktoriyel(x-1);
  return x*birim;
 }else{
  return 1;
 }
 
}

C Dili - Ders 23 - Değişkenlerin Adresleri



Değişkenler herbirinin hafızda saklandıkları yerlerin adresleri vardır. Bu adresleri & (adresse of) operatörüyle görebiliriz. Örneğin;

int a=10;
printf("a degiskeninin adresi:%d",&a);

float b=56;
printf("b degiskenin adresi:%d",&b);

char harf='d';
printf("harf degiskenin adresi:%d",&harf);

Bu bilgi ileride pointerlar konusunda yardımcı olacak

C Dili - Örnek 07 - Recursif Fonksiyon Örneği



Aşağıdaki kod decimal(onluk) tabandaki sayıyı ikilik tabandaki sayıya dönüştürür.

#include "stdio.h"

void fonk(int sayi){
 if(sayi==1 || sayi==0){
  printf("%d",sayi);
  }else {
  fonk(sayi/2);
  printf("%d",sayi%2);
  }
 }

int main(int argc, char **argv)
{
 fonk(9);
 return 0;
}

C Dili - Örnek 07



Tek parametre alan ve parametreye göre 4 işlemden herhangi birini yapan program.

#include "stdio.h"

void fonksiyon(int x);

int main(){
//toplama
fonksiyon(1);
//çıkarma
fonksiyon(2);
//çarpma
fonksiyon(3);
//bölme
fonksiyon(4);
}

void fonksiyon(int x){
switch(x){
case 1:
printf("%d",3+6);
break;
case 2:
printf("%d",3-6);
break;
case 3:
printf("%d",3*6);
break;
case 4:
printf("%d",3/6);
break;
}

}

Fonksiyon tanımalaması yukarıdaki gibide yapılabilir. Önemli olan o fonksiyonu kullanacağımız fonksiyondan önce (bu genellikle ana fonksiyon olur) ne girdiğini ve ne çıktığını tanımlamaktır.

C Dili - Ders 22 - Fonksiyonlar



Fonksiyonlar programlama da önemli bir konudur. Büyük programlar yazarken programı fonksiyonlara ayırırız daha sonra bunların herbirini ana fonksiyonumuzda birleştiririz. Örnek fonksiyon tanımlaması aşağıda gösterildiği gibidir.

#include "stdio.h"
int toplama(int x,int y){
 int toplam=x+y;
 return sonuc;
}

int main(){
 int islem=toplama(3,6);
 printf("%d",islem);
 return 0;
}

Yukarıdaki kodu açıklamak gerekirse fonksiyon bir toplama fonksiyonu iki parametre alıyor. ve daha sonra bunları toplamyıp ana fonksiyonu geri döndürüyor. Bizim programımızda gönderdiğimiz parametreler 3 ve 6 bunlar sırasıyla x ve y yerel değişkenlerine aktarılıyor. daha sonra bu değişkenler toplanıyor ve toplam değişkenine aktarılıyor ve toplam değişkeni fonksiyonun sonunda geri döndürülüyor(return). Bundan sonra işlemler ana(main) fonksiyonunda devam ediyor. Fonksiyondan dönen değer islem değişkenine aktarılıyor ve islem değişkeni ekrana yazılıyor. Program son buluyor.

Arkadaşlar fonksiyonu tanımlarken başındaki int ibaresine dikkat edin. Bunu koymamızın sebebi fonksiyondan dönen değerin integer türünden olması. Eğere float türünden olsaydı float koyacaktık. Prki fonksiyon bir değer döndürmeseydi. O zaman ne koyacaktık. Aşağıda bunun örneği verilmiş.Ayrıca hiç parametre almayan fonksiyonada bir örnek.

#include "stdio.h"
void toplama(){
 int toplam=3+6;
 printf("%d",toplam);
}

int main(){
 toplama();
 return 0;
}

Yukarıdaki kodda fonksiyonun ana fonksiyonda kullanılışına da dikkat edin. Şimdi siz birşeyler yapın gelen bir parametreye göre 4 işlemden birini yapan ve geri değer döndürmeyen bir fonksiyon yazın ve kullanın.

C Dili - Ders 21 - Rastgele Sayı Üretmek

C dilinde rastgele sayı üretmek için rand() fonksiyonunu kullanırız. Aşağıda kullanılışını görelim

#include <stdio.h>
/*Kütüphaneleri unutmayın.*/
#include <time.h>
#include <stdlib.>

int main()
{
 srand(time(null));
 int rastgele=rand()%20; //0-19 arasında sayı üretir.
 printf("%d",rastgele);
 return 0;
}

Yukarıdaki örnekte üreteceği sayılar sıfırdan başlar. Peki bir 5 ile 19 arasında sayı üretmesini istersek.

#include <stdio.h>
/*Kütüphaneleri unutmayın.*/
#include <time.h>
#include <stdlib.>

int main()
{
 srand(time(null)); //bu her zaman olacak.
 int rastgele=5+rand()%15;
 printf("%d",rastgele);
 return 0;
}

Yukarıdakini anladıysanız sizde -5 ve 5 arasında sayı üreten kodu yazın.

C Dili - Örnek 06



Kullanıcıdan sürekli karakter alıyoruz. karakterin ascii kodunu ekrana yazdırıyoruz eğer karakter sıfır ise programı sonlandırıyoruz.

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

int main(){
 char c;
 printf("\nBir karakter Girin:");
 while((ch=getch())!=0){
  printf("%d",c);
  printf("Bir karakter daha girin:");
 }
 printf("gule gule");
 return 0;
}

C Dili - Ders 20 - Getch Fonksiyonu



Bu fonksiyon conio.h kütüphanesinde bulunur. Kullanıcıdan bir karakter almamıza yarar fakat kararkteri ekrana yazmaz. Kullanımı aşağıda

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

int main(){
 printf("Bir karakter girin:");
 char karakter=getch();
 printf("Girdiğiniz Karakter %c",karakter);
 return 0;
}

Yukarıdaki programı anlamak için şu programı yapmanızı öneririm. Kullanıcılardan sürekli bir karakter alan ve bu karakterlerin ascii kodlarını ekrana yazdıran bir program olsun fakat bu program '0' karakteri girildiğinde sona ersin. Bu programın kodunu örnek 06 da bulabilirsiniz.

C Dili - Örnek 05 - Büyük Küçük Harfe Çevirme



Kullanıcıdan alınan herhangi bir harfi büyükse küçüğe küçükse büyüğe çeviren program.

#include <stdio.h>
int main(){
 char harf;
 printf("Bir harf Gir:");
 scanf("%c",&harf);
 int fark='a'-'A';
 if(harf>'Z'){
  harf-=fark;
  }else{
  harf+=fark; 
  }
  
 printf("Yeni Harf:%c",harf);
 return 0;
 }

C Dili - Örnek 04 - Alfabe



İlk harften başlayıp alfabedeki bütün harfleri sıralayan ve onların ascii kodlarını ekrana yazdıran programı yazın

#include <stdio.h>

int main(){
 char ilk_harf='A';
 while(ilk_harf<='Z'){
  printf("%c - %d\n",ilk_harf,ilk_harf);
  ilk_harf++;
  }
 return 0;
 }

C Dili - Örnek 03 - Floyd Üçgeni



Kodu çalıştırınca sonra nasıl birşey olduğunu görürsünüz.

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

int main() {
   int i,a,b;
   a=0;
   b=0;
   i=0;
   while(i<10) {
    printf("\n");
    b+=a;
 for(a=0;a<=i;a++){
       printf("%3d",b+a+1);
   }
   i++;
   }
   getch();
   return 0;
}

C Dili - İpuçları 01



C de değeri olan değişkene, örneğin bu tamsayı değişkeni olsun değer ekleme yapacak isek aşağıdaki gibi yaparız.

int deger=10;
deger=deger+5; //yeni değer 15

kodu kısa tutmak için aşağıdaki kodda da aynı işlemi yaparız.

deger+=5; //yeni değer gene 15

+ yerine (-,*,/,%) dan istediklerinizi de koyabilirsiniz.

C Dili - Örnek 02



Bu örneğimizde c dili ile faktoriyel alan program yazdık.

#include <stdio.h>

int main(){
 int sayi=5;
 int faktoriyel=1;
 while(sayi>0){
  faktoriyel=faktoriyel*sayi;
  sayi--;
 }
 printf("Sonuc:%d",faktoriyel);
return 0;
}

C Dili - Ders 19 - Matematiksel İşlemler



Bu dersimizde c diliyle matematiksel işlemlerin nasıl yapılsığını göreceğiz.

Aşağıda sırasıyla toplama,çarpma,bölme,çıkarma,mod alam işlemleri yapılmıştır.

int sayi1=10;
int sayi2=9;
int sonuc=0;
sonuc=sayi1+sayi2;
printf("Toplam:%d\n",sonuc);
sonuc=sayi1*sayi2;
printf("cappim:%d\n",sonuc);
sonuc=sayi1/sayi2;
printf("bolme:%d\n",sonuc);
sonuc=sayi1-sayi2;
printf("cikarma:%d\n",sonuc);

Eğer yukarıdakileri iyi kavradıysanız kullanıcıdan taban ve kuvvet değerlerini alan ve taban üssü kuvvet işlemini yapan programı yazın

C Dili - Ders 18 - break ve continue



break komutu bir işlemi kırmak için kullanılır.Örneğin.

int i=0;
for(i=0;i<5;i++){
 if(i==2){
  break;
 }
 printf("%d\n",i);
}

Yukarıdaki kod gayet anlaşılır. continue ise o döngüyü nerde olursa olsun bitirir yani döngünün koşul kısmına döner. yukarıdaki örneği break yerine continue yazarak tekrar çalıştırın. Anlaaycaksınız.

C Dili - Ders 17 - İç içe döngüler



İç içe döngüler genellikle matrislerle kullanılır yani çift boyutlu diziler.

int dizi[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};

int i,j;
for(i=0;i<4;i++){
 for(j=0;j<4;j++){
   printf("%d ",dizi[i][j]);
 }
 printf("\n");
}

Eğer içi içe döngüleri anladı iseniz aşağıdaki şekli yapmaya çalışın.

1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

C Dili - Ders 16 - goto



goto programın akışını bir yerden başka bir yere atlatmamızı sağlar.

char harf='A';
int i=0;
if(harf=='A'){
 goto yer1;
}

printf("program atlamadı.\n");
i=1;
yer1:

printf("programin akisi devam ediyor.\n");
if(i==0){
 printf("i=0\n");
}else{
 goto yer1;
}
printf("program bitti.\n");

C Dili - Ders 15 - Do-While Döngüsü



Do-While döngüsü while döngüse gibi çalışır fakat ondan farklı olarak koşul ne olursa olsun yapacağı işlemleri bir kez yapar sonra koşula bakar, koşul sağlandığı müddetçe işlemleri tekrarlar. Şimdi kullanılışını görelim. genellikle programların menülerini hazırlarken kullanılır.

int giris;
do{
 printf("1-Yazma\n");
 printf("2-Silme\n");
 printf("3-Tasima\n");
 printf("0-Cikis");
printf("Seciminiz : ");
scanf("%d",&giris);
}while(giris>3 || giris<0);

C Dili - Ders 14 - switch-case Yapısı



switch case yapısı if-else yapısına benzer ama yazılışı tamamen farklıdır.

char harf='A';

switch(harf){
 case 'B':
 printf("harf B");
 break;

 case 'A':
 printf("harf A");
 break;

 default:
 printf("A ve B Degil");
 break;
}

C Dili - Ders 13 - for Döngüsü



for döngüsüde while döngüsü gibidir. Aynı işi yaparlar fakat yazılışı farklıdır. For döngüsünde sayac'ın ilk değeri, döngü koşulu ve sayacın artırıp/azaltılışı normal parantez kısmına yazılır, süslü parantezler arasına sadece yapılacak işlem yazılır.

int i; //sayac bu

for(i=10;i>10;i--){
 printf("%d",i);
}

C Dili - Ders 12 - if-else Yapısı



if-else yapısı koşul sağlandığı zaman yapacağı işlemi bir kez yapar ve programı sonlandırır. Aşağıda kullanılışını görelim.

int sayi=9;
if(sayi==9){
 //sayı 9'a eşitse
 printf("Sayi 9'a esit.\n");
}

if(sayi!=9){
 printf("sayi 9'a esit degil.\n");
}

int sayi2=7;
if(sayi2<sayi){
 printf("sayi2 kucuktur sayi dan\n");
}else{
 printf("sayi2 kucuk degil sayi dan\n");
}

if(sayi2==9){
 printf("dokuza esit");
}else if(sayi2==8){
 printf("sekize esit");
}else{
 printf("dokuza yada sekize esit degil\n");
}

if(sayi2!=9 || sayi2!=8){
 printf("dokuza yada sekize esit degil\n");
}

C Dili - Örnek 01



Bu örnekte kullanıcıdan 10 adet sayı alacaz ve bu sayıların toplamlarıyla , ortalamalarını bulan program

dizi kullanarak

#include 
int main()
{
 int dizi[10];
 int i=0;
 int toplam=0;
 while(i<10)
 {
  printf("eleman %d:",i);
  scanf("%d",&dizi[i]);
  toplam=toplam+dizi[i];
  i++;
 }
 printf("\ntoplam=%d",toplam);
 printf("\nortalama=%d",toplam/10);
return 0;
}

C Dili - Ders 11 - While Döngüsü



Bu yazımızda while döngüsünden bahsetcez, while döngüsü koşul sağlandığı sürece kendisine bildirilen işlemi yapar. Aşağıda kullanımına bakalım.

int i=0;
while(i<10){
 printf("%d",i);
 i++;
}

Yukarıda i adında bir değişken tanımladık. Daha sonra while döngüsünü kullandık. Burada while döngüsünün çalışma koşulu i nin 10 dan küçük olması. eğer i 10'dan küçükse while döngüsü çalışacak i'yi ekrana yazacak bir arttırıp tekrar while ın başına dönecek daha sonra i küçükmü 10'dan diye bakacak eğer büyükse while'dan çıkacak, eğer küçükse tekrar aynı işlemleri yapacak.

Eğer while'ı anladıysanız şöyle bir örnek yapabilirsiniz. bir dizi tanımlayın ve kullanıcıdan 10 adet eleman alın. daha sonra bu elemanların toplamlarını ve ortalamalarını ekrana yazdırın.

Yukarıdaki örneği dizi kullanmadan da yapın.

C Dili - Ders 10 - Kullanıcıdan Veri Almak



Bu dersimizde kullanıcıdan bilgi almayı göreceğiz. Bunun için "scanf" fonksiyonunu kullanacağız. Örnek kullanım aşağıda:

int eleman;
printf("Elamanin degerini girin:");
scanf("%d",&eleman);

scanf fonksiyonun kullanımı printf gibi int değişkene değer atarken %d kullanıyoruz. Diğer değişken türleri içinse durum printf dekinin aynısı. Burada diğerlerinden farklı olarak tırnakların dışına değişkenin ismini yazarken değişken isminin önüne '&' (adresse of) operatörünün getirilmesi. Bu operatörün yaptığı işlem eleman değişkenin adresini vermesi, böylece biz aslında değeri eleman değişkeninin hafızadaki adresine atıyoruz.

Diğer değişken türleri için kullanım aşağıdaki gibi:

float eleman2;
scanf("%f",&eleman2);
char karak;
scanf("%c",&karak);
char kelime[5];
scanf("%s",kelime);

Son satırda adresse-of operatörünü koymamamızın sebebi dizi değişken oluşu.

C Dili - Ders 9 - Dizi Değişkenler



Önceki derslerde tek boyutlu dizi değişkenler görmüştük. Şimdi çok boyutlu dizi değişkenleri göreceğiz. örneğin çift boyutlu bir dizi değişken oluşturalım.

int dizi[3][3]={1,2,3,4,5,6,7,8,9};

Yukarıda oluşturduğumuz aslında 3x3 lük bir matristir ve görüntüsü aşağıdaki gibidir.

Şimdi dizinin elemanlarını yazdıralım.

printf("%d\t%d\t%d\t%d",dizi[0][0],dizi[0][1],dizi[2][0],dizi[2][2]);

C Dili - Ders 8 - Dizi Değişkenler



Bu yazımızda char türünden dizi değişkenler oluşturacağız. Eğer bir char türünden dizi değişken oluşturursak, bir karakter dizisi yaratmış oluruz. Yani anlamsız yada anlamlı bir kelime oluşturmuşuzdur. Şimdi "c-dili" yazısını bir char türünden değişkene kaydedelim.

Bunun için char türünden bir dizi değişken oluşturmalıyız ve boyutunu ayarlamalıyız. Boyutu kelimenin harf sayısı kadar olmalı.(fazlada olabilir.)

char kelime[6]="c-dili";

Yukarıda değişkene değer atarken çift tırnak kullandığımıza dikkat edin! Şimdi bunu ekrana yazdıralım.

printf("%s",kelime);

Diğerlerinden farklı olarak '%s' kullandık, sebebi değerin string oluşu ayrıca dizinin sadece ismini yazdık.

C Dili - Ders 7 - Dizi Değişkenler



Bu dersimizde dizi değişkenlerden bahsedeceğiz. Dizi değişkenler aynı türden verilerin dizi halinde tutulduğu değişkenlerdir. Örnek tanımlama aşağıdaki şekildedir.

int tamsayi_dizisi[10];
tamsayi_dizisi={11,12,13,14,2,4,2,5,8,9};

Yukarıda görüldüğü gibi normal değişken oluşturur gibi başa türünü sonra ismini sonra da [boyutunu] yazıyoruz. Alt satırda da değerlerini atıyoruz. Fakat en fazla boyutu kadar değer atamalısınız.

Şimdi dizi değişkenin elemanlarını ekrana yazdıralım.İlk ve son elemanını aşağıdaki gibi yazdırıyoruz.

printf("ilk eleman : %d",tamsayi_dizisi[0]);
printf("\n");
printf("son eleman : %d",tamsayi_dizisi[9]);

Aradaki elemanları siz yazdırın.

C Dili - Ders 6 - Değişkenler



Değişkenler konusuna devam ediyoruz. Bu yazımızda char(karakter) türünden değişkenlerden bahsedeceğiz. char türünden değişkenler aşağıdaki gibi tanımlanır.

char karakter_degisken = 'A';

Yukarıda karakter_degisken isminde bir char değişkeni oluşturduk ve değerini A harfi yaptık.

Şimdi ekrana yazdıralım.

printf("Alfabenin ilk harfi %c",karakter_degisken);

C Dili - Ders 5 - Değişkenler



Önceki derste değişkenlerin nasıl tanımlandığını gördük, şimdiki dersimizde float(ondalık) türden değişkenler oluşturup işlemler yapacağız.

float ondalik_degisken = 0.3;

Float türden değişkenler yukarıdaki gibi tanımlanırlar. Şimdi ekrana nasıl yazdırıldıklarını görelim.

printf("Ondalik Sayi : %f",ondalik_degisken);

Görüldüğü gibi ondalik sayıyı ekrana yazdırırken '%f' karakterini kullanıyoruz.

C Dili - Ders 4 - Değişkenler

Bu yazımızda C dilindeki değişkenlere değineceğiz. C dilinde integer(tamsayı) , float(kesirli sayı), char(karakter) türünden değişkenler vardır. integer türünden değişkenle başlayalım.

tamsayı türünden değişkenin tanımlanması aşağıdaki gibidir.

int tamsayi_degisken=10;

Yukarıda yaptığımız işlem kısaca şudur; tamsayi_degisken isminde bir değişken tanımladık. Bunun türü int(tamsayı) ve değeride 10. Aslında aşağıdaki gibi de tanımlanabilir.

int tamsayi_degisken;
tamsayi_degisken=10;

Bu değişkenin değerini ekrana aşapıdaki gibi yazdırabiliriz.

printf("Degiskenin Degeri : %d",tamsayi_degisken);

Yukarıdaki kodu açıklamak gerekirse, çift tırnakların dışında tamsayi_degisken adında bir değişken var bunu yazının içine yerleştirmek için bir sembol kullanıyoruz. O sembol de '%d' oluyor. Program sembolün bulunduğu yere otomatik olarak değişkenin değerini yerleştiriyor.

Bu anlaşılmış ise bide bunu deneyin :)

int degisken1,degisken1;
degisken1=10;
degisken2=20;
printf("Degisken 1:%d ve Degisken 2:%d",degisken1,degisken2);

C Dili - Ders 3 - Ekrana Yazı Yazdırmak



C dilinde ekrana birşeyler yazmak için printf fonksiyonu kullanılır. Kullanış şekli aşağıdaki gibidir.

printf("Ekranda Gorunecek Yazi");

Yukarıda da gördüğünüz gibi ekranda gösterilcek yazıları çift tırnaklar arasına yazıyoruz. Bir de aşağıdakini deneyin.

printf("Bu satirin sonunda enter'a basilmis gibi davranır.\n");

Yukarıdaki yazı ekranda farklı gözükecektir. Sebebi sonundaki "\n" karakteridir. Bu karakter ile imleç yeni bir satıra geçer.

Son olarak birde şunu deneyin.

printf("Pardus\tUbuntu\nDebian");

C Dili - Ders 2 - Linux'ta C Derlemek



Bu dersimizde linux'ta c derleme nasıl yapılır onu göreceğiz. Ben pardus işletim sistemini seçtim fakat siz neyi seçerseniz seçin değişmiyecektir.

Öncelikle önceki yazıdaki kodlarımızı yazalım. Daha sonra console ekranını açalım ve  aşağıdaki yazıyı yazalım.

gcc dosya_adi.c -o dosya_adi

Bir hata olmadıysa dosyanızın bulunduğu klasörde dosya_adi.o adında bir dosya oluşacaktır. Daha sonrada bu dosyayı aşağıdaki komutla çalıştıralım.

./dosya_adi

C Dili - Ders 1



Bu yazımızda ekrana birşeyler yazdıracağız. Şimdi Dev-C++ programını çalıştırın ve aşağıdaki adımları izleyin.


Yazacağınız kodlar aşağıda açıklamalarıyla birlikte verilmiştir.
Daha sonra Ctrl+F9 ile programı derleyin. (Kaydetme ekranı gelirse kaynak dosyanızı kaydetin.) Sonrasında ise Ctrl+F10 ile programı çalıştırın. Aşağıdaki ekranı görüyorsanız sorun yok demektir.

C Diline Giriş

C Dili Unix işletim sistemini geliştirmek için ortaya çıkarılmış bir dildir. C Programlama dilinin tarihçesi ile ilgili daha fazla bilgiyi aşağıdaki adresten bulabilirsiniz.
http://tr.wikipedia.org/wiki/C_%28programlama_dili%29
C Diliyle program  yazabilmek için bir derleyiciye ihtiyacınız olacak. Windows kullanıcıları için  Dev-C++ programı ücretsiz olarak veriliyor. Yada Visual Studio C++ programını indirebilirler. Linux kullanıcıları gcc derleyicisini kullanabilirler.