30 Ocak 2013 Çarşamba

C 'nin karakter kurulumu

C dilinde karakter kurulumu


Her programlama dili kendi karakter kurulumuna ki bu karakterler program (kaynak kodu ) yazmak için kullanılır. C dilinde de karakter kurulumu kullanılarak program yazılır.Bu karekterler alfabe veya c karakter kurulumu olarak bilinir. 


C dilinin alfabesi aşağıda verildiği gibidir.


  1. Küçük harfler: a, b, c, ........, z  (İngiliz alfabesine göre!!)
  2. Büyük harfler: A, B, C, ............, Z(İngiliz alfabesine göre!!)
  3. Sayılar: 0, 1, 2, ............, 9
  4. Özel karakterler: +, -, /, =, (, ), [, ], {, }, <, >, ', ", !, @, #, $, %, \, /, ;
  5. Beyaz boşluklar: boşluklaryeni satır, tab vs..

Göz aşınalığı olması bakımından sizlerle bir örnek kod paylaşacağım:

Karakterin alfebede olup olmadığını kontrol eden C kodu

29 Ocak 2013 Salı

C dilinde data tipleri


C dilinde data tipleri

int : tam sayılar için verilen değişken komutudur.

double: reel sayılar için verilen değişken komutudur. 

char: karekter (kelime harf,sembol, sayı) girmek için verilen değişken komutudur.

!! örneğin 1 normalde sayıdır fakat char komutunun yanında matematiksel işlem yapmaz..
int: -32767 ile 32767 arasındaki tüm tam sayıları gösterir.

double: Tam sayılarıda içeren reel sayıları gösterir. Bazen bazı spesifik gösterimleride bu kod ile yapabiliriz örneğin: 1.2300e5. bu sayı aslında 1.2300 çarpı 10 üzeri 5  demektir(1.2300 x 10^5)


3.1415, 1234.0, 15.0e-04, 12e+5  Bazı geçerli double sabitleri
150, 0.123e, 15e-0.3, 34,99           Bazı geçersiz double sabitleri
char: yazılar harf , rakam , veya  sembol iki tırnak ( '   ' ) arasına alınmalı

 Örneğin:  A’, ‘1’, ’:’,’
!! örnekte gördüğünüz '1' artık bir rakam değil bir semboldur. matematiksel işlem yapılamaz 

C dilinde değişkenleri programlara nasıl yazarız?


Değişkenleri programlara nasıl yazarız ?


syntax;

int degisken_listesi;
double degisken_listesi;
char degisken_listesi;

Örnekler:                                             veya
int sayı,uzunluk;                                      int sayı,    
double x,y,z;                                               uzunluk;
char ans;                                               double x;
                                                            double y;
                                                            double z;
                                                            char ans;


**bir önceki derste bahsettiğim gibi uzun bir değişken ismi yazmak istiyorsanız alt çizgi " _ " kullanabilirsiniz.

**Eğer aynı türden birden fazla değişkene sahipseniz. araya virgül koyarak daha derli toplu bir görünüm elde edebilirsiniz. Tabi değişkenleri ayrı ayrıda yazabilirsiniz sizin seçiminize kalmıştır.

Türkçe karakterlere dikkat etmeyi unutmayın!.

28 Ocak 2013 Pazartesi

C dilinde bir değişkene nasıl isim verilir?

C dilinde bir değişkene isim vermenin bazı kuralları vardır.


  1.  Sadece harf , rakam ve altçizgi ( _ ) kullanmalısınız.
  2.  değişken rakam ile başlayamaz.
  3.  bir önceki derste gösterdiğim anahtar kelimeler (keywords) değişken ismi olamaz.
  4.  çok uzun değişken ismi tanımlanamaz. Derleyici tam olarak algılayamabilir. 

Bazı geçerli değişken örnekleri :
sayi_1,meter, a8, ARG, SAYILAR
Bazı geçerli olmayan değişken örnekleri:
1sayi ,hesap bilgileri, iki+dört, istanbul'un
(türkçe karakter kullanırken dikkat edin.Derleyiciniz algılamayabilir. İngilizce karakterleri tercih ediniz.)



     yaptıklarımıdan örnek vermek gerekirse #define örneğine bakarsanız. icyarıcap yazmak yerine ic_y_cap yazdım. bana kalsa x de derdim fakat programın okunması kolay net bir program olması acısından değişken isimlerine değer vermek gerekir. diğer ayrıntılarıda bu programda bulabilirsiniz.bu yazımda burda bitti yarın görüşmek üzere :)


NOT !!!

C dili hassas bir dildir.

Hello, hello , heLLo , HELLO  bu yazdığım 4 şey de inglizcdede merhaba demek fakat c dilinde 4 farklı değişken ismidir.

