# 10 - C Operators - Mathematical and Logical Operations

**URL:** https://buzzly.harislab.tech/t/10-c-operators-mathematical-and-logical-operations/198
**Category:** C Programming Tutorials
**Tags:** c, basics
**Created:** [April 21, 2026, 2:48pm UTC](https://buzzly.harislab.tech/t/10-c-operators-mathematical-and-logical-operations/198 "2026-04-21T14:48:18Z")
**Posts on this page:** 1
**Showing post:** 1

<div class="post-metadata">

### Author: ![Haris](https://buzzly.harislab.tech/user_avatar/buzzly.harislab.tech/haris/32/7_2.png) [@Haris](https://buzzly.harislab.tech/u/Haris)
#### Post date: [April 21, 2026, 2:48pm UTC](https://buzzly.harislab.tech/t/10-c-operators-mathematical-and-logical-operations/198/1 "2026-04-21T14:48:18Z")

</div>

**Learn about arithmetic, comparison, and logical operators in C**

* * *

## What is this topic?

This guide explains C Operators - Mathematical and Logical Operations in simple terms, what it does, and how to use it in real C programs.

## Why We Need It

- It helps you write correct and reliable C code.
- It makes your programs easier to read and maintain.
- It is used in real projects and interviews.
- It reduces common beginner mistakes.
- It builds a strong foundation for advanced topics.

## Use Cases

- Building practical C programs step by step.
- Solving real coding tasks with clean logic.
- Preparing for exams, interviews, and projects.
- Understanding and improving existing C code.

* * *

## What Are Operators?

Operators are symbols that perform operations on values. Think of them like mathematical symbols: +, -, \*, /.

* * *

## Arithmetic Operators

Used for mathematical calculations.

| Operator | Name | Example | Result |
| --- | --- | --- | --- |
| `+` | Addition | `5 + 3` | `8` |
| `-` | Subtraction | `5 - 3` | `2` |
| `*` | Multiplication | `5 * 3` | `15` |
| `/` | Division | `6 / 2` | `3` |
| `%` | Modulus (remainder) | `7 % 3` | `1` |

### Examples

```c
#include <stdio.h>

int main() {
    int x = 10;
    int y = 3;
    
    printf("%d + %d = %d\n", x, y, x + y); // 13
    printf("%d - %d = %d\n", x, y, x - y); // 7
    printf("%d * %d = %d\n", x, y, x * y); // 30
    printf("%d / %d = %d\n", x, y, x / y); // 3
    printf("%d %% %d = %d\n", x, y, x % y); // 1
    
    return 0;
}

```

**Output:**

```auto
10 + 3 = 13
10 - 3 = 7
10 * 3 = 30
10 / 3 = 3
10 % 3 = 1

```

* * *

## Comparison Operators

Compare two values and return true (1) or false (0).

| Operator | Name | Example | Result |
| --- | --- | --- | --- |
| `==` | Equal to | `5 == 5` | `1` (true) |
| `!=` | Not equal to | `5 != 3` | `1` (true) |
| `>` | Greater than | `5 > 3` | `1` (true) |
| `<` | Less than | `5 < 3` | `0` (false) |
| `>=` | Greater or equal | `5 >= 5` | `1` (true) |
| `<=` | Less or equal | `5 <= 3` | `0` (false) |

### Examples

```c
#include <stdio.h>

int main() {
    int age = 18;
    
    printf("age == 18: %d\n", age == 18); // 1 (true)
    printf("age != 18: %d\n", age != 18); // 0 (false)
    printf("age > 17: %d\n", age > 17); // 1 (true)
    printf("age < 21: %d\n", age < 21); // 1 (true)
    printf("age >= 18: %d\n", age >= 18); // 1 (true)
    printf("age <= 18: %d\n", age <= 18); // 1 (true)
    
    return 0;
}

```

* * *

## Logical Operators

Combine multiple conditions.

| Operator | Name | Meaning |
| --- | --- | --- |
| `&&` | AND | Both conditions true |
| `||` | OR | At least one true |
| `!` | NOT | Opposite result |

### AND (&&)

```c
int age = 25;
int income = 50000;

if (age > 18 && income > 40000) {
    printf("Eligible for loan\n"); // Both true, so this runs
}

```

### OR (||)

```c
int day = 6; // Saturday

if (day == 6 || day == 7) {
    printf("It's the weekend!\n"); // At least one true
}

```

### NOT (!)

```c
int isRaining = 0; // 0 means false

if (!isRaining) {
    printf("Let's go outside!\n"); // Opposite of 0 is 1 (true)
}

```

* * *

## Assignment Operators

Assign values to variables.

| Operator | Example | Equivalent |
| --- | --- | --- |
| `=` | `x = 5` | Assign 5 to x |
| `+=` | `x += 5` | `x = x + 5` |
| `-=` | `x -= 5` | `x = x - 5` |
| `*=` | `x *= 5` | `x = x * 5` |
| `/=` | `x /= 5` | `x = x / 5` |
| `%=` | `x %= 5` | `x = x % 5` |

### Examples

```c
int x = 10;

x += 5; // x is now 15
printf("%d\n", x);

x -= 3; // x is now 12
printf("%d\n", x);

x *= 2; // x is now 24
printf("%d\n", x);

```

* * *

## Increment and Decrement

| Operator | Meaning | Example |
| --- | --- | --- |
| `++` | Increment by 1 | `x++` or `++x` |
| `--` | Decrement by 1 | `x--` or `--x` |

### Examples

```c
int count = 5;

count++;
printf("%d\n", count); // 6

count--;
printf("%d\n", count); // 5

```

* * *

## Practical Example

```c
#include <stdio.h>

int main() {
    // Shopping calculation
    float itemPrice = 29.99;
    int quantity = 3;
    const float TAX = 0.08;
    
    float subtotal = itemPrice * quantity;
    float tax = subtotal * TAX;
    float total = subtotal + tax;
    
    printf("Item Price: $%.2f\n", itemPrice);
    printf("Quantity: %d\n", quantity);
    printf("Subtotal: $%.2f\n", subtotal);
    printf("Tax (8%%): $%.2f\n", tax);
    printf("Total: $%.2f\n", total);
    
    // Check if discount applies
    int discount = (total >= 100) ? 10 : 0;
    printf("Discount: $%d\n", discount);
    
    return 0;
}

```

* * *

## Operator Precedence

Order of operations matters:

```c
int result = 5 + 3 * 2; // 11, not 16
// Multiplication happens first: 3 * 2 = 6
// Then addition: 5 + 6 = 11

```

Use parentheses to be clear:

```c
int result1 = 5 + 3 * 2; // 11
int result2 = (5 + 3) * 2; // 16

```

* * *

## Quick Reference

```c
// Arithmetic
int sum = 10 + 5; // 15
int product = 10 * 5; // 50

// Comparison
int equal = (10 == 10); // 1 (true)
int greater = (10 > 5); // 1 (true)

// Logical
int both = (1 && 1); // 1 (true)
int either = (0 || 1); // 1 (true)
int opposite = !0; // 1 (true)

// Assignment
int x = 5;
x += 3; // x is now 8
x++; // x is now 9

```

* * *

## Practice Exercise

Create `operators.c`:

```c
#include <stdio.h>

int main() {
    int num1 = 20;
    int num2 = 8;
    
    printf("=== Arithmetic ===\n");
    printf("%d + %d = %d\n", num1, num2, num1 + num2);
    printf("%d - %d = %d\n", num1, num2, num1 - num2);
    printf("%d * %d = %d\n", num1, num2, num1 * num2);
    printf("%d / %d = %d\n", num1, num2, num1 / num2);
    printf("%d %% %d = %d\n", num1, num2, num1 % num2);
    
    printf("\n=== Comparison ===\n");
    printf("%d > %d: %d\n", num1, num2, num1 > num2);
    printf("%d < %d: %d\n", num1, num2, num1 < num2);
    printf("%d == %d: %d\n", num1, num2, num1 == num2);
    
    return 0;
}

```

* * *

### 📚 Navigation

| Previous | Next |
| --- | --- |
| [← C Constants](https://buzzly.harislab.tech/t/09-c-constants-creating-fixed-values/197/1) | C Booleans → |

* * *

## ❓ Have Questions?

**Comment below and we’ll help you!** Need help with operators? Ask in the comments!

* * *

---

_[View the full topic](https://buzzly.harislab.tech/t/10-c-operators-mathematical-and-logical-operations/198)._
