0% found this document useful (0 votes)
118 views6 pages

C Test Questions)

This document contains a 15 question multiple choice test on C programming. The questions cover topics like function calls, arrays, pointers, macros, loops, and more. The test has 4 possible answers for each question and the correct answer is indicated by a letter in parentheses after each question.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
118 views6 pages

C Test Questions)

This document contains a 15 question multiple choice test on C programming. The questions cover topics like function calls, arrays, pointers, macros, loops, and more. The test has 4 possible answers for each question and the correct answer is indicated by a letter in parentheses after each question.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 6

1

Test on ‘C’ Programming

Time Duration: 1 Hour


Total Marks: 35

PART I

Objective : (15 marks)

1.What would be the output of the following program.


                        #include<stdio.h>
                        main()
                        {
                            extern int a;
                            printf("%d",a);;
                        }
                        int a=20;
(a)  20                       (b) 0                           (c) garbage value                           (d) error!!

2.What would be the output of the following program.


                        main()
                        {
                            int a[5]={2,3};
                            printf("\n %d %d %d",a[2],a[3],a[4]);
                        }
(a) garbage value                   (b) 2   3   3                   (c) 3   2   2                   (d) 0    0   0

3.What would be the output of the following program.


                        main()
                        {
                           int i = -3, j = 2 , k = 0,m;
                            m = ++i && ++j || ++k;
                            printf("\n %d %d %d %d",i,j,k,m);
                        }
 (a)  -2   3    0   1   (b) -3   2   0   1                (c) -2   3   1   1                   (d) error

4.What would be the output of the following program.


                        main()
                        {
                             int a,b;
                            a=sumdig(123);
                            b=sumdig(123);
                            printf("%d %d",a,b);
                        }
2

                        sumdig(int n)
                        {
                            static int s=0;
                            int d;
                            if(n!=0)
                            {
                                d=n%10;
                                n=(n-d)/10;
                                s=s+d;
                                sumdig(n);
                            }
                            return(s);                }
   (a) 12    6                           (b) 6    12    (c) 3    15                           (d) error

5.What would be the output of the following program.


                        #define CUBE(x) (x*x*x)
                        main()
                        {
                            int a, b=3;
                            a=CUBE(b++);
                            printf ("\n %d %d", a , b);
                      }
(a) 64    4                       (b) 27    4                       (c) 27    6                           (d) 64    6

6.What would be the output of the following program.


                        main()
                        {
                            const int x=get();
                            printf("%d",x);
                        }
                        get()
                        {
                            return(20);
                        }
   (a) 20                         (b) garbage value                           (c) error                           (d) 0

7. A function has this prototype

    void f1(int **x);


    How will you call this function?    

(a) int **a;                (b) int a;                (c) int *a;                        (d) int a=5;


               f1(a);                         f1(&a);                 f1(&a);                           f1(&&a);            

8. Point out the error, if any, in the for loop


                        main()
                        {
3

                            int l=1;


                            for(;;)
                            {
                                printf("%d",l++);
                                if(l>10)
                                     break;
                            }
                        }

 (a) The condition in the for loop is a must    


(b) The two semicolons should be dropped
 (c) The for loop should be replaced by awhile loop  
(d)  No error

9.Can the following piece of code be executed?


                        int main(void)
                        {
                            char strA[10]="compile", strB[10];
                            my_strcpy(strB,strA);
                            puts(strB);
                        }
                        char * my_strcpy(char *destination, char *source)
                        {
                            char *p=destination;
                            while(*source!='\0')
                            {
                                *p++=*source++;
                            }
                            *p='\0';
                            return destination;
                        }
(a) Compilation will only give a warning but will proceed to execute & will display
"compile"
(b) The compilation error char *(char *,char *) differs in levels of indirection from 'int()'
will occur.
(c) Yes & it will print compile on the screen
(d) None of the above

10.What would be the output of the following program.


                        #include<stdio.h>
                        main()
                        {
                            char str[5]="fast";
                            static char *ptr_to_array = str;
                            printf("%s",ptr_to_array);
                        }
4

  (a) Compilation will only give a warning but will proceed to execute & will display
"fast"
(b)  display "fast" on screen
  (c) will give a compilation error.
  (d) none of the above

11.What would be the output of the following program.


                        main()
                        {
                            int num,*p;
                            num=5;
                            p=&num;
                            printf("%d",*p);
                        }
(a) 6                   (b) 5                     (c) junk value                       (d) compilation error

12.What would be the output of the following program.


                        main()
                        {
                            int a[3]={2,3,4};
                            char *p;
                            p=a;
                            p=(char *)((int *)p+1);
                            printf("%d",p);
                        }
   a) 2                           (b) 0                           (c) junk value                           (d) 3

13.What would be the output of the following program.


                        main()
                        {
                            int i=10;
                            fn(i);
                            printf("%d",i);
                        }
                        fn(int i)
                        {
                            return ++i;
                        }
(a) 10                           (b) 11                             (c) 12                           (d) Compilation
error

14. What will be the value of i & j after the loop isexecuted?

 for(i=0,j=0;i<5,j<25;i++,j++)

   (a) i=4,j= 24                  (b) i=24,j= 24                  (c) i=25,j= 25                  (d) i=5,j=25


5

15.What would be the output of the following program.

                        main()
                        {
                            int i,j;
                            i=10;
                            j=sizeof(++i);
                            printf("%d",i);
                       }
(a)  11                            (b) 10                           (c) 4                           (d) compilation
error

----------

Part II
Subjective
1. Explain the following declaration. ( 5 marks)

 int (*p)[10];
 int *f();
 int (*pf)();
 int *p[10];
 int *constp;

2. Write difference between ( 5 Marks each)


1. fread and fscanf.
2. fwrite and fprintf.
3. Arrays and structures.
4. Function and macro.
5. Pointers and structures.

3. Write a program to accept a string and check whether the string is a


palindrome or not. (Palindrome is a word which is spelt same when reversed).
Eg., radar, madam). (2 marks)
OR
Explain the relationship between pointers and arrays. Write a program to
implement the same. (2 marks)
6

4. Write a brief note on ‘C’ compilation process with block diagram (2 marks).
5. Write a program to implement ternary operators. (2 marks).
6. Explain how to open a data file in different modes. Write a program to read
the contents from the file and print it to the monitor. (2 marks).

*************

You might also like