C dilinde bazı anahtar kelimeler (key words)



ilerleyen derslerimizde bu anahtar kelimelerle yeterince haşırneşir olacağız. Göz aşınalığı olması açısından bu keywords 'leri ekledim.Ezberlemenize gerek yok. İlerleyen zamanlarda hepsini ayrıntılı bir şekilde anlatacağım.

define örneği


#include <stdio.h>
#include <math.h>
#define PI 3.14159  /* PI tanımlı ise math.h kütüphanesinde define kullanamaya gerek yok */
/* fonksiyon protatibi */
double alani_bul(double r);
double kesit_alani_bul(double outer, double inner);
double birim_agirligi_bul(double alan, double kalinlik, double yogunluk);
void instruct(void);
int
main(void)
{
   double ic_cap;
   double dis_cap;
   double kalinlik;  
   double yogunluk;    
   double miktar;    
   double agirlik;      
   double ic_y_cap;
   double dis_y_cap;
   double kesit_alan;  
   double birim_agirlik;

   instruct();

   printf("Santimetre cinsinden ic capi girin: ");
   scanf("%lf", &ic_cap);
   printf("Santimetre cinsinden dis capi girin: ");
   scanf("%lf", &dis_cap);
   printf("Santimetre cinsinden kalinligi girin: ");
   scanf("%lf", &kalinlik);
 
   printf("Materyal yogunlugu (gram / meter^3): ");
   scanf("%lf", &yogunluk);
   printf("Miktar: ");
   scanf("%lf", &miktar);
 
   ic_y_cap = ic_cap / 2.0;
   dis_y_cap = dis_y_cap / 2.0;
   kesit_alan = kesit_alani_bul(dis_y_cap, ic_y_cap);

   birim_agirlik = birim_agirligi_bul(kesit_alan, kalinlik, yogunluk);
 
   agirlik = birim_agirlik * miktar;

   printf("\nBeklenilen agirlik %.2f ", agirlik);
   printf("gramdir.\n");
   system("pause");
   return (0);
}

void
instruct(void)
{
   printf("www.CproGGramming.blogpost.com\n\nBu program, duz bir parti agirligini hesaplar. \n");
   printf("pullar.\n\n");
   printf("bu programi kullanmak icin lütfen ic capi giriniz,\n");
   printf("dis cap, kalinlik, yogunluk ve miktar \n");
   printf("ile ilgili her istemde..\n\nTesekkurler bu programi kullandiginiz icin :)\n\n");
}

double
alan_bul(double r)
{
   return (PI * pow(r, 2));
}

double
kesit_alani_bul(double outer, double inner)
{
   return (alan_bul(outer) - alan_bul(inner));
}

double
birim_agirligi_bul(double alan, double kalinlik, double yogunluk)
{
   return (alan * kalinlik * yogunluk);
}

bu program ileriye yönelik bir örnek. içinde #define olduğu için sadece görmeniz için koydum.Örnekte 3 boyutlu yüzük tarzi bir malzemenin ağırlığı buldurmak istiyoruz.

programın outputu;





















beklenilen ağırlıkta bir sıkıntı var hatayı göremedim.Çıktıyı görmeniz acısından resmi koydum yakın zamanda hata düzeltilecektir.

27 Ocak 2013 Pazar

#define direktifi örneği



#include <stdio.h>
#include <math.h>
#define PI 3.141593  /*PI =3.141593  anlamına gelir bu direktif */
int main()
{
   float  y_cap,alan;
   /* Kullanıcıdan bir yarı çap değeri girmesini iste */
   printf("Lutfen yaricap girin: \n");
   scanf("%f", &y_cap);
   /* Alanı hesapla */
   alan=PI*pow(y_cap,2);
   /* Alanı ekrana yazdır */
   printf("\nBizim elde ettiğimiz alan değeri %f dir.\n", alan);
   system("pause");
   return (0);
}

Programın Çıktısı (Output);




#define direktifi

Bugün çok göz önünde durmayan ama yardımı yadsınamayacak bir direktifden bahsedeceğim.

#define direktifi

#define direktifi sayesinde bir değişkeni ( variable) bir değere sabitlemiş oluruz. Program boyunca o değişkenle yapılan işlemlerde değişken asla farklı bir değer almaz.

örnek vermek gerekirse;


#define PI 3.141593
#define GRAV_ACC 9.81


 bir #define direktifine örnek yazılmış bir fonksiyona buraya tıklayarak ulaşabilirsiniz.


buna ne gerek var double PI=3.141593 yazsak aynı şey dediğinizi duyuyor gibiyim.evet haklısınız.Fakat öyle bir program düşünün ki 5-6 tane alt fonksiyonu olsun ve hepsinde PI değişkenini kullanmamız gereksin.Tekrar tekrar tanımlamaktan kurtarıyor bizi.İlerleyen derslerde nedemek istediğimi daha iyi anlayacaksınız

