Cprogrammingwithans
Cprogrammingwithans
Cprogrammingwithans
a) Steve Jobs
b) James Gosling
c) Dennis Ritchie
d) Rasmus Lerdorf
9. Which keyword is used to prevent any changes in the variable within a C program?
a) immutable
b) mutable
c) const
d) volatile
18. Property which allows to produce different executable for different platforms in C
is called?
a) File inclusion
b) Selective inclusion
c) Conditional compilation
d) Recursive macros
24. How many number of pointer (*) does C have against a pointer variable
declaration?
a) 7
b) 127
c) 255
d) No limits
27. The standard header _______ is used for variable list arguments (…) in C.
a) <stdio.h >
b) <stdlib.h>
c) <math.h>
d) <stdarg.h>
28. When a C program is started, O.S environment is responsible for opening file and
providing pointer for that file?
a) Standard input
b) Standard output
c) Standard error
d) All of the mentioned
fp = fopen("Random.txt", "a");
a) Attach
b) Append
c) Apprehend
d) Add
#include <stdio.h>
int main()
int y = 10000;
int y = 34;
return 0;
#include <stdio.h>
int main()
int main = 3;
printf("%d", main);
return 0;
#include <stdio.h>
int main()
chr = 128;
printf("%d\n", chr);
return 0;
a) 128
b) -128
c) Depends on the compiler
d) None of the mentioned
37. What will be the output of the following C code on a 64 bit machine?
#include <stdio.h>
union Sti
int nu;
char m;
};
int main()
union Sti s;
printf("%d", sizeof(s));
return 0;
a) 8
b) 5
c) 9
d) 4
#include <stdio.h>
int main()
int k;
k = m;
printf("%d\n", k);
return 0;
}
a) 0
b) Compile time error
c) 1
d) 8
#include <stdio.h>
printf("Sanfoundry.com");
return 0;
void main()
print();
#include <stdio.h>
int main()
return 0;
a) Yes
b) No
c) Depends on the C standard implemented by compilers
d) Error
#include <stdio.h>
void main()
int x = 5 * 9 / 3 + 9;
a) 3.75
b) Depends on compiler
c) 24
d) 3
42. What will be the output of the following C code? (Initial values: x= 7, y = 8)
#include <stdio.h>
void main()
float x;
int y;
a) 7.000000, 7
b) Run time error
c) 7.000000, junk
d) Varies
43. What will be the output of the following C code considering the size of a short int is
2, char is 1 and int is 4 bytes?
#include <stdio.h>
int main()
char c = 97;
return 0;
}
a) 2, 1, 2
b) 2, 1, 1
c) 2, 1, 4
d) 2, 2, 8
int main()
int d, a = 1, b = 2;
d= a++ + ++b;
int main()
int d, a = 1, b = 2;
d= a++ +++b;
#include <stdio.h>
void main()
a) returns 1
b) returns 2
c) Varies
d) Compile time error
a) 2
b) True
c) 1
d) 0
#include <stdio.h>
int main()
reverse(1);
void reverse(int i)
if (i > 5)
return ;
a) 1 2 3 4 5
b) Segmentation fault
c) Compilation error
d) Undefined behaviour
48. What will be the final values of i and j in the following C code?
#include <stdio.h>
int x = 0;
int f()
{
if (x == 0)
return x + 1;
else
return x - 1;
int g()
return x++;
int main()
n = 1;
a) Output will be 3, 2
b) Output will be 3, 1
c) Output will be 6, 1
d) Output is compiler dependent
#include <stdio.h>
int main()
int i = 0;
while (i < 3)
i++;
a) 2
b) 3
c) 4
d) 1
#include <stdio.h>
int main()
int i = 0;
do
i++;
if (i == 2)
continue;
printf("%d\n", i);
a) In while loop 2
b) In while loop in while loop 3
c) In while loop 3
d) Infinite loop
52. What will be the data type returned for the following C function?
#include <stdio.h>
int func()
return (double)(char)5.0;
}
a) char
b) int
c) double
d) multiple type-casting in return is illegal
int func(int);
double func(int);
int func(float);
string p = "HELLO";
printf(“%10s”, state);
56. What are the elements present in the array of the following C code?
a) 5, 5, 5, 5, 5
b) 5, 0, 0, 0, 0
c) 5, (garbage), (garbage), (garbage), (garbage)
d) (garbage), (garbage), (garbage), (garbage), 5
57. What will be the output of the following C function when EOF returns?
58. Which part of the program address space is p stored in the following C code?
#include <stdio.h>
int *p;
int main()
int i = 0;
p = &i;
return 0;
a) Code/text segment
b) Data segment
c) Bss segment
d) Stack
#if
#else
#endif
b)
#if
#elif
#endif
c)
#if
#if
#endif
d)
#if
#undef
#endif
#include <stdio.h>
main()
char *p = 0;
*p = 'a';
a) It will print a
b) It will print 0
c) Compile time error
d) Run time error
#include <stdio.h>
main()
printf("True");
else
printf("False");
a) True
b) False
#include <stdio.h>
main()
{
p[0] = 'a';
p[1] = 'b';
printf("%s", p);
a) abnfoundry C-Test
b) Sanfoundry C-Test
c) Compile time error
d) Run time error
#include <stdio.h>
int main()
float f = 0.1;
if (f == 0.1)
printf("True");
else
printf("False");
a) True
b) False
#include <stdio.h>
main()
int n = 0, m = 0;
if (n > 0)
if (m > 0)
printf("True");
else
printf("False");
a) True
b) False
c) No Output will be printed
d) Run Time Error
Answer: b
Explanation: None.
2. Which of the following does not initialize ptr to null (assuming variable declaration of
a as int a=0;)?
a) int *ptr = &a;
b) int *ptr = &a – &a;
c) int *ptr = a – a;
d) All of the mentioned
Answer: a
Explanation: None.
#include <stdio.h>
int x = 0;
void main()
printf("%p\n", ptr);
x++;
a) Same address
b) Different address
c) Compile time error
d) Varies
Answer: a
Explanation: None.
#include <stdio.h>
int x = 0;
void main()
printf("%p\n", ptr);
ptr++;
a) 0 1
b) Compile time error
c) 0xbfd605e8 0xbfd605ec
d) 0xbfd605e8 0xbfd605e8
Answer: b
Explanation: None.
#include <stdio.h>
void main()
int x = 0;
printf("%p\n", ptr);
ptr++;
a) 0xbfd605e8 0xbfd605ec
b) 0xbfd605e8 0cbfd60520
c) 0xbfd605e8 0xbfd605e9
d) Run time error
Answer: a
Explanation: None.
#include <stdio.h>
void main()
int x = 0;
printf("%p\n", ptr);
a) 5
b) Address of 5
c) Nothing
d) Compile time error
Answer: d
Explanation: None.
#include <stdio.h>
void main()
int x = 0;
printf("%d\n", *ptr);
a) Address of x
b) Junk value
c) 0
d) Run time error
Answer: c
Explanation: None.
5. Which of the following structure declaration will throw an error?
a)
struct temp{}s;
main(){}
b)
struct temp{};
struct temp s;
main(){}
c)
struct temp s;
struct temp{};
main(){}
#include <stdio.h>
struct student
int no;
char name[20];
void main()
struct student s;
s.no = 8;
printf("hello");
#include <stdio.h>
struct student
int no = 5;
char name[20];
};
void main()
struct student s;
s.no = 8;
printf("hello");
a) Nothing
b) Compile time error
c) hello
d) Varies
#include <stdio.h>
struct student
int no;
char name[20];
};
void main()
student s;
s.no = 8;
printf("hello");
}
a) Nothing
b) hello
c) Compile time error
d) Varies
#include <stdio.h>
void main()
struct student
int no;
char name[20];
};
struct student s;
s.no = 8;
printf("%d", s.no);
a) Nothing
b) Compile time error
c) Junk
d) 8
#include <stdio.h>
struct p
int k;
char c;
float f;
};
int main()
{
struct p x = {.c = 97, .f = 3, .k = 1};
printf("%f\n", x.f);
a) Yes
b) No
c) Depends on the standard
d) Depends on the platform
int a;
}TEMP;
b)
typedef struct
int a;
}TEMP;
c)
struct temp
int a;
};
string p = "HELLO";
a) *string *p = “Hello”;
b) string p = “Hello”;
c) *string p = ‘A’;
d) Not more than one space should be given when using typedef
#include <stdio.h>
char *a;
}stu;
void main()
{
stu s;
s.a = "hi";
printf("%s", s.a);
}s
Answer: d
Explanation: Local variables are stored in an area called stack. Global variables,
static variables and program instructions are stored in the permanent storage area.
The memory space between these two regions is known a heap.
2. The size of both stack and heap remains the same during run time.
a) True
b) False
3. Choose the statement which is incorrect with respect to dynamic memory allocation.
a) Memory is allocated in a less structured area of memory, known as heap
b) Used for unpredictable memory requirements
c) Execution of the program is faster than that of static memory allocation
d) Allocated memory can be changed during the run time of the program based on the
requirement of the program
4. Which of the following header files must necessarily be included to use dynamic
memory allocation functions?
a) stdlib.h
b) stdio.h
c) memory.h
d) dos.h
5. The type of linked list in which the node does not contain any pointer or reference to
the previous node is _____________
a) Circularly singly linked list
b) Singly linked list
c) Circular doubly linked list
d) Doubly linked list
6. Which of the following is an example for non linear data type?
a) Tree
b) Array
c) Linked list
d) Queue
10. The advantage of using linked lists over arrays is that ________
a) Linked list is an example of linear data structure
b) Insertion and deletion of an element can be done at any position in a linked list
c) Linked list can be used to store a collection of homogenous and heterogeneous
data types
d) The size of a linked list is fixed
1. What will be the output of the following C code?
main(){
#ifdef max
printf("hello");}
a) 100
b) hello
c) “hello”
d) error
#include<stdio.h>void main(){
#ifndef max
printf("hello");
#endif
printf("hi");}
a) hello
b) hellohi
c) error
d) hi
#ifndef san
printf("yes");
#endif
printf("no");}
a) error
b) yes
c) no
d) yesno
#if(max%10)
printf("san");
#endif
printf("foundry");}
a) error
b) san
c) foundry
d) sanfoundry
printf("%d",hello);
#undef hello
printf("%d",hello);}
a) 10
b) hello
c) error
d) 1010
#include <stdio.h>#define a 2
main(){
int r;
#define a 5
r=a*2;
printf("%d",r);}
a) 10
b) 4
c) 2
d) 5
10. What will be the output of the following C code if the value of ‘p’ is 10 and that of
‘q’ is 15?
#include<stdio.h>int main(){
int p,q;
scanf("%d",&p);
scanf("%d",&q);
#if(4<2)
printf("%d",p);
#elif(2>-1)
printf("%d",q);
#else
printf("bye");
#endif}
a) 10
b) 15
c) bye
d) error
1. A user defined data type, which is used to assign names to integral constants is
called ____________
a) Union
b) Array
c) Structure
d) Enum
Answer: d
Explanation: Enumeration (enum) is a user defined data type in C. It is used to
assign names to integral constants. The names make a program easy to read and
maintain.
#include<stdio.h>enum colour{
main(){
enum colour c;
c=yellow;
printf("%d",c);}
a) 1
b) 2
c) 0
d) Error
Answer: b
Explanation: Enum variables are automatically assigned values if no value is
specified. The compiler by default assigns values starting from 0. Therefore, in the
above code, blue gets 0, red gets 1 and yellow gets 2.
#include<stdio.h>enum hello{
a,b,c;};
main(){
enum hello m;
printf("%d",m);}
a) No error
b) Error in the statement: a,b,c;
c) Error in the statement: enum hello m;
d) Error in the statement: printf(“%d”,m);
Answer: b
Explanation: In the above code, there is a semi colon given at the end of the list of
variables. This results in an error. Semi colon is to be put only after the closing
brace of the enum, not after the list of variables.
4. String handling functions such as strcmp(), strcpy() etc can be used with
enumerated types.
a) True
b) False
Answer: b
Explanation: Enumerated types are not strings. Hence it is not possible to use
string handling functions with enumerated data types.
#include<stdio.h>enum hello{
a,b=99,c,d=-1};
main(){
enum hello m;
printf("%d\n%d\n%d\n%d\n",a,b,c,d);}
a)
99
100
-1
b) Error
c)
99
100
-1
d)
Answer: c
Explanation: We can assign values to some of the symbol names in any order. All
unassigned names get the value as the value of previous name plus one.
#include<stdio.h>enum sanfoundry{
a=2,b=3.56};enum sanfoundry s;
main(){
printf("%d%d",a,b);}
a) 2 3
b) 0 1
c) 2 3.56
d) Error
Answer: d
Explanation: The above code will result in an error because 3.56 is not an integer
constant. Only integer constants are allowed in enums.
#include<stdio.h>enum class{
a,b,c};enum class m;
main(){
printf("%d",sizeof(m));}
a) 3
b) Same as the size of an integer
c) 3 times the size of an integer
d) Error
Answer: b
Explanation: The output will be the same as the size of an integer, that is 4 on a 32
bit platform.
main(){
enum hi h;
h=b;
printf("%d",h);
return 0;}
a) 2
b) 1
c) Error
d) 0
Answer: c
Explanation: The code shown above results in an error: re-declaration of
enumerator ‘c’. All enumerator constants should be unique in their scope.
#include<stdio.h>enum sanfoundry{
a,b,c=5};enum sanfoundry s;
main(){
c++;
printf("%d",c);}
a) Error
b) 5
c) 6
d) 2
Answer: a
Explanation: The above code results in an error because it is not possible to modify
the value of enum constants. In the above code, we have tried to increment the
value of c. This results in an error.