C dilinde ifadeler

coolwolf / 31/05/2013

IF ifadesi :

if(koşul) {kodlarım;}
------------------------------------------------
if(koşul) {doğruysa kodum;} else {yanlışsa kodum;}
------------------------------------------------
if(koşul 1) {kod 1;}
else if (koşul 2) kod 2;
else if (koşul 3) kod 3;
......
else if (koşul n-1) kod n-1;
else {n} kod;
------------------------------------------------

Örnek 1 eğer x ve y eşit değilse ekrana x ve y’nin değerlerini yazar:

if(x!=y) printf ("x=%d,y=%d\n",x,y);

Örnek 2 eğer x y’den büyükse degiskenim’in değeri x’e eşitlenir, değilse degiskenim’in değeri y’ye eşitlenir :

if(x>y) degiskenim= x; else degiskenim= y;

Switch / Case ifadesi :
Verilen değere göre hızlı işlem yapmaya yardımcı olur. Örnek :
Harf olarak verilen notun hangi sayı aralığında olduğunu gösterir.

#include
#include
int main()
{
    char notunuz;
    printf("Notunuz :");
    scanf("%c",&notunuz);
    switch (notunuz)
    {
    case 'A':
        printf ("90 ~ 100\n");
        break;
    case 'B':
        printf ("80 ~ 90\n");
        break;
    case 'C':
        printf ("70 ~ 80\n");
        break;
    case 'D':
        printf ("60 ~ 70\n");
        break;
    case 'E':
        printf ("<60\n");
        break;
    default:
        printf ("error\n");
    }
}

Kaya arkadaşımızın isteği üzerine, not’u rakam olarak yazdığında harf karşılığını veren program :
NOT: switch case içerisinde aralıklı koşul kullanılamadığı için if else ile yaptım, kendisinin affına sığınıyorum.

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int notunuz;
    printf("Notunuz :");
    scanf("%d",&notunuz);
    if(notunuz>=90&&notunuz<=100) printf ("A\n");
    else if(notunuz>=80&&notunuz<90) printf ("B\n");
    else if(notunuz>=70&&notunuz<80) printf ("C\n");
    else if(notunuz>=60&&notunuz<70) printf ("D\n");
    else if(notunuz<60) printf ("E\n");
    else printf ("error\n");
}

while ifadesi
while içerisinde belirtilen şart geçerli olduğu sürece döngü içerisindeki işlemler tekrar edilir. Örnekte sayı değişkeni 0’dan büyük olduğu sürece ekrana sayıyı yazar.

int sayi=10;   //değeri 10 olan bir değişken tanımla
while(sayi>0) //değişkenin dğeri 0'dan büyük oldu sürece aşağıdakileri yap
{
   printf("Sayı %d\n",sayi); //ekrana geçerli sayıyı yaz
   sayi--; //değişkenin değerini bir azalt.
}

do while ifadesi
while ifadesi değeri en başta kontrol ederken, do while ile değeri işlem sonucunda kontrol ediyoruz.
for ifadesi

for(koşul1;koşul2;koşul3)
{
   işlemlerim;
}

koşul1’den başlayarak koşul2’ye kadar, her adımda koşul3’ü yaparak tekrar et.

int i=0;
for(i=0;i<10;i++)
{
  printf("Sıfırdan dokuza kadar sayıları yazar. Sayı : %d\n",i);
}
===================================
int i=0;
for(i=10;i>0;i--)
{
   printf("Ondan bire kadar geriye doğru yazar. Sayı : %d\n",i);
}

FILED UNDER : C/C++

TAG : , ,

Comments

  • kaya

    Harf olarak verilen notun hangi sayı aralığında olduğunu gösterir.
    ?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    switch (notunuz)
    {
    case ‘A’; printf (“90 ~ 100\n”); break;
    case ‘B’; printf (“80 ~ 90\n”); break;
    case ‘C’; printf (“70 ~ 80\n”); break;
    case ‘D’; printf (“60 ~ 70\n”); break;
    case ‘E’; printf (“<60\n"); break;
    default; printf ("error"\n)
    }
    bu ifadeyi c# dilinde tersten yazmamız mümkün mü. yani alınan notun(girilen sayısal aralığın) harf karşılığını switch case de yazabilir miyiz?

  • ilyas sariyurt

    Merhaba Kaya Bey,
    Malesef bildiğim kadarıyla case kelimesinden sonra koşul verilemiyor.
    Sizin için if else ile yaptım.
    İnşallah işinizi görür.

Submit a Comment