• 30-11-2008, 16:35:51
    #1
    arkadaşlar vize çalışma sorularım bunlar turbo c kullanmayıda bilmiyorum dersleri kaçırdım.yardımcı olan arkadaş olursa çok sevinirim teşekkürler...




    1. printf("%d", 10*5/10); program çalıştırılırsa sonuç ne olur?

    2. printf("%d", 10+5-5); program çalıştırılırsa sonuç ne olur?

    3. a=d++ +(b=a); a=4,b=4,d=4 a=?

    4. c=a+ a++ - b--; a=4,b=4 c=?

    5. c=a+ ++a - b--; a=4,b=5 c=?

    6. if(a==0 && b==0) printf("1);
    else
    if(a==0 && b==0) printf("2");
    else printf("3");

    (if a=1 and b=0) ise sonuç?
    (if a=0 and b=0) ise sonuç?
    (if a=0 and b=1) ise sonuç?
  • 02-12-2008, 02:19:59
    #2
    1- %d diyerek ekrana double türünden bir sonuç çıkacağını bildirmiş. 10*5/10 diyerek ise 50/10 dan sonuç 5 olarak ekrana yansır. ekrana çıkan sonuç bir integer sonuç ondan dolayı d yerine %i de yazılabilirdi.
    2- 1. sorunun mantığının aynısı sonuç 10+5-5 den 10 çıkar.
    3-4 ve 5. soruları tam anlayamadım.
    6- bu soruda ise && bu operatör and yani ve operatörüdür. yani a ve b 0 a eşit olduklarında ekrana 1 else(değilse) ekrana 3 yazacaktır program.

    umarım faydalı olmuştur. iyi geceler.
  • 02-12-2008, 11:00:34
    #3
    4. c=a+ a++ - b--; a=4,b=4 c=?
    5. c=a+ ++a - b--; a=4,b=5 c=?

    Burda kırmızı olanlar verilenler ve istenenler sanırım. Soldaki kısımlar ise rakamlarla oynanan yer. Buna göre ;

    4. :

    c= [ 4 + (4+1) - (4-1) ] ==> c=6 (oluyor)

    5. :

    c= [ 4 + 4 - 5 ] ==> c=3 (oluyor)

    yanlışım varsa düzeltin. uyumadım henüz :P
  • 02-12-2008, 12:46:55
    #4
    1) 5 -> 10*5=50;50/10=5
    2) 10 -> 10+5=15;15-5=10
    3) 8 -> b=a yaparak b'yi 4 yapıyor. Daha sonra d ve b'yi toplayıp 8 buluyor. Bu işlemden sonra d++ ile d =5 oluyor.
    4) 4 -> a+a-b ile denk oluyor. arttırma ve azaltma işlemleri o satırın icrasından sonra oluyor. Yani 4+4-4=4
    5) 5 -> a işleme girmeden 5 oluyor, b ise işlem sonunda 4 oluyor. işlem anında 5+5-5=5
    6) a=1 ve b=0 -> 3
    a=0 ve b=0 -> 1
    a=0 ve b=1 -> 3

    ek olarak:
    ++a; a değişkenini kullanmadan önce arttırma anlamına geliyor
    a++; ise a değişkenini varolan değeriyle kullanıp sonra arttırmaya yarıyor.
  • 03-12-2008, 02:08:14
    #5
    arkadaşlar hepinize teşekkür ettim...
  • 03-12-2008, 14:03:09
    #6
    Üyeliği durduruldu
    ahmeTT adlı üyeden alıntı: mesajı görüntüle
    ++a; a değişkenini kullanmadan önce arttırma anlamına geliyor
    a++; ise a değişkenini varolan değeriyle kullanıp sonra arttırmaya yarıyor.
    Burasi yanlis, sonuc dogru ama anlatilan olay yanlis.

    a++ demek a yi bir arttir, arttirmadan onceki degerini don demektir.
    ++a demek ise a yi bir arttir arttirdigin degeri don demektir.
  • 03-12-2008, 14:53:41
    #7
    Sanki aynı şeyi farkı şekilde söylemişiz gibi ? Neresi yanlış tam anlayamadım.
  • 03-12-2008, 15:16:32
    #8
    Üyeliği durduruldu
    Soylediginiz sey islem sonrasi cikan sonuc. Olan olay ise (anlamina gelme diye bahsettiniz) yukarida anlattigim olaydir.
  • 03-12-2008, 16:08:51
    #9
    Prefix Increment and Decrement Operators: ++ and -- (C++) :
    Alıntı
    In the prefix form, the increment or decrement takes place before the value is used in expression evaluation, so the value of the expression is different from the value of the operand. In the postfix form, the increment or decrement takes place after the value is used in expression evaluation, so the value of the expression is the same as the value of the operand.
    Alıntı
    ++a; a değişkenini kullanmadan önce arttırma anlamına geliyor
    a++; ise a değişkenini varolan değeriyle kullanıp sonra arttırmaya yarıyor.
    Gerçekten aradaki farkı anlamadım "İşlemden çıkan sonuç" ?