Излаз Ц++ програма | Сет 22
Предвидите излаз следећих Ц++ програма. Питање 1 CPP
Питање 2 CPP
Питање 3 CPP
Питање 4 CPP
Питање 5 CPP
Питање 7 CPP
Питање 8 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Објашњење: Сваки број различит од нуле у Ц++ се третира као права вредност. Овде у овом коду наредба иф има тенденцију да смањи вредност и, али унутар блока иф функција маин() се позива изнова и изнова (сви искази ће се сада извршавати као да је нови програм), стога ће извршавање програма бити ухваћено у бесконачној петљи јер нема услова завршетка. Креирај квиз