For another example, suppose a program reads an input n and does n iterations of a loop with, say, 5 assignments. If we measure the time complexity as the number of loop iterations, then the complexity is O(n). However, if we measure the number of assignments or the number of assembly or machine code instructions after the program is compiled, then it is no longer O(n) if there is no constant C in the definition of big-O.
The presence of C is driven by the desire to have a rougher measure of complexity and not distinguish between various implementation details, such as architecture, programming language and so on. When we vary such details, complexity can usually be multiplied or divided by a constant. Therefore, big-O is designed to compare functions up to a constant factor.