COMMONLY ASKED QUESTIONS IN INTERVIEW
1. In the following declaration statement
char c=’A’;
Variable c stores one byte of memory space while character constants ‘A’ stores one byte memory space. How one byte variables can stores two byte character constant?
2. What is automatic type promotion in c?
2. What is automatic type promotion in c?
3. Swap two variables without using third variable.
4. Write a c program without using any semicolon which output is: Hello word.
5. How will you modify a const variable in c?
6. Write a c program to find out factorial of given number using function recursion.
7. Give an example in which comma is behaving as separator as well as operator in c.
8. What is variable number of arguments in c?
9. What is command line argument?
10. What will be output of following c code?
void main(){
int i;
for(i=0;i<=5;i++);
printf("%d",i);
getch();
}
11. Subtract two integer numbers without using subtraction operator.
12. What are differences between sizeof operator and strlen function?
13. Declared a variable in c without defining it.
14. int x=sizeof(!5.856);
What will value of variable x?
15. What is difference between initialization and assignment of a variable?
16. Tell me something about auto storage class.
17. What will be output of following c code?
extern int a;
void main(){
int a=5;
{
int a=10;
printf("%d",a++);
}
printf(" %d",a);
getch();
}
int a=20;
18. Declare a pointer which can point printf function in c.
19. What are merits and demerits of array in c?
20. Tell me a all sorting algorithm which you know.
Answer:
1. Character constant reserve two byte of memory space to represent octal or hexadecimal character constant but char variable stores only its one byte ASCII value.
2. In c if two operands are of different data type in a binary operation then before performing any operation compiler will automatically convert the operand of lower data type to higher data type .This phenomenon is known as automatic type conversion. For example:
int a=10,c;
float b=5.5f;
c=a+b;
Here a int variable while b is float variable. So before performing addition operation value of the variable a (Lower data type) will automatically convert into float constant (higher data type) then it will perform addition operation.
3.
Solution: 1
void main(){
int x,y;
scanf("%d%d",&x,&y);
//swapping
x=x+y;
y=x-y;
x=x-y;
printf("%d %d",x,y);
}
Solution: 2
void main(){
int x,y;
scanf("%d%d",&x,&y);
//swapping
x=x^y;
y=y^x;
x=x^y;
printf("%d %d",x,y);
}
4.
Solution: 1
void main(){
if(printf("Hello world")){
}
}
Solution: 2
void main(){
while(!printf("Hello world")){
}
}
Solution: 3
void main(){
switch(printf("Hello world")){
}
}
5.
We can modify the const variable with the help of pointer.
void main(){
const int a=10;
int *ptr=(int *)&a;
*ptr=20;
clrscr();
printf("%d",a);
getch();
}
Output: 20
6.
void main()
{
long num,f;
clrscr();
printf("Input a number: ");
scanf("%ld",&num);
f=fact(num);
printf("\nFactorial is %ld",f);
getch();
}
int fact(long n)
{
if(n==0)
return 1;
else
return(n*fact(n-1));
}
7.
void main(){
int x=5,y=10,z=15,val;
val=sum(x,(y=0,z=0,y),z);
clrscr();
printf("%d",val);
getch();
}
sum(int x,int y,int z){
return x+y+z;
}
Output: 20
Note: In the above program comma in red color are behaving as operator.
8.
A function in which we can pass variables numbers of argument in function call statement such functions are known as function with variable number of arguments. For example:
void display(int,...);
void main(){
display(1,2);
display(1,2,3,4);
display(1,2,3,4,5,6,7,8,9);
getch();
}
void display(int x,...){
}
Note: There consecutive dot is known as ellipsis in c.
9.
Getting the arguments from command prompt in c is known as command line arguments. In c main function has three arguments. They are:
(a)Argument counter
(b)Argument vector
(c)Environment vector
For example:
void main(int argc,char *argv[],char *env[]){
int i;
for(i=1;i<argc;i++){
printf("%s\n",argv[i]);
}
}
10. 6
11.
void main(){
int a,b,d;
scanf("%d%d",&a,&b);
d=a+~b+1;
printf("%d",d);
getch();
}
12.
sizeof is keyword of c which can find size of a string constant including null character but strlen is function which has been defined string.h and can find number of characters in a string excluding null character.
#include<string.h>
void main(){
int a,b;
a=strlen("cquestionbank");
b=sizeof("cquestionbank");
printf("%d %d",a,b);
getch();
}
13. extern int a;
Note: Uninitialized extern variables are example of declaration of variables.
14. 2
17. 10 5
18. int (*ptr)(char const,…);
19.
(a) We can easily access each element of array.
(b) Not necessity to declare two many variables.
(c) Array elements are stored in continuous memory location.
Demerit:
(a) Wastage of memory space. We cannot change size of array at the run time.
(b) It can store only similar type of data.
20.
(a)Bubble sort
(b)Selection sort
(c)Insertion sort
(d)Quick sort
(e)Merge sort
25 comments:
usefull
its useless
lavanya dont u knoe anything.i thing u have two tunk
very
usefull
regarding the modification of a constant variable using pointer, i tried the same code.. but it is not being changed.. can u help me pls...
yes loga is write,its not changing,i have also tried it,can u help as? plz
Hi Loga and Ravi,
Could you please tell me the c compiler where its not cahnging.
this is very gud......
Please add new questions with answer.
onnum parayanillaa...heavvy
Excellent to learn.. Thanku.
how the ans is 6not 5 in que. 10
In Question no. 10 when value of i =5 then loop condition is true so value of i will be incremented once again i.e. i=6. Now control will come out the for loop since loop condition is false.
the answer for 10th will be 5
because of post increment...
main()
{
char ch[10];
int a=6,b;
printf("Enter value for b:");
scanf("%d",&b);
printf("\nEnter your choice:");
ch=getchar();
switch(ch)
{
case '+':printf("a=%d",a);
break;
case '-':printf("b=%d",b);
break;
default:printf("check the input");
}
getch();
}
what is output for this program?
answer for 10th ques is "infinite loop".becoz loop ends with semicolon..
can u explain me 18th question?
Ritesh kumar is right..ans is 6..n his explaination is also satisfactory..
@kalai..who told u dt a loop which ends wid semocolon is infinite loop.??
such loop incr/decr until it satisfies the condition..
like i=5 in 10th question..
bt when it again incremented,i become equal to 6..and condition failed..bt the value i=6 resists..
@kalai- dude..in your question ..u hv used character array ch..bt getchar can take 1 value at a time..so,jst make "ch" a character constant...i.e char ch;
also operators lyk +,- or expressions lyk a+b or float values are not allowed as a value to switch..
whereas 3+4 as value is perfectly fine..
its usefull
thankxxxxxxxxxxxx
write the program for using for loop[perfect logic]
Example:Enter the value:5
* * * * *
* *
* *
* *
* * * * *
#include
int main()
{
extern int i;
i=20;
printf("%d/n",size of(i));
return 0;
}
can any one pls explain the working of '!' operator in Q.14??
int x = sizeof(!5.856);
and also Q 18....
(!operand)=0 if operand is non zero.
(!operand)=1 if operand is zero.
In Q.14 operand is non zero so
int x=sizeof(0) is 2 for 16 bit.
Post a Comment