beginner#c#programming#basicsUpdated: 2026-05-13

সি প্রোগ্রামিং পরিচিতি (C Programming Basics)


১. ভূমিকা — কম্পিউটারকে কমান্ড দেওয়ার ভাষা

তুমি কি কখনো ভেবেছো — তোমার মোবাইলের অ্যাপ, ATM মেশিন, ট্রাফিক লাইট সিস্টেম — এগুলো কে বানায়?

কোনো যাদুকর না। বানায় Programmer — একটি ভাষা ব্যবহার করে কম্পিউটারকে নির্দেশ দিয়ে।

সেই ভাষাগুলোর মধ্যে সবচেয়ে শক্তিশালী এবং মৌলিক ভাষা হলো C

Linux Operating System, Python-এর core, এমনকি তোমার Android ফোনের কিছু অংশও C-তে লেখা!


২. সমস্যা — ০ আর ১ দিয়ে প্রোগ্রাম লিখবে?

কম্পিউটার শুধু ০ এবং ১ বোঝে (Binary)। তুমি কি ০-১ দিয়ে প্রোগ্রাম লিখবে?

01001000 01100101 01101100 01101100 01101111...

এটা অসম্ভব কঠিন! তাই তৈরি হয়েছে Programming Language (প্রোগ্রামিং ভাষা) — মানুষের কাছাকাছি ভাষায় কম্পিউটারকে নির্দেশ দেওয়ার পদ্ধতি।

C Language সেই সেতু — যা মানুষের ভাষাকে কম্পিউটারের ভাষায় রূপান্তর করে।


৩. চিত্রের মাধ্যমে বোঝো

C প্রোগ্রাম কীভাবে চলে:

তুমি C কোড লেখো
      ↓
   Source Code (.c ফাইল)
      ↓
   Compiler (GCC, Turbo C)
   [মানুষের ভাষা → মেশিন ভাষা]
      ↓
   Executable File (.exe)
      ↓
   CPU চালায়
      ↓
   Output দেখাও

C প্রোগ্রামের মূল কাঠামো:

#include <stdio.h>       // Header File

int main() {             // Main Function শুরু
    // এখানে কোড লেখো
    return 0;            // সফলভাবে শেষ
}                        // Main Function শেষ

৪. বাস্তব জীবনের সাথে মিল

চিঠি লেখার মতো ভাবো:

তুমি যখন কাউকে চিঠি লেখো:

  • খাম (Envelope) = #include — প্রয়োজনীয় জিনিসপত্র আনো
  • প্রাপকের ঠিকানা = int main() — কাজ কোথায় শুরু হবে
  • চিঠির ভেতরের লেখা = { ... } — আসল কাজ
  • তোমার সই = return 0; — কাজ শেষ, সব ঠিক আছে

Module 1: সংজ্ঞা ও ধারণা

C Language কী?

C হলো ১৯৭২ সালে Dennis Ritchie তৈরি করা একটি General-Purpose Programming Language (সাধারণ উদ্দেশ্যের প্রোগ্রামিং ভাষা)

C প্রোগ্রামের মূল উপাদান:

উপাদানবর্ণনাউদাহরণ
Header Fileপ্রয়োজনীয় ফাংশন অন্তর্ভুক্ত#include <stdio.h>
Main Functionপ্রোগ্রামের শুরুর বিন্দুint main()
Statementএকটি নির্দেশনাprintf("Hello");
Semicolonপ্রতিটি statement শেষে;
Curly Bracesকোডের ব্লক{ }
Commentব্যাখ্যা (কোড চলে না)// এটা comment

গুরুত্বপূর্ণ Header Files:

Header Fileকী কাজে লাগে
stdio.hInput/Output (printf, scanf)
math.hগণিতের ফাংশন (sqrt, pow)
string.hString নিয়ে কাজ
ctype.hCharacter পরীক্ষা

Module 2: কীভাবে কাজ করে

Compilation প্রক্রিয়া ধাপে ধাপে:

