0Pricing
C Academy · Lesson

Explicit Casts

Manual conversions.

Explicit Casts is a free C Academy lesson on CoddyKit — lesson 2 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, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

What Is a Cast

A cast explicitly converts a value to another type using (type)value. It tells the compiler exactly what you want.

#include <stdio.h>
int main(void) {
    double d = (double)5;
    printf("%.1f\n", d);
    return 0;
}

Forcing Real Division

Cast one operand to double so division keeps the fractional part.

#include <stdio.h>
int main(void) {
    int a = 7, b = 2;
    double r = (double)a / b;
    printf("%.2f\n", r);
    return 0;
}

Truncating on Purpose

Casting a double to int discards decimals. Sometimes that is exactly what you want.

#include <stdio.h>
int main(void) {
    double price = 19.95;
    int dollars = (int)price;
    printf("dollars = %d\n", dollars);
    return 0;
}

Cast vs Implicit

An implicit conversion happens automatically; a cast documents intent and silences warnings.

#include <stdio.h>
int main(void) {
    long big = 100000L;
    int n = (int)big;
    printf("n = %d\n", n);
    return 0;
}

Casting in Expressions

A cast applies only to the value next to it, so order and parentheses matter.

#include <stdio.h>
int main(void) {
    int total = 5, count = 2;
    double avg = (double)total / count;
    printf("avg = %.2f\n", avg);
    return 0;
}

Char and Int Casts

You can cast between char and int to move between a character and its code.

#include <stdio.h>
int main(void) {
    int code = 66;
    char c = (char)code;
    printf("c = %c\n", c);
    return 0;
}

Rounding With a Cast

Add 0.5 before casting to round a positive number to the nearest integer.

#include <stdio.h>
int main(void) {
    double d = 2.7;
    int rounded = (int)(d + 0.5);
    printf("rounded = %d\n", rounded);
    return 0;
}

Casting to unsigned

You can cast to unsigned, but a negative value wraps around to a large positive number.

#include <stdio.h>
int main(void) {
    int x = 10;
    unsigned int u = (unsigned int)x;
    printf("u = %u\n", u);
    return 0;
}

Avoid Unneeded Casts

Casting when the conversion is already safe and implicit just adds noise. Use casts where they clarify or are required.

#include <stdio.h>
int main(void) {
    int a = 4;
    double d = a;
    printf("%.1f\n", d);
    return 0;
}

Casting in a Formula

A cast inside a percentage calculation keeps the result precise.

#include <stdio.h>
int main(void) {
    int done = 3, total = 8;
    double pct = (double)done / total * 100.0;
    printf("%.1f%%\n", pct);
    return 0;
}

Casting With Math Functions

Casts help when feeding integer values into floating-point math.

#include <stdio.h>
int main(void) {
    int n = 9;
    double root = (double)n / 3.0;
    printf("%.2f\n", root);
    return 0;
}

Quick Check

Test your understanding of explicit casts.

Recap: Explicit Casts

You learned to convert types on purpose.

  • Syntax is (type)value
  • Cast to force real division
  • Cast to truncate intentionally
  • Casts document intent and silence warnings
  • Cast affects only the adjacent value, so use parentheses

Frequently asked questions

Is the “Explicit Casts” lesson free?

Yes — the full text of “Explicit Casts” is free to read here on the web, and the C Academy course includes 4 lessons in total. 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.

What will I learn in “Explicit Casts”?

Manual conversions. 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; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Explicit Casts” 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

  1. Implicit Conversions
  2. Explicit Casts
  3. Integer and Float Conversions
  4. Conversion Pitfalls
← Back to C Academy