You are on page 1of 8

1. What type of memory could be accessed in least time?

(a)cache memory
(b)secondary memory
(c)main memory
(d)none
Ans:A

2. void main()

int const * p=5;

printf("%d",++(*p));

What is the output?


(a) 6
(b) 5
(c) Compiler error
(d) Run time error
Ans :c

3.

main()

static int var = 5;

printf("%d ",var--);

if(var)

main();

What is the output?


(a) 1 2 3 4 5
(b) infinite loop
(c) 5 4 3 2 1
(d) compiler error
Ans :c

4.

main()

printf("\nab");
printf("\bsi");

printf("\rha");

(a) has
(b) hasaiaab
(c) hai
(d) aas
Ans :c

5.

#include
#define a 10
main()

#define a 50

printf("%d",a);

(a) 10
(b) 50
(c) error
(d) none
Ans:B

6. Minimum number of queues needed to implement the priority queue?


(a) one
(b) two
(c) three
(d) zero
Ans:B

7. What are the notations used in Evaluation of Arithmetic Expressions using prefix and postfix forms?
(a) Reverse Polish notations
(b) Polish
(c) both
(d) none
Ans :C

8. In tree construction which is the suitable efficient data structure?


(a) Array
(b) Linked list
(c) Stack
(d) Queue
Ans :B

9. Of the following tree structure, which is, efficient considering space and time complexities?
(a) Incomplete Binary Tree
(b) Complete Binary Tree
(c) Full Binary Tree
(d) None
Ans:B

10. What operator performs pattern matching?


(a) LIKE
(b) NULL
(c) WHERE
(d) AS
Ans :A

11. What is the output of the following query?


SELECT TRUNC(1234.5678,-2) FROM DUAL
(a) 1235
(b) 1200
(c) 1234.5
(d) 1234
Ans:B

12. What is the use of the DROP option in the ALTER TABLE command?
(a) It is used to drop constraints specified on the row
(b) It is used to drop constraints specified on the table.
(c) It is used to drop constraints specified on the column
(d) all
Ans :B

13. Which is the parameter that is added to every non-static member function when it is called?
(a)‘this’ pointer
(b) ‘far’ pointer
(c)‘near’ pointer
(d) all
Ans:A

14. A collection of programs that enables user to create and maintain a database is called
(a) DBMS
(b) DB
(c) DBA
(d) All
Ans:A

15. Model based on collection of objects is


(a) E-R Model
(b) Data Model
(c) Object Oriented Model
(d) None
Ans:C

16. When one of the data elements stored within a construct is utilized as the primary key, then it is called
(a) Foreign key
(b) Natural key
(c) Primary key
(d) Alternate key
Ans:B

17. different phases of transaction?


(a) Analysis & Redo
(b) Redo & Undo
(c) Analysis & Redo & Undo
(d) None
Ans:C

18.

void main()
{
int i=7;
printf("%d",i++*i++);
}

What is the output?


(a) 56
(b) 65
(c) 5 6
(d) 6 5
Ans:A

19. Output of the following program is

main()

int i=0;

for(i=0;i<20;i++)

switch(i)

case 0:i+=5;

case 1:i+=2;

case 5:i+=5;

default i+=4;

break;}

printf("%d,",i);

(a) 0,5,9,13,17
(b) 5,9,13,17
(c) 12,17,22
(d) 16,21
Ans:D
20. Find the output

main()

int x=5;

printf("%d %d %d\n",x,x<<2,x>>2);

(a) 1 5 20
(b) 20 5 1
(c) 5 20 1
(d) 1 5 10
Ans:C

1. What does static variable mean?


Ans: Static variables are the variables which retain their values between the function calls. They are
initialized only once their scope is within the function in which they are defined.

2. What is a pointer?
Ans: Pointers are variables which stores the address of another variable. That variable may be a scalar
(including another pointer), or an aggregate (array or structure). The pointed-to object may be part of a
larger object, such as a field of a structure or an element in an array.

3. What are the uses of a pointer?


Ans: Pointer is used in the following cases
i) It is used to access array elements
ii) It is used for dynamic memory allocation.
iii) It is used in Call by reference
iv) It is used in data structures like trees, graph, linked list etc.

