Utgang av C++-programmer | Sett 22

Forutsi produksjonen av følgende C++-programmer. Spørsmål 1 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     a     =     b     =     c     =     0  ;      cout      < <     a      < <     '*'      < <     b      < <     '*'      < <     c  ;      return     0  ;   }   
Output:
Compile time error!  
Forklaring: 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;  

Spørsmål 2 CPP
   #include          using     namespace     std  ;   int     main  ()   {      for     (     ;     ;     )     cout      < <     'blank'  ;      return     0  ;   }   
Output:
Infinite Loop!  
Forklaring: Siden initialiseringstesttilstanden og inkrement/dekrementbetingelsen mangler inne for loop, vil utførelsen bli fanget i uendelig loop.
Spørsmål 3 CPP
   #include          using     namespace     std  ;   int     main  ()   {         int     i  ;      for     (  i  =  0  ;     i   <  3  ;     i  ++  );          cout      < <     'hello!'      < <  i  ;      return     0  ;   }   
Output:
hello!3  
Forklaring: Hello!3 er resultatet fordi når for loop kjøres, har den ingen oppgave å gjøre på grunn av semikolon(;) som er tilstede på linjen der for loop er definert. Løkken vil kjøre tre ganger og verdien av i blir 3, deretter vil resten av setningen(e) kjøres.
Spørsmål 4 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     i  ;      i     =     1     +     (  1    4    5    6    3  );      cout      < <     i  ;      return     0  ;   }   
Output:
4  
Forklaring: Komma-operatoren () er en binær operator som evaluerer den første operanden og forkaster resultatet og deretter evaluerer den andre og returnerer deretter verdien av andre. Her er assosiativiteten til komma ()-operatoren fra venstre til høyre og det er lett å forstå at uttrykket(14563) vurderes til å være 3, og deretter blir resultatet 1 + 3 tilordnet i.
Spørsmål 5 CPP
   #include          using     namespace     std  ;   int     main  ()   {      int     a     =     0       b  ;      b     =     (  a     =     50  )     +     10  ;      cout      < <     a      < <     '$'      < <     b  ;      return     0  ;   }   
Output:
50  
Forklaring: Utsagnet b = (a = 50) + 10; bruker begrepet embedded assignment. Her tildeles verdien 50 til variabel a og resultatet 50+10 tilordnes b. Spørsmål 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  
Forklaring: C++ kan også utføre aritmetiske beregninger med tanke på ASCII-verdiene til tegn hvis den aritmetiske operasjonen utføres på variabler av char-datatypen. Her i dette tilfellet er svaret 120 som er ASCII-verdien for x.
Spørsmål 7 CPP
   #include       using     namespace     std  ;   int     main  (  int     x  )   {      static     int     i     =     5  ;      if     (  --  i  )      {      cout      < <     i  ;      main  (  10  );      }      return     0  ;   }   
Output:
4321  
Forklaring: Ethvert tall som ikke er null i C++ blir behandlet som sann verdi. Her i denne koden har if-setningen en tendens til å redusere verdien av i, men innenfor blokken til if main()-funksjonen kalles opp igjen og igjen. Her ser programmet ut til å være i uendelig sløyfe, men variabelen i er statisk av natur, den har sin levetid til utførelse, og derfor vil programmet stoppe hvis i blir 0.
Spørsmål 8 CPP
   #include       using     namespace     std  ;   int     main  (  int     x  )   {      int     i     =     5  ;      if     (  --  i  )      {      cout      < <     i  ;      main  (  10  );      }      return     0  ;   }   
Output:
infinite loop  
Forklaring: Ethvert tall som ikke er null i C++ blir behandlet som sann verdi. Her i denne koden har if-setningen en tendens til å redusere verdien av i, men innenfor blokken til if main()-funksjonen kalles opp igjen og igjen (alle setningene vil nå kjøres som om det er et nytt program), og derfor vil programkjøringen bli fanget i uendelig sløyfe siden det ikke er noen termineringsbetingelse. Lag quiz