Looping Questions and Answers With Explanation For Written Test Exam and Interview in C Programming Language
Looping Questions and Answers With Explanation For Written Test Exam and Interview in C Programming Language
(1)
#include<stdio.h>
extern int x;
int main(){
do{
do{
printf("%o",x);
}
while(!-2);
}
while(0);
return 0;
}
int x=8;
OUTPUT=10
(2)
What will be output of following c code?
#include<stdio.h>
int main(){
int i=2,j=2;
while(i+1?--i:j++)
printf("%d",i);
return 0;
}
#include<stdio.h>
int main(){
int x=011,i;
for(i=0;i<x;i+=3){
printf("Start ");
continue;
printf("End");
}
return 0;
}
#include<stdio.h>
int main(){
int i,j;
i=j=2,3;
while(--i&&j++)
printf("%d %d",i,j);
return 0;
}
EXPLANATION :
HERE I & J TAKE VALUE AS I=2,J=2
SO - -i=1, j++=3.
It will print 1,3.
(5)What will be output of following c code?
#include<stdio.h>
int main(){
static int i;
for(++i;++i;++i) {
printf("%d ",i);
if(i==4) break;
}
return 0;
}
OUTPUT: 2 , 4.
#include<stdio.h>
int main(){
int i=1;
for(i=0;i=-1;i=1) {
printf("%d ",i);
if(i!=1) break;
}
return 0;
}
OUTPUT: -1
OUTPUT: 5 , 2
OUTPUT:11
(10)
#include<stdio.h>
int main(){
int i;
for(i=0;i<=5;i++);
printf("%d",i)
return 0;
}
OUTPUT: I=6.
IF FOR LOOP HAVING NO SEMICOLON(;) IT WILL PRINT 0,1,2,3,4,5.
#include<stdio.h>
int i=40;
extern int i;
int main(){
do{
printf("%d",i++);
}
while(5,4,3,2,1,0);
return 0;
}
EXPLANATION:
here int i=40 is declared above main, the compiler will treat as extern storage class,so with in
program it’s value is 40.i++ is post increment so it prints 40.
#include<stdio.h>
char _x_(int,...);
int main(){
char (*p)(int,...)=&_x_;
for(;(*p)(0,1,2,3,4); )
printf("%d",!+2);
return 0;
}
char _x_(int a,...){
static i=-1;
return i+++a;
}
OUTPUT=0
#include<stdio.h>
int main(){
int i;
for(i=10;i<=15;i++){
while(i){
do{
printf("%d ",1);
if(i>>1)
continue;
}while(0);
break;
}
}
return 0;
}
EXPLANATION:
FROM I=10 TO 15, THE LOOP WILL REPEAT 6 TIMES,SO IT WILL PRINT 1 1 1 1 1 1
6 TIMES BECAUSE IT IS SATISFYING THE CONDITION (I>>1).
#include<stdio.h>
int main(){
char c=125;
do
printf("%d ",c);
while(c++);
return 0;
}
EXPLANATION
IT WILL PRINT 125 126 127 -128 -127 UNTIL IT COMES TO 0,BECAUSE OF WHILE(C++);
STATEMENT.