Complete C Programming Guide with
Mini Projects and Practice Sets
1. Structure of a C Program
A C program has the following structure:
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
2. Variables and Data Types
Common data types:
- int, float, char, double
Example:
int age = 25;
float weight = 60.5;
char grade = 'A';
3. Operators
Arithmetic: + - * / %
Relational: == != > < >= <=
Logical: && || !
4. Control Statements
if-else, switch-case, for/while/do-while
Example:
if (x > 0) {
printf("Positive");
}
5. Functions
Reusable blocks of code.
Example:
int add(int a, int b) {
return a + b;
}
6. Arrays
Fixed-size collection of same type.
Example:
int nums[5] = {1, 2, 3, 4, 5};
7. Strings
Character arrays ending with '\0'.
Example:
char name[] = "Adnan";
8. Pointers
Store memory addresses.
int x = 10;
int *p = &x;
9. Structures
Group multiple variables:
struct Student {
char name[20]; int age;
};
10. File Handling
Read/Write to files.
FILE *fp = fopen("[Link]", "w");
fprintf(fp, "Hello!");
fclose(fp);
11. Recursion
Function calling itself.
Example:
int fact(int n) {
if(n==1) return 1;
return n * fact(n-1);
}
12. Dynamic Memory Allocation
malloc, calloc, realloc, free
int *ptr = malloc(5 * sizeof(int));
free(ptr);
13. Sorting & Searching
Linear Search and Bubble Sort:
int search(int arr[], int n, int key) { ... }
void bubbleSort(int arr[], int n) { ... }
14. Command Line Arguments
int main(int argc, char *argv[]) {
printf("%s", argv[1]);
}
15. Mini Projects
1. Simple Calculator using switch-case.
2. Student Records System using structure and file.
3. Temperature Converter (C to F and F to C).
4. Matrix Multiplication using 2D Arrays.
5. Number Guessing Game using loops.
16. Practice Sets
Beginner:
- Write a program to check if a number is even or odd.
- Print the multiplication table of a number.
- Find the largest of three numbers.
Intermediate:
- Create a function that reverses an array.
- Store student info (name, roll, marks) and find topper.
- Write a program to copy contents of one file to another.
Advanced:
- Use recursion to find Fibonacci series.
- Sort an array using bubble sort and binary search a value.
- Build a contact book using structure and file handling.