Operator Precedence
Evaluation order.
Operator Precedence is a free C Academy lesson on CoddyKit. This is lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the C Academy learning path, and your progress syncs across the web and the CoddyKit app. The C Academy course includes 4 lessons in total.
Why Precedence Matters
Precedence decides which operator runs first in an expression with several operators. It mirrors normal math: multiplication before addition.
#include <stdio.h>
int main(void) {
printf("%d\n", 2 + 3 * 4);
return 0;
}Parentheses Override
Parentheses force evaluation order. Use them to make intent clear and override defaults.
#include <stdio.h>
int main(void) {
printf("%d\n", (2 + 3) * 4);
return 0;
}Arithmetic Precedence
Among arithmetic operators: * / % bind tighter than + -. The high-precedence ones run first.
#include <stdio.h>
int main(void) {
int r = 10 - 2 * 3;
printf("r = %d\n", r);
return 0;
}Associativity
When operators share precedence, associativity decides direction. Most arithmetic is left-to-right.
#include <stdio.h>
int main(void) {
int r = 20 / 4 / 2;
printf("r = %d\n", r);
return 0;
}Right Associativity of Assignment
Assignment groups right to left. That is why a = b = 5 assigns 5 to b first, then a.
#include <stdio.h>
int main(void) {
int a, b;
a = b = 5;
printf("a = %d, b = %d\n", a, b);
return 0;
}Comparisons vs Arithmetic
Arithmetic binds tighter than relational operators, so a + b > c computes a + b first.
#include <stdio.h>
int main(void) {
int a = 2, b = 3, c = 4;
printf("%d\n", a + b > c);
return 0;
}Relational vs Logical
Relational operators bind tighter than &&, which binds tighter than ||.
#include <stdio.h>
int main(void) {
int x = 5;
if (x > 0 && x < 10)
printf("single digit positive\n");
return 0;
}Unary Before Binary
Unary operators like ! and unary - bind very tightly, applying before binary operators.
#include <stdio.h>
int main(void) {
int x = 0;
printf("%d\n", !x + 1);
return 0;
}A Tricky Expression
Without parentheses this expression mixes several precedence levels. Trace it carefully.
#include <stdio.h>
int main(void) {
int r = 2 + 3 * 4 > 10 && 1;
printf("r = %d\n", r);
return 0;
}When in Doubt, Parenthesize
Good C code uses parentheses liberally. They cost nothing at runtime and prevent subtle bugs.
#include <stdio.h>
int main(void) {
int a = 1, b = 2, c = 3;
if ((a < b) && (b < c))
printf("ascending\n");
return 0;
}Precedence in Practice
Here precedence lets us write a clean formula without extra parentheses.
#include <stdio.h>
int main(void) {
int base = 10, rate = 2, hours = 3;
int pay = base + rate * hours;
printf("pay = %d\n", pay);
return 0;
}Quick Check
Test your understanding of operator precedence.
Recap: Operator Precedence
You learned how C orders operators.
* / %before+ -- Arithmetic before relational before logical
- Most operators are left-associative, assignment is right-associative
- Unary operators bind tightly
- Parentheses make intent explicit
Learn C with an AI tutor — free
Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.
- Courses
- 39
- Lessons
- 144
Frequently Asked Questions
Is the “Operator Precedence” lesson free?
Yes — the full text of “Operator Precedence” is free to read here on the web. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the C Academy course, upgrade to CoddyKit PRO. The C Academy course includes 4 lessons in total.
What will I learn in “Operator Precedence”?
Evaluation order. You practise C Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start C Academy?
No prior experience is required. C Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 4 of 4.
How long does the “Operator Precedence” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this C Academy lesson?
Yes. Every C Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Arithmetic Operators
- Relational and Logical
- Assignment and Increment
- Operator Precedence