ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
C dili ile programlama Turgay ERBAY 1
D?L? ?LE
PROGRAMLAMA
Turgay ERBAY
T¨¹rk Telekom
Siber G¨¹venlik Uzman?
C
C dili ile programlama Turgay ERBAY 2
Kaynak:
? T¨¹m bilgiler taraf?mdan
girilmi? olup
kopyalanmas? taraf?mdan
izin al?nmad??? s¨¹rece
yasakt?r.
C dili ile programlama Turgay ERBAY 3
?zel Birebir Ders ??in ?rtibata
Ge?iniz...
? Facebook: http://www.facebook.com/bitlizade/
? E-Mail: turgayerbay@programmer.net
turgayerbay@outlook.com
? GMS: 0(543) 946 99 87
C dili ile programlama Turgay ERBAY 4
Konular:
1. Genel Bilgiler
2. De?i?kenler ve Veri Tipleri
3. Operat?rler
4. Program Deyimleri: if-then-else, for, do-while, switch-case
5. Fonksiyonlar
6. Stringler
7. G?stericiler (Pointers)
8. Diziler
9. ?ni?lemci komutlar?
10. Yap?lar
11. Kitapl?k Fonksiyonlar?
12. Dosya ??lemleri
C dili ile programlama Turgay ERBAY 5
1.B?l¨¹m
Genel Bilgiler
C dili ile programlama Turgay ERBAY 6
Genel Bilgiler
? C, ilk olarak 1972¡¯de Unix i?letim sisteminin
sistem dili olarak kullan?lmaya ba?land?.
? Dennis M. Ritchie, C¡¯yi Bell Laboratuaries¡¯de
geli?tirilen B diline kar?? tasarland?.
? B dilinden sonra geldi?i i?in C ad?n? alm??t?r.
? C¡¯yi g¨¹?l¨¹ ve esnek yapan ?zellikler: pointers,
dinamik bellek kullan?m?, adres aritmeti?i..
? Veri tipleri: char, int, float, void
C dili ile programlama Turgay ERBAY 7
Genel Bilgiler
? Her C program?nda en az bir main fonksiyonu
bulunur.
main()
{
komutlar; blok
}
C dili ile programlama Turgay ERBAY 8
Genel Bilgiler
? C derleyicilerinde baz? i?lemleri yapan haz?r fonksiyonlar
vard?r. Bunlara kitapl?k fonksiyonlar? denir.
printf(¡°Merhaba !..¡±);
arg¨¹man
? Kitapl?k fonksiyonlar? ile ilgili bilgilerin bulundu?u
dosyalar vard?r. Bunlara ba?l?k dosyalar? denir.
#include <stdio.h>
C dili ile programlama Turgay ERBAY 9
C Dilinin Temel ?zellikleri
? Program yaz?m? belirli kal?pta, bloklar halinde olur.
? Bloklar { } parantezleri ile olu?turulur.
? Komutlar ayn? sat?ra veya alt alta yaz?labilirler.
? T¨¹m komutlar noktal? virg¨¹l ¡°;¡± ile biter. Yaln?zca blok
ba?latan ifadelerden sonra ¡°;¡± kullan?lmaz.
? Programda kullan?lan t¨¹m de?i?kenler ve bilgi tipleri
tan?mlan?r.
? Programda kullan?lacak olan komutlar?n bulundu?u
k¨¹t¨¹phaneler ?a?r?l?r.
C dili ile programlama 10
?rnek Kod
-----------------------------------------------------------------------------------------------
/* giris1*/
#include <stdio.h>
main()
{
printf(¡°C programlamaya ho?geldiniz.¡±);
}
-----------------------------------------------------------------------------------------------
/* giris2*/
#include <stdio.h>
main()
{
printf(¡°C programlamaya ho?geldiniz, n¡±);
printf(¡°??renelim.¡±);
}
-------
Turgay ERBAY
-
-
------------- --------------------
-
C dili ile programlama Turgay ERBAY 11
Bellek D¨¹zeni ve Adresleme
? 1 byte = 8 bit -> 0101 0011
? 1 word =2 byte
? Bellekte her byte¡¯?n bir adresi vard?r. 1 word
bellekte 2 byte yer kaplar.
? 1526H say?s?
adres Bellek
0012FF70 00011010 26
0012FF71 00001101 15
C dili ile programlama Turgay ERBAY 12
Bir Program Olu?turma
1. ?nce bir edit?r ile kaynak dosya olu?turulur.
Uzant?s? .c olarak diske kaydedilir.
2. Program Compiler (derleyici) ile derlenir.
Derleyici C dilinde yaz?lan program? makine
diline ?evirir, .obj uzant?l? bir dosya olu?ur.
3. Linking i?lemi ba?lar. Derlenen programa
kitapl?k fonksiyonlar? veya ?nceden
programc? taraf?ndan yaz?lm?? ve derlenmi?
fonksiyonlar nesne dosyas?na eklenerek
. exe uzant?l? dosyalar olu?ur.
C dili ile programlama Turgay ERBAY 13
Program olu?turma s¨¹reci
C dili ile programlama Turgay ERBAY 14
?nemli C dosyalar?
? Header (Ba?l?k) dosyalar?: uzant?s? .h olan
dosyalar include alt dizininde bulunurlar.
Kitapl?k fonksiyonlar?n?n prototipleri bu
dosyalarda bulunur.
? Kitapl?k dosyalar?: Uzant?s? .lib olan bu
dosyalar daha ?nce derlenmi? ve belirli
i?levleri olan dosyalard?r. Linker bu dosyalar?
derlenecek olan ana programa otomatik
olarak ekler.
C dili ile programlama Turgay ERBAY 15
Program Yazma ve
?al??t?rma
MS Visual Studio Visual C++
C dili ile programlama ??r. G?r. Serkan KORKMAZ 16
Visual C++ (v6)
C dili ile programlama ??r. G?r. Serkan KORKMAZ 17
Visual C++ (v6)
Yeni.. Ctrl+N
C dili ile programlama ??r. G?r. Serkan KORKMAZ 18
Visual C++ (v6)
Se?: ¡°Win32 Console
Application¡±
Project ve dosya
dizini
Proje ba?l???
(name of .exe)
C dili ile programlama ??r. G?r. Serkan KORKMAZ 19
Visual C++ (v6)
C dili ile programlama ??r. G?r. Serkan KORKMAZ 20
Visual C++ (v6)
Yeni kaynak dosya
projeye eklenmi? olacak
C dili ile programlama ??r. G?r. Serkan KORKMAZ 21
Visual C++ (v6)
Se?: ¡°c++
kaynak dosya¡±
uzant?s? .c olan
bir kaynak
dosya ad? gir
C dili ile programlama ??r. G?r. Serkan KORKMAZ 22
Visual C++ (v6)
Program? bu b?l¨¹me yaz
C dili ile programlama ??r. G?r. Serkan KORKMAZ 23
Visual C++ (v6)
C dosyas?n? Derle
C dili ile programlama ??r. G?r. Serkan KORKMAZ 24
Visual C++ (v6)
Build an
executable (.exe)
file.
C dili ile programlama ??r. G?r. Serkan KORKMAZ 25
Visual C++ (v6)
?al??t?r?labilir dosyay? ?al??t?r (.exe).
Bu i?lem se?ildi?inde, derleme i?lemi
tamamlanmam??sa, program yeniden
derlenecektir.
Hata ve uyar? mesajlar?
bu b?l¨¹mde g?r¨¹l¨¹r
C dili ile programlama ??r. G?r. Serkan KORKMAZ 26
Visual C++ (v6)
DOS komut
sat?r?nda
program ??kt?s?.
C dili ile programlama ??r. G?r. Serkan KORKMAZ 27
Visual C++ (v6)
Daha ?nce
olu?turulmu?
bir proje a?.
C dili ile programlama ??r. G?r. Serkan KORKMAZ 28
Visual C++ (v6)
C dili ile programlama Turgay ERBAY 29
?rnek Kod
----------------------------------------------------------------
/* giris1*/
#include <stdio.h>
main()
{
printf(¡°C programlamaya ho?geldiniz.¡±);
getch();
}
-----------------------------------------------------------------
/* giris2*/
#include <stdio.h>
main()
{
printf("C programlamaya hosgeldiniz, n");
printf("ogrenelim.");
getch();
}
-----------------------------------------------------------------
C dili ile programlama Turgay ERBAY 30
?rnek Kod
--------------------------------------------------------
/* toplam.c */
/* 1¡¯den 100¡¯e kadar olan say?lar?n toplam?n? bulur. */
#include <stdio.h>
#include<conio.h>
int i,toplam;
main()
{
toplam=0;
for(i=1;i<=100;i++)
{
toplam=toplam+i;
}
printf("toplam:%dn",toplam);
getch();
}
--------------------------------------------------------
C dili ile programlama Turgay ERBAY 31
?rnek Kod
--------------------------------------------------------
/* enbuyuk.c */
/* Girilen 3 say?n?n en b¨¹y¨¹?¨¹n¨¹ bulur. */
#include<stdio.h>
#include<conio.h>
int a,b,c,buyuk;
main()
{
printf("a sayisini giriniz:");
scanf("%d",&a);
printf("n");
printf("b sayisini giriniz:");
scanf("%d",&b);
printf("n");
printf("c sayisini giriniz:");
scanf("%d",&c);
printf("n");
buyuk=a;
if(buyuk<b) buyuk=b;
if(buyuk<c) buyuk=c;
printf("buyuk sayi %dn",buyuk);
getch();
}--------------------------------------------------------
C dili ile programlama Turgay ERBAY 32
Hatalar?n Bulunmas?
? Syntax Hatalar?:
? Mant?ksal Hatalar:
C dili ile programlama
Turgay ERBAY
33
Hata yakalama
By double clicking on the error
message, you can go to the line
containing the error.
There is a variable
which is forgotten to
be declared before
used.
C dili ile programlama Turgay ERBAY 34
Hatalar?n Bulunmas? (Debugging)
Add an integer
variable with
name ¡°a¡±
C dili ile programlama Turgay ERBAY 35
Ba?lay?c? Hatalar? (Linker errors)
A function with name
¡°print¡± is not defined.
C dili ile programlama Turgay ERBAY 36
The correct one
should be printf
C dili ile programlama Turgay ERBAY 37
?al??ma Zaman? Hatas?
Execution error
C dili ile programlama Turgay ERBAY 38
The correct usage of
printf for writing
out numbers
C dili ile programlama Turgay ERBAY 39
2. B?L?M
De?i?ken ve
Veri Tipleri
C dili ile programlama Turgay ERBAY 40
De?i?ken
? De?i?ken, farkl? de?erler alabilen verilerin sakland??? bellek
h¨¹cresini tan?mlayan simgesel bir isimdir.
? De?i?kenler kullan?lmadan ?nce tan?mlan?r. De?i?kenin
saklayaca?? verinin tipi belirlenir. B?ylece de?i?kenin
saklayaca?? verinin boyutuna g?re bellekte yer tahsis edilir.
a=b+c;
? int i;
? char a;
? long x;
adres Bellek
0012FF70 26 a
0012FF71 15 b
0012FF72 11 c
C dili ile programlama Turgay ERBAY 41
Temel de?i?ken tipleri
char Tek bir karakter saklamak i?in, bellekte 1 byte yer
kaplar.
256
-128, +127
int Tamsay?lar i?in kullan?l?r, bilgisayar?n i?lemcisine
ba?l? olarak bellekte 2 veya 4 byte yer kaplar
65536
-32768, -32767
float Tek duyarl? ger?el say? 4 byte ¡À 1.7x10-39
¡À 1.7x1038
double ?ift duyarl? ger?el say? 8 byte ¡À 1.7x10-308
¡À 1.7x10308
long 4 byte 4.294.967.296
bool True ve false de?erini al?r. Say?sal olarak, 0 false ve
harici herhangi bir say? ise true olarak nitelendirilir.
2
enum Kullan?c? taraf?ndan sabit bir dizi tan?mlanmas?na
olanak sa?lar ve bu s?ral? listenin herhangi bir
eleman?n?n s?ra numaras?n? belirlemeye olanak sa?lar.
C dili ile programlama Turgay ERBAY 42
De?i?ken ?simlendirme Kurallar?
? C'de isimlendirme, ?ngiliz Alfabesinin k¨¹?¨¹k ve b¨¹y¨¹k
harflerinden, rakamlardan ve alt ?izgi _ karakterinden
yararlan?l?r. ?zel karakterler ve T¨¹rk?e karakterler
?¨¹?????????? kullan?lmaz.
? C'de, k¨¹?¨¹k harfler ile b¨¹y¨¹k harfler birbirinden farkl?d?r.
? ?smin ilk karakteri bir harf veya _ alt?izgi olmal?d?r.
? ?lk karakter say? olamaz.
? De?i?ken ismi 32 karakteri a?amaz.
? C i?in ayr?lm?? s?zc¨¹kler programc? taraf?ndan tekrar isim
olarak kullan?lamaz.
C dili ile programlama Turgay ERBAY 43
Anahtar S?zc¨¹kler
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
switch typedef union unsigned void
volatile while
? Bu s?zc¨¹kler k¨¹?¨¹k harflerden olu?ur.
De?i?ken ve fonksiyonlar i?in ad olarak
kullan?lmazlar.
C dili ile programlama Turgay ERBAY 44
Yerel ve Global De?i?kenler
? Yerel bildirim: Yerel de?i?kenler kullan?ld??? fonksiyonun
i?inde bildirilirler, sadece bildirildi?i fonksiyon i?erisinde
tan?n?r ve kullan?l?rlar.
? Genel bildirim : Bir de?i?ken b¨¹t¨¹n
? program boyunca s¨¹rekli
olarak kullan?l?yorsa , genel olarak
bildirilmelidir. Global de?i?ken b¨¹t¨¹n
fonksiyonlar?n d???nda bildirilir.
? De?i?kenlere ilk de?er verilmesi:
char kr=¡®A¡¯, z=66, y;
int m=0, n=0;
float f=12.345, sonuc;
int a,b;
void karesi( );
main( )
{
a=3;
karesi( );
printf("%d nin karesi=%d
dir",a,b);
}
void karesi( )
{
b=a*a;
}
C dili ile programlama Turgay ERBAY 45
Sabitler
? Program?n ?al??t??? s¨¹re i?inde de?eri de?i?meyen
ifadelerdir. Farkl? tipte tan?mlanm?? de?i?kenler
oldu?u gibi farkl? tipte sabitler de tan?mlanabilir. C¡¯de
sabitler iki ?ekilde tan?mlan?r:
? const anahtar s?zc¨¹?¨¹ ile:
const int EOF=-1;
const float pi=3.142857;
const char[]=¡°Merhaba¡±;
? #define ?ni?lemci komutuyla
#define MAX 100
#define TRUE 1
#define PI 3.141592
C dili ile programlama Turgay ERBAY 46
??aretli ve ??aretsiz say?lar
? Temel veri tipleri i?aretli kabul edilir.
? unsigned tipi sadece char ve int tipleri ile
birlikte kullan?l?r.
unsigned char:
unsigned int :
unsigned long int:
C dili ile programlama ??r. G?r. Serkan KORKMAZ 47
De?i?ken
T¨¹rleri
De?i?ken Tipleri Kaplad??? Alan En D¨¹?¨¹k De?eri En Y¨¹ksek De?eri
T
E
M
E
L
D
E
?
?
?
K
E
N
L
E
R
T
A
M
S
A
Y
I
char (signed char)
1 byte -128 127
int (signed veya signed int) 2 byte -32 768 32 767
unsigned char 1 byte 0 255
unsigned int (unsigned) 2 byte 0 65.532
short (short int) 2 byte -32 768 32 767
signed short int (signed short) 2 byte -32 768 32 767
unsigned short int (unsigned short) 2 byte 0 65.535
long (long int) 4 byte -2.147.483.648 2.147.483.647
signed long int (signed long) 4 byte -2.147.483.648 2.147.483.647
unsigned long int (unsigned long) 4 byte 0 4.294.967.296
G
E
R
?
E
L
S
A
Y
I
float 4 byte
¡À 1.7x10-39 ¡À 1.7x1038
long float (double) 8 byte
¡À 1.7x10-308 ¡À 1.7x10308
double 8 byte
¡À 1.7x10-308 ¡À 1.7x10308
long double 10 byte
¡À 1.7x10-4933 ¡À 1.7x104933
Karaktersel const const enbuyuk=100;
Yap?sal void void (void) Bo? veri tipi
C dili ile programlama Turgay ERBAY 48
Say?lar?n G?r¨¹nt¨¹lenmesi
? Karakter ve say?lar? ekranda g?r¨¹nt¨¹lemek i?in printf()
fonksiyonu kullan?l?r.
printf(¡°sayi=%dn¡±,20);
---------------------------------
/* veri1.c*/
#include <stdio.h>
void main()
{
char ch;
float x; double y;
ch=¡®A¡¯;
x=120.53; y=34.21646;
printf(¡°%sn¡±, ¡°Bu bir
denemedir.¡±);
printf(¡°ch=%c dir n¡±,ch);
printf(¡°x=%f,y=%f dir.n¡±,x,y);
getch();
}
Belirteci tip
%c char
%d int
%u unsigned
%f float, double
%s string
%e ¨¹stel
%x 16¡¯l?
%o 8¡¯li
%ld long int
%lf long double
C dili ile programlama Turgay ERBAY 49
?zel Sabitler
Sabit Ad? 16-l? anlam?
¡®n¡¯ LF 0x0a sat?r ilerletir
¡®t¡¯ HT 0x09 tab
¡®b¡¯ BS 0x08 geri bo?luk
¡®r¡¯ CR 0x0d geri d?n¨¹?
¡®0¡¯ Null 0x00 NULL
¡®a¡¯ BEL BEL Bip sesi
¡°xdd¡± dd 0xdd 16-l? ascii kodu
? Sabitler ?zel karakterlerdir. Tablodaki 0xdd ifadesindeki dd 00-FF aras?nda bir
de?erdir. ?rne?in, x24 karakteri ,ascii kodu 24 olan $ karakterini ifade eder.
printf(nsabittascii adin¡±);
printf(¡°-----tt--------n¡±);
printf(¡°yanlis tusa bast?n?zan¡±);
printf(¡°x41¡±);
C dili ile programlama Turgay ERBAY 50
Tip De?i?tirme
? C¡¯de farkl? bir tipte tan?mlanm?? bir de?i?kenin
tipi kullan?m esnas?nda ba?ka bir tipe
d?n¨¹?t¨¹r¨¹lebilir.De?i?kenin ?n¨¹ne
de?i?tirece?imiz tipin ad? yaz?l?r.
int a;
(float) a;
?rn sf:21
C dili ile programlama Turgay ERBAY 51
Veri Giri?i
? C¡¯de temel veri giri? fonksiyonu
scanf()fonksiyonudur. Klavyeden girilen veriyi
okumada kullan?l?r.
? De?i?kenler belle?in bir alan?na verilen isimdir. Bu
ismin kar??l?k olarak bellekte bir adres bulunur.
? De?i?ken tan?mland???nda int x; ¡°&¡±
operat?r¨¹ ile adres de?eri bulunabilir.
? &x yaz?ld???nda x de?i?keninin adresi manas?na gelir.
? Adres belirteci %p dir.
? Tek Karakter Giri?i:
getchar();
putchar();
getche();
C dili ile programlama Turgay ERBAY 1
D?L? ?LE
PROGRAMLAMA
??r. G?r. Serkan KORKMAZ
Harran ?niversitesi
Birecik Meslek Y¨¹ksekokulu
C
C dili ile programlama Turgay ERBAY 2
3. B?L?M
Operat?rler
C dili ile programlama Turgay ERBAY 3
Operat?rler
? Bir i?lem belirleyen karakter veya karakterler grubuna operat?r denir.
Operat?rler mikroi?lemcinin bir i?lem yapmas?na neden olurlar ve bu
i?lem sonunda da bir de?er ¨¹retilmesini sa?larlar.
? Programlama dillerinde tan?mlanm?? olan her bir operat?r en az bir
makine komutuna kar??l?k gelmektedir.
? C¡¯de i?leme giren elemanlar, 1¡¯den 3¡¯e kadar de?i?en say?da olabilir.
? a) Tek elemanl? i?lemler
? b) ikili i?lemler
? c) ¨¹?l¨¹ i?lemler
? ?rne?in toplama i?lemcisi ikili bir i?lem belirler, i?leme giren
elemanlar a ve b ise a+b yaz?l?r.
? c = a * b / 2 + 3 /* 4 operat?r vard?r ifadedeki s?ras?yla =, *, /, + */
? ++x * y-- /* 3 opera?r vard?r, ifadedeki s?ras?yla ++, *, -- */
? a >= b /* 1 operat?r vard?r. >= */
C dili ile programlama Turgay ERBAY 4
Operat?rler
? C dilinde farkl? i?lem belirleyen operat?rler
?unlard?r:
? Aritmetik operat?rler
? Artt?rma ve azaltma operat?rleri
? Atama operat?rleri
? Kar??la?t?rma operat?rleri
? Mant?ksal operat?rler
? Bitler ¨¹zerinde i?lem yapan operat?rler
? Adres (pointer) operat?rleri
? sizeof operat?r¨¹
? Operat?rlerin ?ncelikleri
C dili ile programlama Turgay ERBAY 5
Aritmetik Operat?rler
? De?i?kenler veya sabitler ¨¹zerinde temel aritmetik
i?lemleri ger?ekle?tiren operat?rlerdir. Bunlar di?er
programlama dillerinde ayn? olan temel aritmetik
operat?rleridir.
? Art?k b?lme operat?r¨¹ (%) tamsay? ve de?i?kenlerde
kullan?l?r g?revi; b?lme i?lemi sonunda kalan?
hesaplamakt?r.
+ toplama
- ??karma
* ?arpma
/ b?lme
% art?k b?lme(mod)
C dili ile programlama Turgay ERBAY 6
Tekli i?lemler
? Yaln?zca tek de?i?kenlere uygulan?rlar..
? ?rnek:
i = +1; /* + tek operat?r olarak kullan?lm?? */
j = -i; /* - tek operat?r olarak kullan?lm?? */
? Tek bir + say?n?n pozitif oldu?unu g?sterir.
(mutlak).
? Tek bir ¨C say?y? negatif yapar, de?i?kenin
ne gatif oldu?unu g?sterir.
C dili ile programlama Turgay ERBAY 7
Artt?rma ve Azaltma
Operat?rleri
? Artt?rma (++) ve azaltma (- -) operat?rleri tek bir de?i?ken
¨¹zerinde i?lem yaparlar ve tamsay? de?i?kenlerde
kullan?ld???nda bir azaltma ve bir artt?rma i?lemini
ger?ekle?tiriler.
? E?er bu operat?rler karakter de?i?kenleri ile kullan?l?yorsa;
?rneyin i?eri?i m='A' olan bir karakteri m++ ile i?eri?ini
artt?racak olursak m='B' olur.
A++ ?nce A'y? kullan, sonra A'y? 1 artt?r
++A ?nce A'y? 1 artt?r, sonra A'y? kullan
A - - ?nce A'y? kullan, sonra A'y? 1 eksilt
- - A ?nce A'y? 1 eksilt, sonra A'y? kullan
C dili ile programlama Turgay ERBAY 8
Artt?rma ve Azaltma
Operat?rleri
? Bu operat?rler bir atama i?lemiyle (=) birlikte kullan?l?rsa, de?i?kenin
?n¨¹nde yada arkas?nda olmas? ?nemlidir.
? ?rnekte; a,b,c,d,e tamsay? de?i?kenlerdir.
Ekran ??kt?lar? : a=3, d=3, ve e=2 olur.
main( )
{
int a=2, b=2, c=2, d, e;
a++; /* a=a+1 anlam?ndad?r */
d=++b; /* ?nce b=b+1 sonra d=b */
e=c++; /* ?nce e=c sonra c=c+1 */
printf("%d,%d,%d",a,d,e);
}
C dili ile programlama Turgay ERBAY 9
?rnekler
int k=0, m;
m = ++k;
m, 1 olur
K, 1 olur
int k=0, m;
m = k++;
m, 0 olur ve
k, 1 olur
int k=5, m, n=2;
m = --k + n;
m, 6 olur ve
k, 4 olur
int k=0, m, n=7;
m = k++ + --n;
m, 6 olur,
k, 1 olur, ve
n, 6 olur
C dili ile programlama Turgay ERBAY 10
?rnek
#include <stdio.h>
main()
{
int a=5,b=6;
printf(¡°%d ¡±,a++);
printf(%dn¡±,a);
printf(¡°%d %dn¡±,a++,b);
printf(¡°%d ¡±,a--);
printf(%dn¡±,a);
printf(¡°%d n¡±,++a);
printf(%dn¡±,a);
}
??kt?:?
C dili ile programlama Turgay ERBAY 11
Atama Operat?r¨¹
? Atama operat?rleri bir de?i?kene, bir sabit
(bu bir ba??nt?n?n sonucu ya da do?rudan
sabit bir de?er olabilir) e?itlemek i?in
kullan?l?r.?rne?in bir tamsay? de?i?kene
100 say?s? atanmas? i?in;
? int sayi;
sayi = 100;
? deyim1 = deyim2 operat?r deyim3
? saya? = a + b;
ortalama = ortalama / 2;
? deyim1 operat?r = deyim2
ortalama /= 2;
? B¨¹t¨¹n operat?rler basit atama operat?r¨¹yle
birlikte kullan?lmaz; ge?erli olan biti?ik
atama operat?rleri yandaki ?izelgede
verilmi?tir.
Atama Operat?rleri
+= ekleyerek atama
-= ??kararak atama
*= ?arparak atama
/= b?lerek atama
%= b?l¨¹p, kalan?n? atama
<<= sola ?teleyerek atama
>>= sa?a ?teleyerek atama
&= bit d¨¹zeyinde VE 'leyerek atama
|=
bit d¨¹zeyinde VEYA'layarak
atama
^=
bit d¨¹zeyinde YA DA'layarak
atama
=~ bit d¨¹zeyinde t¨¹mleme ve atama
C dili ile programlama Turgay ERBAY 12
d -= 4 (d = d - 4)
e *= 5 (e = e * 5)
f /= 3 (f = f / 3)
g %= 9 (g = g % 9)
? e?er i de?eri 5 olsa ;
printf( "%d", ++i );
Ekrana 6 de?eri yazar
printf( "%d", i++ );
Ekrana 5 de?eri yazar
? Her iki durumda da kod i?letildikten sonra i
de?i?keninin de?eri 6 olur.
C dili ile programlama Turgay ERBAY 13
Aritmetik ifadeler ve operat?rler
i=3;
i=i+1;
j=i+5;
j=j-1;
i++;
j--;
++j;
--i;
j=i++;
i=++j;
j=--i;
i=--j;
j=j+2;
j+=2;
i=i*2;
i*=2;
i=j%3;
j=(i+3)/2;
Ak??:
i=(int) x;
x=(double) (i+j);
c=(char) (x);
k=(long) (c+i);
NOT: ¡®=¡® atama i?lemidir.
Fark: Atama m? artt?rma
i?lemimi ?nce yap?l?r?
C dili ile programlama Turgay ERBAY 14
?rnek
? A?a??daki kodda de?i?kenler ve de?erleri hakk?nda fikir
y¨¹r¨¹t¨¹n. ?lk olarak elle i?letin daha sonra bilgisayarda
deneyin.
int i, j, k;
i = 2;
j = 3 + i++;
k = 3 + ++i;
i *= ++k + j--;
i /= k-- + ++j;
C dili ile programlama Turgay ERBAY 15
Kar??la?t?rma Operat?rleri
? Say?sal de?erleri yada karakterleri
kar??la?t?rmak i?in kullan?l?rlar. C dilinde
kar??la?t?rma operat?rleri string
karakterleri i?in kullan?lmazlar.
? String karakterlerinin kar??la?t?r?lmas?
i?in standart k¨¹t¨¹phanede strcmp( ) ve
buna benzer bir?ok fonksiyon vard?r.
? Kar??la?t?rma sonucu do?ru (true) ya da
yanl?? (false) ??kt???nda ko?ul do?ruysa
olumlu varsay?larak, ko?ul sonunda
istenenler yerine getirilir.
? Yanl?? ise olumsuz varsay?l?r ve
istenenler atlan?r.
Kar??la?t?rma operat?rleri
> b¨¹y¨¹k m¨¹ ?
>= b¨¹y¨¹k veya e?it mi ?
< k¨¹?¨¹k m¨¹ ?
< k¨¹?¨¹k m¨¹ ?
<= k¨¹?¨¹k veya e?it mi ?
== e?it mi ?
! = farkl? m? ?
C dili ile programlama Turgay ERBAY 16
Kar??la?t?rma
? E?er e?irsizlik mant?ksal olarak do?ru ise 1
de?eri d?nd¨¹r¨¹r.
1 < 2
0 > 1
42 <= 42
yas >= 18
C dili ile programlama Turgay ERBAY 17
E?it mi
1 == 2
1 == 0
42 == 42
de?i?ken1 == ba?kade?i?ken
0 == 0
? E?er iki taraf da ayn? ise ¡°do?ru¡± sonucu verir.
C dili ile programlama Turgay ERBAY 18
E?it de?il
1 != 2
1 != 0
42 != 42
a != de?i?ken
? Her iki taraf farkl? ise sonu?ta ¡°do?ru¡±
de?er verir.
C dili ile programlama Turgay ERBAY 19
?rnek
#include<stdio.h>
main()
{
int a=2,b=3;
printf(¡°%d%d%d%d%d%d¡±,a<b,a<=b,a!=b,a==b
,a>b,a>=b);
}
??kt?:?
C dili ile programlama Turgay ERBAY 20
Mant?ksal operat?rler
? Birden fazla ko?ul s?nanmak istendi?inde bunlar?n
birle?tirilip tek bir ko?ul durumuna getirilmesi gerekir.
B?yle durumlarda mant?ksal operat?rler kullan?l?r.
Di?er bir deyi?le, mant?ksal operat?rler birden ?ok
ko?ulun birle?tirilmesi veya ko?ulun t¨¹mleyenini
almak i?in kullan?l?r.
Mant?ksal operat?rler
&& VE AND
| | VEYA OR
! DE??L NOT
C dili ile programlama Turgay ERBAY 21
And
1 && 2
1 && 0 && -1
a && b == 0 && c != 2
B¨¹t¨¹n de?erler 0¡¯dan farkl? olmal?d?r.
C dili ile programlama Turgay ERBAY 22
Or
1 || 2
1 || 0 || -1
a || b == 0 || c != 2
En az bir de?er 1 olmal?d?r.
C dili ile programlama Turgay ERBAY 23
Not
? Do?ru de?eri yanl??a yanl?? de?eri do?ruya
?evirir.
!1
!0
!de?i?ken
C dili ile programlama Turgay ERBAY 24
?rnek
#include<stdio.h>
main()
{
int a=3,b=4,i=10,j=2;
printf(¡°%dn¡±,a<b&&i<j);
printf(¡°%dn¡±,a>b&&i>j);
printf(¡°%dn¡±,a<b||i<j);
printf(¡°%dn¡±,!5>7||3<2);
}
??kt?:?
C dili ile programlama Turgay ERBAY 25
Bitwise Operat?r¨¹
? Bitler ¨¹zerinde i?lem yapmak, bir tamsay? veya karakter
de?i?kenlerin (short, int, long ve char) bir b¨¹t¨¹n olarak
say?sal de?eri ¨¹zerinde de?il de do?rudan bitlerini
s?namak, de?i?tirmek ve ?teleme yapmak anlam?na
gelmektedir.
? ?rne?in, bir k?sa tamsay?n?n
ikinci bitinin ne oldu?u
??renilmek isteniyorsa bu
operat?rleri kullanmaya
gerek vard?r.
Bitwise operat?rleri
& bit d¨¹zeyinde VE (bitwiseAND)
| bit d¨¹zeyinde VEYA (bitwiseOR)
^ bit d¨¹zeyinde YA DA (bitwise XOR)
~ bir'e t¨¹mleme (one's complement)
<< sola ?teleme (leftshift)
>> sa?a ?teleme (rightshift)
C dili ile programlama Turgay ERBAY 26
Bitwise operat?rleri
? VE operat?r¨¹ genelde bir de?i?kenin baz? bitlerini s?f?rlama i?in kullan?l?r.
x=0000 1100 = 0x0Ch=12d
y=0000 0111 = 0x07=7d
x&y=0000 0100 = 0x04=4d
? VEYA operat?r¨¹ genelde, bir say?sal de?i?kenin baz? bitlerini birlemek
i?in kullan?l?r.
x|y= 0000 1111 = 0x0F=15d
? YA DA operat?r¨¹, kar??la?t?r?lan bitlerin de?eri birbirinden farkl? ise 1 ,
ayn? ise s?f?r 0 ¨¹retir. Bir de?i?kenin kendisi ile YA DA 'lanmas? say?sal
de?erini s?f?rlar.
x^y= 0000 1011 = 0x0B=11d
C dili ile programlama Turgay ERBAY 27
Bitwise operat?rleri
? Bir'e t¨¹mleme bir de?i?kenin t¨¹m bitlerinden 1
olanlar? 0, 0 olanlar? 1 yapmakt?r.
x=0000 1100 = 0x0Ch = 12d
~x=1111 0011 = 0xF3h = 243d
? ?teleme operat?rleri, de?i?kenlerin bitlerini sa?a
veya sola kayd?rmak i?in kullan?l?r.
x=0000 1100 = 0x0Ch = 12d
x<<3=0110 0000 = 0x60h = 96d
C dili ile programlama Turgay ERBAY 28
?rnek
#include<stdio.h>
main()
{
char x=¡®2A¡¯; /* x=0010 1010= 42d */
char y=¡®0F¡¯; /* y=0000 1111= 15d */
printf(¡°%dn¡±,x&y);
printf(¡°%dn¡±,x|y);
printf(¡°%dn¡±,x^y);
}
??kt?:?
C dili ile programlama Turgay ERBAY 29
Adres (pointer) Operat?rleri
? G?sterici (pointer), bir de?i?kenin bellekteki adresidir.
? Bu tip de?i?kenlere yaln?zca adresler veya di?er g?sterici
de?i?kenler atanabilir. Baz? uygulamalarda de?i?kenlerin
adreslerinin bilinmesi b¨¹y¨¹k kolayl?k sa?lar.
? * karakteri daha ?nce aritmetik operat?r k¨¹mesinde de verilmi?ti.
Fakat ayn? zamanda g?stericilerde de operat?r olarak kullan?l?r.
Hangisinde kullan?ld??? yaz?lan ba??nt?dan ??kar?l?r. * karakteri
g?stericilerde de iki ama?la kullan?l?r; ilki g?stericilerin bildiriminde,
ikincisi bir g?sterici de?i?kenin i?aret etti?i bellek g?z¨¹ne eri?mekte
kullan?l?r.
? & karakteri daha ?nce bit ¨¹zerinde VE i?lemi yapan operat?r olarak
kullan?lm??t?. Ancak g?sterici operat?r olarak bir de?i?kenin ?n¨¹ne
koyularak ta kullan?l?r. Bu, de?i?kenin de?eri ile de?il de bellekte
bulundu?u adresi ile ili?kili anlam?na gelir.
C dili ile programlama Turgay ERBAY 30
Adres (pointer) Operat?rleri
? int *a, b, c;
float *d ;
char *k;
? ?rne?in a tipi tamsay? olan g?sterici de?i?ken, b ve c
normal de?i?kenler ise,
? int *a, b=10, c ;
c = b ;
a = &b ;
? olarak yaz?l?rsa; c=10 olurken, a de?i?kenine bellekte
bulundu?u g?zlerin ba?lang?? adresi atan?r ve bu
adresin ne oldu?u program?n y¨¹r¨¹t¨¹lmesi s?ras?nda
belli olur.
C dili ile programlama Turgay ERBAY 31
& ve * nedir?
? & : Adres Operat?r¨¹. Kendisinden sonra
kullan?lan de?i?kenin bellekteki adresini verir.
? * : ¡°Eri?im de?eri¡± veya ¡°i?erik¡± operat?r¨¹.
G?sterici de?i?kenin i?inde sakl? olan veriyi
alabilmeyi sa?lar.
? * ve & birbirinin tersidir.
? ?rnek: *&a ? yine ¡®a¡¯ kendisine e?ittir.
C dili ile programlama Turgay ERBAY 32
& ve * kullan?m?
? * operat?r¨¹ ile de?i?ken tan?mlan?r:
/* *pd i?erisinde adres ta??r anlam?ndad?r. */
int *pd, d = 5;
? Bir de?i?kenin adresine eri?mek i?in & kullan?l?r.
/* d nin adresini pd de?i?kenine y¨¹kle. */
pd = &d;
? Bir adresteki de?i?kene eri?mek i?in, * kullan?l?r.
*pd = 10; /* d ye de?er olarak 10 ata */
C dili ile programlama Turgay ERBAY 33
Grafik olarak
pd
5
&d
*pd==d==5*pd=10 !!10
=> d==10 !!!
C dili ile programlama ??r. G?r. Serkan KORKMAZ 34
G?sterici De?i?keni
Yandaki program?n
y¨¹r¨¹t¨¹lmesinde ¡°tut¡± adl?
de?i?kenin bellekteki adresi
BF50 olarak
varsay?lm??t?r, program
?al??t?r?ld???nda ekrana
yaz?lanlar a?a??daki gibi olur.
De?i?kenin adresi : BF50
De?i?kenin de?eri : 800
i?aret?inin de?eri(adres) : BF50
i?aret etti?i de?er : 800
De?i?kenin yeni de?eri : 400
De?i?kenin adresi : BF50
#include <stdio.h>
main( )
{
int tut, *adres;
adres = &tut;
tut = 800;
printf("Degiskenin adresi:%pn",&tut);
printf("Degiskenin degeri:%dnn", tut);
printf("isaret?inin degeri (adres):%pn",adres);
printf("isaret ettigi deger :%dnn",*adres);
*adres=400;
printf("Degiskenin yeni degeri: %dn", tut);
printf("Degiskenin adresi: %pn", &tut);
}
Degiskenin adresi:0012FF7C
Degiskenin degeri:800
isaretcinin degeri (adres):0012FF7C
isaret ettigi deger¨¢:800
Degiskenin yeni degeri: 400
Degiskenin adresi: 0012FF7C
C dili ile programlama Turgay ERBAY 35
G?sterici De?i?keni
? G?sterici De?i?keni bir adres saklayan
de?i?kendir.
? ?rnek olarak, tamsay? t¨¹r¨¹nde bir g?sterici
de?i?keni int * p; ?eklinde tan?mlan?r.
? De?i?ken p i?inde *p nin g?sterdi?i adresi saklar.
int a = 5, *p;
p = &a;
printf("%d", *p);
ekrana 5 yazar..
C dili ile programlama Turgay ERBAY 36
G?sterici De?i?keni
? ?rnekler:
FILE *dosya;
int *a;
float *b;
char *c;
? De?i?ken ad?ndan ?nce kullan?lan y?ld?z sembol¨¹ bu
de?i?kenlerin bellekte bir adres g?sterdi?i anlam?na
gelir.
C dili ile programlama Turgay ERBAY 37
Sizeof Operat?r¨¹
? Bir de?i?kenin veya veri tipinin bellekte ka? byte yer
kaplad???n? verir.
? Farkl? tipte de?i?kenler kullan?lan bir ba??nt?n?n
sonucunun, ka? byte yer kaplayaca??n? ??renmek
i?in de kullan?labilir.
? sizeof nesne veya sizeof (tip)
? Nesne yerine de?i?ken ad?,dizi ya da yap?sal
de?i?ken (structure) yaz?labilir.
? ?kinci kullan?mdaki tip yerine temel tiplerin ad?,
de?i?ken ad?, t¨¹retilmi? tiplerin ad? (structure veya
g?sterici gibi) ya da matematiksel ba??nt? yaz?labilir.
? Bu operat?r dizi i?in kullan?l?rsa, dizinin bellekte
kaplad??? toplam alan?n boyunu byte olarak ??renilir.
C dili ile programlama Turgay ERBAY 38
?rnek
? A?a??daki programda her biri tamsay? olan 10
elemanl? bir a dizisi ve b adl? bir de?i?ken
bildirilmi?tir. Program y¨¹r¨¹t¨¹ld¨¹?¨¹nde dizinin ve
tamsay?n?n bellekte ka? byte yer kaplad???n? yazar.
main( )
{
int a[10], b ;
printf ("a dizisi %d byte yer kaplar. n ", sizeof
a);
printf ("Tamsayi %d byte yer kaplar. ", sizeof b);
}
C dili ile programlama Turgay ERBAY 39
Operat?rlerin ?ncelikleri
Operat?rler i?lem y?n¨¹
( ) [ ] -> . -->
! - ++ - - + - * & (type) sizeof <--
* / % -->
+ - -->
<< >> -->
< <= > >= -->
== != -->
& -->
^ -->
| -->
&& -->
|| -->
?: <--
= += -= *= /= %= &= ^= |= <<= >>= <--
C dili ile programlama Turgay ERBAY 40
?rnek
? ??lem ?ncelik s?ras?
Parantez
?s alma
B?lme
?arpma
Toplama
??karma
1 + 2 * 3 - 4 / 5 = ?
1 + (2 * 3) ¨C (4 / 5)
6.2
C dili ile programlama Turgay ERBAY 41
?rnek (sonu?)
? E?er ifade tamsay? de?i?kenlerinden
olu?ursa sonu?ta tamsay? olur, ondal?kl?
de?erler tam say?ya yuvarlan?r.
4/5 = 0
(tamsay? b?lme)
1 + (2 * 3) ¨C (4 / 5)
7
z + (d * c) ¨C (a / b)
C dili ile programlama Turgay ERBAY 42
Operat?rlerin ?ncelikleri
? Parantezler
? Not (!)
? Kar??la?t?rma (<, >, <=, >=)
? E?itlik (==)
? E?it De?il (!=)
? And (&&)
? Or (||)
Y¨¹ksek
D¨¹?¨¹k
C dili ile programlama Turgay ERBAY 43
float
? float daha kesin say?sal de?erler veren veri
t¨¹r¨¹d¨¹r ancak daha fazla hesaplama i?lemi ve
bellek gerektirir. Normalde bilgisayar tamsay?
i?lemlerini daha h?zl? ger?ekle?tirir.
? ?rnek: float i?lemi
= 1 + 2 * 3 - 4.0 / 5
= 1 + (2 * 3) - (4.0 / 5)
= 1 + 6 - 0.8
= 6.2 Floating
point
sonucu
C dili ile programlama Turgay ERBAY 44
?rnek ¨C 1: Tamsay?lar
? ?fade aldatmacal? g?r¨¹nebilir. Tamsay?larla
i?lem yaparken dikkatli olun.
(1 + 2) * (3 - 4) / 5
= ((1 + 2) * (3 - 4)) / 5
= (3 * -1) / 5
= -3 / 5
= 0 Tamsay? b?lme
sonucu 0.
C dili ile programlama Turgay ERBAY 45
?rnek ¨C 2 :Floating points
? ?rnek: Sonu? daha do?ru¡­
(1 + 2.0) * (3 - 4) / 5
= ((1 + 2.0) * (3 - 4)) / 5
= (3.0 * -1) / 5
= -3.0 / 5
= -0.6 Beklenen
sonu?
budur.
C dili ile programlama Turgay ERBAY 46
??lem ?ncelik s?ras?
7 + 4 * 2 % 6 * 4 =
7 + 8 % 6 * 4 =
7 + 2 * 4 =
7 + 8 = 15
(7 + 4) * 6 % 5 * 4 =
11 * 6 % 5 * 4 =
66 % 5 * 4 =
1 * 4 = 4
7 + ( (4 * 6) % 5 ) * 4 =
7 + (24 % 5) * 4 =
7 + 4 * 4 =
7 + 16 = 23
NOTE: Temporary calculations are done using the highest precision
numerical type. (If the numbers are in parantheses, only the inside
Calculations are done with that precision.).
C dili ile programlama Turgay ERBAY 47
?rnek Program
Print out the result
result ? 1 + 2 * 3 - 4 / 5
print result
#include <stdio.h>
/* ??lem sonucunu yaz */
int main()
{
return 0;
}Program iskeletini
tamamlayal?m. Bunu
yapmaya al???n!
C dili ile programlama Turgay ERBAY 48
?rnek Program
Print out the result
result ? 1 + 2 * 3 - 4 / 5
print result
#include <stdio.h>
/* ??lem sonucunu yaz */
int main()
{
float sonuc;
sonuc = 1 + 2 * 3 - 4 /5;
printf("%fn", sonuc);
return 0;
}
%f float veri t¨¹rlerini
ekrana yazmak i?in
kullan?l?r.
n yeni sat?ra ge?me.
C dili ile programlama Turgay ERBAY 49
?ncelikler : Ekstra bilgi
? *, /, % e?it ?nceliklidir.
? +, - e?it ?nceliklidir.
? E?it ?ncelikli operat?rler i?eren ifadelerde i?lem
soldan sa?a do?ru i?letilir.
2 + 3 ¨C 1 = (2 + 3) ¨C 1 = 4
2 ¨C 3 + 1 = (2 ¨C 3) + 1 = 0
2 * 3 / 4 = (2 * 3) / 4 = 6 / 4 =1 (<> 2 / 4 * 3 =(2 / 4) * 3 = 0)
2 / 3 * 4 = (2 / 3) * 4 = 0 / 4
C dili ile programlama Turgay ERBAY 50
?rnek
#include <stdio.h>
int main()
{
int yas = 18;
int paraVar = 0;
int kartVar = 1;
float susuzluk = 0.31;
int haftaIci = 0;
int sonuc;
sonuc = yas >= 18 && (paraVar || kartVar)
&& susuzluk > 0.3 && !haftaIci;
printf("%dn", sonuc);
return 0;
}
C dili ile programlama Turgay ERBAY 51
Genellikle yap?lan hatalar
? Genellikle yap?lan hatalar i?lem ?ncelik s?ras?
hesaba katulmadan yaz?lan ifadelerde
meydana gelir. Di?er bir hata da (==) yerine
(=) yaz?lmas?ndan kaynaklan?r.
? B?yle bir durumda derleyici hata vermez, ancak
atama sonucu her zaman ¡°do?ru¡± sonu?
verecektir. (e?erki atanan de?er 0 de?ilse).
C dili ile programlama Turgay ERBAY 52
?rnek (hata)
#include <stdio.h>
int main()
{
int not;
scanf("%d", &not);
if (not = 48 || not = 49) {
printf("?ok yak?n!n");
}
return 0;
}
?ok tipik bir
hata!!
C dili ile programlama Turgay ERBAY 53
#include <stdio.h>
int main()
{
int not;
scanf("%d", &not);
if (not == 48 || not == 49) {
printf("?ok yak?n!n");
}
return 0;
}
Buradaki
farka dikkat
edin.
?rnek (hatas?z)
C dili ile programlama Turgay ERBAY 54
?rnek (hata)
#include <stdio.h>
int main()
{
int not;
scanf("%d", &not);
if ( 0 < not < 48 )
{
printf("Yanlisn");
}
return 0;
}
Bu kod s¨¹rekli
¡°Yanl??¡± yazar.
NEDEN?
C dili ile programlama Turgay ERBAY 55
?rnek (hata)
0 < not < 48
0 or 1
hem 0 hem 1, 48¡¯den k¨¹?¨¹kt¨¹r. Bu y¨¹zden
birle?ik ifade her zaman do?ru olur.
C dili ile programlama Turgay ERBAY 56
?rnek (hatas?z)
#include <stdio.h>
int main()
{
int not;
scanf("%d", &not);
if ( 0 < not && not < 48 )
{
printf("Yanlisn");
}
return 0;
}
C dili ile programlama Turgay ERBAY 57
Visual C++ (v6)
C dili ile programlama Turgay ERBAY 58
Visual C++ (v6)
Yeni.. Ctrl+N
C dili ile programlama Turgay ERBAY 59
Visual C++ (v6)
Se?: ¡°Win32 Console
Application¡±
Project ve dosya
dizini
Proje ba?l???
(name of .exe)
C dili ile programlama Turgay ERBAY 60
Visual C++ (v6)
C dili ile programlama Turgay ERBAY 61
Visual C++ (v6)
Yeni kaynak dosya
projeye eklenmi? olacak
C dili ile programlama Turgay ERBAY 62
Visual C++ (v6)
Se?: ¡°c++
kaynak dosya¡±
uzant?s? .c olan
bir kaynak
dosya ad? gir
C dili ile programlama Turgay ERBAY 63
Visual C++ (v6)
Program? bu b?l¨¹me yaz
C dili ile programlama Turgay ERBAY 64
Visual C++ (v6)
C dosyas?n? Derle
C dili ile programlama Turgay ERBAY 65
Visual C++ (v6)
Build an
executable (.exe)
file.
C dili ile programlama Turgay ERBAY 66
Visual C++ (v6)
?al??t?r?labilir dosyay? ?al??t?r (.exe).
Bu i?lem se?ildi?inde, derleme i?lemi
tamamlanmam??sa, program yeniden
derlenecektir.
Hata ve uyar? mesajlar?
bu b?l¨¹mde g?r¨¹l¨¹r
C dili ile programlama Turgay ERBAY 67
Visual C++ (v6)
DOS komut
sat?r?nda
program ??kt?s?.
C dili ile programlama Turgay ERBAY 68
Visual C++ (v6)
Daha ?nce
olu?turulmu?
bir proje a?.
C dili ile programlama Turgay ERBAY 69
Visual C++ (v6)
C dili ile programlama Turgay ERBAY 70
Prosed¨¹rler
Procedure Per?embeyi_Ya?a
{
Uyan
Yataktan_Kalk
Kahvalt?_Et
Evden_??k
Otob¨¹se_Bin
S?n?fa_Otur
Otob¨¹se_Bin
Eve_Gir
Televizyon_Seyret
Ders_Calis
Uyu
}
Procedure Haftay?_Ya?a
{
Pazar?_Ya?a
Pazartesini_Ya?a
Sal?y?_Ya?a
?ar?ambay?_Ya?a
Per?embeyi_Ya?a
Cumay?_Ya?a
Cumartesini_Ya?a
}

