Back to C Programming
2026-07-126 min read

Primary Types C Keywords

Learn Primary Types C Keywords step by step with clear examples and exercises.

Why This Matters

Understanding C keywords is crucial for mastering the C programming language. These keywords serve as building blocks, guiding the structure and functionality of your programs. A strong grasp of them will help you write efficient, error-free code, and set a solid foundation for more complex projects.

In this lesson, we'll delve into primary types of C keywords, their uses, and common mistakes to avoid when working with them. This knowledge is valuable for students preparing for exams or interviews, as well as seasoned programmers looking to sharpen their skills or debug real-world issues.

Prerequisites

Before diving into the primary types of C keywords, it's essential to have a basic understanding of:

  1. C programming syntax and variables
  2. Data types such as integers, floating-point numbers, and characters
  3. Basic operators like arithmetic, relational, and logical operators
  4. Control structures like loops and conditional statements
  5. Understanding the difference between variables, functions, and constants in C
  6. Familiarity with basic file I/O operations using printf and scanf
  7. Knowledge of common data structures such as arrays and pointers

Core Concept

C keywords can be divided into several categories:

  1. Reserved words: These are predefined identifiers that have specific meanings in the C language. They cannot be used as variable or function names. Examples include int, float, char, if, while, for, and many more.
int a = 10; // Using the reserved word 'int' to declare an integer variable 'a'
  1. Control structures: Keywords that control the flow of your program, such as if, else, switch, case, break, continue, and goto. These keywords help you make decisions, loop through data, and manage complex logic within your code.
int x = 5;
if (x > 0) {
printf("x is positive\n");
} else {
printf("x is negative or zero\n");
}
  1. Declarations: Keywords used to declare variables, functions, and structures. Examples include int, float, char, void, struct, and typedef.
int myArray[10]; // Declaring an array of integers named 'myArray' with 10 elements
void myFunction(); // Declaring a function named 'myFunction' without specifying its return type
  1. Statements: Keywords that represent complete actions or instructions in the C language. Examples include printf, scanf, and return.
printf("Hello, World!\n"); // Outputting the string "Hello, World!" using the 'printf' statement
  1. Operators: Symbols used to perform operations on variables, values, and expressions. Examples include arithmetic operators (+, -, *, /, %), relational operators (==, !=, <, >, <=, >=), logical operators (&&, ||, !), and assignment operators (=, +=, -=, *=, /=, %=).
int a = 5;
int b = 3;
int sum = a + b; // Using the '+' operator to add variables 'a' and 'b' and assign the result to 'sum'
  1. Preprocessor directives: Keywords that allow you to include other files, define constants, and control the compilation process. Examples include #include, #define, and #if.
#include <stdio.h> // Including the standard input/output header file using a preprocessor directive

In the following sections, we'll explore a few examples of each category and provide practical walkthroughs for better understanding these primary types of C keywords.

Worked Example

Let's consider a simple program that uses several keywords from different categories:

#include <stdio.h>

// Function prototype for 'myFunction'
void myFunction();

int main() {
int x = 5; // Declaring and initializing an integer variable 'x'
float y = 3.14; // Declaring and initializing a floating-point variable 'y'
char z = 'A'; // Declaring and initializing a character variable 'z'

printf("Enter a number: "); // Using 'printf' to output a prompt for user input
int userInput; // Declaring an integer variable 'userInput' to store the user's input
scanf("%d", &userInput); // Using 'scanf' to read user input and store it in 'userInput'

if (x > 0) {
printf("x is positive\n");
} else {
printf("x is negative or zero\n");
}

printf("The value of x is %d\n", x); // Using 'printf' to output the value of 'x'
printf("The value of y is %.2f\n", y); // Using 'printf' to output the value of 'y' with two decimal places
printf("The value of z is %c\n", z); // Using 'printf' to output the value of 'z' as a character

myFunction(); // Calling the 'myFunction' function we declared earlier

return 0;
}

void myFunction() {
printf("Hello from myFunction!\n"); // Defining and implementing the 'myFunction' we declared earlier
}

In this example, we have:

  • Reserved words: int, float, char, if, else, printf, scanf, return, void
  • Control structures: if, else
  • Declarations: int x, float y, char z, int userInput, void myFunction()
  • Statements: printf, scanf, myFunction(), return 0
  • Operators: >, =, %d, %.2f, %c

Common Mistakes

When working with C keywords, common mistakes include:

  1. Forgetting semicolons (;): Semicolons are required at the end of declarations and statements in C. Forgetting them can lead to syntax errors or unexpected behavior.
int x = 5 // This is incorrect! A semicolon is missing after 'int'
  1. Variable naming issues: Using reserved words as variable names, or naming variables with invalid characters (such as spaces or special symbols).
int if = 10; // This is incorrect! 'if' is a reserved word in C
  1. Incorrect data types: Assigning the wrong data type to a variable, which can cause unexpected results or compile-time errors.
char myVariable = 12345; // This is incorrect! 'myVariable' should be an integer, not a character
  1. Misusing control structures: Using if statements and loops incorrectly, leading to unintended program flow or logic errors.
int x = 5;
if (x > 10) { // This is incorrect! The condition will never be true, so the code inside the 'if' block won't execute
printf("x is greater than 10\n");
}
  1. Improper use of operators: Misunderstanding the order of operations, leading to incorrect results or logical errors.
int a = 2;
int b = 3;
int sum = a * b + 1; // This is incorrect! The multiplication should be performed before the addition, so the correct expression would be 'a * (b + 1)'

In the following sections, we'll explore these mistakes in more detail and provide examples for each.

Practice Questions

  1. Write a program that uses switch statements to calculate the area of different shapes (square, rectangle, circle).
  2. Write a program that takes user input for three sides of a triangle and checks whether it's a right-angled triangle or not.
  3. Write a program that asks the user for their name and age, then prints a personalized greeting based on their age (e.g., "Hello John! You are 25 years old.").
  4. Write a program that reads in an array of numbers and finds the maximum and minimum values using if statements.
  5. Write a program that demonstrates the use of all four arithmetic operators (addition, subtraction, multiplication, division) on two variables.
  6. Write a program that calculates the factorial of a number entered by the user using recursion and loops.
  7. Write a program that implements a simple calculator with support for addition, subtraction, multiplication, and division operations.

FAQ

  1. Why are semicolons important in C?

Semicolons (;) are used to terminate statements in C. They help the compiler distinguish between individual statements and prevent syntax errors.

  1. What happens if I use a reserved word as a variable name in C?

Using a reserved word as a variable name will result in a compile-time error, as those words have specific meanings in the C language and cannot be used as regular variables or function names.

  1. Why can't I assign a string to an integer variable in C?

In C, variables are strongly typed, meaning that you cannot directly assign a string (which is a sequence of characters) to an integer variable. This will result in a compile-time error.

  1. What is the difference between '==' and '=' operators in C?

The '=' operator is used for assignment, while '==' is used for comparison. Assignment sets a value to a variable, while comparison checks if two expressions are equal or not.

  1. Why can't I use spaces or special characters in my variable names in C?

Variable names in C cannot contain spaces or special characters (except underscores) because they must follow the identifier naming rules. Using spaces or special characters will result in a compile-time error.