1. What is the output of this C code?
int main()
{
void foo(), f();
f();
}
void foo()
{
printf("2 ");
}
void f()
{
printf("1 ");
foo();
}
A. Compile time error as foo is local to main
B. 1 2
C. 2 1
D. Compile time error due to declaration of functions inside main
Answer & Explanation
Answer: Option B
Explanation:
None.
2. What is the output of this C code?
int main()
{
void foo();
void f()
{
foo();
}
f();
}
void foo()
{
printf("2 ");
}
A. 2 2
B. 2
C. Compile time error
D. Depends on the compiler
Answer & Explanation
Answer: Option D
Explanation:
Even though the answer is 2, this code will compile fine only with gcc. GNU C supports nesting of
functions in C as a language extension where as standard C compiler doesn’t.
3. What is the output of this C code?
void foo();
int main()
{
void foo();
foo();
return 0;
}
void foo()
{
printf("2 ");
}
A. Compile time error
B. 2
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option B
Explanation:
None.
4. What is the output of this C code?
void foo();
int main()
{
void foo(int);
foo(1);
return 0;
}
void foo(int i)
{
printf("2 ");
}
A. 2
B. Compile time error
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option A
Explanation:
None.
5. What is the output of this C code?
void foo();
int main()
{
void foo(int);
foo();
return 0;
}
void foo()
{
printf("2 ");
}
A. 2
B. Compile time error
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option B
Explanation:
None.
6. What is the output of this C code?
void m()
printf("hi");
void main()
m();
A. hi
B. Run time error
C. Nothing
D. Varies
Answer & Explanation
Answer: Option A
Explanation:
None.
7. What is the output of this C code?
void m();
void n()
{
m();
void main()
void m()
printf("hi");
A. hi
B. Compile time error
C. Nothing
D. Varies
Answer & Explanation
Answer: Option B
Explanation:
None.
8. What is the output of this C code?
void main()
m();
void m()
{
printf("hi");
A. hi
B. Compile time error
C. Nothing
D. Varies
Answer & Explanation
Answer: Option B
Explanation:
None.
9. What is the output of this C code?
void main()
m();
void m()
printf("hi");
m();
A. Compile time error
B. hi
C. Infinite hi
D. Nothing
Answer & Explanation
Answer: Option C
Explanation:
None.
10. What is the output of this C code?
void main()
static int x = 3;
x++;
if (x <= 5)
printf("hi");
main();
A. Runtime error
B. hi
C. infinite hi
D. hi hi
Answer & Explanation
Answer: Option D
Explanation:
None.
11. Which of the following is a correct format for declaration of function?
A. return-type function-name(argument type);
B. return-type function-name(argument type) {}
C. return-type (argument type)function-name;
D. Both (a) and (b)
Answer & Explanation
Answer: Option A
Explanation:
None.
12. Which of the following function declaration is illegal?
A. int 1bhk(int);
B. int 1bhk(int a);
C. int 2bhk(int*, int []);
D. All of the mentioned
Answer & Explanation
Answer: Option D
Explanation:
None.
13. Which function definition will run correctly?
A. int sum(int a, int b)
return (a + b);
B. int sum(int a, int b)
{return (a + b);}
C. int sum(a, b)
return (a + b);
D. Both (a) and (b)
Answer & Explanation
Answer: Option B
Explanation:
None.
14. Can we use a function as a parameter of another function? [ Eg: void wow(int func()) ]
A. Yes, and we can use the function value conveniently
B. Yes, but we call the function again to get the value, not as convenient as in using
variable
C. No, C does not support it.
D. This case is compiler dependent
Answer & Explanation
Answer: Option C
Explanation:
None.
15. The value obtained in the function is given back to main by using ________ keyword?
A. return
B. static
C. new
D. volatile
Answer & Explanation
Answer: Option A
Explanation:
None.
16. What is the return-type of the function sqrt()
A. int
B. float
C. double
D. Depends on the data type of the parameter
Answer: Option C
Explanation:
None.
17. Which of the following function declaration is illegal?
A. double func();
int main(){}
double func(){}
B. double func(){};
int main(){}
C. int main()
double func();
double func(){//statements}
D. None of the mentioned
Answer & Explanation
Answer: Option D
Explanation:
None.
18. What is the output of this code having void return-type function?
void foo()
return 1;
}
void main()
{
int x = 0;
x = foo();
printf("%d", x);
}
A. 1
B. 0
C. Runtime errorCompile time error
D. Answer & Explanation
Answer: Option D
Explanation:
None.
19. What will be the data type returned for the following function?
int func()
return (double)(char)5.0;
A. char
B. int
C. double
D. multiple type-casting in return is illegal
20. What is the problem in the following declarations?
int func(int);
double func(int);
int func(float);
A. A function with same name cannot have different signatures
B. A function with same name cannot have different return types
C. A function with same name cannot have different number of parameters
D. All of the mentioned
Answer & Explanation
Answer: Option D
Explanation:
None.
21. The output of the code below is
void main()
{
int k = m();
printf("%d", k);
}
void m()
{
printf("hello");
}
A. hello 5
B. Error
C. Nothing
D. Junk value
Answer & Explanation
Answer: Option A
Explanation:
None.
22. The output of the code below is
int *m()
int *p = 5;
return p;
void main()
int *k = m();
printf("%d", k);
A. 5
B. Junk value
C. 0
D. 5
Answer & Explanation
Answer: Option D
Explanation:
None.
23. The output of the code below is
int *m();
void main()
int *k = m();
printf("hello ");
printf("%d", k[0]);
int *m()
int a[2] = {5, 8};
return a;
A. hello 5 8
B. hello 5
C. hello followed by garbage value
D. Compilation error
Answer & Explanation
Answer: Option C
Explanation:
None.
24. The output of the code below is
int *m();
void main()
int k = m();
printf("%d", k);
int *m()
{
int a[2] = {5, 8};
return a;
A. 5
B. 8
C. Nothing
D. Varies
Answer & Explanation
Answer: Option D
Explanation:
None.
25. The output of the code below is
void m(int k)
printf("hi");
void m(double k)
printf("hello");
void main()
m(3);
}
A. hi
B. hello
C. Compile time error
D. Nothing
26. What is the default return type if it is not specified in function definition?
A. void
B. int
C. double
D. short int
Answer & Explanation
Answer: Option B
Explanation:
None.
27. What is the output of this C code?
int foo();
int main()
{
int i = foo();
}
foo()
{
printf("2 ");
return 2;
}
A. 2
B. Compile time error
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option A
Explanation:
None.
28.What is the output of this C code?
double foo();
int main()
{
foo();
return 0;
}
foo()
{
printf("2 ");
return 2;
}
A. 2
B. Compile time error
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option A
Explanation:
None.
29. functions can return structure in c?A. true
B. false
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option A
Explanation:
None.
30. functions can return enumeration constants in c?
A. true
B. false
C. depends on the compiler
D. depends on the standard
Answer & Explanation
Answer: Option A
Explanation:
None.
31. What is the output of code given below?
enum m{JAN, FEB, MAR};
enum m foo();
int main()
enum m i = foo();
printf("%d\n", i);
int foo()
{
return JAN;
A. Compile time error
B. 0
C. Depends on the compiler
D. Depends on the standard
Answer & Explanation
Answer: Option A
Explanation:
None.
32. What is the output of this C code?
void main()
m();
printf("%d", x);
int x;
void m()
{
x = 4;
}
A. 4
B. Compile time error
C. 0
D. Undefined
Answer & Explanation
Answer: Option B
Explanation:
None.
33. What is the output of this C code?
int x;
void main()
{
printf("%d", x);
}
A. Junk value
B. Run time error
C. 0
D. Undefined
Answer & Explanation
Answer: Option C
Explanation:
None.
34. What is the output of this C code?
int x = 5;
void main()
int x = 3;
printf("%d", x);
{
x = 4;
printf("%d", x);
A. Run time error
B. 3 3
C. 3 5
D. 3 4
nswer & Explanation
Answer: Option D
Explanation:
None.
35. What is the output of this C code?
int x = 5;
void main()
int x = 3;
printf("%d", x);
int x = 4;
printf("%d", x);
A. 3 3
B. 3 4
C. 3 5
D. Run time error
Answer & Explanation
Answer: Option A
Explanation:
None.
36. Functions in C are ALWAYS:
A. Internal
B. External
C. Both Internal and External
D. External and Internal are not valid terms for functions
Answer & Explanation
Answer: Option B
Explanation:
None
37. Global variables are:
A. Internal
B. External
C. Both (a) and (b)
D. None of the mentioned.
Answer & Explanation
Answer: Option B
Explanation:
None.
38. Which of the following are an external variable?
int func (int a)
{
int b;
return b;
}
int main()
{
int c;
func (c);
}
int d;
A. a
B. b
C. c
D. d
Answer & Explanation
Answer: Option D
Explanation:
None.
39. What will be the output?
int main()
{
printf("%d", d++);
}
int d = 10;
A. 9
B. 10
C. 11
D. Compile time error
Answer & Explanation
Answer: Option D
Explanation:
None.
40. What will be the output?
double var = 8;
int main()
int var = 5;
printf("%d", var);
A. 5
B. 8
C. Compile time error due to wrong format identifier for double
D. Compile time error due to redeclaration of variable with same name
Answer & Explanation
Answer: Option A
Explanation:
None.
41. What is the output of this C code?
double i;
int main()
printf("%g\n",i);
return 0;
}
A. 0
B. 0.000000
C. Garbage value
D. Depends on the compiler
Answer & Explanation
Answer: Option B
Explanation:
None.
42. Which part of the program address space is p stored in the code given below?
int *p = NULL;
int main()
int i = 0;
p = &i;
return 0;
A. Code/text segment
B. Data segment
C. Bss segment
D. Stack
Answer & Explanation
Answer: Option B
Explanation:
None.
43. Which part of the program address space is p stored in the code given below?
int *p;
int main()
int i = 0;
p = &i;
return 0;
A. Code/text segment
B. Data segment
C. Bss segment
D. Stack
Answer & Explanation
Answer: Option C
Explanation:
None
44. Can variable i be accessed by functions in another source file?
int i;
int main()
printf("%d\n", i);
A. 0
B. false
C. Only if static keyword is used
D. Depends on the type of the variable
Answer & Explanation
Answer: Option A
Explanation:
None.
45. Property of external variable to be accessed by any source file is called by C90
standard as:
A. external linkage
B. external scope
C. global scope
D. global linkage
Answer & Explanation
Answer: Option A
Explanation:
None.
46. What is the output of this C code?
int *i;
int main()
if (i == NULL)
printf("true\n");
return 0;
A. true
B. true only if NULL value is 0
C. Compile time error
D. Nothing
Answer & Explanation
Answer: Option A
Explanation:
None.
47. What is the output of this C code?
int *i;
int main()
if (i == 0)
printf("true\n");
return 0;
A. true
B. true only if NULL value is 0
C. Compile time error
D. Nothing
Answer & Explanation
Answer: Option B
Explanation:
None.
48. What is the output of this C code?
static int x = 5;
void main()
x = 9;
{
int x = 4;
printf("%d", x);
A. 9
B. 4
C. 5
D. 0
Answer & Explanation
Answer: Option A
Explanation:
None.
49. What is the output of this C code?
void main()
m();
m();
void m()
static int x = 5;
x++;
printf("%d", x);
}
A. 6 7
B. 6 6
C. 5 5
D. 5 6
Answer & Explanation
Answer: Option A
Explanation:
None.
50. What is the output of this C code?
void main()
static int x;
printf("x is %d", x);
A. 0
B. 1
C. Junk value
D. Run time error
Answer & Explanation
Answer: Option A
Explanation:
None.
51. What is the output of this C code?
static int x;
void main()
{
int x;
printf("x is %d", x);
A. 0
B. Junk value
C. Run time error
D. Nothing
Answer & Explanation
Answer: Option B
Explanation:
None.
52. What is the output of this C code?
void main()
static double x;
int x;
printf("x is %d", x);
A. 0
B. Nothing
C. Compile time error
D. Junk value
Answer & Explanation
Answer: Option C
Explanation:
None.
53. What is the output of this C code?
void main()
static int x;
if (x++ < 2)
main();
A. Infinite calls to main
B. Run time error
C. Varies
D. main is called twice
Answer & Explanation
Answer: Option D
Explanation:
None.
54. Which of following is not accepted in C?
A. static a = 10; //static as
B. static int func (int); //parameter as static
C. static static int a; //a static variable prefixed with static
D. All of the mentioned
Answer & Explanation
Answer: Option C
Explanation:
None.
55. Which of the following cannot be static in C?
A. Variables
B. Functions
C. Structures
D. None of the mentioned
Answer & Explanation
Answer: Option D
Explanation:
None.
56. The scope of an automatic variable is:
A. Within the block it appears
B. Within the blocks of the block it appears
C. Until the end of program
D. Both (a) and (b)
Answer & Explanation
Answer: Option D
Explanation:
None.
57. Automatic variables are allocated space in the form of a:
A. stack
B. queue
C. priority queue
D. random
Answer & Explanation
Answer: Option A
Explanation:
None.
58. Which of the following is a storage specifier?
A. enum
B. union
C. auto
D. volatile
Answer & Explanation
Answer: Option C
Explanation:
None.
59. Default storage class if not any is specified for a local variable, is auto:
A. true
B. false
C. Depends on the standard
D. None of the mentioned
Answer & Explanation
Answer: Option A
Explanation:
None.
60. Automatic variables are stored in:
A. stack
B. data segment
C. register
D. heap
Answer & Explanation
Answer: Option A
Explanation:
None.
61. What linkage does automatic variables have?
A. Internal linkage
B. External linkage
C. No linkage
D. None of the mentioned
Answer & Explanation
Answer: Option C
Explanation:
None.
62. What is the output of this C code?
int main()
{
auto i = 10;
const auto int *p = &i;
printf("%d\n", i);
A. 10
B. Compile time error
C. Depends on the standard
D. Depends on the compiler
Answer & Explanation
Answer: Option A
Explanation:
None.
63. Automatic variables are variables that are?
A. Declared within the scope of a block, usually a function
B. Declared outside all functions
C. Declared with auto keyword
D. Declared within the keyword extern
Answer & Explanation
Answer: Option A
Explanation:
None.
64. Automatic variables:
A. Exist only within that scope in which it is declared
B. Cease to exist after the block is exited
C. Both (a) & (b)
D. Only 1
Answer & Explanation
Answer: Option C
Explanation:
None.
65. Automatic variables are allocated memory in?
A. heap
B. Data segment
C. Code segment
D. stack
Answer & Explanation
Answer: Option D
Explanation:
None.
66. What is the output of this C code?
void main()
{
int x;
}
here x is?
A. automatic variable
B. static variable
C. global variable
D. register variable
Answer & Explanation
Answer: Option A
Explanation:
None.
67. Automatic variables are initialized to?
A. 0
B. Junk value
C. Nothing
D. Both (a) & (b)
Answer & Explanation
Answer: Option B
Explanation:
None.
68. Which of the following storage class supports char data type?
A. register
B. static
C. auto
D. All of the mentioned
Answer: Option D
Explanation:
None.
69. The variable declaration with no storage class specified is by default:
A. auto
B. extern
C. static
D. register
Answer: Option A
Explanation:
None.
70. What is the output of this C code?
int x;
void main()
{
printf("%d", x);
}
A. Junk value
B. Run time error
C. 0
D. Undefined
Answer: Option C
Explanation:
None.
71. What is the output of this C code?
int x = 5;
void main()
{
int x = 3;
printf("%d", x);
{
x = 4;
}
printf("%d", x);
}
A. Run time error
B. 3 3
C. 3 5
D. 3 4
Answer: Option D
Explanation:
None
72. What is the scope of an external variable?
A. Whole source file in which it is defined
B. From the point of declaration to the end of the file in which it is defined
C. Any source file in a program
D. From the point of declaration to the end of the file being compiled
Answer: Option D
Explanation:
None.
73. What is the scope of a function?
A. Whole source file in which it is defined
B. From the point of declaration to the end of the file in which it is defined
C. Any source file in a program
D. From the point of declaration to the end of the file being compiled
Answer: Option D
Explanation:
None.
74. Which variable has the longest scope?
int b;
int main()
{
int c;
return 0;
}
int a;
A. a
B. b
C. c
D. Both (a) and (b)
Answer: Option B
Explanation:
None.
75. Array sizes are optional during array declaration by using ______ keyword.
A. auto
B. static
C. extern
D. register
Answer: Option C
Explanation:
None.
76. What is the output of this C code?
void main()
{
int x = 3;
{
x = 4;
printf("%d", x);
}
}
A. 4
B. 3
C. 0
D. Undefined
Answer: Option A
Explanation:
None.
77. What is the output of this C code?
int x = 5;
void main()
{
int x = 3;
m();
printf("%d", x);
}
void m()
{
x = 8;
n();
}
void n()
{
printf("%d", x);
}
A. 8 3
B. 8 5
C. 3 8
D. 5 3
Answer: Option A
Explanation:
None.
78. What is the output of this C code?
void main()
{
m();
m();
}
void m()
{
static int x = 5;
x++;
printf("%d", x);
}
A. 6 7
B. 6 6
C. 5 5
D. 5 6
Answer: Option A
Explanation:
None.
79. What is the output of this C code?
static int x;
void main()
{
int x;
printf("x is %d", x);
}
A. 0
B. Junk value
C. Run time error
D. Nothing
Answer: Option B
Explanation:
None.
80. What is the output of this C code?
void main()
{
static double x;
int x;
printf("x is %d", x);
}
A. Nothing
B. 0
C. Compile time error
D. Junk value
Answer: Option C
Explanation:
None.
81. What is the output of this C code?
void main()
{
static int x;
if (x++ < 2)
main();
}
A. Infinite calls to main
B. Run time error
C. Varies
D. main is called twice
Answer: Option D
Explanation:
None.
82. Which of the following is true for static variable?
A. It can be called from another function.
B. It exists even after the function ends.
C. It can be modified in another function by sending it as a parameter.
D. All of the mentioned
Answer: Option B
Explanation:
None.
83. Assignment statements assigning value to local static variables are executed only
once?
A. true
B. false
C. Depends on the code
D. None of the mentioned
Answer: Option B
Explanation:
None.
84. What is the format identifier for “static a = 20.5;”?
A. %s
B. %d
C. %f
D. Illegal declaration due to absence of data type
Answer: Option B
Explanation:
None.
85. Functions have static qualifier for its declaration by default.
A. true
B. false
C. Depends on the compiler
D. Depends on the standard
Answer: Option B
Explanation:
None.
86. Is initialization mandatory for local static variables?
A. YES
B. NO
C. Depends on the compiler
D. Depends on the standard
Answer: Option B
Explanation:
None.