Pages

Showing posts with label Campus Drive Questions and Answers. Show all posts
Showing posts with label Campus Drive Questions and Answers. Show all posts

Tuesday, 26 February 2019

Campus Drive Questions and Answers

Campus Drive Questions and Answers 

Q) What are main characteristics of C language?

Ans)

C is a procedural language. The main features of C language include low-level access to memory, simple set of keywords, and clean style. These features make it suitable for system programming like operating system or compiler development.

Q) What is difference between i++ and ++i?

Ans

1) The expression ‘i++’ returns the old value and then increments i. The expression ++i increments the value and returns new value.

2) Precedence of postfix ++ is higher than that of prefix ++.

3) Associativity of postfix ++ is left to right and associativity of prefix ++ is right to left.
4) In C++, ++i can be used as l-value, but i++ cannot be. In C, they both cannot be used as l-value.


Q) What are entry control and exit control loops?

Ans.

 C support only 2 loops:
1.     Entry Control: This loop is categorized in 2 part

a. while loop

b. for loop
2.     Exit control: In this category, there is one type of loop known as

a. do while loop


Q) Why pre-processor directive does not have a semi-colon at last?

Ans

Semi-colon is needed by the compiler and as the name suggests Preprocessors are programs that process our source code before compilation.Therefore the semi-colon is not required.

Q) What is the difference between including the header file with-in angular braces < > and double quotes ” “?

Ans

 If a header file is included within < > then the compiler searches for the particular header file only within the built-in include path. If a header file is included within ” “, then the compiler searches for the particular header file first in the current working directory, if not found then in the built-in include path.

Q) How will you print “Hello World” without semicolon?
Ans
Void main()
{
            if (printf("Hello World"))
}


Program 1:
#include <stdio.h> 
void fun() 
            // static variables get the default value as 0. 
            static int x; 
            printf("%d ", x); 
            x = x + 1; 

int main() 
            fun(); 
            fun(); 
            return 0; 

Output: 0 1

Program 2:
#include <stdio.h>
main()
{
            int i;
            int *pi = &i;
            scanf("%d", pi);
            printf("%d\n", i+5);
}

Output: On execution, the value printed is 5 more than the integer value entered.


Program 3:
void main()
{
            int i=-3,j=2,k=0,m;
            m=++i && ++j || ++k;
            printf("%d %d %d %d",i,j,k,m);
}
Ans
-2  3 0 1

Program 4:
int f(int j)
{
static int i = 50;
int k;
if (i == j)
{
            printf("something");
            k = f(i);
            return 0;
}
else return 0;
}

Ans
The function will exhaust the runtime stack or run into an infinite loop when j = 50

Program 5:
Assume the following C variable declaration
int *a[10],b[10[10];
Of the following expressions

i a[2]

ii a[2][3]
iii b[1]
iv b[2][3]
which will  give compile-time errors

Ans:
b[1]

Program 6:
Consider the following declaration of a ‘two-dimensional array in C:
Char a[100][100];
Assuming that the main memory is byte-addressable and that the array is stored starting from memory address 0, the address of a[40][50]
Ans
Address a[i][j] = base address + element size (maximum number of columns * i +  j )
          a[40][50] = 0 + 1 (100 *40 + 50 )
          a[40][50] = 4050

Program 7:
Consider the following declaration of a ‘two-dimensional array in C:
Char a[10][20][30]; i.e a[M][N][O]
Assuming that the main memory is byte-addressable and that the array is stored starting from memory address 0, the address of a[4][5][6] i.e a[i][j][k]
Ans
Address a[i][j][k] = base address + element size (i*N*O + j*O  + k )
          a[4][5][6] = 0 + 1 (4 * 20 * 30 + 5 * 30 + 6 )
          a[4][5][6] =   2400 + 150 + 6
          a[4][5][6] =   2556

Program 8:

What will be the output of the following C program segment?
char inchar = 'A';
switch (inchar)
{
case 'A' :
            printf ("choice A \n") ;
case 'B' :
            printf ("choice B ") ;
case 'C' :
case 'D' :
case 'E' :
default:
            printf ("No Choice") ;
}

Ans:
choice A
choice B No Choice


Program 9:
What will be the output of the following C program segment?
char p[20];
char *s = "string";
int length = strlen(s);
int i;
for (i = 0; i < length; i++)
            p[i] = s[length — i];
printf("%s",p);

Ans
no output is printed
Explanation:
 Let us consider below line inside the for loop
p[i] = s[length — i];
For i = 0, p[i] will be s[6 — 0] and s[6] is ‘\0’
So p[0] becomes ‘\0’. It doesn’t matter what comes in p[1], p[2]….. as P[0] will not change for i >0. Nothing is printed if we print a string with first character ‘\0’


Program 10:
Consider the following C program
main()
{
   int x, y, m, n;
   scanf ("%d %d", &x, &y);
   /* x > 0 and y > 0 */
   m = x; n = y;
   while (m != n)
   { 
      if(m>n)
         m = m - n;
      else
         n = n - m;
   }
   printf("%d", n);
}

Ans:
GCD (greatest common divisor ) of x and y

Program 11:
#include<stdio.h>
void main()
{
float x=16.3;
if(x==16.3)
printf("HAI");
else
printf("Hello");
}


output :




Program 12:
#include<stdio.h>
#define size 2+4
void main()
{
printf("%d",size*size);
}


output:



Program 13:
#include<stdio.h>
void main()
{
int i=1;
printf("\n %d\n %d\n %d\n %d",i++,i++,i++,i++);
}



output:

Program 14:
#include<stdio.h>
void main()
{
int i=5;
printf("\n %d\n %d\n %d\n %d\n %d",i++,i--,++i,--i ,i);
}


output:



Program 15:
#include<stdio.h>
void main()
{
int a[]={1,2,3,4,5,6};
printf("%d",1[a]);
}


output:


Program 16:
#include<stdio.h>
int sum (int);
int sum (int n)
{
 if(n<1)
  return n;
 else
  return (n + sum(n-1));
}
void main()
{
 sum(5);
 printf("sum is %d ",sum(5));
}


Answer : 15


Program 17:
#include<stdio.h>
void sum (int ,int ,int );
void sum (int x,int y,int z)
{
 y=y+1;
 z=z+x;
}
void main()
{
 int a=2,b=3;
 sum((a+b),a,a);
 printf("sum is %d ",a);
}
 

Answer: 2
 


Program 17:


Programs in turboc3 : Files

File Handling in C File Handling concept in C language is used for store a data permanently in computer. Using this concept we can store our...