Professional Documents
Culture Documents
Giriş
Basit C Programları: Bir Metni Yazdırmak
C dili değişken tipleri
Basit C Programları: İki Tam Sayıyı Toplamak
Hafıza Konuları
C’de Aritmetik
Karar Verme : Eşitlik ve Karşılaştırma Operatörleri
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
2
Amaçlar
Bu bölüm bize ne kazandıracak?
C dili ile basit programlar yazmak
Basit giriş/çıkış ifadelerini kullanmak
Temel veri tiplerini tanımak
Bilgisayar hafızasını kullanmayı anlamak
Aritmetik operatörleri kullanmak
Aritmetik operatörlerin önceliklerini anlamak
Basit karar verme ifadelerini yazmak
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
3
Giriş
C programlama dili
Program tasarımı için yapısal ve disiplinli bir yaklaşım
sunar.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
4
C diline hosgeldiniz.
Yorumlar
C Derleyicisi /* ve */ arasındaki metinlere işlem yapmaz
Programın okunurluluğunu artırmak için kullanılır.
#include <stdio.h>
Önişlemci talimatı
İstenilen bir dosya içeriğinin bilgisayara yüklemesini sağlar.
<stdio.h> standart giriş/çıkış işlemlerinin yapılmasını sağlar.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
5
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
6
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
7
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
9
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
12
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
14
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
15
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
16
Toplama işleminin
çıktı ekranı
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
17
Hafıza Konuları
Değişkenler
Değişkenler bilgisayar hafızasındaki yerlere karşılık gelen
konumları belirtir.
Her değişkenin bir ismi, tipi, boyutu ve bir değeri vardır.
Bir değişkene yeni bir değer atandığı zaman (scanf,
mesala), öncki değer silinir, yeni değer onun yerine yerleşir.
Hafızadan değişkenleri okumak ile değerleri değişmez.
Şekilsel gösterimi
sayi1 45
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
18
Hafıza Konuları
sayi1 45
sayi1 45
sayi2 72
sayi2 72
toplam 117
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
19
Aritmetik
Aritmetik hesaplamalar
* çarpma işlemi , / bölme işlemi için kullanılır.
Tamsayı bölümünde kalan gözardı edilir ve sonuç bölüm olur.
7 / 5 sonucu 1 olur.
-3/2 sonucu -1 olur.
Mod operatörü (%) bölüm işleminde kalanı geri dönderir.
7 % 5 sonucunu 2 olarak verir
Operatör önceliği
– Bazı aritmetik operatörler bazılarından önce işleme girerler.
– Örneğin çarpma ve bölme toplama ve çıkarma işleminden
önce gelir. Öncelikli olarak parantez işlemleri yapılır.
– Örnek: a, b ve c değişkenlerinin ortalamasının bulunması
– Bu şekilde kullanmayın: a + b + c / 3
• Doğrusu: (a + b + c ) / 3
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
20
Aritmetik Operatörler
Arithmetik operatörler:
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
21
Aritmetik Operatörler
Operatörlerin öncelik kuralları:
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
22
Karar Verme: Eşitlik ve Karşılaştırma
Operatörleri
Çalıştırabilir ifadeler
İşlem gerçekleştirir (hesaplamalar, verinin giriş/çıkış işlemleri)
Karar verilir
Sınav notuna göre “geçti” yada “kaldı” yazdırmak isteyebiliriz.
if kontrol ifadesi
Bu bölümde basit versiyonu anlatılacak, detaylı anlatım ilerki
bölümlerde ele alınacak.
Eğer koşul doğru ise, if yapısının gövde kısmı çalışır.
0 yanlış(false), 0 olmayan değerler ise (doğru) true
If yapısından sonraki ifade ile programın çalışması devam eder.
Anahtar Kelimeler
C için ayrılmış özel kelimeler
Tanımlayıcı yada değişken adları olarak kullanılmazlar.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
23
IF
karşılaştırma işlemi için if kullanılır. İf ifadesinde koşul yazıldıktan sonra ;
kullanılmaz. Aşağıda belirtilen şekillerde kullanılabilir.
if (koşul ifadesi yazılır) veya if (koşul ifadesi yazılır)
{ işlem veya işlemler yazılır. işlem yazılır
}
{-başla }-bitir sembolleri birden fazla işlem varsa zorunludur. Yoksa zorunlu
değildir. {} varsa içeride yazan tüm ifadeler if e bağlıdır. Eğer başla bitir
yoksa sadece ilk ifade if e bağlıdır.
if (x<y)--- eğer x y den küçükse x ile y nin toplamı z yi verir.
z=x+y; --- if e ait olan kısım ilk gelen komuttur.
if (x<y)--- yukarıdaki ile aynı işlemi yapar.
{z=x+y; } ---başla ve bitir arasındaki tüm ifadeler if e aittir.
Örnek: x=5 y=3 z=0
if (x<y) if(x<y)
z=x+y; --if e ait { z=x+y;
© z=z-3; z=?-3 by Deitel & Associates,
Copyright 1992–2004 z=z-3;} z=?0
Inc. and Pearson Education Inc. All Rights Reserved.
24
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
25
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
26
Karar Verme: Eşitlik ve Karşılaştırma
Operatörleri
Operatör C dili C dili Anlamı
karşılığı örneği
= == x==y x eşittir y
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
27
Karar Verme: Eşitlik ve Karşılaştırma
Operatörleri
Operatörler İşleyişleri
* / % Soldan sağa
+ - Soldan sağa
< <= > >= Soldan sağa
== != Soldan sağa
= Sağdan sola
Şu ana kadar anlatılan operatörlerin öncelikleri ve işleyişleri
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
28
C dilinin Reserved Kelimeler (değişken ismi
olarak verilemeyen kelimeler)
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Hızlı Değer Atama İşlemleri
i+=5 // i=i+5
i-=5 //i=i-5
i*=5// i=i*5
i/=5//i=i/5
printf(“%d”,i++);// önce mevcut değer yazılır ,sonra değer arttırılır.
printf(“%d”,++i);// önce değer arttırılır sonra yazdırılır.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Farklı sayı sistemlerinde değer atama ve
Typecasting
int a=61 ; //10 luk sayı sistemi
int b=0b01000001;ikilik sayı sistemi
int c=0x12;//onaltılık sayı sistemi
int sayi1,sayi2;
int z;
float x;
double=y;
z=sayi1/sayi2;
x=(float) sayi1/sayi2
y=(double) sayi1/sayi2
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Getch ve putchar
char a;
a=getchar(); /*komutu ile 1 adet karakteri alır ve a
değişkenine atar.*/
putchar(a); //ekrana yazdırır.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Karakter Dizileri
char k=‘Z’;
printf(“%c\n”,k);
char mesaj[]=“merhaba C DİLİ”;
printf(“%s”,mesaj);
printf(“%d”,strlen(mesaj));
printf(“%d”,sizeof(mesaj));
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Karakter dizisi işlemleri
#include<string.h>
char ad[20]=“MUSTAFA KEMAL”
char soyad[]=“ATATÜRK”
char adsoyad[40];
strcat(ad,soyad);//soyadı ad’a ekler ve ad’da saklar
printtf(“%s”,ad);
strcpy(adsoyad,ad);// ad adsoyada kopyalanır
printf(“%d”,strcmp(ad,adsoyad);
printf(“%d”,strcmp(ad,soyad);
printf(“%d”,strcmp(adsoyad,ad);
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Kullanıcı tanımlı değişkenler
Struct (Structure- Yapı)
struct kisibilgisi{
char ad[20],soyad[30];
int yas;float maas;
};
struct kisibilgisi kisi;
strcpy(kisi.ad,”ali”);
strcpy(kisi.soyad,”ay”);
kisi.yas=17;kisi.maas=3750;
struct kisibilgisi kisi2={“canan”,”can”,23,2730};
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Union yapısı
union veri{
int a;
float b;
char s[20];};
union veri v;
v.a=34; v.b=27.3;
strcpy(v.s,”türkiye cumhuriyeti”);
printf(“%d”,sizeof(v));
printf(“%d\n”,v.a); printf(“%.2f\n”,v.f);
printf(“%s\n”,v.s);
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.
Enum yapısı
enum sayi{pozitif,notr,negatif};
enum sayi durum=pozitif;
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved.