Coding Example Of C Programming

Coding Example Of C Programming Language



1. Hello, World!:

```c

#include <stdio.h>


int main() {

    printf("Hello, World!\n");

    return 0;

}

```


2. Input and Output:

```c

#include <stdio.h>


int main() {

    int number;

    

    printf("Enter a number: ");

    scanf("%d", &number);

    

    printf("You entered: %d\n", number);

    

    return 0;

}

```


3. Arithmetic Operations:

```c

#include <stdio.h>


int main() {

    int a = 10, b = 5;

    int sum, diff, prod, quotient, remainder;

    

    sum = a + b;

    diff = a - b;

    prod = a * b;

    quotient = a / b;

    remainder = a % b;

    

    printf("Sum: %d\n", sum);

    printf("Difference: %d\n", diff);

    printf("Product: %d\n", prod);

    printf("Quotient: %d\n", quotient);

    printf("Remainder: %d\n", remainder);

    

    return 0;

}

```


4. If-Else Statement:

```c

#include <stdio.h>


int main() {

    int number;

    

    printf("Enter a number: ");

    scanf("%d", &number);

    

    if (number % 2 == 0) {

        printf("%d is even.\n", number);

    } else {

        printf("%d is odd.\n", number);

    }

    

    return 0;

}

```


5. Switch Statement:

```c

#include <stdio.h>


int main() {

    int choice;

    

    printf("Enter a choice (1-3): ");

    scanf("%d", &choice);

    

    switch (choice) {

        case 1:

            printf("You selected option 1.\n");

            break;

        case 2:

            printf("You selected option 2.\n");

            break;

        case 3:

            printf("You selected option 3.\n");

            break;

        default:

            printf("Invalid choice.\n");

            break;

    }

    

    return 0;

}

```


6. For Loop:

```c

#include <stdio.h>


int main() {

    int i;

    

    for (i = 1; i <= 10; i++) {

        printf("%d ", i);

    }

    

    printf("\n");

    

    return 0;

}

```


7. While Loop:

```c

#include <stdio.h>


int main() {

    int i = 1;

    

    while (i <= 10) {

        printf("%d ", i);

        i++;

    }

    

    printf("\n");

    

    return 0;

}

```


8. Do-While Loop:

```c

#include <stdio.h>


int main() {

    int i = 1;

    

    do {

        printf("%d ", i);

        i++;

    } while (i <= 10);

    

    printf("\n");

    

    return 0;

}

```


9. Nested Loop:

```c

#include <stdio.h>


int main() {

    int i, j;

    

    for (i = 1; i <= 5; i++) {

        for (j = 1; j <= i; j++) {

            printf("* ");

        }

        printf("\n");

    }

    

    return 0;

}

```


10. Arrays:

```c

#include <stdio.h>


int main() {

    int numbers[5] = {1, 2, 3, 4, 5};

    int i;

    

    for (i = 0; i < 5; i++) {

        printf("%d ", numbers[i]);

    }

    

    printf("\n");

    

    return 0;

}

```


11. String Input and Output:

```c

#include <stdio.h>


int main() {

    char name[20];

    

    printf("Enter your name: ");

    scanf("%s", name);

    

    printf("Hello, %s!\n", name);

    

    return 0;

}

```


12. Functions:

```c

#include <stdio.h>


int add(int a, int b) {

    return a + b;

}


int main() {

    int result = add(5, 3);

    

    printf("Result: %d\n", result);

    

    return 0;

}

```


13. Recursion:

```c

#include <stdio.h>


int factorial(int n) {

    if (n == 0 || n == 1) {

        return 1;

    } else {

        return n * factorial(n - 1);

    }

}


int main() {

    int num = 5;

    int result = factorial(num);

    

    printf("Factorial of %d is %d\n", num, result);

    

    return 0;

}

```


14. Pointers:

```c

#include <stdio.h>


int main() {

    int number = 10;

    int *ptr;

    

    ptr = &number;

    

    printf("Value of number: %d\n", number);

    printf("Address of number: %p\n", &number);

    printf("Value of ptr: %p\n", ptr);

    printf("Value at ptr: %d\n", *ptr);

    

    return 0;

}

```


15. Structures:

```c

#include <stdio.h>


struct student {

    char name[20];

    int age;

    float marks;

};


int main() {

    struct student s;

    

    printf("Enter name: ");

    scanf("%s", s.name);

    

    printf("Enter age: ");

    scanf("%d", &s.age);

    

    printf("Enter marks: ");

    scanf("%f", &s.marks);

    

    printf("Name: %s\n", s.name);

    printf("Age: %d\n", s.age);

    printf("Marks: %.2f\n", s.marks);

    

    return 0;

}

```


16. File Input and Output:

```c

#include <stdio.h>


int main() {

    FILE *file;

    char data[100];

    

    file = fopen("example.txt", "w");

    

    if (file == NULL) {

        printf("File could not be opened.\n");

        return 1;

    }

    

    printf("Enter data to write to the file: ");

    fgets(data, sizeof(data), stdin);

    

    fprintf(file, "%s", data);

    

    fclose(file);

    

    printf("Data written to the file successfully.\n");

    

    return 0;

}

```


17. Command Line Arguments:

```c

#include <stdio.h>


int main(int argc, char *argv[]) {

    int i;

    

    printf("Number of arguments: %d\n", argc);

    

    for (i = 0; i < argc; i++) {

        printf("Argument %d: %s\n", i, argv[i]);

    }

    

    return 0;

}

```


18. Dynamic Memory Allocation:

```c

#include <stdio.h>

#include <stdlib.h>


int main() {

    int *numbers


;

    int size, i;

    

    printf("Enter the size of the array: ");

    scanf("%d", &size);

    

    numbers = (int *) malloc(size * sizeof(int));

    

    if (numbers == NULL) {

        printf("Memory allocation failed.\n");

        return 1;

    }

    

    printf("Enter %d numbers:\n", size);

    

    for (i = 0; i < size; i++) {

        scanf("%d", &numbers[i]);

    }

    

    printf("Numbers entered: ");

    

    for (i = 0; i < size; i++) {

        printf("%d ", numbers[i]);

    }

    

    printf("\n");

    

    free(numbers);

    

    return 0;

}

```


19. Bitwise Operators:

```c

#include <stdio.h>


int main() {

    int a = 5, b = 3;

    

    printf("Bitwise AND: %d\n", a & b);

    printf("Bitwise OR: %d\n", a | b);

    printf("Bitwise XOR: %d\n", a ^ b);

    printf("Bitwise NOT of %d: %d\n", a, ~a);

    printf("Bitwise left shift: %d\n", a << 1);

    printf("Bitwise right shift: %d\n", a >> 1);

    

    return 0;

}

```


20. Enumerations:

```c

#include <stdio.h>


enum Day {SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY};


int main() {

    enum Day today = WEDNESDAY;

    

    switch (today) {

        case SUNDAY:

            printf("Today is Sunday.\n");

            break;

        case MONDAY:

            printf("Today is Monday.\n");

            break;

        case TUESDAY:

            printf("Today is Tuesday.\n");

            break;

        case WEDNESDAY:

            printf("Today is Wednesday.\n");

            break;

        case THURSDAY:

            printf("Today is Thursday.\n");

            break;

        case FRIDAY:

            printf("Today is Friday.\n");

            break;

        case SATURDAY:

            printf("Today is Saturday.\n");

            break;

    }

    

    return 0;

}

```


21. Preprocessor Directives:

```c

#include <stdio.h>


#define PI 3.14159

#define SQUARE(x) ((x) * (x))


int main() {

    float radius = 5.0;

    float area;

    

    area = PI * SQUARE(radius);

    

    printf("Area of the circle: %.2f\n", area);

    

    return 0;

}

```


22. Typedef:

```c

#include <stdio.h>


typedef struct {

    int x;

    int y;

} Point;


int main() {

    Point p;

    

    p.x = 3;

    p.y = 5;

    

    printf("Coordinates: (%d, %d)\n", p.x, p.y);

    

    return 0;

}

```


23. Math Library Functions:

```c

#include <stdio.h>

#include <math.h>


int main() {

    float number = 25.0;

    float squareRoot = sqrt(number);

    float sineValue = sin(number);

    float cosineValue = cos(number);

    float powerValue = pow(2.0, 3.0);

    

    printf("Square root: %.2f\n", squareRoot);

    printf("Sine value: %.2f\n", sineValue);

    printf("Cosine value: %.2f\n", cosineValue);

    printf("Power value: %.2f\n", powerValue);

    

    return 0;

}

```


24. Constant Pointers:

```c

#include <stdio.h>


int main() {

    int number = 10;

    int *const ptr = &number;

    

    printf("Value of number: %d\n", number);

    printf("Value of ptr: %p\n", ptr);

    printf("Value at ptr: %d\n", *ptr);

    

    *ptr = 20;

    

    printf("Value of number: %d\n", number);

    printf("Value at ptr: %d\n", *ptr);

    

    return 0;

}

```