4. What is a structure?
Ans: Structure constitutes a super data type which represents several different data types in a single unit.
A structure can be initialized if it is static or global.

5. What is a union?
Ans: Union is a collection of heterogeneous data type but it uses efficient memory utilization technique by
allocating enough memory to hold the largest member. Here a single area of memory contains values of
different types at different time. A union can never be initialized.

6. What are the differences between structures and union?


Ans: A structure variable contains each of the named members, and its size is large enough to hold all the
members. Structure elements are of same size.
A union contains one of the named members at a given time and is large enough to hold the largest
member. Union element can be of different sizes.

7. What are the differences between structures and arrays?


Ans: Structure is a collection of heterogeneous data type but array is a collection of homogeneous data
types.
Array
1-It is a collection of data items of same data type.
2-It has declaration only
3-.There is no keyword.
4- array name represent the address of the starting element.
Structure
1-It is a collection of data items of different data type.
2- It has declaration and definition
3- keyword struct is used
4-Structure name is known as tag it is the short hand notation of the declaration.

8. In header files whether functions are declared or defined?


Ans: Functions are declared within header file. That is function prototypes exist in a header file,not
function bodies. They are defined in library (lib).

9. What are the differences between malloc () and calloc ()?


Ans: Malloc Calloc 1-Malloc takes one argument Malloc(a);where a number of bytes 2-memory allocated
contains garbage values
1-Calloc takes two arguments Calloc(b,c) where b no of object and c size of object
2-It initializes the contains of block of memory to zerosMalloc takes one argument, memory allocated
contains garbage values.
It allocates contiguous memory locations. Calloc takes two arguments, memory allocated contains all
zeros, and the memory allocated is not contiguous.

10. What are macros? What are its advantages and disadvantages?
Ans: Macros are abbreviations for lengthy and frequently used statements. When a macro is called the
entire code is substituted by a single line though the macro definition is of several lines.
The advantage of macro is that it reduces the time taken for control transfer as in case of
function.
The disadvantage of it is here the entire code is substituted so the program becomes
lengthy if a macro is called several times.

11. Difference between pass by reference and pass by value?


Ans: Pass by reference passes a pointer to the value. This allows the callee to modify the variable
directly.Pass by value gives a copy of the value to the callee. This allows the callee to modify the value
without modifying thevariable. (In other words, the callee simply cannot modify the variable, since it lacks
a reference to it.)

12. What is static identifier?


Ans: A file-scope variable that is declared static is visible only to functions within that file. A
function-scope or block-scope variable that is declared as static is visible only within that scope.
Furthermore, static variables only have a single instance. In the case of function- or block-scope
variables, this means that the variable is not “automatic” and thus retains its value across function
invocations.

13. Where is the auto variables stored?


Ans: Auto variables can be stored anywhere, so long as recursion works. Practically, they’re stored on
the stack. It is not necessary that always a stack exist. You could theoretically allocate function invocation
records from the heap.

14. Where does global, static, and local, register variables, free memory and C Program instructions get
stored?
Ans: Global: Wherever the linker puts them. Typically the “BSS segment” on many platforms.
Static: Again, wherever the linker puts them. Often, they’re intermixed with the globals. The only
difference between globals and statics is whether the linker will resolve the symbols across compilation
units.Local: Typically on the stack, unless thevariable gets register allocated and never spills.Register:
Nowadays, these are equivalent to “Local” variables. They live on the stack unless they get register-
allocated.
15. Difference between arrays and linked list?
Ans: An array is a repeated pattern of variables in contiguous storage. A linked list is a set of
structures scattered through memory, held together by pointers in each element that point to the next
element. With an array, we can (on most architectures) move from one element to the next by adding a
fixed constant to the integer value of the pointer. With a linked list, there is a “next” pointer in each
structure which says what element comes next.

16. What are enumerations?


Ans: They are a list of named integer-valued constants. Example:enum color { black , orange=4,
yellow, green, blue, violet };This declaration defines the symbols “black”, “orange”, “yellow”, etc. to have
the values “1,” “4,” “5,” … etc. The difference between an enumeration and a macro is that the enum
actually declares a type, and therefore can be type checked.