১. Preprocessing (প্রিপ্রসেসিং)
   #include, #define ইত্যাদি প্রক্রিয়া করে
        ↓
২. Compilation (কম্পাইলেশন)
   C কোড → Assembly Language
        ↓
৩. Assembly (অ্যাসেম্বলি)
   Assembly → Object Code (0,1)
        ↓
৪. Linking (লিংকিং)
   Object Code + Library → Executable
        ↓
৫. Execution (চালানো)
   CPU-তে প্রোগ্রাম চলে

Memory তে C প্রোগ্রাম:

RAM (মেমরি)
┌────────────────────┐
│   Code Segment     │ ← প্রোগ্রামের কোড থাকে
├────────────────────┤
│   Data Segment     │ ← Global variable
├────────────────────┤
│   Stack            │ ← Local variable, function call
├────────────────────┤
│   Heap             │ ← Dynamic memory
└────────────────────┘

Module 3: প্যাটার্ন ও উদাহরণ

প্যাটার্ন ১: প্রথম C প্রোগ্রাম — Hello World

উদাহরণ ১.১: সাধারণ Hello World

#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

আউটপুট:

Hello, World!

উদাহরণ ১.২: বহু লাইন প্রিন্ট

#include <stdio.h>

int main() {
    printf("আমার নাম রাহিম।\n");
    printf("আমি HSC পরীক্ষার্থী।\n");
    printf("আমি C প্রোগ্রামিং শিখছি।\n");
    return 0;
}

আউটপুট:

আমার নাম রাহিম।
আমি HSC পরীক্ষার্থী।
আমি C প্রোগ্রামিং শিখছি।

উদাহরণ ১.৩: পরিচয়পত্র প্রিন্ট

#include <stdio.h>

int main() {
    printf("=============================\n");
    printf("       পরিচয়পত্র           \n");
    printf("=============================\n");
    printf("নাম    : করিম আহমেদ\n");
    printf("শ্রেণি : একাদশ\n");
    printf("বিভাগ : বিজ্ঞান\n");
    printf("কলেজ  : ঢাকা কলেজ\n");
    printf("=============================\n");
    return 0;
}

আউটপুট:

=============================
       পরিচয়পত্র           
=============================
নাম    : করিম আহমেদ
শ্রেণি : একাদশ
বিভাগ : বিজ্ঞান
কলেজ  : ঢাকা কলেজ
=============================

প্যাটার্ন ২: সংখ্যা নিয়ে কাজ

উদাহরণ ২.১: দুটি সংখ্যার যোগ

#include <stdio.h>

int main() {
    int a = 10, b = 20;
    int sum = a + b;
    printf("যোগফল = %d\n", sum);
    return 0;
}

আউটপুট:

যোগফল = 30

উদাহরণ ২.২: চারটি গাণিতিক অপারেশন

#include <stdio.h>

int main() {
    int a = 15, b = 4;
    printf("যোগ: %d\n", a + b);
    printf("বিয়োগ: %d\n", a - b);
    printf("গুণ: %d\n", a * b);
    printf("ভাগ: %d\n", a / b);
    printf("ভাগশেষ: %d\n", a % b);
    return 0;
}

আউটপুট:

যোগ: 19
বিয়োগ: 11
গুণ: 60
ভাগ: 3
ভাগশেষ: 3

উদাহরণ ২.৩: বৃত্তের ক্ষেত্রফল

#include <stdio.h>

int main() {
    float r = 7.0;
    float area = 3.14159 * r * r;
    printf("ব্যাসার্ধ = %.1f\n", r);
    printf("ক্ষেত্রফল = %.2f\n", area);
    return 0;
}

আউটপুট:

ব্যাসার্ধ = 7.0
ক্ষেত্রফল = 153.94

প্যাটার্ন ৩: ইনপুট নিয়ে কাজ

উদাহরণ ৩.১: ব্যবহারকারীর নাম ইনপুট

#include <stdio.h>

int main() {
    char name[50];
    printf("তোমার নাম লেখো: ");
    scanf("%s", name);
    printf("হ্যালো, %s!\n", name);
    return 0;
}

উদাহরণ ৩.২: দুটি সংখ্যার যোগ (ইনপুট সহ)

#include <stdio.h>

int main() {
    int a, b;
    printf("প্রথম সংখ্যা: ");
    scanf("%d", &a);
    printf("দ্বিতীয় সংখ্যা: ");
    scanf("%d", &b);
    printf("যোগফল = %d\n", a + b);
    return 0;
}

উদাহরণ ৩.৩: আয়তক্ষেত্রের ক্ষেত্রফল (ইনপুট সহ)

#include <stdio.h>

int main() {
    float length, width, area;
    printf("দৈর্ঘ্য লেখো: ");
    scanf("%f", &length);
    printf("প্রস্থ লেখো: ");
    scanf("%f", &width);
    area = length * width;
    printf("ক্ষেত্রফল = %.2f\n", area);
    return 0;
}

প্যাটার্ন ৪: Comment ব্যবহার

উদাহরণ ৪.১: Single-line Comment

#include <stdio.h>

int main() {
    // এটি একটি single-line comment
    printf("Hello!\n"); // এটাও comment
    return 0;
}

উদাহরণ ৪.২: Multi-line Comment

#include <stdio.h>

/* 
   এটি একটি multi-line comment।
   লেখক: রাহিম
   তারিখ: ২০২৬
*/

int main() {
    printf("Multi-line comment example\n");
    return 0;
}

উদাহরণ ৪.৩: ভালো Comment-এর উদাহরণ

#include <stdio.h>

/* 
 * প্রোগ্রাম: সেলসিয়াস থেকে ফারেনহাইট রূপান্তর
 * সূত্র: F = (C × 9/5) + 32
 */
int main() {
    float celsius, fahrenheit;
    
    // ব্যবহারকারীর কাছ থেকে সেলসিয়াস নাও
    printf("সেলসিয়াস তাপমাত্রা: ");
    scanf("%f", &celsius);
    
    // রূপান্তর করো
    fahrenheit = (celsius * 9.0 / 5.0) + 32;
    
    // ফলাফল দেখাও
    printf("%.1f°C = %.1f°F\n", celsius, fahrenheit);
    return 0;
}

Module 4: বাস্তব প্রয়োগ

প্রযুক্তিC-এর ভূমিকা
Linux OSমূল কোড C-তে লেখা
Windows OSঅনেক অংশ C/C++
Embedded Systems (Arduino)C ব্যবহার
ATM MachineC প্রোগ্রাম
Database (MySQL)C দিয়ে তৈরি
Python InterpreterC দিয়ে তৈরি

C শেখা মানে শুধু একটি ভাষা শেখা নয় — এটা কম্পিউটার বোঝার ভিত্তি তৈরি করা।


Module 5: সাধারণ ভুল ও সতর্কতা

ভুল ১: Semicolon ভুলে যাওয়া

❌ ভুল:
printf("Hello")   // Semicolon নেই!

✅ সঠিক:
printf("Hello");

ভুল ২: #include ছাড়া ফাংশন ব্যবহার

❌ ভুল:
int main() {
    printf("Hello");  // stdio.h ছাড়া কাজ করবে না
    return 0;
}

✅ সঠিক:
#include <stdio.h>
int main() {
    printf("Hello");
    return 0;
}

ভুল ৩: Curly Braces না মেলানো

❌ ভুল:
int main() {
    printf("Hello");
    // } ভুলে গেছে!

✅ সঠিক:
int main() {
    printf("Hello");
}

ভুল ৪: Case sensitivity ভুলে যাওয়া

❌ ভুল:
Printf("Hello");   // বড় P — কাজ করবে না

✅ সঠিক:
printf("Hello");   // সব ছোট হাতের অক্ষর

ভুল ৫: return 0 ভুলে যাওয়া

❌ সতর্কতা:
int main() {
    printf("Hello");
    // return 0 নেই — Compiler Warning!
}

✅ সঠিক:
int main() {
    printf("Hello");
    return 0;
}

Module 6: সুবিধা-অসুবিধা

বিষয়C-এর সুবিধাC-এর অসুবিধা
গতিঅত্যন্ত দ্রুতকোড লিখতে সময় বেশি
মেমরি নিয়ন্ত্রণসম্পূর্ণ নিজের হাতেভুলে গেলে সমস্যা
শেখার সহজতাকঠিন, কিন্তু ভিত্তি মজবুতশুরুতে জটিল মনে হয়
প্রয়োগSystem programming, EmbeddedWeb, GUI app-এ কম ব্যবহার

🔁 নিজে পরীক্ষা করো

MCQ:

১. C প্রোগ্রামের execution কোথায় শুরু হয়?

  • ক) #include
  • খ) main() ফাংশনে ✓
  • গ) প্রথম লাইনে
  • ঘ) Header file-এ

২. printf() ফাংশনের জন্য কোন Header File দরকার?

  • ক) stdio.h
  • খ) math.h
  • গ) string.h
  • ঘ) ctype.h

৩. C প্রোগ্রামে Single-line Comment কীভাবে লেখা হয়?

  • ক) /* comment */
  • খ) // comment
  • গ) # comment
  • ঘ) -- comment

৪. Compiler কী করে?

  • ক) প্রোগ্রাম চালায়
  • খ) Source Code → Machine Code রূপান্তর করে ✓
  • গ) Bug খুঁজে বের করে
  • ঘ) প্রোগ্রাম সেভ করে

৫. return 0; কী বোঝায়?

  • ক) প্রোগ্রামে error আছে
  • খ) প্রোগ্রাম সফলভাবে শেষ হয়েছে ✓
  • গ) প্রোগ্রাম বন্ধ হয়ে গেছে
  • ঘ) কিছুই বোঝায় না

সংক্ষিপ্ত প্রশ্ন:

৬. C প্রোগ্রামের মূল কাঠামো লেখো এবং প্রতিটি অংশ ব্যাখ্যা করো।

৭. "তোমার নাম এবং বয়স প্রিন্ট করো" — এই কাজের জন্য C প্রোগ্রাম লেখো।


📝 HSC পরীক্ষার প্রস্তুতি

১. C একটি Compiled Language। এর মানে কী? Java একটি Interpreted Language — পার্থক্য কী?

২. #include <stdio.h> কেন লিখতে হয়? যদি না লিখি, কী সমস্যা হবে?

৩. C শেখা কেন গুরুত্বপূর্ণ? Python বা Java সরাসরি শিখলে কি সমস্যা হতো?


🎯 অনুশীলন প্রশ্ন

সহজ: একটি C প্রোগ্রাম লেখো যা তোমার নাম, বয়স, এবং শ্রেণি প্রিন্ট করবে।

মাঝারি: দুটি দশমিক সংখ্যা ইনপুট নাও এবং তাদের যোগ, বিয়োগ, গুণ, ভাগ প্রিন্ট করো।

কঠিন: একটি C প্রোগ্রাম লেখো যা ব্যবহারকারীর নাম, বয়স, শ্রেণি ইনপুট নেবে এবং সুন্দরভাবে সাজিয়ে দেখাবে।


✅ সারাংশ

🎯 মনে রেখো:

  • C = শক্তিশালী, দ্রুত, System-level Programming Language
  • ১৯৭২ সালে Dennis Ritchie তৈরি করেন
  • মূল কাঠামো:
    #include <stdio.h>
    int main() {
        // কোড
        return 0;
    }
    
  • stdio.h = printf এবং scanf এর জন্য অবশ্যই দরকার
  • Semicolon (;) = প্রতিটি statement শেষে বাধ্যতামূলক
  • Compilation: .c ফাইল → Compiler → .exe → CPU

💡 পরীক্ষার টিপস: C প্রোগ্রাম লেখার সময় সবসময় #include <stdio.h>, int main(), return 0; — এই তিনটি লিখতে ভুলবে না।