25. Variable Number of Arguments:

```c

#include <stdio.h>

#include <stdarg.h>


int sum(int count, ...) {

    int total = 0;

    int i;

    

    va_list args;

    va_start(args, count);

    

    for (i = 0; i < count; i++) {

        total += va_arg(args, int);

    }

    

    va_end(args);

    

    return total;

}


int main() {

    int result = sum(4, 5, 10, 15, 20);

    

    printf("Sum: %d\n", result);

    

    return 0;

}

```


26. Bit Fields:

```c

#include <stdio.h>


struct {

    unsigned int age : 3;

} person;


int main() {

    person.age = 5;

    

    printf("Age: %d\n", person.age);

    

    return 0;

}

```


27. Command Line Input and Output:

```c

#include <stdio.h>


int main(int argc, char *argv[]) {

    FILE *inputFile;

    FILE *outputFile;

    int number;

    

    if (argc < 3) {

        printf("Usage: program_name input_file output_file\n");

        return 1;

    }

    

    inputFile = fopen(argv[1], "r");

    

    if (inputFile == NULL) {

        printf("Input file could not be opened.\n");

        return 1;

    }

    

    outputFile = fopen(argv[2], "w");

    

    if (outputFile == NULL) {

        printf("Output file could not be opened.\n");

        return 1;

    }

    

    while (fscanf(inputFile, "%d", &number) != EOF) {

        fprintf(outputFile, "%d\n", number * 2);

    }

    

    fclose(inputFile);

    fclose(outputFile);

    

    printf("Output file created successfully.\n");

    

    return 0;

}

```


28. Recursive Structures:

```c

#include <stdio.h>


struct Node {

    int data;

    struct Node *next;

};


void printList(struct Node *node) {

    while (node != NULL) {

        printf("%d ", node->data);

        node = node->next;

    }

    printf("\n");

}


int main() {

    struct Node node1, node2, node3;

    

    node1.data = 1;

    node2.data = 2;

    node3.data = 3;

    

    node1.next = &node2;

    node2.next = &node3;

    node3.next = NULL;

    

    printList(&node1);

    

    return 0;

}

```


29. Binary Search:

```c

#include <stdio.h>


int binarySearch(int arr[], int size, int key) {

    int low = 0;

    int high = size - 1;

    int


 mid;

    

    while (low <= high) {

        mid = (low + high) / 2;

        

        if (arr[mid] == key) {

            return mid;

        } else if (arr[mid] < key) {

            low = mid + 1;

        } else {

            high = mid - 1;

        }

    }

    

    return -1;

}


int main() {

    int arr[] = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};

    int size = sizeof(arr) / sizeof(arr[0]);

    int key = 23;

    

    int index = binarySearch(arr, size, key);

    

    if (index != -1) {

        printf("Element found at index %d.\n", index);

    } else {

        printf("Element not found.\n");

    }

    

    return 0;

}

```


30. Bubble Sort:

```c

#include <stdio.h>


void bubbleSort(int arr[], int size) {

    int i, j, temp;

    

    for (i = 0; i < size - 1; i++) {

        for (j = 0; j < size - 1 - i; j++) {

            if (arr[j] > arr[j + 1]) {

                temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

            }

        }

    }

}


int main() {

    int arr[] = {64, 34, 25, 12, 22, 11, 90};

    int size = sizeof(arr) / sizeof(arr[0]);

    int i;

    

    printf("Array before sorting: ");

    for (i = 0; i < size; i++) {

        printf("%d ", arr[i]);

    }

    

    printf("\n");

    

    bubbleSort(arr, size);

    

    printf("Array after sorting: ");

    for (i = 0; i < size; i++) {

        printf("%d ", arr[i]);

    }

    

    printf("\n");

    

    return 0;

}

```


31. Linked List:

```c

#include <stdio.h>

#include <stdlib.h>


struct Node {

    int data;

    struct Node *next;

};


void printList(struct Node *node) {

    while (node != NULL) {

        printf("%d ", node->data);

        node = node->next;

    }

    printf("\n");

}


int main() {

    struct Node *head = NULL;

    struct Node *second = NULL;

    struct Node *third = NULL;

    

    head = (struct Node *) malloc(sizeof(struct Node));

    second = (struct Node *) malloc(sizeof(struct Node));

    third = (struct Node *) malloc(sizeof(struct Node));

    

    head->data = 1;

    head->next = second;

    

    second->data = 2;

    second->next = third;

    

    third->data = 3;

    third->next = NULL;

    

    printList(head);

    

    return 0;

}

```