More Related Content

C programlama

  • 1. C dili ile programlama Turgay ERBAY 1 D?L? ?LE PROGRAMLAMA Turgay ERBAY T¨¹rk Telekom Siber G¨¹venlik Uzman? C
  • 2. C dili ile programlama Turgay ERBAY 2 Kaynak: ? T¨¹m bilgiler taraf?mdan girilmi? olup kopyalanmas? taraf?mdan izin al?nmad??? s¨¹rece yasakt?r.
  • 3. C dili ile programlama Turgay ERBAY 3 ?zel Birebir Ders ??in ?rtibata Ge?iniz... ? Facebook: http://www.facebook.com/bitlizade/ ? E-Mail: turgayerbay@programmer.net turgayerbay@outlook.com ? GMS: 0(543) 946 99 87
  • 4. C dili ile programlama Turgay ERBAY 4 Konular: 1. Genel Bilgiler 2. De?i?kenler ve Veri Tipleri 3. Operat?rler 4. Program Deyimleri: if-then-else, for, do-while, switch-case 5. Fonksiyonlar 6. Stringler 7. G?stericiler (Pointers) 8. Diziler 9. ?ni?lemci komutlar? 10. Yap?lar 11. Kitapl?k Fonksiyonlar? 12. Dosya ??lemleri
  • 5. C dili ile programlama Turgay ERBAY 5 1.B?l¨¹m Genel Bilgiler
  • 6. C dili ile programlama Turgay ERBAY 6 Genel Bilgiler ? C, ilk olarak 1972¡¯de Unix i?letim sisteminin sistem dili olarak kullan?lmaya ba?land?. ? Dennis M. Ritchie, C¡¯yi Bell Laboratuaries¡¯de geli?tirilen B diline kar?? tasarland?. ? B dilinden sonra geldi?i i?in C ad?n? alm??t?r. ? C¡¯yi g¨¹?l¨¹ ve esnek yapan ?zellikler: pointers, dinamik bellek kullan?m?, adres aritmeti?i.. ? Veri tipleri: char, int, float, void
  • 7. C dili ile programlama Turgay ERBAY 7 Genel Bilgiler ? Her C program?nda en az bir main fonksiyonu bulunur. main() { komutlar; blok }
  • 8. C dili ile programlama Turgay ERBAY 8 Genel Bilgiler ? C derleyicilerinde baz? i?lemleri yapan haz?r fonksiyonlar vard?r. Bunlara kitapl?k fonksiyonlar? denir. printf(¡°Merhaba !..¡±); arg¨¹man ? Kitapl?k fonksiyonlar? ile ilgili bilgilerin bulundu?u dosyalar vard?r. Bunlara ba?l?k dosyalar? denir. #include <stdio.h>
  • 9. C dili ile programlama Turgay ERBAY 9 C Dilinin Temel ?zellikleri ? Program yaz?m? belirli kal?pta, bloklar halinde olur. ? Bloklar { } parantezleri ile olu?turulur. ? Komutlar ayn? sat?ra veya alt alta yaz?labilirler. ? T¨¹m komutlar noktal? virg¨¹l ¡°;¡± ile biter. Yaln?zca blok ba?latan ifadelerden sonra ¡°;¡± kullan?lmaz. ? Programda kullan?lan t¨¹m de?i?kenler ve bilgi tipleri tan?mlan?r. ? Programda kullan?lacak olan komutlar?n bulundu?u k¨¹t¨¹phaneler ?a?r?l?r.
  • 10. C dili ile programlama 10 ?rnek Kod ----------------------------------------------------------------------------------------------- /* giris1*/ #include <stdio.h> main() { printf(¡°C programlamaya ho?geldiniz.¡±); } ----------------------------------------------------------------------------------------------- /* giris2*/ #include <stdio.h> main() { printf(¡°C programlamaya ho?geldiniz, n¡±); printf(¡°??renelim.¡±); } ------- Turgay ERBAY - - ------------- -------------------- -
  • 11. C dili ile programlama Turgay ERBAY 11 Bellek D¨¹zeni ve Adresleme ? 1 byte = 8 bit -> 0101 0011 ? 1 word =2 byte ? Bellekte her byte¡¯?n bir adresi vard?r. 1 word bellekte 2 byte yer kaplar. ? 1526H say?s? adres Bellek 0012FF70 00011010 26 0012FF71 00001101 15
  • 12. C dili ile programlama Turgay ERBAY 12 Bir Program Olu?turma 1. ?nce bir edit?r ile kaynak dosya olu?turulur. Uzant?s? .c olarak diske kaydedilir. 2. Program Compiler (derleyici) ile derlenir. Derleyici C dilinde yaz?lan program? makine diline ?evirir, .obj uzant?l? bir dosya olu?ur. 3. Linking i?lemi ba?lar. Derlenen programa kitapl?k fonksiyonlar? veya ?nceden programc? taraf?ndan yaz?lm?? ve derlenmi? fonksiyonlar nesne dosyas?na eklenerek . exe uzant?l? dosyalar olu?ur.
  • 13. C dili ile programlama Turgay ERBAY 13 Program olu?turma s¨¹reci
  • 14. C dili ile programlama Turgay ERBAY 14 ?nemli C dosyalar? ? Header (Ba?l?k) dosyalar?: uzant?s? .h olan dosyalar include alt dizininde bulunurlar. Kitapl?k fonksiyonlar?n?n prototipleri bu dosyalarda bulunur. ? Kitapl?k dosyalar?: Uzant?s? .lib olan bu dosyalar daha ?nce derlenmi? ve belirli i?levleri olan dosyalard?r. Linker bu dosyalar? derlenecek olan ana programa otomatik olarak ekler.
  • 15. C dili ile programlama Turgay ERBAY 15 Program Yazma ve ?al??t?rma MS Visual Studio Visual C++
  • 16. C dili ile programlama ??r. G?r. Serkan KORKMAZ 16 Visual C++ (v6)
  • 17. C dili ile programlama ??r. G?r. Serkan KORKMAZ 17 Visual C++ (v6) Yeni.. Ctrl+N
  • 18. C dili ile programlama ??r. G?r. Serkan KORKMAZ 18 Visual C++ (v6) Se?: ¡°Win32 Console Application¡± Project ve dosya dizini Proje ba?l??? (name of .exe)
  • 19. C dili ile programlama ??r. G?r. Serkan KORKMAZ 19 Visual C++ (v6)
  • 20. C dili ile programlama ??r. G?r. Serkan KORKMAZ 20 Visual C++ (v6) Yeni kaynak dosya projeye eklenmi? olacak
  • 21. C dili ile programlama ??r. G?r. Serkan KORKMAZ 21 Visual C++ (v6) Se?: ¡°c++ kaynak dosya¡± uzant?s? .c olan bir kaynak dosya ad? gir
  • 22. C dili ile programlama ??r. G?r. Serkan KORKMAZ 22 Visual C++ (v6) Program? bu b?l¨¹me yaz
  • 23. C dili ile programlama ??r. G?r. Serkan KORKMAZ 23 Visual C++ (v6) C dosyas?n? Derle
  • 24. C dili ile programlama ??r. G?r. Serkan KORKMAZ 24 Visual C++ (v6) Build an executable (.exe) file.
  • 25. C dili ile programlama ??r. G?r. Serkan KORKMAZ 25 Visual C++ (v6) ?al??t?r?labilir dosyay? ?al??t?r (.exe). Bu i?lem se?ildi?inde, derleme i?lemi tamamlanmam??sa, program yeniden derlenecektir. Hata ve uyar? mesajlar? bu b?l¨¹mde g?r¨¹l¨¹r
  • 26. C dili ile programlama ??r. G?r. Serkan KORKMAZ 26 Visual C++ (v6) DOS komut sat?r?nda program ??kt?s?.
  • 27. C dili ile programlama ??r. G?r. Serkan KORKMAZ 27 Visual C++ (v6) Daha ?nce olu?turulmu? bir proje a?.
  • 28. C dili ile programlama ??r. G?r. Serkan KORKMAZ 28 Visual C++ (v6)
  • 29. C dili ile programlama Turgay ERBAY 29 ?rnek Kod ---------------------------------------------------------------- /* giris1*/ #include <stdio.h> main() { printf(¡°C programlamaya ho?geldiniz.¡±); getch(); } ----------------------------------------------------------------- /* giris2*/ #include <stdio.h> main() { printf("C programlamaya hosgeldiniz, n"); printf("ogrenelim."); getch(); } -----------------------------------------------------------------
  • 30. C dili ile programlama Turgay ERBAY 30 ?rnek Kod -------------------------------------------------------- /* toplam.c */ /* 1¡¯den 100¡¯e kadar olan say?lar?n toplam?n? bulur. */ #include <stdio.h> #include<conio.h> int i,toplam; main() { toplam=0; for(i=1;i<=100;i++) { toplam=toplam+i; } printf("toplam:%dn",toplam); getch(); } --------------------------------------------------------
  • 31. C dili ile programlama Turgay ERBAY 31 ?rnek Kod -------------------------------------------------------- /* enbuyuk.c */ /* Girilen 3 say?n?n en b¨¹y¨¹?¨¹n¨¹ bulur. */ #include<stdio.h> #include<conio.h> int a,b,c,buyuk; main() { printf("a sayisini giriniz:"); scanf("%d",&a); printf("n"); printf("b sayisini giriniz:"); scanf("%d",&b); printf("n"); printf("c sayisini giriniz:"); scanf("%d",&c); printf("n"); buyuk=a; if(buyuk<b) buyuk=b; if(buyuk<c) buyuk=c; printf("buyuk sayi %dn",buyuk); getch(); }--------------------------------------------------------
  • 32. C dili ile programlama Turgay ERBAY 32 Hatalar?n Bulunmas? ? Syntax Hatalar?: ? Mant?ksal Hatalar:
  • 33. C dili ile programlama Turgay ERBAY 33 Hata yakalama By double clicking on the error message, you can go to the line containing the error. There is a variable which is forgotten to be declared before used.
  • 34. C dili ile programlama Turgay ERBAY 34 Hatalar?n Bulunmas? (Debugging) Add an integer variable with name ¡°a¡±
  • 35. C dili ile programlama Turgay ERBAY 35 Ba?lay?c? Hatalar? (Linker errors) A function with name ¡°print¡± is not defined.
  • 36. C dili ile programlama Turgay ERBAY 36 The correct one should be printf
  • 37. C dili ile programlama Turgay ERBAY 37 ?al??ma Zaman? Hatas? Execution error
  • 38. C dili ile programlama Turgay ERBAY 38 The correct usage of printf for writing out numbers
  • 39. C dili ile programlama Turgay ERBAY 39 2. B?L?M De?i?ken ve Veri Tipleri
  • 40. C dili ile programlama Turgay ERBAY 40 De?i?ken ? De?i?ken, farkl? de?erler alabilen verilerin sakland??? bellek h¨¹cresini tan?mlayan simgesel bir isimdir. ? De?i?kenler kullan?lmadan ?nce tan?mlan?r. De?i?kenin saklayaca?? verinin tipi belirlenir. B?ylece de?i?kenin saklayaca?? verinin boyutuna g?re bellekte yer tahsis edilir. a=b+c; ? int i; ? char a; ? long x; adres Bellek 0012FF70 26 a 0012FF71 15 b 0012FF72 11 c
  • 41. C dili ile programlama Turgay ERBAY 41 Temel de?i?ken tipleri char Tek bir karakter saklamak i?in, bellekte 1 byte yer kaplar. 256 -128, +127 int Tamsay?lar i?in kullan?l?r, bilgisayar?n i?lemcisine ba?l? olarak bellekte 2 veya 4 byte yer kaplar 65536 -32768, -32767 float Tek duyarl? ger?el say? 4 byte ¡À 1.7x10-39 ¡À 1.7x1038 double ?ift duyarl? ger?el say? 8 byte ¡À 1.7x10-308 ¡À 1.7x10308 long 4 byte 4.294.967.296 bool True ve false de?erini al?r. Say?sal olarak, 0 false ve harici herhangi bir say? ise true olarak nitelendirilir. 2 enum Kullan?c? taraf?ndan sabit bir dizi tan?mlanmas?na olanak sa?lar ve bu s?ral? listenin herhangi bir eleman?n?n s?ra numaras?n? belirlemeye olanak sa?lar.
  • 42. C dili ile programlama Turgay ERBAY 42 De?i?ken ?simlendirme Kurallar? ? C'de isimlendirme, ?ngiliz Alfabesinin k¨¹?¨¹k ve b¨¹y¨¹k harflerinden, rakamlardan ve alt ?izgi _ karakterinden yararlan?l?r. ?zel karakterler ve T¨¹rk?e karakterler ?¨¹?????????? kullan?lmaz. ? C'de, k¨¹?¨¹k harfler ile b¨¹y¨¹k harfler birbirinden farkl?d?r. ? ?smin ilk karakteri bir harf veya _ alt?izgi olmal?d?r. ? ?lk karakter say? olamaz. ? De?i?ken ismi 32 karakteri a?amaz. ? C i?in ayr?lm?? s?zc¨¹kler programc? taraf?ndan tekrar isim olarak kullan?lamaz.
  • 43. C dili ile programlama Turgay ERBAY 43 Anahtar S?zc¨¹kler auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while ? Bu s?zc¨¹kler k¨¹?¨¹k harflerden olu?ur. De?i?ken ve fonksiyonlar i?in ad olarak kullan?lmazlar.
  • 44. C dili ile programlama Turgay ERBAY 44 Yerel ve Global De?i?kenler ? Yerel bildirim: Yerel de?i?kenler kullan?ld??? fonksiyonun i?inde bildirilirler, sadece bildirildi?i fonksiyon i?erisinde tan?n?r ve kullan?l?rlar. ? Genel bildirim : Bir de?i?ken b¨¹t¨¹n ? program boyunca s¨¹rekli olarak kullan?l?yorsa , genel olarak bildirilmelidir. Global de?i?ken b¨¹t¨¹n fonksiyonlar?n d???nda bildirilir. ? De?i?kenlere ilk de?er verilmesi: char kr=¡®A¡¯, z=66, y; int m=0, n=0; float f=12.345, sonuc; int a,b; void karesi( ); main( ) { a=3; karesi( ); printf("%d nin karesi=%d dir",a,b); } void karesi( ) { b=a*a; }
  • 45. C dili ile programlama Turgay ERBAY 45 Sabitler ? Program?n ?al??t??? s¨¹re i?inde de?eri de?i?meyen ifadelerdir. Farkl? tipte tan?mlanm?? de?i?kenler oldu?u gibi farkl? tipte sabitler de tan?mlanabilir. C¡¯de sabitler iki ?ekilde tan?mlan?r: ? const anahtar s?zc¨¹?¨¹ ile: const int EOF=-1; const float pi=3.142857; const char[]=¡°Merhaba¡±; ? #define ?ni?lemci komutuyla #define MAX 100 #define TRUE 1 #define PI 3.141592
  • 46. C dili ile programlama Turgay ERBAY 46 ??aretli ve ??aretsiz say?lar ? Temel veri tipleri i?aretli kabul edilir. ? unsigned tipi sadece char ve int tipleri ile birlikte kullan?l?r. unsigned char: unsigned int : unsigned long int:
  • 47. C dili ile programlama ??r. G?r. Serkan KORKMAZ 47 De?i?ken T¨¹rleri De?i?ken Tipleri Kaplad??? Alan En D¨¹?¨¹k De?eri En Y¨¹ksek De?eri T E M E L D E ? ? ? K E N L E R T A M S A Y I char (signed char) 1 byte -128 127 int (signed veya signed int) 2 byte -32 768 32 767 unsigned char 1 byte 0 255 unsigned int (unsigned) 2 byte 0 65.532 short (short int) 2 byte -32 768 32 767 signed short int (signed short) 2 byte -32 768 32 767 unsigned short int (unsigned short) 2 byte 0 65.535 long (long int) 4 byte -2.147.483.648 2.147.483.647 signed long int (signed long) 4 byte -2.147.483.648 2.147.483.647 unsigned long int (unsigned long) 4 byte 0 4.294.967.296 G E R ? E L S A Y I float 4 byte ¡À 1.7x10-39 ¡À 1.7x1038 long float (double) 8 byte ¡À 1.7x10-308 ¡À 1.7x10308 double 8 byte ¡À 1.7x10-308 ¡À 1.7x10308 long double 10 byte ¡À 1.7x10-4933 ¡À 1.7x104933 Karaktersel const const enbuyuk=100; Yap?sal void void (void) Bo? veri tipi
  • 48. C dili ile programlama Turgay ERBAY 48 Say?lar?n G?r¨¹nt¨¹lenmesi ? Karakter ve say?lar? ekranda g?r¨¹nt¨¹lemek i?in printf() fonksiyonu kullan?l?r. printf(¡°sayi=%dn¡±,20); --------------------------------- /* veri1.c*/ #include <stdio.h> void main() { char ch; float x; double y; ch=¡®A¡¯; x=120.53; y=34.21646; printf(¡°%sn¡±, ¡°Bu bir denemedir.¡±); printf(¡°ch=%c dir n¡±,ch); printf(¡°x=%f,y=%f dir.n¡±,x,y); getch(); } Belirteci tip %c char %d int %u unsigned %f float, double %s string %e ¨¹stel %x 16¡¯l? %o 8¡¯li %ld long int %lf long double
  • 49. C dili ile programlama Turgay ERBAY 49 ?zel Sabitler Sabit Ad? 16-l? anlam? ¡®n¡¯ LF 0x0a sat?r ilerletir ¡®t¡¯ HT 0x09 tab ¡®b¡¯ BS 0x08 geri bo?luk ¡®r¡¯ CR 0x0d geri d?n¨¹? ¡®0¡¯ Null 0x00 NULL ¡®a¡¯ BEL BEL Bip sesi ¡°xdd¡± dd 0xdd 16-l? ascii kodu ? Sabitler ?zel karakterlerdir. Tablodaki 0xdd ifadesindeki dd 00-FF aras?nda bir de?erdir. ?rne?in, x24 karakteri ,ascii kodu 24 olan $ karakterini ifade eder. printf(nsabittascii adin¡±); printf(¡°-----tt--------n¡±); printf(¡°yanlis tusa bast?n?zan¡±); printf(¡°x41¡±);
  • 50. C dili ile programlama Turgay ERBAY 50 Tip De?i?tirme ? C¡¯de farkl? bir tipte tan?mlanm?? bir de?i?kenin tipi kullan?m esnas?nda ba?ka bir tipe d?n¨¹?t¨¹r¨¹lebilir.De?i?kenin ?n¨¹ne de?i?tirece?imiz tipin ad? yaz?l?r. int a; (float) a; ?rn sf:21
  • 51. C dili ile programlama Turgay ERBAY 51 Veri Giri?i ? C¡¯de temel veri giri? fonksiyonu scanf()fonksiyonudur. Klavyeden girilen veriyi okumada kullan?l?r. ? De?i?kenler belle?in bir alan?na verilen isimdir. Bu ismin kar??l?k olarak bellekte bir adres bulunur. ? De?i?ken tan?mland???nda int x; ¡°&¡± operat?r¨¹ ile adres de?eri bulunabilir. ? &x yaz?ld???nda x de?i?keninin adresi manas?na gelir. ? Adres belirteci %p dir. ? Tek Karakter Giri?i: getchar(); putchar(); getche();
  • 52. C dili ile programlama Turgay ERBAY 1 D?L? ?LE PROGRAMLAMA ??r. G?r. Serkan KORKMAZ Harran ?niversitesi Birecik Meslek Y¨¹ksekokulu C
  • 53. C dili ile programlama Turgay ERBAY 2 3. B?L?M Operat?rler
  • 54. C dili ile programlama Turgay ERBAY 3 Operat?rler ? Bir i?lem belirleyen karakter veya karakterler grubuna operat?r denir. Operat?rler mikroi?lemcinin bir i?lem yapmas?na neden olurlar ve bu i?lem sonunda da bir de?er ¨¹retilmesini sa?larlar. ? Programlama dillerinde tan?mlanm?? olan her bir operat?r en az bir makine komutuna kar??l?k gelmektedir. ? C¡¯de i?leme giren elemanlar, 1¡¯den 3¡¯e kadar de?i?en say?da olabilir. ? a) Tek elemanl? i?lemler ? b) ikili i?lemler ? c) ¨¹?l¨¹ i?lemler ? ?rne?in toplama i?lemcisi ikili bir i?lem belirler, i?leme giren elemanlar a ve b ise a+b yaz?l?r. ? c = a * b / 2 + 3 /* 4 operat?r vard?r ifadedeki s?ras?yla =, *, /, + */ ? ++x * y-- /* 3 opera?r vard?r, ifadedeki s?ras?yla ++, *, -- */ ? a >= b /* 1 operat?r vard?r. >= */
  • 55. C dili ile programlama Turgay ERBAY 4 Operat?rler ? C dilinde farkl? i?lem belirleyen operat?rler ?unlard?r: ? Aritmetik operat?rler ? Artt?rma ve azaltma operat?rleri ? Atama operat?rleri ? Kar??la?t?rma operat?rleri ? Mant?ksal operat?rler ? Bitler ¨¹zerinde i?lem yapan operat?rler ? Adres (pointer) operat?rleri ? sizeof operat?r¨¹ ? Operat?rlerin ?ncelikleri
  • 56. C dili ile programlama Turgay ERBAY 5 Aritmetik Operat?rler ? De?i?kenler veya sabitler ¨¹zerinde temel aritmetik i?lemleri ger?ekle?tiren operat?rlerdir. Bunlar di?er programlama dillerinde ayn? olan temel aritmetik operat?rleridir. ? Art?k b?lme operat?r¨¹ (%) tamsay? ve de?i?kenlerde kullan?l?r g?revi; b?lme i?lemi sonunda kalan? hesaplamakt?r. + toplama - ??karma * ?arpma / b?lme % art?k b?lme(mod)
  • 57. C dili ile programlama Turgay ERBAY 6 Tekli i?lemler ? Yaln?zca tek de?i?kenlere uygulan?rlar.. ? ?rnek: i = +1; /* + tek operat?r olarak kullan?lm?? */ j = -i; /* - tek operat?r olarak kullan?lm?? */ ? Tek bir + say?n?n pozitif oldu?unu g?sterir. (mutlak). ? Tek bir ¨C say?y? negatif yapar, de?i?kenin ne gatif oldu?unu g?sterir.
  • 58. C dili ile programlama Turgay ERBAY 7 Artt?rma ve Azaltma Operat?rleri ? Artt?rma (++) ve azaltma (- -) operat?rleri tek bir de?i?ken ¨¹zerinde i?lem yaparlar ve tamsay? de?i?kenlerde kullan?ld???nda bir azaltma ve bir artt?rma i?lemini ger?ekle?tiriler. ? E?er bu operat?rler karakter de?i?kenleri ile kullan?l?yorsa; ?rneyin i?eri?i m='A' olan bir karakteri m++ ile i?eri?ini artt?racak olursak m='B' olur. A++ ?nce A'y? kullan, sonra A'y? 1 artt?r ++A ?nce A'y? 1 artt?r, sonra A'y? kullan A - - ?nce A'y? kullan, sonra A'y? 1 eksilt - - A ?nce A'y? 1 eksilt, sonra A'y? kullan
  • 59. C dili ile programlama Turgay ERBAY 8 Artt?rma ve Azaltma Operat?rleri ? Bu operat?rler bir atama i?lemiyle (=) birlikte kullan?l?rsa, de?i?kenin ?n¨¹nde yada arkas?nda olmas? ?nemlidir. ? ?rnekte; a,b,c,d,e tamsay? de?i?kenlerdir. Ekran ??kt?lar? : a=3, d=3, ve e=2 olur. main( ) { int a=2, b=2, c=2, d, e; a++; /* a=a+1 anlam?ndad?r */ d=++b; /* ?nce b=b+1 sonra d=b */ e=c++; /* ?nce e=c sonra c=c+1 */ printf("%d,%d,%d",a,d,e); }
  • 60. C dili ile programlama Turgay ERBAY 9 ?rnekler int k=0, m; m = ++k; m, 1 olur K, 1 olur int k=0, m; m = k++; m, 0 olur ve k, 1 olur int k=5, m, n=2; m = --k + n; m, 6 olur ve k, 4 olur int k=0, m, n=7; m = k++ + --n; m, 6 olur, k, 1 olur, ve n, 6 olur
  • 61. C dili ile programlama Turgay ERBAY 10 ?rnek #include <stdio.h> main() { int a=5,b=6; printf(¡°%d ¡±,a++); printf(%dn¡±,a); printf(¡°%d %dn¡±,a++,b); printf(¡°%d ¡±,a--); printf(%dn¡±,a); printf(¡°%d n¡±,++a); printf(%dn¡±,a); } ??kt?:?
  • 62. C dili ile programlama Turgay ERBAY 11 Atama Operat?r¨¹ ? Atama operat?rleri bir de?i?kene, bir sabit (bu bir ba??nt?n?n sonucu ya da do?rudan sabit bir de?er olabilir) e?itlemek i?in kullan?l?r.?rne?in bir tamsay? de?i?kene 100 say?s? atanmas? i?in; ? int sayi; sayi = 100; ? deyim1 = deyim2 operat?r deyim3 ? saya? = a + b; ortalama = ortalama / 2; ? deyim1 operat?r = deyim2 ortalama /= 2; ? B¨¹t¨¹n operat?rler basit atama operat?r¨¹yle birlikte kullan?lmaz; ge?erli olan biti?ik atama operat?rleri yandaki ?izelgede verilmi?tir. Atama Operat?rleri += ekleyerek atama -= ??kararak atama *= ?arparak atama /= b?lerek atama %= b?l¨¹p, kalan?n? atama <<= sola ?teleyerek atama >>= sa?a ?teleyerek atama &= bit d¨¹zeyinde VE 'leyerek atama |= bit d¨¹zeyinde VEYA'layarak atama ^= bit d¨¹zeyinde YA DA'layarak atama =~ bit d¨¹zeyinde t¨¹mleme ve atama
  • 63. C dili ile programlama Turgay ERBAY 12 d -= 4 (d = d - 4) e *= 5 (e = e * 5) f /= 3 (f = f / 3) g %= 9 (g = g % 9) ? e?er i de?eri 5 olsa ; printf( "%d", ++i ); Ekrana 6 de?eri yazar printf( "%d", i++ ); Ekrana 5 de?eri yazar ? Her iki durumda da kod i?letildikten sonra i de?i?keninin de?eri 6 olur.
  • 64. C dili ile programlama Turgay ERBAY 13 Aritmetik ifadeler ve operat?rler i=3; i=i+1; j=i+5; j=j-1; i++; j--; ++j; --i; j=i++; i=++j; j=--i; i=--j; j=j+2; j+=2; i=i*2; i*=2; i=j%3; j=(i+3)/2; Ak??: i=(int) x; x=(double) (i+j); c=(char) (x); k=(long) (c+i); NOT: ¡®=¡® atama i?lemidir. Fark: Atama m? artt?rma i?lemimi ?nce yap?l?r?
  • 65. C dili ile programlama Turgay ERBAY 14 ?rnek ? A?a??daki kodda de?i?kenler ve de?erleri hakk?nda fikir y¨¹r¨¹t¨¹n. ?lk olarak elle i?letin daha sonra bilgisayarda deneyin. int i, j, k; i = 2; j = 3 + i++; k = 3 + ++i; i *= ++k + j--; i /= k-- + ++j;
  • 66. C dili ile programlama Turgay ERBAY 15 Kar??la?t?rma Operat?rleri ? Say?sal de?erleri yada karakterleri kar??la?t?rmak i?in kullan?l?rlar. C dilinde kar??la?t?rma operat?rleri string karakterleri i?in kullan?lmazlar. ? String karakterlerinin kar??la?t?r?lmas? i?in standart k¨¹t¨¹phanede strcmp( ) ve buna benzer bir?ok fonksiyon vard?r. ? Kar??la?t?rma sonucu do?ru (true) ya da yanl?? (false) ??kt???nda ko?ul do?ruysa olumlu varsay?larak, ko?ul sonunda istenenler yerine getirilir. ? Yanl?? ise olumsuz varsay?l?r ve istenenler atlan?r. Kar??la?t?rma operat?rleri > b¨¹y¨¹k m¨¹ ? >= b¨¹y¨¹k veya e?it mi ? < k¨¹?¨¹k m¨¹ ? < k¨¹?¨¹k m¨¹ ? <= k¨¹?¨¹k veya e?it mi ? == e?it mi ? ! = farkl? m? ?
  • 67. C dili ile programlama Turgay ERBAY 16 Kar??la?t?rma ? E?er e?irsizlik mant?ksal olarak do?ru ise 1 de?eri d?nd¨¹r¨¹r. 1 < 2 0 > 1 42 <= 42 yas >= 18
  • 68. C dili ile programlama Turgay ERBAY 17 E?it mi 1 == 2 1 == 0 42 == 42 de?i?ken1 == ba?kade?i?ken 0 == 0 ? E?er iki taraf da ayn? ise ¡°do?ru¡± sonucu verir.
  • 69. C dili ile programlama Turgay ERBAY 18 E?it de?il 1 != 2 1 != 0 42 != 42 a != de?i?ken ? Her iki taraf farkl? ise sonu?ta ¡°do?ru¡± de?er verir.
  • 70. C dili ile programlama Turgay ERBAY 19 ?rnek #include<stdio.h> main() { int a=2,b=3; printf(¡°%d%d%d%d%d%d¡±,a<b,a<=b,a!=b,a==b ,a>b,a>=b); } ??kt?:?
  • 71. C dili ile programlama Turgay ERBAY 20 Mant?ksal operat?rler ? Birden fazla ko?ul s?nanmak istendi?inde bunlar?n birle?tirilip tek bir ko?ul durumuna getirilmesi gerekir. B?yle durumlarda mant?ksal operat?rler kullan?l?r. Di?er bir deyi?le, mant?ksal operat?rler birden ?ok ko?ulun birle?tirilmesi veya ko?ulun t¨¹mleyenini almak i?in kullan?l?r. Mant?ksal operat?rler && VE AND | | VEYA OR ! DE??L NOT
  • 72. C dili ile programlama Turgay ERBAY 21 And 1 && 2 1 && 0 && -1 a && b == 0 && c != 2 B¨¹t¨¹n de?erler 0¡¯dan farkl? olmal?d?r.
  • 73. C dili ile programlama Turgay ERBAY 22 Or 1 || 2 1 || 0 || -1 a || b == 0 || c != 2 En az bir de?er 1 olmal?d?r.
  • 74. C dili ile programlama Turgay ERBAY 23 Not ? Do?ru de?eri yanl??a yanl?? de?eri do?ruya ?evirir. !1 !0 !de?i?ken
  • 75. C dili ile programlama Turgay ERBAY 24 ?rnek #include<stdio.h> main() { int a=3,b=4,i=10,j=2; printf(¡°%dn¡±,a<b&&i<j); printf(¡°%dn¡±,a>b&&i>j); printf(¡°%dn¡±,a<b||i<j); printf(¡°%dn¡±,!5>7||3<2); } ??kt?:?
  • 76. C dili ile programlama Turgay ERBAY 25 Bitwise Operat?r¨¹ ? Bitler ¨¹zerinde i?lem yapmak, bir tamsay? veya karakter de?i?kenlerin (short, int, long ve char) bir b¨¹t¨¹n olarak say?sal de?eri ¨¹zerinde de?il de do?rudan bitlerini s?namak, de?i?tirmek ve ?teleme yapmak anlam?na gelmektedir. ? ?rne?in, bir k?sa tamsay?n?n ikinci bitinin ne oldu?u ??renilmek isteniyorsa bu operat?rleri kullanmaya gerek vard?r. Bitwise operat?rleri & bit d¨¹zeyinde VE (bitwiseAND) | bit d¨¹zeyinde VEYA (bitwiseOR) ^ bit d¨¹zeyinde YA DA (bitwise XOR) ~ bir'e t¨¹mleme (one's complement) << sola ?teleme (leftshift) >> sa?a ?teleme (rightshift)
  • 77. C dili ile programlama Turgay ERBAY 26 Bitwise operat?rleri ? VE operat?r¨¹ genelde bir de?i?kenin baz? bitlerini s?f?rlama i?in kullan?l?r. x=0000 1100 = 0x0Ch=12d y=0000 0111 = 0x07=7d x&y=0000 0100 = 0x04=4d ? VEYA operat?r¨¹ genelde, bir say?sal de?i?kenin baz? bitlerini birlemek i?in kullan?l?r. x|y= 0000 1111 = 0x0F=15d ? YA DA operat?r¨¹, kar??la?t?r?lan bitlerin de?eri birbirinden farkl? ise 1 , ayn? ise s?f?r 0 ¨¹retir. Bir de?i?kenin kendisi ile YA DA 'lanmas? say?sal de?erini s?f?rlar. x^y= 0000 1011 = 0x0B=11d
  • 78. C dili ile programlama Turgay ERBAY 27 Bitwise operat?rleri ? Bir'e t¨¹mleme bir de?i?kenin t¨¹m bitlerinden 1 olanlar? 0, 0 olanlar? 1 yapmakt?r. x=0000 1100 = 0x0Ch = 12d ~x=1111 0011 = 0xF3h = 243d ? ?teleme operat?rleri, de?i?kenlerin bitlerini sa?a veya sola kayd?rmak i?in kullan?l?r. x=0000 1100 = 0x0Ch = 12d x<<3=0110 0000 = 0x60h = 96d
  • 79. C dili ile programlama Turgay ERBAY 28 ?rnek #include<stdio.h> main() { char x=¡®2A¡¯; /* x=0010 1010= 42d */ char y=¡®0F¡¯; /* y=0000 1111= 15d */ printf(¡°%dn¡±,x&y); printf(¡°%dn¡±,x|y); printf(¡°%dn¡±,x^y); } ??kt?:?
  • 80. C dili ile programlama Turgay ERBAY 29 Adres (pointer) Operat?rleri ? G?sterici (pointer), bir de?i?kenin bellekteki adresidir. ? Bu tip de?i?kenlere yaln?zca adresler veya di?er g?sterici de?i?kenler atanabilir. Baz? uygulamalarda de?i?kenlerin adreslerinin bilinmesi b¨¹y¨¹k kolayl?k sa?lar. ? * karakteri daha ?nce aritmetik operat?r k¨¹mesinde de verilmi?ti. Fakat ayn? zamanda g?stericilerde de operat?r olarak kullan?l?r. Hangisinde kullan?ld??? yaz?lan ba??nt?dan ??kar?l?r. * karakteri g?stericilerde de iki ama?la kullan?l?r; ilki g?stericilerin bildiriminde, ikincisi bir g?sterici de?i?kenin i?aret etti?i bellek g?z¨¹ne eri?mekte kullan?l?r. ? & karakteri daha ?nce bit ¨¹zerinde VE i?lemi yapan operat?r olarak kullan?lm??t?. Ancak g?sterici operat?r olarak bir de?i?kenin ?n¨¹ne koyularak ta kullan?l?r. Bu, de?i?kenin de?eri ile de?il de bellekte bulundu?u adresi ile ili?kili anlam?na gelir.
  • 81. C dili ile programlama Turgay ERBAY 30 Adres (pointer) Operat?rleri ? int *a, b, c; float *d ; char *k; ? ?rne?in a tipi tamsay? olan g?sterici de?i?ken, b ve c normal de?i?kenler ise, ? int *a, b=10, c ; c = b ; a = &b ; ? olarak yaz?l?rsa; c=10 olurken, a de?i?kenine bellekte bulundu?u g?zlerin ba?lang?? adresi atan?r ve bu adresin ne oldu?u program?n y¨¹r¨¹t¨¹lmesi s?ras?nda belli olur.
  • 82. C dili ile programlama Turgay ERBAY 31 & ve * nedir? ? & : Adres Operat?r¨¹. Kendisinden sonra kullan?lan de?i?kenin bellekteki adresini verir. ? * : ¡°Eri?im de?eri¡± veya ¡°i?erik¡± operat?r¨¹. G?sterici de?i?kenin i?inde sakl? olan veriyi alabilmeyi sa?lar. ? * ve & birbirinin tersidir. ? ?rnek: *&a ? yine ¡®a¡¯ kendisine e?ittir.
  • 83. C dili ile programlama Turgay ERBAY 32 & ve * kullan?m? ? * operat?r¨¹ ile de?i?ken tan?mlan?r: /* *pd i?erisinde adres ta??r anlam?ndad?r. */ int *pd, d = 5; ? Bir de?i?kenin adresine eri?mek i?in & kullan?l?r. /* d nin adresini pd de?i?kenine y¨¹kle. */ pd = &d; ? Bir adresteki de?i?kene eri?mek i?in, * kullan?l?r. *pd = 10; /* d ye de?er olarak 10 ata */
  • 84. C dili ile programlama Turgay ERBAY 33 Grafik olarak pd 5 &d *pd==d==5*pd=10 !!10 => d==10 !!!
  • 85. C dili ile programlama ??r. G?r. Serkan KORKMAZ 34 G?sterici De?i?keni Yandaki program?n y¨¹r¨¹t¨¹lmesinde ¡°tut¡± adl? de?i?kenin bellekteki adresi BF50 olarak varsay?lm??t?r, program ?al??t?r?ld???nda ekrana yaz?lanlar a?a??daki gibi olur. De?i?kenin adresi : BF50 De?i?kenin de?eri : 800 i?aret?inin de?eri(adres) : BF50 i?aret etti?i de?er : 800 De?i?kenin yeni de?eri : 400 De?i?kenin adresi : BF50 #include <stdio.h> main( ) { int tut, *adres; adres = &tut; tut = 800; printf("Degiskenin adresi:%pn",&tut); printf("Degiskenin degeri:%dnn", tut); printf("isaret?inin degeri (adres):%pn",adres); printf("isaret ettigi deger :%dnn",*adres); *adres=400; printf("Degiskenin yeni degeri: %dn", tut); printf("Degiskenin adresi: %pn", &tut); } Degiskenin adresi:0012FF7C Degiskenin degeri:800 isaretcinin degeri (adres):0012FF7C isaret ettigi deger¨¢:800 Degiskenin yeni degeri: 400 Degiskenin adresi: 0012FF7C
  • 86. C dili ile programlama Turgay ERBAY 35 G?sterici De?i?keni ? G?sterici De?i?keni bir adres saklayan de?i?kendir. ? ?rnek olarak, tamsay? t¨¹r¨¹nde bir g?sterici de?i?keni int * p; ?eklinde tan?mlan?r. ? De?i?ken p i?inde *p nin g?sterdi?i adresi saklar. int a = 5, *p; p = &a; printf("%d", *p); ekrana 5 yazar..
  • 87. C dili ile programlama Turgay ERBAY 36 G?sterici De?i?keni ? ?rnekler: FILE *dosya; int *a; float *b; char *c; ? De?i?ken ad?ndan ?nce kullan?lan y?ld?z sembol¨¹ bu de?i?kenlerin bellekte bir adres g?sterdi?i anlam?na gelir.
  • 88. C dili ile programlama Turgay ERBAY 37 Sizeof Operat?r¨¹ ? Bir de?i?kenin veya veri tipinin bellekte ka? byte yer kaplad???n? verir. ? Farkl? tipte de?i?kenler kullan?lan bir ba??nt?n?n sonucunun, ka? byte yer kaplayaca??n? ??renmek i?in de kullan?labilir. ? sizeof nesne veya sizeof (tip) ? Nesne yerine de?i?ken ad?,dizi ya da yap?sal de?i?ken (structure) yaz?labilir. ? ?kinci kullan?mdaki tip yerine temel tiplerin ad?, de?i?ken ad?, t¨¹retilmi? tiplerin ad? (structure veya g?sterici gibi) ya da matematiksel ba??nt? yaz?labilir. ? Bu operat?r dizi i?in kullan?l?rsa, dizinin bellekte kaplad??? toplam alan?n boyunu byte olarak ??renilir.
  • 89. C dili ile programlama Turgay ERBAY 38 ?rnek ? A?a??daki programda her biri tamsay? olan 10 elemanl? bir a dizisi ve b adl? bir de?i?ken bildirilmi?tir. Program y¨¹r¨¹t¨¹ld¨¹?¨¹nde dizinin ve tamsay?n?n bellekte ka? byte yer kaplad???n? yazar. main( ) { int a[10], b ; printf ("a dizisi %d byte yer kaplar. n ", sizeof a); printf ("Tamsayi %d byte yer kaplar. ", sizeof b); }
  • 90. C dili ile programlama Turgay ERBAY 39 Operat?rlerin ?ncelikleri Operat?rler i?lem y?n¨¹ ( ) [ ] -> . --> ! - ++ - - + - * & (type) sizeof <-- * / % --> + - --> << >> --> < <= > >= --> == != --> & --> ^ --> | --> && --> || --> ?: <-- = += -= *= /= %= &= ^= |= <<= >>= <--
  • 91. C dili ile programlama Turgay ERBAY 40 ?rnek ? ??lem ?ncelik s?ras? Parantez ?s alma B?lme ?arpma Toplama ??karma 1 + 2 * 3 - 4 / 5 = ? 1 + (2 * 3) ¨C (4 / 5) 6.2
  • 92. C dili ile programlama Turgay ERBAY 41 ?rnek (sonu?) ? E?er ifade tamsay? de?i?kenlerinden olu?ursa sonu?ta tamsay? olur, ondal?kl? de?erler tam say?ya yuvarlan?r. 4/5 = 0 (tamsay? b?lme) 1 + (2 * 3) ¨C (4 / 5) 7 z + (d * c) ¨C (a / b)
  • 93. C dili ile programlama Turgay ERBAY 42 Operat?rlerin ?ncelikleri ? Parantezler ? Not (!) ? Kar??la?t?rma (<, >, <=, >=) ? E?itlik (==) ? E?it De?il (!=) ? And (&&) ? Or (||) Y¨¹ksek D¨¹?¨¹k
  • 94. C dili ile programlama Turgay ERBAY 43 float ? float daha kesin say?sal de?erler veren veri t¨¹r¨¹d¨¹r ancak daha fazla hesaplama i?lemi ve bellek gerektirir. Normalde bilgisayar tamsay? i?lemlerini daha h?zl? ger?ekle?tirir. ? ?rnek: float i?lemi = 1 + 2 * 3 - 4.0 / 5 = 1 + (2 * 3) - (4.0 / 5) = 1 + 6 - 0.8 = 6.2 Floating point sonucu
  • 95. C dili ile programlama Turgay ERBAY 44 ?rnek ¨C 1: Tamsay?lar ? ?fade aldatmacal? g?r¨¹nebilir. Tamsay?larla i?lem yaparken dikkatli olun. (1 + 2) * (3 - 4) / 5 = ((1 + 2) * (3 - 4)) / 5 = (3 * -1) / 5 = -3 / 5 = 0 Tamsay? b?lme sonucu 0.
  • 96. C dili ile programlama Turgay ERBAY 45 ?rnek ¨C 2 :Floating points ? ?rnek: Sonu? daha do?ru¡­ (1 + 2.0) * (3 - 4) / 5 = ((1 + 2.0) * (3 - 4)) / 5 = (3.0 * -1) / 5 = -3.0 / 5 = -0.6 Beklenen sonu? budur.
  • 97. C dili ile programlama Turgay ERBAY 46 ??lem ?ncelik s?ras? 7 + 4 * 2 % 6 * 4 = 7 + 8 % 6 * 4 = 7 + 2 * 4 = 7 + 8 = 15 (7 + 4) * 6 % 5 * 4 = 11 * 6 % 5 * 4 = 66 % 5 * 4 = 1 * 4 = 4 7 + ( (4 * 6) % 5 ) * 4 = 7 + (24 % 5) * 4 = 7 + 4 * 4 = 7 + 16 = 23 NOTE: Temporary calculations are done using the highest precision numerical type. (If the numbers are in parantheses, only the inside Calculations are done with that precision.).
  • 98. C dili ile programlama Turgay ERBAY 47 ?rnek Program Print out the result result ? 1 + 2 * 3 - 4 / 5 print result #include <stdio.h> /* ??lem sonucunu yaz */ int main() { return 0; }Program iskeletini tamamlayal?m. Bunu yapmaya al???n!
  • 99. C dili ile programlama Turgay ERBAY 48 ?rnek Program Print out the result result ? 1 + 2 * 3 - 4 / 5 print result #include <stdio.h> /* ??lem sonucunu yaz */ int main() { float sonuc; sonuc = 1 + 2 * 3 - 4 /5; printf("%fn", sonuc); return 0; } %f float veri t¨¹rlerini ekrana yazmak i?in kullan?l?r. n yeni sat?ra ge?me.
  • 100. C dili ile programlama Turgay ERBAY 49 ?ncelikler : Ekstra bilgi ? *, /, % e?it ?nceliklidir. ? +, - e?it ?nceliklidir. ? E?it ?ncelikli operat?rler i?eren ifadelerde i?lem soldan sa?a do?ru i?letilir. 2 + 3 ¨C 1 = (2 + 3) ¨C 1 = 4 2 ¨C 3 + 1 = (2 ¨C 3) + 1 = 0 2 * 3 / 4 = (2 * 3) / 4 = 6 / 4 =1 (<> 2 / 4 * 3 =(2 / 4) * 3 = 0) 2 / 3 * 4 = (2 / 3) * 4 = 0 / 4
  • 101. C dili ile programlama Turgay ERBAY 50 ?rnek #include <stdio.h> int main() { int yas = 18; int paraVar = 0; int kartVar = 1; float susuzluk = 0.31; int haftaIci = 0; int sonuc; sonuc = yas >= 18 && (paraVar || kartVar) && susuzluk > 0.3 && !haftaIci; printf("%dn", sonuc); return 0; }
  • 102. C dili ile programlama Turgay ERBAY 51 Genellikle yap?lan hatalar ? Genellikle yap?lan hatalar i?lem ?ncelik s?ras? hesaba katulmadan yaz?lan ifadelerde meydana gelir. Di?er bir hata da (==) yerine (=) yaz?lmas?ndan kaynaklan?r. ? B?yle bir durumda derleyici hata vermez, ancak atama sonucu her zaman ¡°do?ru¡± sonu? verecektir. (e?erki atanan de?er 0 de?ilse).
  • 103. C dili ile programlama Turgay ERBAY 52 ?rnek (hata) #include <stdio.h> int main() { int not; scanf("%d", &not); if (not = 48 || not = 49) { printf("?ok yak?n!n"); } return 0; } ?ok tipik bir hata!!
  • 104. C dili ile programlama Turgay ERBAY 53 #include <stdio.h> int main() { int not; scanf("%d", &not); if (not == 48 || not == 49) { printf("?ok yak?n!n"); } return 0; } Buradaki farka dikkat edin. ?rnek (hatas?z)
  • 105. C dili ile programlama Turgay ERBAY 54 ?rnek (hata) #include <stdio.h> int main() { int not; scanf("%d", &not); if ( 0 < not < 48 ) { printf("Yanlisn"); } return 0; } Bu kod s¨¹rekli ¡°Yanl??¡± yazar. NEDEN?
  • 106. C dili ile programlama Turgay ERBAY 55 ?rnek (hata) 0 < not < 48 0 or 1 hem 0 hem 1, 48¡¯den k¨¹?¨¹kt¨¹r. Bu y¨¹zden birle?ik ifade her zaman do?ru olur.
  • 107. C dili ile programlama Turgay ERBAY 56 ?rnek (hatas?z) #include <stdio.h> int main() { int not; scanf("%d", &not); if ( 0 < not && not < 48 ) { printf("Yanlisn"); } return 0; }
  • 108. C dili ile programlama Turgay ERBAY 57 Visual C++ (v6)
  • 109. C dili ile programlama Turgay ERBAY 58 Visual C++ (v6) Yeni.. Ctrl+N
  • 110. C dili ile programlama Turgay ERBAY 59 Visual C++ (v6) Se?: ¡°Win32 Console Application¡± Project ve dosya dizini Proje ba?l??? (name of .exe)
  • 111. C dili ile programlama Turgay ERBAY 60 Visual C++ (v6)
  • 112. C dili ile programlama Turgay ERBAY 61 Visual C++ (v6) Yeni kaynak dosya projeye eklenmi? olacak
  • 113. C dili ile programlama Turgay ERBAY 62 Visual C++ (v6) Se?: ¡°c++ kaynak dosya¡± uzant?s? .c olan bir kaynak dosya ad? gir
  • 114. C dili ile programlama Turgay ERBAY 63 Visual C++ (v6) Program? bu b?l¨¹me yaz
  • 115. C dili ile programlama Turgay ERBAY 64 Visual C++ (v6) C dosyas?n? Derle
  • 116. C dili ile programlama Turgay ERBAY 65 Visual C++ (v6) Build an executable (.exe) file.
  • 117. C dili ile programlama Turgay ERBAY 66 Visual C++ (v6) ?al??t?r?labilir dosyay? ?al??t?r (.exe). Bu i?lem se?ildi?inde, derleme i?lemi tamamlanmam??sa, program yeniden derlenecektir. Hata ve uyar? mesajlar? bu b?l¨¹mde g?r¨¹l¨¹r
  • 118. C dili ile programlama Turgay ERBAY 67 Visual C++ (v6) DOS komut sat?r?nda program ??kt?s?.
  • 119. C dili ile programlama Turgay ERBAY 68 Visual C++ (v6) Daha ?nce olu?turulmu? bir proje a?.
  • 120. C dili ile programlama Turgay ERBAY 69 Visual C++ (v6)
  • 121. C dili ile programlama Turgay ERBAY 70 Prosed¨¹rler Procedure Per?embeyi_Ya?a { Uyan Yataktan_Kalk Kahvalt?_Et Evden_??k Otob¨¹se_Bin S?n?fa_Otur Otob¨¹se_Bin Eve_Gir Televizyon_Seyret Ders_Calis Uyu } Procedure Haftay?_Ya?a { Pazar?_Ya?a Pazartesini_Ya?a Sal?y?_Ya?a ?ar?ambay?_Ya?a Per?embeyi_Ya?a Cumay?_Ya?a Cumartesini_Ya?a }