- Kaçış Dizgeleri(Escape Sequences)
 - Ekrana Yazdırma
 
C ile Programlamaya Giriş
8 Aralık 2013 Pazar
INDEX
Kaçış Dizgeleri (Escape Sequences)
Ekrana yazacağımız metinlerin arasında birtakım özel karakterler bulunuyorsa bu karakterleri tanımlamak için kullandığımız dizgelerdir.
Örnek1:
Çıktı1:
| Kaçış Dizgesi(Escape Sequence) | Anlamı | 
|---|---|
| \n | Yeni Satır | 
| \t | Yatay Tab | 
| \v | Dikey Tab | 
| \a | Bip Sesi Cikar | 
| \b | Geriye Doğru Bir Karakter Sil (Backspace) | 
| \" | Çift Tırnak | 
| \' | Tek Tırnak | 
| \\ | Ters Bölü | 
| \? | Soru İşareti | 
Örnek1:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("\"Bittigi icin aglama, gerceklestigi icin sevin\"\n\t\t\t\t\t-Dr.Seuss\n");
    return 0;
}
Çıktı1:
"Bittigi icin aglama, gerceklestigi icin sevin"
-Dr.Seuss
-Dr.Seuss
7 Aralık 2013 Cumartesi
Format Belirleyiciler (Format Specifiers)
Tanımlanmış(bildirilmiş) değişkenlerin değerini, işlem sonuçlarını, yada sabit değerleri ekrana yazdırırken yazdırılacak olan değerin türüne göre format belirleyiciler kullanılır.
Kullanım :
Yazdırılmak istenen format çift tırnak içerisinde belirlenir, sonra da bu formatta kullanılan her bir format belirleyici için çift tırnak bitiminden sonra virgülle ayrılmış parametre(ler) verilir.
sırasıyla %d,%f,%c,%s format belirleyicilerinin olduğu yere yazılacaktır.
Örnek1:
Çıktı1:
Örneklerimizi zenginleştirelim.
Örnek2:
Çıktı2:
Gelişmiş Seçenekler
Örnek3:
Çıktı3:
| Değer Türü(Tipi) | Format Belirleyici | 
|---|---|
int  | %d  |  
unsigned int  | %u  |  
long  | %ld  |  
char  | %c  |  
float  | %f  |  
double  | %lf  |  
char [ ]  | %s  |  
Kullanım :
Yazdırılmak istenen format çift tırnak içerisinde belirlenir, sonra da bu formatta kullanılan her bir format belirleyici için çift tırnak bitiminden sonra virgülle ayrılmış parametre(ler) verilir.
printf("...%d...%f...%c...%s",parm1,parm2,parm3,parm4);
Ekrana yadırma işlemi yapılırken parm1,parm2,parm3,parm4 parametrelerindeki değerler sırasıyla %d,%f,%c,%s format belirleyicilerinin olduğu yere yazılacaktır.
Örnek1:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int sicaklik=-5;
    unsigned int yas=17;
    long nufus=75000;
    char devam='E';
    char marka[8]="Samsung";
    float hata_payi=10.5;
    double ortalama=80.5;
    printf("Hava sicakligi %d derece.\n",sicaklik);
    printf("Ben hep %u yasindaydim\n",yas);
    printf("Bu koy %u nufusludur\n",nufus);
    printf("Devam etmek inin %c tusuna basiniz\n",devam);
    printf("%s ile Google guclerini birlestirdi\n",marka);
    printf("Etkili sonuc icin maks hata payi %f olmalidir\n",hata_payi);
    printf("Gecmek icin ortalamaniz %lf olmalidir",ortalama);
    return 0;
} Çıktı1:
Hava sicakligi -5 derece. Ben hep 17 yasindaydim Bu koy 75000 nufusludur Devam etmek inin E tusuna basiniz Samsung ile Google guclerini birlestirdi Etkili sonuc icin maks hata payi 10.500000 olmalidir Gecmek icin ortalamaniz 80.500000 olmalidir
Örneklerimizi zenginleştirelim.
Örnek2:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int x=5,y=6;
    //sabit tamsayi degeri
    printf("2 ile 3 un toplami %d tir",5);
    //islem sonucu
    printf("\n5 ile 6 nin toplami %d dir",x+y);
    //2 degisken degeri ve islem sonucu
    printf("\n(2*%d)+(3*%d)=%d",x,y,2*x+3*y);
    //sabit metin degeri
    printf("\nYU bir %s universitesidir\n","Dunya");
    //sabit karakter degeri
    printf("Evet icin %c hayir icin %c yazin",'E','H');
    return 0;
}
Çıktı2:
2 ile 3 un toplami 5 tir 5 ile 6 nin toplami 11 dir (2*5)+(3*6)=28 YU bir Dunya universitesidir Evet icin E hayir icin H yazin
Gelişmiş Seçenekler
- % işaretinden sonra - ile başlanırsa değerler sola dayalı biçimde yazılır
 - % işaretinden sonraki sayi 0 ile başlarsa boşluklar 0 ile doldurulur
 - . dan önceki sayı, yazdırılacak değer için kaç karakterlik yer ayrılacağını belirler
 - . dan sonraki sayı, Metinlerde maksimum uzunluğu belirler
 - . dan sonraki sayı, Ondalıklı sayılarda virgülden sonraki basamak sayısını ifade eder
 