32. Doubly Linked List:

```c

#include <stdio.h>

#include <stdlib.h>


struct Node {

    int data;

    struct Node *prev;

    struct Node *next;

};


void printList(struct Node *node) {

    while (node != NULL) {

        printf("%d ", node->data);

        node = node->next;

    }

    printf("\n");

}


int main() {

    struct Node *head = NULL;

    struct Node *second = NULL;

    struct Node *third = NULL;

    

    head = (struct Node *) malloc(sizeof(struct Node));

    second = (struct Node *) malloc(sizeof(struct Node));

    third = (struct Node *) malloc(sizeof(struct Node));

    

    head->data = 1;

    head->prev = NULL;

    head->next = second;

    

    second->data = 2;

    second->prev = head;

    second->next = third;

    

    third->data = 3;

    third->prev = second;

    third->next = NULL;

    

    printList(head);

    

    return 0;

}

```


33. Circular Linked List:

```c

#include <stdio.h>

#include <stdlib.h>


struct Node {

    int data;

    struct Node *next;

};


void printList(struct Node *head) {

    struct Node *current = head;

    

    if (head != NULL) {

        do {

            printf("%d ", current->data);

            current = current->next;

        } while (current != head);

    }

    

    printf("\n");

}


int main() {

    struct Node *head = NULL;

    struct Node *second = NULL;

    struct Node *third = NULL;

    

    head = (struct Node *) malloc(sizeof(struct Node));

    second = (struct Node *) malloc(sizeof(struct Node));

    third = (struct Node *) malloc(sizeof(struct Node));

    

    head->data = 1;

    head->next = second;

    

    second->data = 2;

    second->next = third;

    

    third->data = 3;

    third->next = head;

    

    printList(head);

    

    return 0;

}

```


34. Stack using Array:

```c

#include <stdio.h>

#define MAX_SIZE 100


int stack[MAX_SIZE];

int top = -1;


void push(int item) {

    if (top >= MAX_SIZE - 1) {

        printf("Stack Overflow.\n");

    } else {

        stack[++top] = item;

    }

}


int pop() {

    if (top < 0) {

        printf("Stack Underflow.\n");

        return -1;

    } else {

        return stack[top--];

    }

}


int peek() {

    if (top < 0) {

        printf("Stack is empty.\n");

        return -1;

    } else {

        return stack[top];

    }

}


int isEmpty() {

    return top < 0;

}


void display() {

    int i;

    

    if (isEmpty()) {

        printf("Stack is empty.\n");

    } else {

        printf("Stack elements: ");

        for (i = top; i >= 0; i--) {

            printf("%d ", stack[i]);

        }

        printf("\n");

    }

}


int main() {

    push(1);

    push(2);

    push(3);

    push(4);

    

    display();

    

    printf("Popped element: %d\n", pop());

    printf("Top element: %d\n", peek());

    

    display();

    

    return 0;

}

```


35. Stack using Linked List:

```c

#include <stdio.h>

#include <stdlib.h>


struct Node {

    int data;

    struct Node *next;

};


struct Node *top = NULL;


void push(int item) {

    struct Node *newNode = (struct Node *) malloc(sizeof(struct Node));

    

    if (newNode == NULL) {

        printf("Stack Overflow.\n");

    } else {

        newNode->data = item;

        newNode->next = top;

        top = newNode;

    }

}


int pop() {

    struct Node *temp;

    int item;



    

    if (top == NULL) {

        printf("Stack Underflow.\n");

        return -1;

    } else {

        temp = top;

        item = temp->data;

        top = top->next;

        free(temp);

        return item;

    }

}


int peek() {

    if (top == NULL) {

        printf("Stack is empty.\n");

        return -1;

    } else {

        return top->data;

    }

}


int isEmpty() {

    return top == NULL;

}


void display() {

    struct Node *temp;

    

    if (isEmpty()) {

        printf("Stack is empty.\n");

    } else {

        temp = top;

        printf("Stack elements: ");

        while (temp != NULL) {

            printf("%d ", temp->data);

            temp = temp->next;

        }

        printf("\n");

    }

}


int main() {

    push(1);

    push(2);

    push(3);

    push(4);

    

    display();

    

    printf("Popped element: %d\n", pop());

    printf("Top element: %d\n", peek());

    

    display();

    

    return 0;

}

```


36. Queue using Array:

