**Table of Contents**show

Literal Constants or literals denotes a fixed value, which may be an integer, floating point number, character or a string

The type of literal constants is determined by its value

- Integer Literal Constants
- Floating Point Literal Constants
- Character Literal Constants
- String Literal Constants

**Integer literal constants**

Integer literal Constants are integer values like -1,2,8

**Rules for writing integer literal constants are as follows:**

- An integer literal constant must
**have at least one digit** **No decimal point**- It can be either positive or negative
- No special characters and blank spaces are allowed within integer literal
- If an integer literal constant starts with 0, then it is assumed to be in octal number system. Example: 023 is valid, 23 is in octal its equivalent decimal is 19
- If an integer literal constant starts with 0x or 0X, then it is assumed to be in hexadecimal number system. Example:0x23 or 0X23 is valid, 23 is in hexadecimal its decimal equivalent is 35
- The size of the integer literal constant is modified by length modifier. The length modifier can be l, L, u, U. Example: 23l is a long integer
- 23u is an unsigned integer

**Floating point literal constants**

Floating point literal constants are value like -23.1, 12.8, -1.8e12. Floating point literal constants can be written in fractional form or in exponential form

**Rules for writing floating point literal constants in fractional form are as follows:**

- Must have
**at least one digit** - Should
**have decimal point** - It
**can be either positive or negative** **No special characters and blank spaces**are allowed within a floating point literal constants- A floating point literal constant by default is assumed to be of type double, Example: 23.45 is double
- The size of the floating point literal constant can be modified by using the length modifier f or F Example: 23.45 is written as 23.45f or 23.45F
- Some valid examples: -2.5, 12.523, 2.5f, 12.5F

**Rules for writing floating point literal constants in exponential form are as follows:**

- A floating point literal constant is an exponential form has two parts:
**the mantissa part and the exponent part**. Both parts are separated by**e or E** - The
**mantissa**can be**either positive or negative**. Default is positive - The mantissa should have
**at least one digit** - The mantissa part
**can have decimal point, but not mandatory** - The exponent part
**must have at least one digit.**It can be either positive or negative but default is positive - The exponent part
**cannot have decimal point****No special characters and blank spaces**are allowed withing mantissa and exponent part - Example: -2.5E12, -2.5e-12. 2e10

**Character Literal Constants**

A character literal constant can have one enclosed within single quotes ‘A’, ‘a’, ‘\n’

Character literal constants are classified as:

- Printable character literal constant
- Non Printable character literal constant

**Printable character literal constant**

All characters except quotation mark, backslash and new line character when enclosed within single quotes form a printable character literal constant. Example: ‘A’, ‘#’

**Non Printable character literal constant**

- Non printable character literal constants are represented with the help of escape sequences
- An escape sequence consists of a backward slash (\) followed by a character and both enclosed within single quotes

**String Literal Constants**

- A string literal constant consists of
**a sequence of characters enclosed within double quotes** - Each string literal constant is
**implicitly terminated by a null character (‘\0’)** - The number of bytes occupied by a string literal constant is one more than the number of characters present in the string
- The additional byte is occupied by the terminating null character
- Thus, the empty string ( Example: “”) occupies one byte in the memory due to the presence of the terminating null character.
- But, the terminating null character is not counted while determining the length of a string.
- Therefore, the length of the string “ABC” is 3 though it occupies 4 bytes in the memory

Views: 0