Örnek3:
#include <stdio.h>
#include <stdlib.h>
int main()
{
    //Metin ve Tamsayilar
    printf("\t%9s  %4s  %6s\n","AY","KAR","ADET");
    printf("\t%9s  %%%3d  %06d","Ocak",5,1);
    printf("\n\t%9s  %%%3d  %06d","Subat",10,200);
    printf("\n\t%9s  %%%3d  %06d","Kasim",40,30000);
    printf("\n\t%9s  %%%3d  %06d\n","Aralik",100,400000);
    printf("\n");
    //Metinler
    printf("%-9s\n","URUN");
    printf("---------\n");
    printf("%-9.3s\n","Elma");
    printf("%-9.5s\n","Kiraz");
    printf("%9.4s\n\n","Karpuz");
    //Ondalikli sayilar
    printf("%10s\n","TL/KG");
    printf("----------\n");
    printf("%010.2f\n",1.368);
    printf("%-10.4f\n",24.2052);
    printf("%10.5f\n",25.75);
    return 0;
}Çıktı3:
AY   KAR    ADET
             Ocak  %  5  000001
            Subat  % 10  000200
            Kasim  % 40  030000
           Aralik  %100  400000
URUN
---------
Elm
Kiraz
     Karp
     TL/KG
----------
0000001.37
24.2052
  25.75000
Merhaba Dunya (Hello World)
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("Merhaba Dunya!\n");
    return 0;
}
printf komutu içerisindeki \n karakteri özel bir karakter olup çıktı ekranında yeni bir satıra geçmemizi sağlar. Bu özel karakterlerle ilgili daha ayrıntılı bilgiyi BURADA bulabilirsiniz. Yukarıdaki programın çıktısıyla aynı çıktıyı verebilecek aşağıdaki kod örneklerini inceleyin.
2.Versiyon
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("Mer");
    printf("haba ");
    printf("Dunya!\n");
    return 0;
}
Görüldüğü üzere alt alta printf satırları yazmak çıktıların ekranda alt alta yazılmalarına sebep olmaz. Çıktıların alt alta yazılmasını sağlayan \n format belirleyicisidir.
3.Versiyon
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("Mer");
    printf("haba Dunya!\n");
    return 0;
}
4.Versiyon
#include <stdio.h>
#include <stdlib.h>
int main()
{
    printf("Mer");
    printf("haba Dunya!");
    printf("\n");
    return 0;
}
Kaydol:
Yorumlar (Atom)