26 Ocak 2013 Cumartesi

Scanf örneği


#include <stdio.h>

void main (void) {

  double x;
  int n;
  char str1[20], str2[30];

  printf("Lütfen giriniz bir integer: ");
  scanf("%d", &n);
  printf("İnteger karekterimiz %d dir.\n\n", n);

  printf("Lütfen giriniz bir double: ");
  scanf("%lf", &x);
  printf("Double karekterimiz %g idi\n\n", x);

  printf("Lütfen giriniz bir integer ve bir floating-point sayı: ");
  scanf("%d%lf", &n, &x);
  printf("Sayılarımız %d ve %g idi.\n", n, x);

   printf("İsim gir: ");
   scanf("%s", &str1);
   printf("Web adresini gir: ");
   scanf("%s", &str2);
   printf("Girilen isim: %s\n", str1);
   printf("Girilen Web site:%s\n", str2);

  system("pause");
  return(0);
}


Dev-c++ derleyicinizden ctrl+N yapın.acılan pencereye bunu kodu yazın . F9 yapın kaydet , derle ve çalıştırın. Eğer direk olarak kodu isterseniz marmara.sinancanbayrak@gmail.com adresinden istekte bulunabilirsiniz.

Scanf Fonksiyonu

Scanf () fonksiyonu programa bir girdi eklememize yardımcı olur.

uygulanışını bir örnek üzerinde göstermek gerekirse;


scanf("%d ",&x); burda bir "x" değişkeni var. program çalıştığında x değişkenize integer(tam sayı) değerinde bir veri girmeniz istenir.

!!!    "&" sembolu değişkenden önce koymayı unutmayın.

 printf fonksiyonu dersimizdeki tip karakterleri scanf fonksiyonu içinde kullanılabilir. buraya tıklayarak geri göndebilirsiniz.



buraya tıklayarak güzel bir scanf örneğine ulaşabilirsiniz.


Sonuç olarak scanf fonksiyonu kullanıcıdan veri almak için kullanılan bir fonksiyondur.

25 Ocak 2013 Cuma

Printf() Fonksiyonları

<stdio.h> kütüphanesinde kullanılan en önemli elemanlardır.

printf("  ") : bu komutumuz ekrana herhangi bir veriyi girmek için kulanılır.

Merhaba dünya yazısını ekrana yazdırmak en klasik örnektir. Siz buraya istediğinizi yazarak deneyebilirsiniz. Ben merhaba dünya örneği üzerinden birşeyler anlatmak istiyorum size.


Öncelikle derleyicimizden ctrl+N source file yani yeni bir kaynak dosyası açıyoruz. resimde gördüğünüz scripti içine yazıyoruz. Daha sonra execute >> compuler and run  yapıyoruz( kısa yolu F9dur.)Scripti kaydetmek için karşımıza çıkan pencerede kayıt türünü C sources file (.*c) olarak seçmemiz gerekiyor. Burası önemli !!! c programı yazıyorsak bunu seçmemiz gerekir. Kaydet diyoruz ve programın çıktısı ekrana gelir.

(resme tıklayarak orjinal boyutunda görebilirsiniz.)

geçen dersten gördüğümüz üzere #include <stdio.h> , int main () yapılarının programın ana yapısını oluşturduğunu görmüştük.şimdi int main () kısmını biraz gelişirelim printf() komutuyla.

printf() komutuna yazımızı daha düzgün göstermek maksatlı bazı yardımcı komutlar(Kontrol karakterleri) vardır.




















örnek vermek gerekirse











bu örnekte " \n " (new line) komutu sayesinde iki tane printf("  ") kullanarak yapacağımız işi tek seferde yaptık. diğer ifadeleri kendiniz deneyerek sonuçlarını elde edebilirsiniz.

***Ayrıca elimizdeki değişkenleri tip karakterlerini kullanarak  Printf( ) fonksiyonu sayesinde ekrana yazdırabiliriz.



Gördüğünüz tip karakterlerini yerli yerinde doğru bir şekilde kullanılmalıdır. Hatalı kullanımlarda olabilecek duruma bir örnek vermek gerekirse: 

# include <stdio.h>

int main ( )
{
    int a,b=3,c=2;

   a=b/c  ;

   prinf("b bölü c nin sonucu %d dir.",a);
   system("pause");
   return (0);
}


bu programı derleyip çalıştırırsanız sonuç 1.5 olmasına rağmen 1 görürsünüz. Çünkü int tam sayılara denk gelir. bu yüzden bu programın değişkenini şu şekilde değiştirmek gerekir.



# include <stdio.h>

