Important C Programming Questions for Bank Job CSE IT Exam | Coding & Theory

Important C Programming exam questions for Uttara Bank PLC CSE IT job. GCD, prime number, factorial, Fibonacci, palindrome, array vs pointer, call by
Bank

C Programming (Coding + Short Theory): নিচে গুরুত্বপূর্ণ C প্রোগ্রামিং কোডিং প্রশ্ন ও সংক্ষিপ্ত থিওরি উত্তর দেওয়া হলো। এগুলো বিভিন্ন Bank / IT Written Exam-এ বারবার আসে।

1. Write a C program to find GCD of two numbers (Euclidean Algorithm).

Concept (Short Theory): GCD (Greatest Common Divisor) হলো দুইটি সংখ্যার সর্বোচ্চ সাধারণ গুণনীয়ক। Euclidean Algorithm অনুযায়ী, যতক্ষণ পর্যন্ত b ≠ 0, আমরা a % b নেব এবং a = b, b = a % b করে লুপ চালাবো। শেষে a হবে GCD।

#include <stdio.h>

int main() {
    int a, b, temp;

    printf("Enter two numbers: ");
    scanf("%d %d", &a, &b);

    // Euclidean Algorithm
    while (b != 0) {
        temp = b;
        b = a % b;
        a = temp;
    }

    printf("GCD = %d\n", a);
    return 0;
}

Explanation:
- প্রথমে দুইটি সংখ্যা ইনপুট নিচ্ছি (a, b)।
- while (b != 0) লুপে প্রতিবার b কে temp এ রাখছি, তারপর b = a % b করছি এবং a = temp সেট করছি।
- যখন b = 0, তখন a এর ভ্যালু হল দুই সংখ্যার GCD।

2. Write a C program to check a Prime Number.

Concept (Short Theory): Prime সংখ্যা হলো যেই সংখ্যা শুধুমাত্র 1 এবং নিজে ছাড়া অন্য কোনো দিয়ে ভাগ যায় না (যেমন 2, 3, 5, 7, 11 …)।

#include <stdio.h>

int main() {
    int n, i, flag = 0;
    
    printf("Enter a positive integer: ");
    scanf("%d", &n);

    if (n <= 1) {
        printf("%d is not a prime number.\n", n);
        return 0;
    }

    for (i = 2; i * i <= n; i++) {
        if (n % i == 0) {
            flag = 1;
            break;
        }
    }

    if (flag == 0)
        printf("%d is a prime number.\n", n);
    else
        printf("%d is not a prime number.\n", n);

    return 0;
}

3. Write a C program to find Factorial (loop + recursion).

Concept (Short Theory): কোনো ধনাত্মক পূর্ণসংখ্যা n এর factorial হল n! = 1 × 2 × 3 × … × n। যেমন, 5! = 120

3(a). Factorial using loop

#include <stdio.h>

int main() {
    int n, i;
    long long fact = 1;

    printf("Enter a positive integer: ");
    scanf("%d", &n);

    if (n < 0) {
        printf("Factorial of a negative number doesn't exist.\n");
        return 0;
    }

    for (i = 1; i <= n; i++) {
        fact *= i;
    }

    printf("Factorial of %d = %lld\n", n, fact);
    return 0;
}
Related Posts

3(b). Factorial using recursion

#include <stdio.h>

long long factorial(int n) {
    if (n == 0 || n == 1)
        return 1;
    else
        return n * factorial(n - 1);
}

int main() {
    int n;
    printf("Enter a positive integer: ");
    scanf("%d", &n);

    if (n < 0) {
        printf("Factorial of a negative number doesn't exist.\n");
        return 0;
    }

    printf("Factorial of %d = %lld\n", n, factorial(n));
    return 0;
}

4. Write a C program to find Largest of three numbers.

Concept (Short Theory): তিনটি সংখ্যা তুলনা করে সর্বোচ্চটি বের করতে if-else ব্যবহার করা হয়।

#include <stdio.h>

int main() {
    int a, b, c, largest;

    printf("Enter three numbers: ");
    scanf("%d %d %d", &a, &b, &c);

    if (a >= b && a >= c)
        largest = a;
    else if (b >= a && b >= c)
        largest = b;
    else
        largest = c;

    printf("Largest = %d\n", largest);
    return 0;
}

5. Write a C program to reverse a number.

Concept (Short Theory): Reverse করতে সংখ্যার শেষ digit বের করতে n % 10 ব্যবহার করে, তারপর rev = rev * 10 + lastDigit করা হয়, এবং n = n / 10 করে n কমানো হয়।

#include <stdio.h>

int main() {
    int n, remainder, reversed = 0;

    printf("Enter an integer: ");
    scanf("%d", &n);

    while (n != 0) {
        remainder = n % 10;
        reversed = reversed * 10 + remainder;
        n /= 10;
    }

    printf("Reversed number = %d\n", reversed);
    return 0;
}

6. Write a C program to check palindrome number / string.

Concept (Short Theory): Palindrome হলো যেই সংখ্যা বা string উল্টো দিক থেকেও একই থাকে। যেমন: সংখ্যা 121, string "madam"

6(a). Palindrome number check

#include <stdio.h>