```c

#include <stdio.h>

#define MAX_SIZE 100


int queue[MAX_SIZE];

int front = -1;

int rear = -1;


void enqueue(int item) {

    if (rear == MAX_SIZE - 1) {

        printf("Queue Overflow.\n");

    } else {

        if (front == -1) {

            front = 0;

        }

        queue[++rear] = item;

    }

}


int dequeue() {

    int item;

    

    if (front == -1 || front > rear) {

        printf("Queue Underflow.\n");

        return -1;

    } else {

        item = queue[front++];

        return item;

    }

}


int isEmpty() {

    return front == -1 || front > rear;

}


void display() {

    int i;

    

    if (isEmpty()) {

        printf("Queue is empty.\n");

    } else {

        printf("Queue elements: ");

        for (i = front; i <= rear; i++) {

            printf("%d ", queue[i]);

        }

        printf("\n");

    }

}


int main() {

    enqueue(1);

    enqueue(2);

    enqueue(3);

    enqueue(4);

    

    display();

    

    printf("Dequeued element: %d\n", dequeue());

    

    display();

    

    return 0;

}

```


37. Queue using Linked List:

```c

#include <stdio.h>

#include <stdlib.h>


struct Node {

    int data;

    struct Node *next;

};


struct Node *front = NULL;

struct Node *rear = NULL;


void enqueue(int item) {

    struct Node *newNode = (struct Node *) malloc(sizeof(struct Node));

    

    if (newNode == NULL) {

        printf("Queue Overflow.\n");

    } else {

        newNode->data = item;

        newNode->next = NULL;

        

        if (rear == NULL) {

            front = rear = newNode;

        } else {

            rear->next = newNode;

            rear = newNode;

        }

    }

}


int dequeue() {

    struct Node *temp;

    int item;

    

    if (front == NULL) {

        printf("Queue Underflow.\n");

        return -1;

    } else {

        temp = front;

        item = temp->data;

        front = front->next;

        

        if (front == NULL) {

            rear = NULL;

        }

        

        free(temp);

        return item;

    }

}


int isEmpty() {

    return front == NULL;

}


void display() {

    struct Node *temp;

    

    if (isEmpty()) {

        printf("Queue is empty.\n");

    } else {

        temp = front;

        printf("Queue elements: ");

        while (temp != NULL) {

            printf("%d ", temp->data);

            temp = temp->next;

        }

        printf("\n");

    }

}


int main() {

    enqueue(1);

    enqueue(2);

    enqueue(3);

    enqueue(4);

    

    display();

    

    printf("Dequeued element: %d\n", dequeue());

    

    display();

    

    return 0;

}

```


38. Selection Sort:

```c

#include <stdio.h>


void selectionSort(int arr[], int size) {

    int i, j, minIndex, temp;

    

    for (i = 0; i < size - 1; i++) {

        minIndex = i;

        

        for (j = i + 1; j < size; j++) {

            if (arr[j] < arr[minIndex]) {

                minIndex = j;

            }

        }

        

        temp = arr[i];

        arr[i] = arr[minIndex];

        arr[minIndex] = temp;

    }

}


int main() {

    int arr[] = {64, 25, 12, 22, 11};

    int size = sizeof(arr) / sizeof(arr[0]);

    int i;

    

    printf("Array before sorting: ");

    for (i = 0; i < size; i++) {

        printf("%d ", arr[i]);

    }

    

    printf("\n");

    

    selectionSort(arr, size);

    

    printf("Array after sorting: ");

    for (i = 0; i < size; i++) {

        printf("%d ", arr[i]);

    }

    

    printf("\n");

    

    return 0;

}

```


39. Insertion Sort:

```c

#include <stdio.h>


void insertionSort(int arr[], int size) {

    int i, j, key;

    

    for (i = 1; i < size; i++) {

        key = arr[i];

        j = i - 1;

        

        while (j >= 0 && arr[j] > key) {

            arr[j + 1] = arr[j];

            j--;

        }

        

        arr[j + 1] = key;

    }

}


int main() {

    int arr[] = {64, 25, 12, 22, 11};

    int size = sizeof(arr) / sizeof(arr[0]);

    int i;

    

    printf("Array before sorting: ");

    for (i = 0; i < size; i++) {

        printf("%d ", arr[i]);

    }

    

    printf("\n");

    

    insertionSort(arr, size);

    

    printf("Array after sorting: ");

    for (i = 0; i < size; i++) {

        printf("%d ", arr[i]);

    }

    

    printf("\n");

    

    return 0;

}

```

Coding Example Of C Programming Language