Expressions
An expression is a combination of constants, variables, and operators that are used to denote computations.
For instance, the following:
(2 + 3) * 10
is an expression that adds 2 and 3 first, and then multiplies the result of the addition by 10. (The final result of the expression is 50.)
Similarly, the expression 10 * (4 + 5) yields 90. The 80/4 expression results in 20.
Here are some other examples of expressions:
Expression | Description |
6 | An expression of a constant. |
i | An expression of a variable. |
6 + | An expression of a constant plus a variable. |
exit(0) | An expression of a function call. |
Arithmetic Operators
As you've seen, an expression can contain symbols such as +, *, and /. In the C language, these symbols are called arithmetic operators. Table 3.1 lists all the arithmetic operators and their meanings.
Table 3.1. C arithmetic operators.
Symbol | Meaning |
+ | Addition |
- | Subtraction |
* | Multiplication |
/ | Division |
% | Remainder (or modulus) |
You may already be familiar with all the arithmetic operators, except the remainder (%) operator. % is used to obtain the remainder of the first operand divided by the second operand. For instance, the expression
6 % 4
yields a value of 2 because 4 goes into 6 once with a remainder of 2.
The remainder operator, %, is also called the modulus operator.
Among the arithmetic operators, the multiplication, division, and remainder operators have a higher precedence than the addition and subtraction operators. For example, the expression
2 + 3 * 10
yields 32, not 50. Because of the higher precedence of the multiplication operator, 3 * 10 is calculated first, and then 2 is added into the result of the multiplication.
As you might know, you can put parentheses around an addition (or subtraction) to force the addition (or subtraction) to be performed before a multiplication, division, or modulus computation. For instance, the expression
(2 + 3) * 10
performs the addition of 2 and 3 first before it does the multiplication of 10.
You'll learn more operators of the C language in Hours 6, "Manipulating Data with Operators," and 8, "More Operators."