FONKSİYONLAR
C'de alt programlara fonksiyon denir. Bir fonksiyon iki farklı amaçla kullanılabilir :
1. Fonksiyon, icrası süresince belli amaçları gerçekleştirir. (Belli işlemleri yapar)
2. Fonksiyon icrası sonunda üreteceği bir değeri kendisini çağıran fonksiyona gönderebilir.
Fonksiyonların Tanımlanması
Kendi yazdığımız fonksiyonlar için tanımlama (definition) terimini kullanıyoruz. C'de fonksiyon tanımlama işleminin genel biçimi şöyledir:
[Geri dönüş değerinin türü] <fonksiyon ismi> ([parametreler])
{
...
...
}
Geri dönüş değerine ihtiyaç duyulmadığı durumlarda da geri dönüş değerinin türü yerine void anahtar sözcüğü yerleştirilir. Örneğin:
void sample(void)
{
...
}
Fonksiyon Başlığının Yazılması
int sample (double x, y) /* hatalı */
{
...
}
bildirimi hatalıdır. Doğru tanımlamanın aşağıdaki şekilde olması gerekir:
int sample (double x, double y)
{
...
}
Fonksiyon Prototipi
#include<stdio.h>
#include<conio.h>
İnt alan(int x,int y);
Main()
{
………
…..
..getch();
Return 0;
}
İnt alan(int x,int y)
{
….
…
}
ÖRNEKLER
1-) #include<stdio.h>
#include<conio.h>
void giris();
Main()
{
giris();
getch();
return 0;
}
Void giris()
{
Printf(“Merhaba”);
}
2-) #include<stdio.h>
#include<conio.h>
int topla(int a,int b);
main()
{
int sayi1,sayi2;
printf(“İki Sayı Giriniz”);
scanf(“%d%d”,&sayi1,&sayi2);
printf(“Toplam %d dir”,topla(sayi1,sayi2));
getch();
return 0;
}
İnt topla(int a,int b)
{
return a+b;
}
Faaliyet Alanı ve Ömür
1-) Blok Faaliyet Alanı
2-) Dosya Faaliyet Alanı
int a; Dosya Faaliyet Alanı ( a değişkeni )
main()
{
int b; Blok Faaliyet Alanı ( b değişkeni )
….
….
}
OPERATÖRLER
x + y
yè operant
+è operand
Operand
Operatörlerin değer üzerinde işlem yaptıkları nesne veya sabitlere denir. C'de operatörleri aldıkları operand sayısına göre 3 gruba ayırabiliriz.
1. Tek Operand Alan Operatörler (unary operators)
Örneğin ++ ve -- operatörleri unary operatörlerdir. (C dilinde unary operatörler operatöröncelik tablosunun 2. seviyesinde bulunurlar.)
2. İki Operand Alan Operatörler. (binary operators)
Aritmetik işlem operatörü olan + ve / operatörlerini örnek olarak verebiliriz.
3. Üç Operand Alan Operatör (ternary operator)
Çoğul kullanmıyoruz çünkü C'de 3 opererand olan tek bir operatör vardır. (koşul operatörü - conditional operator)
Operatörlerin Yan Etkileri
C dilinde operatörlerin ana işlevleri, bir değer üretmeleridir. Ancak bazı operatörler operandı olan nesnelerin değerlerini değiştirirler. Yani bu nesnelerin bellekteki yerlerine yeni bir değer yazılmasına neden olurlar. Bir operatörün kendilerine operand olan nesnenin değerlerini değiştirmesine operatörün yan etkisi diyeceğiz. Yan etki, bellekte yapılan eğer değişikliği olarak tanımlanmaktadır. Örneğin atama operatörünün, ++ ve -- operatörlerinin yan etkileri söz konusudur.
Operatörler Üzerindeki Kısıtlamalar
Kısıtlama operatörün operand ya da operandlarının türleriyle de ilgili olabilir. Örneğin % operatörünün operandlarının tamsayı türlerinden birine ait olması gerekmektedir. % operatörünün operandları gerçek sayı türlerinden birine ait olamaz. Operandın gerçek sayı türlerinden birinden olması durumunda derleme zamanında hata oluşacaktır.
Artırma ++ ve Eksiltme -- Operatörleri
Aşağıdaki programı inceleyelim:
int main()
{
int a, b;
a = 10;
b = ++a;
printf(“a = %d b = %dn”, a, b);
a = 10;
b = a++;
printf(“a = %d b = %dn”, a, b);
return 0;
}
Yukarıdaki birinci printf ifadesi ekrana 11 11 yazdırırken ikinci printf ifadesi 11 10 yazdırır.
Karşılaştırma Operatörleri
C programlama dilinde toplam 6 tane karşılaştırma operatörü vardır:
< küçüktür (less than)
> büyüktür (greater than)
<= küçük eşit (less than or equal)
>= büyük eşit (greater than or equal)
== eşittir. (equal)
!= eşit değildir. (not equal)
Mantıksal Operatörler
! değil operatörü (not)
&& Ve operatörü (and)
|| veya operatörü (or)
|