**Types of C Constants**

**C constants can be divided into two major categories**:

####
* I. Primary Constants*

####
*II. Secondary Constants*

*At this stage we would restrict our discussion to only Primary Constants, namely, Integer, Real and Character constants. Let us see the details of each of these constants. For constructing these different types of constants certain rules have been laid down. These rules are as under:*

**Rules for Constructing Integer Constants**

1. An integer constant must have at least one digit.

2. It must not have a decimal point.

3. It can be either positive or negative.

4. If no sign precedes an integer constant it is assumed to be positive.

5. No commas or blanks are allowed within an integer constant.

6. The allowable range for integer constants is -32768 to 32767.

*Truly speaking the range of an Integer constant depends upon the compiler. For a 16-bit compiler like Turbo C or Turbo C++ the range is –32768 to 32767. For a 32-bit compiler the range would be even greater. Question like what exactly do you mean by a 16-bit or a 32-bit compiler, what range of an Integer constant has to do with the type of compiler and such questions are discussed in detail in Chapter 16. Till that time it would be assumed that we are working with a 16-bit compiler.*

**Ex.:**

**426**

**+782**

**-8000**

**-7605**

**Rules for Constructing Real Constants**

*Real constants are often called Floating Point constants. The real constants could be written in two forms—Fractional form and Exponential form.*

*Following rules must be observed while constructing real constants expressed in fractional form:*

1. A real constant must have at least one digit.

2. It must have a decimal point.

3. It could be either positive or negative.

4. Default sign is positive.

5. No commas or blanks are allowed within a real constant.

**Ex.:**

**+325.34**

**426.0**

**-32.76**

**-48.5792**

*The exponential form of representation of real constants is usually used if the value of the constant is either too small or too large. It however doesn’t restrict us in any way from using exponential form of representation for other real constants.*

*In exponential form of representation, the real constant is represented in two parts. The part appearing before ‘e’ is called mantissa, whereas the part following ‘e’ is called exponent.*

*Following rules must be observed while constructing real constants expressed in exponential form:*

1. The mantissa part and the exponential part should be separated by a letter e.

2. The mantissa part may have a positive or negative sign.

3. Default sign of mantissa part is positive.

4. The exponent must have at least one digit, which must be a positive or negative integer. Default sign is positive.

5. Range of real constants expressed in exponential form is -3.4e38 to 3.4e38.

**Ex.:**

**+3.2e-5**

**4.1e8**

**-0.2e+3**

**-3.2e-5**

**Rules for Constructing Character Constants**

1. A character constant is a single alphabet, a single digit or a single special symbol enclosed within single inverted commas. Both the inverted commas should point to the left. For example, ’A’ is a valid character constant whereas ‘A’ is not.

2. The maximum length of a character constant can be 1 character.

**Ex.:**

**'A'**

**'I'**

**'5'**

**'='**