TopBottom

Followers



Click on more
SUBSCRIBE

Enter your email address:

Delivered by FeedBurner



VIDEO

Announcement: wanna exchange links? contact me at ravikrak@yahoo.com

Multiple Choice Questions And Programs in C functions

Posted by Ravi Kumar at Friday, September 16, 2011
Share this post:
Ma.gnolia DiggIt! Del.icio.us Yahoo Furl Technorati Reddit

Objective Questions, Multiple Choice Questions And Programs:


1) There is a mistake in the following code, add a statement
in it to remove it.
main()
{
int a;
a=f(10,3.14)
printf("%d",a);
}
f(int aa,float bb)
{
return((float)aa+bb);
}

Ans: Add the function prototype in main()
float f(int,float);

2) What error would the following function give on
compilation?
f(int a, int b)
{
int a;
a=20;
return a;
}
A. Missing parentheses in return statement
B. The function should be defined as int
f(int a, int b)
C.Redeclaration of a
D.None of the above

Ans: C

3) In a function two return statements should never
occur successfully.
TRUE or FALSE

Ans: TRUE

4) In C all functions except main() can be called
recursively. TRUE / FALSE

Ans: FALSE

5) Point out the error in the following code.
main()
{
int a=10;
void f();
a=f();
printf("\n %d",a);
}
void f()
{
printf("\n Hi");
}

Ans: Inspite of defining the function f() as returning
void, the program is trying to collect the value returned
by f() in variable a.

6) Point out the error, if any in the following program.
main()
{
int b;
b=f(20);
printf("%d",b);
}
int f(int a)
{
a>20 ? return(10) : return(20);
}

Ans: Return statement cannot be used as shown with the
conditional operators. Instead the following statement
may be used.
return(a>20 ? 10 : 20)

7) A function cannot be defined inside another function.
TRUE / FALSE

Ans: TRUE

8) Will the following function work? YES/NO
f1(int a, int b)
{
return(f2(20));
f2(int a)
{
return(a*a);
}
Ans: YES

9) In a function two return statements should never occur.
TRUE / FALSE

Ans: FALSE

10) Usually recursion works slower than loops.
TRUE / FALSE

Ans: TRUE

11) Is it true that too many recursive calls may result
into stack overflow? YES / NO

Ans: YES

12) What will be the output of the following program.

main()
{
C()
{
c()
{
printf(" C is a C......\n");
}
printf(".......... is a c..\n");
}
printf(".......... is a sea afterall!");
}

Output: Error message: Statement missing ; in function
main The compiler reports an error saying there is a
missing semicolon. But where is it missing? After C().
But suppose we only want to define the function C(),
logically we shouldn't be required to give a semi-colon
after C().That's the point. At the most you can call a
function from within the body of another function. you
are not allowed to define another function within the
body of another function. And that is what the above
program is attempting to do. It is trying to define C()
and c() in main(), which ia not acceptable,hence the error
message.

13)
main()
{
int z=4;
printf("%d",printf("%d%d",z,z);
}

Output: 4 4 3
Here the inner printf() is executed first, and it
prints out a 4, a space and another 4. Thus it totally
prints out 3 characters. Whenever the printf() function
is called it returns the number of characters it has
successfully managed to print.

14)
main()
{
int i;
printf("In the year of lord \n");
for(i=1;i40)
return(!m++);
else
return(!++m);
}

output: Error message: Redeclaration of 'm'in function
check The variable m used in check() has not been
defined before the opening brace. Therefore it is
assumed to be an integer variable.

22) main()
{
int i=45;
float c;
c=check(i);
printf("c=%f", c);
}
check(ch)
int ch;
{
ch>=45 ? return(3.14) : return(6.28);
}

Output: c=3.000000

Here, the condition ch>=45 is satisfied hence 3.14
gets returned. Does it really? No, because by default
any function is capable of returning only an int. Hence
3.14 gets truncated to 3 while returning the value.

23)C supports modular programming.

24)A function is a self contained program which is meant
to do some specific well defined task.

25)Return statement is used to exit from the function.

26)A function can receive many values, but it can return
only one value.

27)A function prototype tells the compiler the type of data
arguments and their order,the type of data function returns,
number of arguments.

28)Parameters are used to communicate data between the
calling and called function.

29)The four storage classes in c are automatic, static,
external and register.

30)Recursion is a process of calling a function within the
same function.

Share |

Labels:

0 comments:

Post a Comment