17. Describe about storage allocation and scope of global, extern, static, local and register variables?
Ans:
Globals have application-scope. They’re available in any compilation unit that includes an
appropriate declaration (usually brought from a header file). They’re stored wherever the linker puts them,
usually a place called the “BSS segment.”
Extern? This is essentially “global.”
Static: Stored the same place as globals, typically, but only available to the compilation unit that contains
them. If they are block-scope global, only available within that block and its subblocks.
Local: Stored on the stack, typically. Only available in that block and its subblocks.
(Although pointers to locals can be passed to functions invoked from within a scope where that local is
valid.)
Register: See tirade above on “local” vs. “register.” The only difference is that
the C compiler will not let you take the address of something you’ve declared as “register.”

18. What are register variables? What are the advantages of using register variables?
Ans: If a variable is declared with a register storage class,it is known as register variable.The
register variable is stored in the cpu register instead of main memory.Frequently used variables
are declared as register variable as it’s access time is faster.

19. What is the use of typedef?


Ans: The typedef help in easier modification when the programs are ported to another machine.
A descriptive new name given to the existing data type may be easier to understand the code.

20. Can we specify variable field width in a scanf() format string? If possible how?
Ans: All field widths are variable with scanf(). You can specify a maximum field width for a given
field by placing an integer value between the ‘%’ and the field type specifier. (e.g. %64s). Such a specifier
will still accept a narrower field width.
The one exception is %#c (where # is an integer). This reads EXACTLY # characters, and it is the
only way to specify a fixed field width with scanf().
21. Out of fgets() and gets() which function is safe to use and why?
Ans: fgets() is safer than gets(), because we can specify a maximum input length. Neither one is
completely safe, because the compiler can’t prove that programmer won’t overflow the buffer he pass to
fgets ().

22. Difference between strdup and strcpy?


Ans: Both copy a string. strcpy wants a buffer to copy into. strdup allocates a buffer using malloc().
Unlike strcpy(), strdup() is not specified by ANSI .

23. What is recursion?


Ans: A recursion function is one which calls itself either directly or indirectly it must halt at a definite point
to avoid infinite recursion.
24. Differentiate between for loop and a while loop? What are it uses?
Ans: For executing a set of statements fixed number of times we use for loop while when the number of
iterations to be performed is not known in advance we use while loop.

25. What is storage class? What are the different storage classes in C?
Ans: Storage class is an attribute that changes the behavior of a variable. It controls the lifetime, scope
and linkage. The storage classes in c are auto, register, and extern, static, typedef.

26. What the advantages of using Unions?


Ans: When the C compiler is allocating memory for unions it will always reserve enough room for the
largest member.

27. What is the difference between Strings and Arrays?


Ans: String is a sequence of characters ending with NULL .it can be treated as a one dimensional array
of characters terminated by a NULL character.

28. What is a far pointer? Where we use it?


Ans: In large data model (compact, large, huge) the address B0008000 is acceptable because in these
model all pointers to data are 32bits long. If we use small data model(tiny, small, medium) the above
address won’t work since in these model each pointer is 16bits long. If we are working in a smalldata
model and want to access the address B0008000 then we use far pointer. Far pointer is always treated as
a 32bit pointer and contains a segment address and offset address both of 16bits each. Thus the address
is represented using segment : offset format B000h:8000h. For any
given memory address there are many possible far address segment : offset pair. The segment register
contains the address where the segment begins and offset register contains the offset of data/code from
where segment begins.

29. What is a huge pointer?


Ans: Huge pointer is 32bit long containing segment address and offset address. Huge pointers are
normalized pointers so for any given memory address there is only one possible huge address segment:
offset pair. Huge pointer arithmetic is doe with calls to special subroutines so its arithmetic slower than
any other pointers.

30. What is a normalized pointer, how do we normalize a pointer?


Ans: It is a 32bit pointer, which has as much of its value in the segment register as possible. Since
a segment can start every 16bytes so the offset will have a value from 0 to F. for normalization convert the
address into 20bit address then use the 16bit for segment address and 4bit for the offset address. Given
a pointer 500D: 9407,we convert it to a 20bitabsolute address 549D7,Which then normalized to
549D:0007.

You might also like