Излаз Ц++ програма | Сет 22

Предвидите излаз следећих Ц++ програма. Питање 1 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     a     =     b     =     c     =     0  ;      cout      < <     a      < <     '*'      < <     b      < <     '*'      < <     c  ;      return     0  ;   }   
Output:
Compile time error!  
Објашњење: A chained statement cannot be used to initialize variables at the time of declaration. Hence the statement a = b = c = 0; is an illegal statement. However following way a legal syntax and can be used in C++ or C.
int abc; a = b = c = 0;  

Питање 2 CPP
   #include          using     namespace     std  ;   int     main  ()   {      for     (     ;     ;     )     cout      < <     'blank'  ;      return     0  ;   }   
Output:
Infinite Loop!  
Објашњење: Пошто услов теста иницијализације и услов повећања/декремента недостају унутар фор петље, извршење ће бити ухваћено у бесконачној петљи.
Питање 3 CPP
   #include          using     namespace     std  ;   int     main  ()   {         int     i  ;      for     (  i  =  0  ;     i   <  3  ;     i  ++  );          cout      < <     'hello!'      < <  i  ;      return     0  ;   }   
Output:
hello!3  
Објашњење: Здраво!3 је резултат јер када се фор петља изврши, она нема задатак да уради због тачке-зарез(;) присутног у реду где је фор петља дефинисана. Петља ће се извршити три пута и вредност и ће постати 3, а затим ће се извршити остатак исказа.
Питање 4 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     i  ;      i     =     1     +     (  1    4    5    6    3  );      cout      < <     i  ;      return     0  ;   }   
Output:
4  
Објашњење: Оператор зарез () је бинарни оператор који процењује први операнд и одбацује резултат, а затим процењује други и затим враћа вредност секунде. Овде је асоцијативност оператора зарез () с лева на десно и лако је разумети да се израз (14563) оцењује као 3, а затим се резултат 1 + 3 додељује и.
Питање 5 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     a     =     0       b  ;      b     =     (  a     =     50  )     +     10  ;      cout      < <     a      < <     '$'      < <     b  ;      return     0  ;   }   
Output:
50  
Објашњење: Тврдња б = (а = 50) + 10; користи концепт уграђеног додељивања. Овде је вредност 50 додељена променљивој а, а резултат 50+10 је додељена б. Питање 6 CPP
   #include       using     namespace     std  ;   int     main  ()   {      char     a     =     30       b     =     40       c     =     10  ;      char     d     =     (  a  *  b  )  /  c  ;      cout      < <     int  (  d  );      return     0  ;   }   
Output:
120  
Објашњење: Ц++ такође може да изврши аритметичко израчунавање узимајући у обзир АСЦИИ вредности знакова ако се аритметичка операција изводи на променљивим типа података цхар. Овде је у овом случају одговор 120 што је АСЦИИ вредност за к.
Питање 7 CPP
   #include       using     namespace     std  ;   int     main  (  int     x  )   {      static     int     i     =     5  ;      if     (  --  i  )      {      cout      < <     i  ;      main  (  10  );      }      return     0  ;   }   
Output:
4321  
Објашњење: Сваки број различит од нуле у Ц++ се третира као права вредност. Овде у овом коду иф наредба има тенденцију да смањи вредност и, али унутар блока иф функција маин() се позива изнова и изнова. Овде се чини да је програм у бесконачној петљи, али променљива и је статична по природи и има свој животни век до извршења, па ће се програм зауставити ако и постане 0.
Питање 8 CPP
   #include       using     namespace     std  ;   int     main  (  int     x  )   {      int     i     =     5  ;      if     (  --  i  )      {      cout      < <     i  ;      main  (  10  );      }      return     0  ;   }   
Output:
infinite loop  
Објашњење: Сваки број различит од нуле у Ц++ се третира као права вредност. Овде у овом коду наредба иф има тенденцију да смањи вредност и, али унутар блока иф функција маин() се позива изнова и изнова (сви искази ће се сада извршавати као да је нови програм), стога ће извршавање програма бити ухваћено у бесконачној петљи јер нема услова завршетка. Креирај квиз