Search Placementyogi.com
 

C Basics Tough Objective Questions and Answers

  :: Topics ::

1

What is the output of:

main( )
{
float a = 5, b = 2 ;
int c ;
c = a % b ;
printf ( "%d", c ) ;
}
A.

1

B.

0

C.

2

D.

Compile Time Error

See Answer & Explanation Lets Discuss
Correct answer is : D
Explanation

Modulus operator can NOT be used on FLOAT datatype

 
2

Find the output of the following program?

#include<stdio.h>
void main( )
{
printf ( "nn \n\n nn\n" ) ;
printf ( "nn /n/n nn/n" ) ;
}

 

 

A.
nn
 
nn
nn /n/n nn/n
B.
nn
 
nn
nn /n
nn/n
C.
nn
 
nn
nn /n
nn
D.

Error "/n" not recognized

See Answer & Explanation Lets Discuss
Correct answer is : A
Explanation

'\n' means newline character i.e. whatever is written after it is displayed in a new line whereas '/n' is displayed as it is.

 
3

What is the output of the following programs:

Program 1:
#include<stdio.h>

void main()
{
	printf("%d %d %d %d ",65,065,0x65,0X65);
}

Program 2:
#include<stdio.h>
void main()
{
	printf("%d %o %x",65,65,65);
}
A.

65 65 65 65 and 65 53 101

B.

Compiler Error, Compiler Error

C.

65 53 101 101 and 65 101 41

D.

None of the Above

See Answer & Explanation Lets Discuss
Correct answer is : C
Explanation

Program 1:

065 is octal its Decimal value  is 53.

0x65 and 0X65 in decimal is 114.

Program 2:

octal of 65 is 101.

hexadecimal of 65 is 41.

For more Details read the following Concept:

0x or 0X means Hexadecimal numbers, the range is 0-15 unlike decimal numbers whose range is 0-9.

Hexadecimal digits are: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

If we write 0xf + 1 , the value that we will get is 10.

printf("%x", 0xf+1); // %x is used to print a number in hexadecimal format. 

prints "10"

this number 10 in binary is represented as : 0001 0000.

Here f was represented as 1000.

adding 1 to is generates a carry of 1. so 1 0000 .

We can add 3 zeros before 1 to represent it as 4 bits.

which can be written as 0001 0000.

Converting each group in to decimal we get 1 0  EHnce the output is 10. 

Here comes the main concept:

If you see a hexadecimal number try to represent each digit in binary representation of length 4 bits only.

So 72 is represented as : 0111 0010 

Now remove the space and write them together as 01110010.

Convert it into Decimal by following the following steps:

 

Remember the rightmost bit is 0th bit, the second bit from right is the 1st bit.. and so on.. 

from the right hand side the 0th bit is 0 and 1st,4th,5th,6th bits are 1.

Evaluating it:

 2^1 + 2^4 + 2^5 + 2^6 = 2 + 16 + 32 + 64 = 114.

Thus 0x72 or 0X72 becomes 114 in decimal format!!

 

Like wise If you wanted to convert a decimal in to Hexadecimal, start by forming groups of 4 bits from the right hand side.

So 172  in Decimal is :  10101100,  

creating group of 4 bits we get: 1010 1100.

Convert the 2 groups into Decimal again: 10 12

Now 10 is represented as "a" in hexadecimal and 12 is represented as "c".

Hence the Hexadecimal Equivalent is "ac".

This should have presented a better picture of Hexadecimal Concepts.

 

Now lets move on to Octal values.

Octal numbers are a little confusing in tha way it is written in c.

It starts with a "0" (zero).

The octal numbers have a range of 0-7, because it deals with just 3 bits unlike hexadecimals which deals with 4 bits.

Octal numbers are:0,1,2,3,4,5,6,7.

 

printf("%o", 07+1); // %x is used to print a number in hexadecimal format. 


prints "10" as output.

7 is represented as 111 in Binary and if we add 1 we get 000 with a carry of 1 i.e. 1 000.

Which can be written as 001 000, Converting each group in to decimal we get: 10.

 

Now similarly, It you get any decimal number like : 123, 

step 1: Represent it in binary -> 123 = 01111011

step 2: Split it into groups of 3 bits from right hand side and add padding of 0s on the left hand side if the number of bits is not a multiple of 3.

we get: 001 111 011

step 3: Convert each group in to decimal : 1 7 3.

Hence the octal representation of 123 is 173.

 

Hope this makes you good at handling octal and Hexadecimal values.

 
 

Crackbill Ad
Hide Page Information

Tough C Basics Objective Questions and Answers with explanation

Here you can find Tough C Basics interview questions with answers and explanation.

Why C Basics?

In this section you can learn and practice Tough C Basics (Questions with Answers) with explanation to improve your skills in order to face the interview, competitive examination and various entrance test (CAT, GATE, GRE, MAT, Bank Exam, Railway Exam etc.) with full confidence.

Where can I get Tough C Basics Questions and Answers with Explanation?

PlacementYogi provides you lots of fully solved Tough C Basics questions and answers with explanation. Fully solved examples with detailed answer description, explanation are given and it would be easy to understand. All students, freshers can download Tough C Basics quiz questions with answers as PDF files and eBooks.

Where can I get Tough C Basics Interview Questions and Answers (objective type, multiple choice) with explanation?

Here you can find objective type Tough C Basics questions and answers for interview and entrance examination with explanation. Multiple choice and true or false type questions are also provided.

How to solve Tough C Basics problems?

You can easily solve all kinds of questions based on Tough C Basics by practicing the exercises (including shortcut methods to solve problems) given below.