EEM-119 Algoritma ve Programlama I Dersi
2022-2023 Güz Dönemi Ders 7
Karşılaştırma operatörleri
#include <stdio.h>
int main(){
int i=1, j=5;
printf("%d\n",i<j);
printf("%d\n",i>j);
}
1
0
#include <stdio.h>
int main(){
int i=1, j=5;
printf("%d\n",i<j);
printf("%d\n",i>j);
//karsilastirma isleminin sonucu 1 veya 0 oldugundan
//bu sonuc istenilirse basla aritmetik islemlerde
//kullanilabilir.
printf("%d\n",(i<j)+5);
}
1
0
6
#include <stdio.h>
int main(){
int i=1, j=5,k=4;
printf("%d\n",i+j<k-1);
printf("%d\n",(i+j) < (k-1));
}
0
0
#include <stdio.h>
int main(){
int i=1, j=5,k=4;
printf("%d\n",i+j==k-1);
printf("%d\n",i+j!=k-1);
}
0
1
Mantık operatörleri
#include <stdio.h>
int main(){
int i=1, j=5;
printf("%d\n",i!=0 && j/i>0);
}
1
#include <stdio.h>
int main(){
int i=1, j=5;
printf("%d\n",i==0 || j>0);
}
1
#include <stdio.h>
int main(){
int i=1, j=5;
printf("%d\n",!(i==0 || j>0));
}
0
#include <stdio.h>
int main(){
int i=1;
if(i==0)
//kodlamalar
//asagidaki gibi yapılırsa
//i ye 0 degeri atanir.
if(i=0)
}
#include <stdio.h>
int main(){
int i=1, n=4;
if(0<=i && i<n)
//kodlamalar
if(i<0 || i>=n)
//kodlamalar
}
- İki sayıdan büyük olanı yazdıran program
#include <stdio.h>
int main() {
int i,j;
printf("iki sayi giriniz: ");
scanf("%d%d",&i,&j);
if(i>j)
printf("birinci sayi buyuktur: %d",i);
else
printf("ikinci sayi buyuktur: %d",j);
return 0;
}
iki sayi giriniz:
20 10
birinci sayi buyuktur: 20
#include <stdio.h>
int main() {
int i,j;
printf("iki sayi giriniz: ");
scanf("%d%d",&i,&j);
//hizalama sadece kodun okunurlugu icindir.
if(!(i>j)) printf("ikinci sayi buyuktur: %d",j);
else printf("birinci sayi buyuktur: %d",i);
return 0;
}
iki sayi giriniz:
10 20
ikinci sayi buyuktur: 20
- Üç sayının büyüğünü bulan program
#include <stdio.h>
int main() {
int i,j,k,maks;
printf("uc sayi giriniz: ");
scanf("%d%d%d",&i,&j,&k);
if(i>j)
if(i>k)
maks=i;
else
maks=k;
else
if(j>k)
maks=j;
else
maks=k;
printf("en buyuk: %d",maks);
return 0;
}
uc sayi giriniz:
10 20 30
en buyuk: 30
#include <stdio.h>
int main() {
int i,j,k;
printf("uc sayi giriniz: ");
scanf("%d%d%d",&i,&j,&k);
if(i>j && i>k)
printf("en buyuk: %d",i);
else if(j>k && j>i)
printf("en buyuk: %d",j);
else if(k>i && k>j)
printf("en buyuk: %d",k);
else
printf("esit sayi var");
return 0;
}
uc sayi giriniz:
20 10 30
en buyuk: 30
#include <stdio.h>
int main() {
// bir banka yapacagi islem icin asagidaki gibi komisyon almaktadir
// 2500 ve daha az 30+%1.7
// 2500-6250(dahil) 56+%0.66
// 6250-20000(dahil) 76+%0.34
// 20000'den fazla 250+%0.09
double islem_miktari, komisyon;
printf("islem miktarini giriniz: ") ;
scanf("%lf",&islem_miktari);
if(islem_miktari<=2500)
komisyon=30+islem_miktari*1.7/100;
else if(islem_miktari>2500 && islem_miktari<=6250)
komisyon=56+islem_miktari*0.66/100;
else if(islem_miktari>6250 && islem_miktari<=20000)
komisyon=76+islem_miktari*0.34/100;
else
komisyon=250+islem_miktari*0.09/100;
printf("komisyon:%.2lf\n",komisyon);
printf("toplam odenecek: %.2lf",komisyon+islem_miktari);
return 0;
}
islem miktarini giriniz:
11000
komisyon:113.40
toplam odenecek: 11113.40
#include <stdio.h>
int main() {
// bir banka yapacagi islem icin asagidaki gibi komisyon almaktadir
// 2500 ve daha az 30+%1.7
// 2500-6250(dahil) 56+%0.66
// 6250-20000(dahil) 76+%0.34
// 20000'den fazla 250+%0.09
double islem_miktari, komisyon;
printf("islem miktarini giriniz: ") ;
scanf("%lf",&islem_miktari);
if(islem_miktari<=2500)
komisyon=30+islem_miktari*1.7/100;
else if(islem_miktari<=6250)
komisyon=56+islem_miktari*0.66/100;
else if(islem_miktari<=20000)
komisyon=76+islem_miktari*0.34/100;
else
komisyon=250+islem_miktari*0.09/100;
printf("komisyon:%.2lf\n",komisyon);
printf("toplam odenecek: %.2lf",komisyon+islem_miktari);
return 0;
}
islem miktarini giriniz:
11000
komisyon:113.40
toplam odenecek: 11113.40
#include <stdio.h>
int main() {
int x=100, y=11, sonuc;
if(y!=0)
if(x!=0)
sonuc=x/y;
// else bu sekilde hizalansa da
// bu else 2. if'e aittir.
else
printf("hata: y 0'a esit");
return 0;
}
#include <stdio.h>
int main() {
int x=100, y=11, sonuc;
if(y!=0)
if(x!=0)
sonuc=x/y;
else
printf("hata: y 0'a esit");
return 0;
}
Süslü parantez “{}” kullanımı
#include <stdio.h>
int main() {
int x=100, y=11, sonuc;
// else'i 1. if'le iliskilendirmek
// icin {} kullanilmalidir.
if(y!=0){
if(x!=0)
sonuc=x/y;
}
else
printf("hata: y 0'a esit");
return 0;
}
Üçlü (ternary) operatör
#include <stdio.h>
int main() {
int i,j,k;
i=1;
j=2;
k=i>j ? i : j;
printf("k: %d\n",k);
k=(i>j?i:5)+j;
printf("k: %d\n",k);
return 0;
}
k: 2
k: 7
#include <stdio.h>
int main() {
int i,j,k;
i=1;
j=2;
k=i>j ? i : j;
printf("k: %d\n",k);
//if(i>j)
// k=i;
//else
// k=j;
k=(i>j?i:5)+j;
printf("k: %d\n",k);
//if(i>j)
// k= i+j;
//else
// k=5+j;
return 0;
}
-
- dereceden denklemin köklerini bulan program
#include <stdio.h>
#include <math.h>
int main() {
float a,b,c,x1,x2,disk;
printf("ax^2+bx+c=0 denkleminde a, b ve c'yi giriniz: ");
scanf("%f%f%f",&a,&b,&c);
disk=b*b-4*a*c;
if(disk>0){
x1=(-b+sqrt(disk))/(2*a);
x2=(-b-sqrt(disk))/(2*a);
printf("diskriminant 0'dan buyuk.\n");
printf("x1=%f\n",x1);
printf("x2=%f",x2);
}else if(disk==0){
x1=-b/(2*a);
printf("diskriminant 0'a esit. katli kok\n");
printf("x= %f",x1);
}
else
printf("diskriminant 0'dan kucuk oldugu icin reel koku yoktur.");
return 0;
}
ax^2+bx+c=0 denkleminde a, b ve c'yi giriniz:
3 7 4
diskriminant 0'dan buyuk.
x1=-1.000000
x2=-1.333333
- Kenarlardan dik üçgen olduğunu bulan program
#include <stdio.h>
int main() {
//bir ucgenin dik ucgen oldugunun kontrolu
float a,b,c;
printf("ucgenin kenarlarini giriniz: ");
scanf("%f%f%f",&a,&b,&c);
if(a*a == b*b+c*c)
printf("dik ucgen");
else if(b*b==a*a+c*c)
printf("dik ucgen");
else if(c*c==b*b+a*a)
printf("dik ucgen");
else
printf("dik ucgen degil");
return 0;
}
ucgenin kenarlarini giriniz:
13 5 12
dik ucgen
#include <stdio.h>
int main() {
//bir ucgenin dik ucgen oldugunun kontrolu
float a,b,c;
printf("ucgenin kenarlarini giriniz: ");
scanf("%f%f%f",&a,&b,&c);
if(a*a == b*b+c*c || b*b==a*a+c*c || c*c==b*b+a*a)
printf("dik ucgen");
else
printf("dik ucgen degil");
return 0;
}
ucgenin kenarlarini giriniz:
12 5 13
dik ucgen
- Karşılaştırma alternatifi
int i=0;
//i'nin degeri sadece 1 veya 0 olsun;
//asagidaki 2 if ayni sekilde calisir.
if(i==TRUE)
if(i)
//asagidaki 2 if ayni sekilde calisir.
if(i==FALSE)
if(!i)
while döngüsü
#include <stdio.h>
int main() {
int i=1;
while(i<10){
printf("%d ",i);
i=i+1;
}
return 0;
}
1 2 3 4 5 6 7 8 9
#include <stdio.h>
int main() {
int i=9;
while(i>0){
printf("%d ",i);
i=i-1;
}
return 0;
}
9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
int i=9;
while(i>0){
printf("%d ",i);
i--;
}
return 0;
}
9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
int i=10;
while(i>0)
printf("%d ",i--);
return 0;
}
10 9 8 7 6 5 4 3 2 1
#include <stdio.h>
int main() {
int i=1, n;
printf("n'yi giriniz:");
scanf("%d",&n);
while(i<=n){
printf("%5d %5d \n",i,i*i);
i++;
}
return 0;
}
n'yi giriniz:
6
1 1
2 4
3 9
4 16
5 25
6 36
#include <stdio.h>
int main() {
int i=1, n;
printf("n'yi giriniz:");
scanf("%d",&n);
while(i<=n)
printf("%5d %5d \n",i++,i*i);
return 0;
}
n'yi giriniz:
4
1 1
2 4
3 9
4 16
#include <stdio.h>
int main() {
int i=0, n;
printf("n'yi giriniz:");
scanf("%d",&n);
while(i++<n)
printf("%5d %5d \n",i,i*i);
return 0;
}
n'yi giriniz:
7
1 1
2 4
3 9
4 16
5 25
6 36
7 49
- 0 girilene kadar girilen sayıların toplamı
#include <stdio.h>
int main() {
int toplam=0, sayi;
printf("sayi giriniz:");
scanf("%d",&sayi);
while(sayi!=0){
toplam = toplam+sayi;
printf("sayi giriniz:");
scanf("%d",&sayi);
}
printf("sayilarin toplami: %d", toplam);
return 0;
}
sayi giriniz:
3
sayi giriniz:
4
sayi giriniz:
-2
sayi giriniz:
0
sayilarin toplami: 5