#include<stdio.h>
int main()
{
int *p1,*p2;
int a=8;
int b=3;
p1=&a; //a'yı p1e b'yi ise p2'ye atıyoruz...
p2=&b;
printf(" The adress of A = %p and The adress of B = %p\n",p1,p2);
printf("a=%d ve b=%d\n",a,b);
*p1+=50;
*p2+=50; //burada değer ataması yapılır... başında yıldız olduğuna ve %d olarak yazıldığına dikkat edelim
printf(" The value of A = %d and The value of B = %d\n",*p1,*p2);
p1=p1+100;
p2=p2+100;
printf(" The adress of A = %p and The adress of B = %p\n",p1,p2);//burada ise adres değişikliği yapılır. başında yıldız olmadığına ve %p ile yazdılığına dikkat et..
printf(" The value of A = %d and The value of B = %d\n",*p1,*p2);// bellekte kayar olmayan bir yere gider
printf("a=%d ve b=%d\n",a,b); //değerler doğrudan yazdrıldığı zaman aynı kalır. bellekte tutulur.
p1++; p2--;
printf(" The adress of A = %p and The adress of B = %p\n",p1,p2);
system("pause");
}
// çarpma ve bölme işlemleri pointersler için geçerli değildir. pointersler işaret ettikleri değişken tipinde olmak zorundadırlar.
//ekleme ve çıkarma yapılabilir.
C programlama örnekleri , C Programlama Dersi, Örnek C kodları, C Programlama Dersleri, C# Programlama, C++ Programlama Dersi, Algoritma
30 Eylül 2013 Pazartesi
3 sayıdan en küçüğünü bulan program
#include<stdio.h>
int mini(int,int,int);
int main()
{
int a,b,c;
int sonuc;
printf("3 sayi giriniz \n");
scanf("%d%d%d",&a,&b,&c);
sonuc=mini(a,b,c);
printf("Girdiginiz sayilardan en kucugu = %d\n",sonuc);
system("pause");
}
int mini(int x,int y,int z)
{
int min;
min=x;
if(y<x)
return y;
if(z<x)
return z;
else
return x;
}
int mini(int,int,int);
int main()
{
int a,b,c;
int sonuc;
printf("3 sayi giriniz \n");
scanf("%d%d%d",&a,&b,&c);
sonuc=mini(a,b,c);
printf("Girdiginiz sayilardan en kucugu = %d\n",sonuc);
system("pause");
}
int mini(int x,int y,int z)
{
int min;
min=x;
if(y<x)
return y;
if(z<x)
return z;
else
return x;
}
29 Eylül 2013 Pazar
Call by value ve call by references (pointer ile)
#include<stdio.h>
int f1(int,int);
int f2(int *,int *);
int main()
{
int a=5;
int b=7;
int *p1,*p2;
p1=&a;
p2=&b;
f1(a,b);
printf("a=%d ve b=%d",a,b);
f2(p1,p2);
printf("a=%d ve b=%d",a,b); //burada pointers call by value yöntemi ile çağrılmış unutma reference deil
system("pause");
}
int f1(int m,int n) //call by value
{
m=m+30;
n=n+30;
}
int f2(int *p1,int *p2) //call by reference
{
*p1=*p1+30;
*p2=*p2+30;
}
int f1(int,int);
int f2(int *,int *);
int main()
{
int a=5;
int b=7;
int *p1,*p2;
p1=&a;
p2=&b;
f1(a,b);
printf("a=%d ve b=%d",a,b);
f2(p1,p2);
printf("a=%d ve b=%d",a,b); //burada pointers call by value yöntemi ile çağrılmış unutma reference deil
system("pause");
}
int f1(int m,int n) //call by value
{
m=m+30;
n=n+30;
}
int f2(int *p1,int *p2) //call by reference
{
*p1=*p1+30;
*p2=*p2+30;
}
Pointer kullanarak dizi eleman toplamı
#include<stdio.h> //pointers and arrays can bu used exchanging
int sumpointer(int *);
int main()
{
int d[]={5,10,15,20};
int *p;
int i,n;
n=sizeof (d) / sizeof (int);
p=d;
i=0;
while(i<n)
{
printf("a[%d]=%d\n",i,*p);
i++;
p++;
}
printf("sum=%d\n",sumpointer(d));
system("pause");
}
int sumpointer(int *p)
{
int sum,i;
sum=0;
for(i=0;i<4;i++)
{
sum=sum+*p;
p++;
}
return sum;
}
int sumpointer(int *);
int main()
{
int d[]={5,10,15,20};
int *p;
int i,n;
n=sizeof (d) / sizeof (int);
p=d;
i=0;
while(i<n)
{
printf("a[%d]=%d\n",i,*p);
i++;
p++;
}
printf("sum=%d\n",sumpointer(d));
system("pause");
}
int sumpointer(int *p)
{
int sum,i;
sum=0;
for(i=0;i<4;i++)
{
sum=sum+*p;
p++;
}
return sum;
}
28 Eylül 2013 Cumartesi
Girilen sayının tek mi çift mi olduğunu bulan program
#include<stdio.h>
int main()
{
int a;
printf("Bir sayi giriniz :");
scanf("%d",&a);
if (a%2==0) { printf("\n %d cift sayidir ",a); }
if (a%2==1) { printf("\n %d tek sayidir ",a); }
system("pause");
}
int main()
{
int a;
printf("Bir sayi giriniz :");
scanf("%d",&a);
if (a%2==0) { printf("\n %d cift sayidir ",a); }
if (a%2==1) { printf("\n %d tek sayidir ",a); }
system("pause");
}
Pointer kullanarak Dizi oluşturma
#include<stdio.h> //pointers and arrays can bu used exchanging
int main()
{
int d[]={5,10,15,20};
int *p;
int i,n;
n=sizeof (d) / sizeof (int);
p=d; //array can bu assingned directly to a pointer variable
i=0;
while(i<n)
{
printf("a[%d]=%d\n",i,*p);
i++;
p++;
}
system("pause");
}
int main()
{
int d[]={5,10,15,20};
int *p;
int i,n;
n=sizeof (d) / sizeof (int);
p=d; //array can bu assingned directly to a pointer variable
i=0;
while(i<n)
{
printf("a[%d]=%d\n",i,*p);
i++;
p++;
}
system("pause");
}
27 Eylül 2013 Cuma
Satır sayısı girerek üçgen piramit oluşturma
#include<stdio.h>
int main(){
int i,j,x,k;
printf("\n Piramit icin satir sayisini giriniz : \n");
scanf("%d",&x);
for(i=1; i<=x; i=i+1)
{
printf("\n");
for(j=1; j<=x-i; j=j+1)
printf(" ");
for(k=1; k<=i+i-1; k=k+1)
printf("*"); }
system("pause");
}
11 ve katlarını veren çarpma işlemi
#include<stdio.h>
void main()
{
float i,t=1;
for(i=2; i<=9; i=i+1)
{
printf("\n %.0f X 9 + %.0f=%.0f",t,i,t*9+i);
t=t*10+i;
}
system("pause");
}
void main()
{
float i,t=1;
for(i=2; i<=9; i=i+1)
{
printf("\n %.0f X 9 + %.0f=%.0f",t,i,t*9+i);
t=t*10+i;
}
system("pause");
}
26 Eylül 2013 Perşembe
Karmaşık Çarpma işlemi
#include<stdio.h>
void main()
{
float i;
for(i=1; i<=11111111; i=(i*10)+1)
{
printf("\n %.0f X %.0f=%.0f",i,i,i*i);
}
system("pause");
}
void main()
{
float i;
for(i=1; i<=11111111; i=(i*10)+1)
{
printf("\n %.0f X %.0f=%.0f",i,i,i*i);
}
system("pause");
}
Satır ve sütun sayısı girerek kare oluşturma
#include<stdio.h>
int main()
{
int satir,sutun,x,y;
printf("\n Kare icin satir sayisini giriniz : \n");
scanf("%d",&x);
printf("\n Kare icin sutun sayisini giriniz : \n");
scanf("%d",&y);
for(satir=1; satir<=x; satir++)
{
printf("\n");
for(sutun=1; sutun<=y; sutun++)
printf("*");
}
system("pause");
}
int main()
{
int satir,sutun,x,y;
printf("\n Kare icin satir sayisini giriniz : \n");
scanf("%d",&x);
printf("\n Kare icin sutun sayisini giriniz : \n");
scanf("%d",&y);
for(satir=1; satir<=x; satir++)
{
printf("\n");
for(sutun=1; sutun<=y; sutun++)
printf("*");
}
system("pause");
}
Kaydol:
Kayıtlar (Atom)