Jun 12, 2012

C Aptitude Questions and answers with explanation

C Aptitude 20
C program is one of most popular programming language which is used for core level of coding across the board. C program is used for operating systems, embedded systems, system engineering, word processors,hard ware drivers, etc.

In this site, we have discussed various type of C programs till date and from now on, we will move further by looking at the C aptitude questions.

In the coming days, we will post C aptitude questions, answers and explanation for interview preparations.

The C aptitude questions and answers for those questions along with explanation for the interview related queries.

We hope that this questions and answers series on C program will help students and freshers who are looking for a job, and also programmers who are looking to update their aptitude on C program.
Some of the illustrated examples will be from the various companies, and IT industry experts.
Read more about C Programming Language . and read the C Programming Language (2nd Edition). by K and R.




Predict the output or error(s) for the following:


C aptitude 20.1
  main()
            {
                int *j;
                {
                 int i=10;
                 j=&i;
                 }
                 printf("%d",*j);
}


Answer: 10

Explanation: The variable i is a block level variable and the visibility is inside that block only. But the lifetime of i is lifetime of the function so it lives up to the exit of main function. Since the i is still allocated space, *j prints the value stored in i since j points i.

C aptitude 20.2
   main()
            {
            int i=-1;
            -i;
            printf("i = %d, -i = %d \n",i,-i);
            }


Answer: i = -1, -i = 1

Explanation: -i is executed and this execution doesn't affect the value of i. In printf first you just print the value of i. After that the value of the expression -i = -(-1) is printed.

C aptitude 20.3
     main()
 {
   const int i=4;
   float j;
   j = ++i;
   printf("%d  %f", i,++j);
 }

Answer: Compiler error

Explanation: i is a constant. you cannot change the value of constant

C aptitude 20.4
      main()
{
  int a[2][2][2] = { {10,2,3,4}, {5,6,7,8}  };
  int *p,*q;
  p=&a[2][2][2];
  *q=***a;
  printf("%d..%d",*p,*q);
}

Answer: garbagevalue..1

Explanation: p=&a[2][2][2] you declare only two 2D arrays. but you are trying to access the third 2D(which you are not declared) it will print garbage values. *q=***a starting address of a is assigned integer.

Read more Similar C Programs 
 
Learn C Programming
C Aptitude
C Interview questions
 
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

Write a C program to reverse a string using pointers.

C Strings:
Write a C program to reverse a string using pointers.
In this program, we reverse the given string by using the pointers. Here we use the two pointers to reverse the string, strptr holds the address of given string and in loop revptr holds the address of the reversed string.
Read more about C Programming Language . and read the C Programming Language (2nd Edition). by K and R.

/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
* 
*                      Happy Coding
***********************************************************/

#include<stdio.h>
int main(){
    int i=-1;
    char str[100];
    char rev[100];
    char *strptr = str;
    char *revptr = rev;
    printf("Enter the string:\n");
    scanf("%s",str);
    while(*strptr)
    {
        strptr++;
        i++;
    }
    while(i >=0) {
        strptr--;
        *strptr = *revptr;
        revptr++;
        --i;
    }
    printf("\n\n Reversed string is:%s",rev);
    return 0;
}

 
  
Read more Similar C Programs
 
Searching in C

C Strings 
 
C Aptitude 
 
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!
To browse more C Programs visit this link

Jun 11, 2012

C Aptitude Questions and answers with explanation

C Aptitude 19
C program is one of most popular programming language which is used for core level of coding across the board. C program is used for operating systems, embedded systems, system engineering, word processors,hard ware drivers, etc.

In this site, we have discussed various type of C programs till date and from now on, we will move further by looking at the C aptitude questions.

In the coming days, we will post C aptitude questions, answers and explanation for interview preparations.

The C aptitude questions and answers for those questions along with explanation for the interview related queries.

We hope that this questions and answers series on C program will help students and freshers who are looking for a job, and also programmers who are looking to update their aptitude on C program.
Some of the illustrated examples will be from the various companies, and IT industry experts.
Read more about C Programming Language . and read the C Programming Language (2nd Edition). by K and R.


Predict the output or error(s) for the following:


C aptitude 19.1
  main()
            {
            int k=1;
            printf("%d==1 is ""%s",k,k==1?"TRUE":"FALSE");
            }


Answer: 1==1 is TRUE

Explanation: When two strings are placed together (or separated by white-space) they are concatenated (this is called as "stringization" operation). So the string is as if it is given as "%d==1 is %s". The conditional operator( ?: ) evaluates to "TRUE".

C aptitude 19.2
  main()
            {
            int y;
            scanf("%d",&y); // input given is 2000
            if( (y%4==0 && y%100 != 0) || y%100 == 0 )
                 printf("%d is a leap year");
            else
                 printf("%d is not a leap year");
            }



Answer: 2000 is a leap year

Explanation: An ordinary program to check if leap year or not.

C aptitude 19.3
     #define max 5
            #define int arr1[max]
            main()
            {
            typedef char arr2[max];
            arr1 list={0,1,2,3,4};
            arr2 name="name";
            printf("%d %s",list[0],name);
            }

Answer: Compiler error (in the line arr1 list = {0,1,2,3,4})

Explanation: arr2 is declared of type array of size 5 of characters. So it can be used to declare the variable name of the type arr2. But it is not the case of arr1. Hence an error. Rule of Thumb: #defines are used for textual replacement whereas typedefs are used for declaring new types.

C aptitude 19.4
      int i=10;
            main()
            {
             extern int i;
              {
                 int i=20;
                        {
                         const volatile unsigned i=30;
                         printf("%d",i);
                        }
                  printf("%d",i);
               }
            printf("%d",i);
            }

Answer: 30,20,10

Explanation: a'{' introduces new block and thus new scope. In the innermost block i is declared as, const volatile unsigned which is a valid declaration. i is assumed of type int. So printf prints 30. In the next block, i has value 20 and so printf prints 20. In the outermost block, i is declared as extern, so no storage space is allocated for it. After compilation is over the linker resolves it to global variable i (since it is the only variable visible there). So it prints i's value as 10.

Read more Similar C Programs 
 
Learn C Programming
C Aptitude
C Interview questions
 
You can easily select the code by double clicking on the code area above.

To get regular updates on new C programs, you can

You can discuss these programs on our Facebook Page. Start a discussion right now,

our page!

Share this program with your Facebook friends now! by liking it


(you can send this program to your friend using this button)

Like to get updates right inside your feed reader? Grab our feed!


To browse more C Programs visit this link