C programming language ! A mysterious name, isn’t it?

এই আর্টিকেলে আমরা জানবো সি প্রোগ্রামিং ভাষা শেখার কিছু ধাপ এবং বিগিনার হিসেবে কি কি শেখা উচিত তা নিয়ে। তো চলুন শুরু করা যাক।

সি প্রোগ্রামিং শেখার পূর্বশর্ত

সি প্রোগ্রামিং শেখার কোন পূর্বশর্ত নেই। আপনার শুধু একজন ভালো শিক্ষক দরকার। আপনার নিজে নিজে শেখার জন্য, একটি অ্যান্ড্রয়েড মোবাইল বা একটি কম্পিউটার, প্রোপার গাইডলাইনসহ একটি ওয়েবসাইট বা বই। আরো গভীরভাবে বলতে গেলে, কিছু গাণিতিক যুক্তি বোঝার জন্য, আপনাকে এটি স্কুলের সাধারণ গণিত বই থেকে শিখতে হবে। পরিশেষে, আপনার দৃঢ় মানসিকতার সাথে একটি শান্ত পরিবেশ এবং সঠিক মাইন্ডসেট প্রয়োজন। সবচেয়ে গুরুত্বপূর্ণ যে বিষয়টি তা হলো আপনার প্রচুর সার্চ করার মানসিকতা থাকতে হবে। সাথে তা অভ্যাসে পরিনত করে হবে। কোনো একটি বিষয় আটকে গেলে তা সঠিকভাবে সার্চ ইঞ্জিন থেকে খুঁজে বের করতেও একটা অভিজ্ঞতার দরকার পরে বলে মনে করি।

  • The C Programming Language (2nd Edition) by Dennis Ritchie and Brian Kernighan
  • Beginning C (5th Edition) by Ivor Horton
  • C The CompleteReference – Herbert Schildt

কিছু বেসিক জিনিস যা জানা উচিত

  • Setup environment : একদম শুরুতে আমাদের যদি পার্সোনাল কম্পিউটার বা ল্যাপটপ হয় তবে Code Blocks ইন্সটল করতে হবে এবং ভালোভাবে ভেরিয়েবল পাথ সেট করতে হবে। সেজন্য এই টিউটোরিয়াল ফলো করতে পারেনঃ https://youtu.be/J9Y71vivV6U আর যদি Android মোবাইল হয় তবে Mobile C [ C/C++ Compiler ] অ্যাপটি ইন্সটল করলেই হবে। অপরদিকে IOS ডিভাইসের জন্য CodeSnake IDE ভালো হবে। For Moblie : https://youtu.be/H7meh3nkIPY

  • IDE vs Compiler : একদমই সহজে বলতে গেলে, কম্পাইলার কোডকে কম্পিউটার ল্যাঙ্গুয়েজ (বাইনারী ফর্ম) তে রূপান্তরিত করে এবং IDE হল একটি সফ্টওয়্যার অ্যাপ্লিকেশন যা সফ্টওয়্যার ডেভেলপমেন্টের জন্য সুবিধা প্রদান করে। এটি সম্পর্কে আরও জানতে, দয়া করে এটি গুগল করুন।

  • Syntax : প্রতিটি প্রোগ্রামিং ভাষার জন্য সেই ভাষার গঠন সঠিকভাবে লেখার জন্য একটি নিয়ম থাকে। তেমনি সি প্রোগ্রামিং এর একটি দুর্দান্ত সিনট্যাক্স বা গঠনকাঠামো রয়েছে।

  • Structure of C : এর মোটামুটি কিছু সেকশন রয়েছে। যেমনঃ Documentation, Link, Definition, Global Declaration, main( ) function, Subprogram. এই ভিডিওতে পরিষ্কারভাবে দেখানো হয়েছেঃ https://youtu.be/K1E47BtYiRQ

  • Basic Mathematical Knowledge : একজন সিরিয়াস প্রোগ্রামার হতে হলে আপনাকে মৌলিক গণিত সম্পর্কে জানতে হবে। যেমন সংখ্যা, অপারেটর, সূত্র, লজিক ইত্যাদি। শুরুতে এর প্রয়োজন নেই। কিন্তু ধীরে ধীরে এগুলো হবে প্রোগ্রামিং সমস্যা সমাধানের একটি অত্যন্ত গুরুত্বপূর্ণ অংশ হয়ে দাঁড়াবে।

প্রোগ্রাম রান এবং আউটপুট পেতে ছয়টি (৬) ধাপ

  1. Write Code : প্রোগ্রামার একটি কোড এডিটরে কোড লিখে এবং এটি সেকেন্ডারি স্টোরেজে সংরক্ষণ করে। ফাইলটির নাম .c (ডট সি) এক্সটেনশন দিয়ে সেভ করা হয়।

  2. Preprocess : মেশিন ল্যাঙ্গুয়েজে রূপান্তর করার আগে, কম্পাইলার প্রিপ্রসেস প্রোগ্রাম চালনা করে। এটি বিশেষ কমান্ডের সাথে ব্যবহার করে যাকে বলা হয় preprocessor directive.

  3. Compile : প্রোগ্রামার ফাইল কম্পাইল করার জন্য কমান্ড দেয়। কম্পাইলার কোডটিকে মেশিন ল্যাঙ্গুয়েজ বা অবজেক্ট কোডে রূপান্তর/অনুবাদ করে এবং ডিস্কে সংরক্ষণ করে।

  4. Link : লিঙ্কার (Linker) মেশিন কোডকে লাইব্রেরি ফাইলের সাথে সংযুক্ত করে।

  5. Load : কোড রান করার আগে, এটি মেমরিতে সংরক্ষণ করা আবশ্যক। লোডার ডিস্ক থেকে মেমরিতে প্রোগ্রাম স্থানান্তর করতে সাহায্য করে।

  6. Execution : অবশেষে, কম্পিউটারের সিপিইউ-এর নিয়ন্ত্রণে একটি একক কমান্ডে প্রোগ্রামটি সম্পাদন করা হয়।

C PROGRAMMING LANGUAGE এর জন্য যেসব টপিক গুলো শেখা উচিত

Introduction of C

  • Keywords & Identifiers
  • Variables & Constants
  • Data Types
  • Input/Output
  • Operators

Flow Controls

  • if…else
  • for Loop
  • while Loop
  • break and continue
  • switch…case
  • Programming goto

Functions

  • Programming Functions
  • User-defined Functions
  • Function Types
  • Recursion
  • Storage Class

Arrays

  • Programming Arrays
  • Multi-dimensional Arrays
  • Arrays & Function

Pointers

  • Programming Pointers
  • Pointers & Arrays
  • Pointers And Functions
  • Memory Allocation

Strings

  • Programming String
  • String Functions

Structure and Union

  • Structure
  • Struct & Pointers
  • Struct & Function
  • Unions

Files

  • Files Input/Output

Additional Topics

  • Enumeration
  • Preprocessors
  • Standard Library