C#
C dilinin standardı yoktur, ama ANSI grubu ,bu konuda çalışmaktadır.C nin Taşınabilirlik referansları
iyi olmasına rağmen ,derleyicileri arasında farklılıklar vardır.Bu değişiklikler genellikle BIOS fonksiyonları gibi
standart olmayan şeyler kullanıldığında kendini gösterir.
C dili fonksiyonlardan oluşmuştur ve bütün programlar main( ) fonksiyonu ile başlamaktadır. Diğer
fonksiyonları bu fonksiyondan çağırıyoruz .Fonksiyonlar işlem satırlarından oluşmaktadır.
Fonksiyon_adı()
{
işlem satırı
.
.
.
işlem satırı
}
# INCLUDE : Adı verilen başlık dosyasını okumasını ve bu dosyadaki kütüphane fonksiyonlarının
kullanılmasını sağlar. Bir fonksiyonda komut türüne bağlı olarak birden fazla başlık dosyası tanımlanabilir
# include "stdio.h"
# include "conio.h"
# include "stdlib.h"
PRINTF(" . . . ") : Tırnak arasında gösterilen bilgiler direkt ekrana yazılmaktadır.
# include "stdio.h"
main()
{
printf ("Ben C Çalışmaya Başladım.");
}
# include "stdio.h"
main()
{
printf ("Ben");
printf ("C dili Çalışmaya ");
printf("Başladım.");
}
C ' de 5 Temel Veri Türü Vardır.
1-CHAR karakter
2-INT tamsayı
3-FLOAT kayan noktalı sayı
4-DOUBLE çift duyarlı kayan noktalı sayı
5-VOİD değersiz
GLOBAL değişken ,bütün fonksiyonların dışında tanımlanan değişkenlerdir.
LOKAL değişkenler , fonksiyonların içinde tanımlanan değişkenlerdir.
fonk1( )
{
int d1;
işlem satırı;
.
işlem satırı;
}
fonk2( )
{
int d1;
.
işlem satırı
.
işlem satırı
}
Fonksiyonların d1 değişkenlerinin birbirine etkisi yoktur. Çünkü değişkenler lokaldir.
printf ( "sayının değeri : %d ",25);
Burada %d ifadesi format tanımlayıcıdır yani 25 sayısı %d ifadesine aktarılır. Bilgisayar ekrana şunu yazar.
sayının değeri : 25
VERİ TÜRÜ FORMAT
char %c printf ("%c ",' f ' );
int %d printf ("%d ",35);
float %f printf ("%f ",37.456789);
double %f
# include "stdio.h"
main( )
{
int d1;
d1=275;
printf ("d1 değişkeninin değeri : %d 'dir.",d1);
}
# include "stdio.h"
main( )
{
int d1;
char d2;
d1=3321; d2='f';
printf ("%d ve %c ",d1,d2);
}
FONKSİYONLAR
C 'nin fonksiyonlardan oluştuğunu öğrenmiştik. Şimdide program içerisinde nasıl çağrıldıklarını göreceğiz.C 'de fonksiyon tanımlamak çok kolaydır.Aslında , biz foksiyonları kullanıp duruyorduk ,örneğin kullandığımız printf komutu ,bir fonksiyondur.Printf fonksiyonu , derleyici ile gelen fonksiyon kütüphanesinin
bir parçasıdır.C 'de herhangi bir fonksiyonu çağırdığımızda ,ismi parantez ve şayet varsa bu fonksiyona gönderilmesi istenen değerler yazılır.Programın çalışması bu satıra gelince , belirtilen fonksiyona atlanır ve buradaki işlemler yapılır.Bitince , program geri döner , ve ana programdan kaldığı yerden işleme devam eder.
# include "stdio.h" # include "stdio.h"
main( ){ main( ){
fonk1( ) printf("C");
printf ("programlama"); fonk1( );
fonk2( ) printf("Siz !"); printf ("Siz !");
} }
fonk1( ){ fonk1( ){
printf("Bilgisayar"); fonk2( )
} printf("Dili ve");
fonk2( ) }fonk2( ){
{ printf("Programlama");
printf("Dilleri ve"); }
}
# include "stdio.h"
# include "ctype.h"
main( )
{
char d1;
d1=toupper('f ');
printf("%c",d1);
}
TOUPPER : Toupper fonksiyonu küçük harfi ,büyük harfe çevirir. Bu fonksiyon "ctype.h" kütüphanesini kullanır.
#include "stdio.h" #include "stdio.h"
main( ) main( )
{ {
int d1; printf("Bilgisayar");
d1=fonk1(); fonk1( )
printf("%d",d1); }fonk1( ){
} printf("Yazıcı");
fonk1( ){ return;
return 27; printf("Disket");
} }
RETURN : Return fonksiyonu, fonksiyondaki sayıyı başka bir fonksiyondaki değişkene atama yapar, tek
başına kullanılırsa işlemi keserek ana fonksiyona döner.
Bir fonksiyonun verdiği değeri mutlaka bir yere atamamız gerekmez.
#include "stdio.h"
main( )
{
int d1;
d1=fonk1( );
printf("işlemin sonucu : %d ",d1);
}
fonk1( )
{
int d1;
printf(" (3x+22) ifadesi için değerini giriniz : ");
scanf("%d", &d1);
return 3*d1+2;
}
C Dilinde Argüman ve Parametreler
#include "stdio.h"
main( )
{
int d1;
d1=fonk1(2,4); /* 2 ve 4 argüman */
printf("%d",d1);
}
fonk1(int d1,intd2) /*int d1ve int d2 parametredir */
}
return d1*d2;
}
Programdaki 2 ve 4 argümanları , int d1 ve int d2 parametrelerine aktarılır. Bir parametreye aktarılan argüman , bir değişkende olabilir.
#include "stdio.h" #include "stdio.h"
main( ){ main( ){
int d1,d2,d3; int d1,d2,d3;
d1=7; d1=fonk1(2,5);
d2=8; d2=fonk1(d1,11);
d3=fonk1(d1,d2); d3=fonk1(d2,17);
printf("%d",d3); printf("%d",d3);
} }
fonk1(int d1,int d2); fonk1(int d1,int d2);
{ }
return d1*d2; return d1+d2;
} }
GETCHAR( ) : Klavyeden girilen tek bir karakteri okur.Bu komut stdio.h kütüphanesini kullanır. Girilen
karakterden sonra ENTER 'E basılır.
#include "stdio.h"
main( )
{
char d1;
printf("Bir karakter giriniz :");
d1=getchar();
printf("%c",d1);
}
Bu komut enter tuşuna basılana kadar girilen karakterleri okur ancak siz ikinci bir getchar( ) kullanırsanız , ikinci karakteri direk alır.
GETCHE( ) : Klavye eden bir karakter okur ve conio.h dosyasını kullanır.Bu fonksiyonun getche( ) 'den
farkı ENTER 'E basılmasını beklemez.
#include "stdio.h"
#include "conio.h"
main( )
{
char d1;
printf("Bir karakter giriniz :");
d1=getche( );
printf("%c",d1);
}
GETCH( ) : Klavyeden tek bir karakter okur ve girilen değeri ekrana yazmaz.Conio.h dosyasını kullanır.
#include"stdio.h"
# include "stdio.h" #include "conio.h"
main( ) main( )
{ {
char d1; char d1;
printf("bir karakter giriniz :"); printf("Bir karakter giriniz :");
d1=getch(); d1=getch();
printf("%c",d1); printf("Girdiğiniz karakter :%c",d1);
} printf("ASCII Kodu : %d",d1);
}
C 'de doğru olan sonuçlar '1' ile yanlış olan sonuçlar '0' ile sembolize edilir.