C uses the same basic math operators as many other languages. These include
*(multiply). Parentheses are used to group elements and force hierarchy of operations. C also includes
% for modulo. Modulo is an integer operation that leaves the remainder of a division, thus 5 modulo 7 is 2.
The divide behaves a little differently with integers than with floats as there can be no remainder. Thus 9 integer divide 4 is 2, not 2.25 as it would be if you were using floats. C also has a series of bit manipulators that we will look at a little later. For higher math operations, you will want to look at the math library (
math.h header file). Some examples are
log10() (common log) and
pow() for powers and roots. Do not try to use
^ as you do on many calculators.
x raised to the
y power is not
x^y but rather
pow(x, y). The
^ operator has an entirely different meaning in C! Recalling what we said earlier about libraries, if you wanted to use a function like
sin() in your code, you’d have to tell the compiler where to find the prototype and similar info. At the top of your program you’d add the line:
A final caution: The examples above are meant to be clear, but not necessarily the most efficient way of doing things. As we shall see, sometimes the way you code something can have a huge impact on its performance. Given the power of C, expert programmers can sometimes create code that is nearly indecipherable for ordinary people. There is a method behind the apparent madness.