int main ( )
{
    double a; /* düzeltilen kısım */
    int b=3,c=2;

   a=b/c  ;

   prinf("b bölü c nin sonucu %f dir.",a);
   system("pause");
   return (0);
}



şimdi istenilen sonucu elde edebiliriz.

En son hepsini toplayan bir örnekle printf konusunu kapatıyoruz.


resme tıklayarak orjinal boyutuna getirebilirsiniz.







24 Ocak 2013 Perşembe

Basit bir C programının Yapısı

Burada toplama işlemi yapabilen basit bir c programı yazılı. Kısaca bir C programı için gereken bazı olmazsa olmazlar vardır.Bu yazıda bunlardan biraz bahsedeceğim.








 Program birbirinden bağımsız olan fonksiyonlardan oluşur. #include ise bu programın kapsayacağı fonksiyonların tanımlarının ne iş yaptığının bulunduğu kütüphaneyi bildirir.  


<stdio.h>  (standart input output) burda bizim önemli kütüphanelerimizden biridir. programda girdiler ve çıktıların program tarafından tanınmasını sağlar

hemen ardından int main () fonksiyonu programın ana fonksiyonudur.yazmak istediğimiz komutlar bu fonksiyonun için yazılır.

Fundamental of C language programming


Preprocessor directives
   Begins with # symbol
   Provides an instruction to the C preprocessor.
   Preprocessor modifies the text of C program before compilation.
   In the example there are two
–  # include
–  # define
    #incude directive  are used to include some codes in program

Main Function

C program may occur one or more function. Main function  is main part of program. A program can be created  by integrating other sub-functions. We will see funciton subject. we must use {} symbol after main function to enter some code.Thanks to this, we can attain executable program.

23 Ocak 2013 Çarşamba

C programının Temel Yapısı



Bir C programı temelde iki ana kısımdan oluşur,
 -Ön işlemci Direktifleri (ingilizce tabiri Preprocessor Directives) .
-Ana Fonksiyon ( ingilizce tabiri main function)


                                               Ön işlemci Direktifleri

-  Önişlemci direktifleri # işareti ile başlar ve program derlenmeden önce C önişlemcisi tarafından işletilir.
-  Her bir önişlemci direktifinin değişik görevleri vardır.
-  #include ve #define en çok kullanılan direktiflerdir.
-  #include direktifi program içerisinde kullanılan fonksiyonlar için gerekli kodları programa dahil etmek için kullanılır.
                                               Ana Fonksiyon

Hemen hemen bütün C programları birden fazla fonksiyondan oluşur.
- Main() bütün C programlarında bulunması gereken programın ana fonksiyonu yani gövdesidir.
- Programda çalıştırılacak ifadeler (yani her satırda bulunan kodlar) {  } küme parantezleri içine yazılır ve %99 bu kodlar ; sembolu ile biter.
- Bir kod bloğu içerisinde program içerisinde kullanılacak değişkenler ve gerçekleştirilecek işlemleri yerine getirecek komutlar bulunur.

Why C language ?

                                                                                                                  Click  for Turkish


  •   Compact, fast, and powerful “High-level” Language.
  •   Compact, fast, and powerful “High-level” Language 
  •   Standard for program development (wide acceptance) 
  •   It is everywhere! (portable) 
  •   Supports modular programming style 
  •   Useful for all applications 
  •   C is the native language of UNIX 
  •   Easy to interface with system devices/assembly routines
  •   C is terse

Neden C dili

                                                                                                          Click for English                                      
  • Kompak , hızlı ve güçlü "ileri seviye" program geliştirme dilidir.
  • Donanımdan bağımsız (machine independent) ve taşınabilirdir (portable).
  • Gelişimini tamamlamış ve standardı oluşmuş bir dildir.
  • Bir dilin verimliliği (productivity), hızlı fakat fazla yer kaplamayan yazılımlar geliştirmeye olanak sağlaması ile ölçülür.
  • Algoritmik bir dildir. Yalnızca dilin sintaks ve sematik yapısını bilmek yetmez. Problemleri çözebilecek bir algoritma bilgisine de ihtiyaç duyulur.
                                                                                                         




22 Ocak 2013 Salı

C diline giriş

 C dili karşınızdaki sorunu matematiğe çevirebildiğiniz sürece işinizi çok basit yapmanızı sağlayacak bir dildir. C dili geçmişi hakkında buradan bilgi edinebilirsiniz.C diline başlamadan önce sizlere bir derleyi gerekmektedir.Benim tavsiyem Dev-c++ derleyicisidir .  Buraya tıklayarak programı edinebilirsiniz.

21 Ocak 2013 Pazartesi

C proggramming

Hi guys.


  I opened this blog to share my  information and experiments about C programming. I will start sharing soon.