int main() {
    int n, original, remainder, reversed = 0;

    printf("Enter an integer: ");
    scanf("%d", &n);

    original = n;

    while (n != 0) {
        remainder = n % 10;
        reversed = reversed * 10 + remainder;
        n /= 10;
    }

    if (original == reversed)
        printf("%d is a palindrome number.\n", original);
    else
        printf("%d is not a palindrome number.\n", original);

    return 0;
}

6(b). Palindrome string check

#include <stdio.h>
#include <string.h>

int main() {
    char str[100], rev[100];
    int len, i, j;

    printf("Enter a string: ");
    scanf("%s", str);  // no spaces

    len = strlen(str);
    j = 0;

    for (i = len - 1; i >= 0; i--) {
        rev[j++] = str[i];
    }
    rev[j] = '\0';

    if (strcmp(str, rev) == 0)
        printf("%s is a palindrome string.\n", str);
    else
        printf("%s is not a palindrome string.\n", str);

    return 0;
}

7. Write a C program to print Fibonacci series.

Concept (Short Theory): Fibonacci series: 0, 1, 1, 2, 3, 5, 8, ... প্রতিটি টার্ম = আগের দুইটি টার্মের যোগফল।

#include <stdio.h>

int main() {
    int n, i;
    int t1 = 0, t2 = 1, nextTerm;

    printf("Enter the number of terms: ");
    scanf("%d", &n);

    printf("Fibonacci Series: ");

    for (i = 1; i <= n; i++) {
        printf("%d ", t1);
        nextTerm = t1 + t2;
        t1 = t2;
        t2 = nextTerm;
    }

    printf("\n");
    return 0;
}

Short Theory Questions

8. Difference between array and pointer.

Array:

- Array হলো একই টাইপের একাধিক ভ্যারিয়েবলের সংগ্রহ (continuous memory block)।
- Array-এর নাম পুরো array-এর base address নির্দেশ করে (যেমন: arr হলো &arr[0])।
- Array-এর size compile time-এ fixed থাকে (স্ট্যাটিক সাইজ)।
- Array নামকে অন্য address assign করা যায় না (read-only pointer এর মত আচরণ করে)।

Pointer:

- Pointer হলো এমন একটি ভ্যারিয়েবল যা অন্য ভ্যারিয়েবলের address সংরক্ষণ করে।
- Pointer বিভিন্ন জায়গার address ধরে রাখতে পারে (dynamic, বারবার change করা যায়)।
- Pointer arithmetic ব্যবহার করে memory location এ move করা যায় (p++, p-- ইত্যাদি)।
- Pointer যে কোনো data type-এর address রাখতে পারে (int*, char*, float* ইত্যাদি)।

সংক্ষেপে: Array একটি fixed, continuous memory block; pointer হলো address ধারণকারী variable, যা flexible এবং বিভিন্ন address point করতে পারে।

9. Difference between call by value and call by reference.

Call by Value:

- Function-এ argument-এর কপি পাঠানো হয়।
- Function-এর ভেতরে পরিবর্তন করলে main() এর original ভ্যালু change হয় না।
- C ভাষায় সাধারণত ডিফল্ট প্যারামিটার passing method হলো call by value।
- Example: func(a); এখানে a এর কপি যায়।

Call by Reference (C-তে pointer ব্যবহার করে):

- Function-এ variable-এর address পাঠানো হয় (pointer দিয়ে)।
- Function-এর ভেতরে পরিবর্তন করলে main() এর original ভ্যালু change হয়ে যায়।
- Efficient যখন বড় data structure pass করতে হয় (copy না করে reference পাঠানো হয়)।
- Example: func(&a); এবং parameter হিসেবে int *p ব্যবহার।

সংক্ষেপে: Call by value original data protect করে (copy নিয়ে কাজ করে), আর call by reference সরাসরি original data modify করতে পারে।

10. What is a function? Types of function in C.

What is a function?

Function হলো একটি নির্দিষ্ট কাজ করার জন্য কয়েকটি statement-এর সমষ্টি, যাকে আমরা বারবার ব্যবহার করতে পারি (reusable block of code)। এটি প্রোগ্রামকে ছোট ছোট manageable অংশে ভাগ করতে সাহায্য করে (modular programming)।

Types of function in C (সাধারণভাবে):

1. Library Functions: C standard library থেকে পাওয়া ready-made functions, যেমন printf(), scanf(), sqrt(), strlen() ইত্যাদি। এগুলো ব্যবহার করতে header file include করতে হয়।
2. User-defined Functions: প্রোগ্রামার নিজে প্রয়োজন অনুযায়ী ফাংশন তৈরি করে, যেমন int add(int a, int b) ইত্যাদি। এগুলো কোডকে পরিষ্কার ও reusable করে।

আরো Classification (by arguments & return type):

- Function with no arguments and no return value
- Function with arguments but no return value
- Function with no arguments but return value
- Function with arguments and return value

Exam Point: Definition + library vs user-defined + above ৪ ধরনের classification লিখলে ভালো নম্বর পাওয়া যায়।

About the author

Leo
Hey! I'm Leo. I'm always eager to learn new things and enjoy sharing my knowledge with others.

Post a Comment

To avoid SPAM, all comments will be moderated before being displayed.
Don't share any personal or sensitive information.