Uvjetni operator

1. Uvjetni operator

1.1. Zadaci za vježbu

1. Kolika je vrijednost varijabli x i y nakon izvođenja programa

#include<stdio.h>
int main()
{
     int x=2,y=5,d;
     x=(d%2==0)? y++ : ++y;
     return 0;
}

ako je vrijednost varijable d:
              a) 4
              b) 5?


2. Koje će vrijednosti poprimiti varijable i, x i c nakon niza naredbi:

      int i,c;
      float d,x=5.2;
      i = (int) (d+2.83);
      (i%2)? x = (float)i+1 : (c=(int)(x+=15.3));

ako je vrijednost varijable d:
              a) 3.2
              b) 5?


3. Koje će vrijednosti poprimiti varijable i, x i c nakon niza naredbi:

     int i,c;
     float x=5.2,d;
     i = (int) (d+2.83);
     x+=(i%2)? c=i++ : (c=(int)(x+=15.3));

ako je vrijednost varijable d:
              a) 0
              b) 5.1?

4. Kada se pokrene sljedeći program i upišu se vrijednosti a = 3, a b = 7, što će se ispisati na zaslonu monitora?

#include <stdio.h>
int main()
{
     int a,b,rez;
     printf("\nUpisite dva broja: ");
     scanf("%d %d",&a,&b);
     rez = (a<b)? b-a:a-b;
     printf("\nRezultat je: %d",rez);
     return 0;
}

Kako glasi tekst kojim bi se zadao navedeni program?

 

5. Koristeći se uvjetnim operatorom, napišite  programe koji će:

a) za zadani broj ispisati njegovu apsolutnu vrijednost bez upotrebe funkcije abs(),

b) za upisani broj ispisati rezultat sgn funkcije (predznak broja) koja za broj veći od nule daje 1, za nulu 0, a za broj manji od 0 daje -1.