সি প্রোগ্রামিং এইচটিএমএল সিএসএস জাভাস্ক্রিপ্ট পিএইচপি এসকিউএল
ফোরাম
×

 সি টিউটোরিয়াল

সি প্রোগ্রামিং কি? সি এর ইতিহাস সি এর বৈশিষ্ট্যসমূহ কেন সি শিখবেন? সি ইন্সটলেশন প্রথম সি প্রোগ্রাম সি প্রোগ্রামের ফ্লো প্রোগ্রামিং শেখার সঠিক পদ্ধতি সি কীওয়ার্ড সি আইডেন্টিফায়ার সি ভ্যারিয়েবল সি কনস্ট্যান্ট সি ডাটা টাইপ সি মোডিফায়ার সি ইনপুট/আউটপুট সি অপারেটর সি কমেন্ট সি অপারেটর অগ্রাধিকার

সি কন্ট্রোল স্টেটমেন্ট

সি ইফ সি ইফ...ইলস সি ফর লুপ সি হোহাইল লুপ সি ডু...হোহাইল লুপ সি ব্রেক সি কন্টিনিউ সি সুইচ স্টেটমেন্ট সি goto স্টেটমেন্ট

 সি ফাংশন

সি ফাংশন পরিচিতি সি ইউজার কর্তৃক ফাংশন সি ফাংশন টাইপ সি রিকার্সন সি ভ্যারিয়েবল স্কোপ

 সি অ্যারে

সি অ্যারে পরিচিতি সি মালটি-ডাইমেনশনাল অ্যারে সি অ্যারে ফাংশন

 সি স্ট্রিং

সি স্ট্রিং সি স্ট্রিং ফাংশন

 সি পয়েন্টার

সি পয়েন্টার পরিচিত সি পয়েন্টার অ্যারে সি পয়েন্টার ফাংশন সি মেমোরি ম্যানেজমেন্ট

 সি ফাইল এবং স্ট্রাকচার

স্ট্রাকচার পরিচিত স্ট্রাকচার ও পয়েন্টার সি স্ট্রাকচার ও ফাংশন সি ইউনিয়ন ফাইল হ্যান্ডেলিং

 সি অতিরিক্ত টিউটোরিয়াল

সি লাইব্রেরী সি প্রিপ্রোসেসর এবং ম্যাক্রো সি ইনুমিরেশন সি এরর নিয়ন্ত্রণ সি টাইপ কাস্টিং সি বিট ফিল্ড সি ভ্যারিয়েবল আর্গুমেন্ট সি কমান্ড লাইন আর্গুমেন্ট

 

প্রোগ্রামিং শেখার সঠিক পদ্ধতি


স্যাট একাডেমী থেকে সি প্রোগ্রামিং শিখুন।


স্যাট-এ ডজন ডজন টিউটোরিয়াল এবং উদাহরণ রয়েছে যা আপনাকে একেবারে শুরু থেকে সি প্রোগ্রামিং শিখতে সহায়তা করবে।

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


সঠিক পদ্ধতিতে প্রোগ্রামিং শিখুন।

সত্যঃ আপনি একদিনেই সি প্রোগ্রামিং শিখতে পারবেন না। আপনি যদি অনেক দ্রুত সি প্রোগ্রামিং শেখার চেষ্টা করেন তাহলে গুরুত্বপূর্ণ ধারণাসমুহ উপলব্ধিতে সমস্যায় পড়তে পারেন। 

আপনি যদি শুধু সিনট্যাক্স শিখে সি প্রোগ্রামিং এ কোড করা শুরু করেন, তাহলে আপনার কোড অনেক ভাল কাজ করবে ঠিকই। কিন্তু সঠিক পদ্ধিতে আপনার সি প্রোগ্রামিং শেখা শেষ হবে না। 


উদাহরণগুলো শুধুমাত্র পড়লেই হবে না। ইহা আপনার সিস্টেমে রানও করাতে হবে।

স্যাট-এ ডজন ডজন উদাহরণ রয়েছে যা আপনাকে সি প্রোগ্রামিং বুঝতে সহায়তা করবে। যাইহোক আপনি যদি এই প্রোগ্রামগুলো আপনার সিস্টেমে রান করানো ছাড়া শুধুমাত্র নোবেল পড়ার মত পড়ে যান, তাহলে আপনি ভুল করবেন।

আপনি যদি প্রোগ্রামিং এর নতুন নতুন বৈশিষ্ট্য জানতে চান, তাহলে ঐ বৈশিষ্ট্যের সাথে সম্পর্কযুক্ত কোড লেখার চেষ্টা করুন। আমরা আপনাকে আমাদের উদাহরণগুলো নিয়ে চেষ্টা এবং রান করানোর জন্য উৎসাহিত করছি।

আপনি প্রোগ্রামগুলো একবার বুঝে গেলে, এগুলো পরিবর্তন করুন এবং নতুন কিছু তৈরির চেষ্টা করুন। কেননা প্রোগ্রামিং শেখার এটাই সর্বত্তোম পন্থা।


ডিবাগিং টুলস(Debugging tools) ব্যবহার করা শিখুন

ডিবাগিং টুল অথবা ডিবাগার(Debugger) হলো এক ধরণের সফটওয়্যার যা প্রোগ্রামারকে যে কোনো পয়েন্টে প্রোগ্রাম বন্ধ করার অনুমতি দেয় এবং error সংশোধনে সহায়তা করে। IDE এর মধ্যে ডিফল্টভাবেই ডিবাগিং টুলস থাকে।

আপানর প্রোগ্রামে বাগ(bugs) থাকলে একেবারে শুরু থেকে বাগ খুঁজার চেয়ে আপনি ডিবাগার ব্যবহার করে যেকোনো পয়েন্টে প্রোগ্রাম থামিয়ে দিতে পারেন এবং বাগ সনাক্ত করার জন্য ভ্যারিয়েবলের ভ্যালু খুঁজে বের করতে পারেন।  

কিভাবে ডিবাগার ব্যবহার করতে হয় তা জানা খুবই গুরুত্বপূর্ণ এবং প্রত্যেক প্রোগ্রামারেরই ইহা জানা উচিৎ। 


ব্যবহারের উদ্দেশ্য অনুযায়ী বৈশিষ্ট্যসমূহ শিখুন 

পরিস্থিতির কথা ভাবুনঃ একটি সমস্যা array এর মাধ্যমে সমাধান করা সম্ভব। ইহা structure দিয়েও সমাধান করা সম্ভব। টেকনিক্যালি(technically) দুটো পদ্ধতিই সঠিক। আপনি কোনটা ব্যবহার করবেন?

এই প্রশ্নের উত্তর দেওয়ার জন্য array এবং structure এর ব্যবহার সম্মন্ধে আপনার ভাল জ্ঞান থাকতে হবে।

আপনি যদি অন্য কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন সি# থেকে সি ল্যঙ্গুয়েজে সুইচ করেন। তাহলে আপনি নিশ্চয় সি# স্টাইলে সি প্রোগ্রামের কোড লিখতে চাইবেন না।



সি কমিউনিটির সাথে যুক্ত হোন

আপনি যখন সাধারণ সি প্রোগ্রাম লিখতে পারবেন, তখন আরোও ভাল কিছু করার জন্য অনলাইন কমিউনিটি এবং ফোরামের সাথে যুক্ত হোন। আপনি যখন সমস্যায় পড়বেন, তখন সমাধানের জন্য সাহায্য চাইলে, তারা আপনাকে সমস্যা সমাধানে সহযোগিতা করবে। 

স্যাট একাডেমী আপনাকে নিম্নের কমিউনিটিতে যুক্ত থাকার জন্য সুপারিশ করছেঃ

  • সি প্রোগ্রামিং গুগল ফোরাম - নতুনদের জন্য খুবই ভাল একটি ফোরাম সাইট
  • Codechef - প্রোগ্রামারদের বিশাল কমিউনিটি। যেখানে আপনি প্রশ্ন অনুশীলন করতে পারবেন এবং প্রশ্ন করতেও পারবেন।
  • StackOverflow - অনেক জনপ্রিয় প্রোগ্রামিং প্রশ্ন-উত্তর সাইট।


প্রোগ্রামিং এর জন্য সর্বদা উত্তম পন্থা অবলম্বন করুন     

উত্তম পন্থায় কোড লিখা হলো একটি অলিখিত দলিল যা সফটওয়্যারের কোয়ালিটি বৃদ্ধি করে এবং ডেভেলপমেন্টের জন্য সময়ও সাশ্রয় হয় ।  

নিম্নে উল্লেখিত কিছু প্রোগ্রামিং প্রথা সকল প্রোগ্রামের জন্য বৈধ এবং কিছু শুধুমাত্র সি প্রোগ্রামিং এর জন্য বৈধঃ 


সঙ্গতিপূর্ণ কোড বিন্যাস করুন 

সি প্রোগ্রামিং এ আপনি কত সংখ্যক স্পেস ব্যবহার করছেন সেটা কোনো ব্যাপার নয়। কিন্তু তার মানে এই নয় যে, আপনি যেখানে সেখানে যাচ্ছেতাই স্পেস ব্যবহার করবেন। সর্বদা এমনভাবে কোড ইন্ডেন্টেশন(indentetion) ব্যবহার করুন যেন খুব সহজেই কোড বুঝা যায়।


প্রত্যেক স্টেটমেন্টের জন্য একটি করে লাইন ব্যবহার করুন।

নিচের কোডে কি ভুল আছে?

int count; float squareRoot = 10.0; printf(“Square root = %f”, squareRoot);

প্রকৃতপক্ষে উপরের কোডে কোনো ভুল নাই। কিন্তু ইহা কোড লেখার জন্য উত্তম পন্থা নয়।

int count;
float squareRoot = 10.0;
printf(“Square root = %f”, squareRoot);

উপরে লিখিত কোডের উদ্দেশ্য হচ্ছে অন্য কেউ কোড দেখলে যেন খুব সহজেই বুঝতে পারে।


সংগতিপূর্ণ এবং রীতি অনুসারে নামের ব্যবহার

কাজের সাথে সঙ্গতি রেখে ভ্যারিয়েবল এবং ফাংশনের নাম দিন।  

int a, b;

এখানে , a এবং b দুটি ভ্যারিয়েবল এবং এগুলোকে কি কাজে ব্যবহার করা হয়েছে তার কিছুই আমি বুঝতে পারছি না। এর পরিবর্তে নিচের নায় অর্থপূর্ণ নাম রাখুন।

int counter, power; 

এছাড়া নাম রাখার কিছু রীতিও অণুসরণ করুন। উদাহরণস্বরূপঃ

int base_number, powerNumber;

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


কমেন্ট ব্যবহারের অভ্যাস করুন

কমেন্ট কোডের অংশ এবং কম্পাইলার ইহাকে এড়িয়ে যায়।

আপনি আপনার প্রোগ্রামের মাধ্যমে কি করতে চাচ্ছেন তা কমেন্টের মাধ্যমে সংক্ষেপে ব্যখ্যা করতে পারেন। ইহা আপনার অনুসারী প্রোগ্রামারকে খুব সহজে কোড বুঝতে সাহায্য করবে।

ডাবল স্ল্যাস(//) ব্যবহার করে আপনি সি প্রোগ্রামিং এ সিঙ্গেল লাইন কমেন্ট করতে পারেন।

মাল্টি-লাইন কমেন্টের জন্য স্ল্যাস-এস্টারিস্ক(/*) ...কমেন্ট... এস্টারিস্ক-স্ল্যাস (*/) ব্যবহার করুন।


// আমার প্রথম প্রোগ্রাম
/* ইনপুট এবং আউটপুটের
 জন্য stdio.h সংযুক্ত 
হয়েছে */

#include <stdio.h>
int main()
    {
      printf("Hello, World!\n");   // পর্দায় Hello, World! প্রদর্শিত হবে
      return 0;
}

“ কোডে কমেন্ট করা এবং নিয়মিত বাথরুম পরিষ্কার করা একই কথা। আপনি ইহা কখনোই করতে চান না। কিন্তু যদি করেন তাহলে আপনি সহ আপনার আত্মীয় স্বজনরাও ইহা ব্যবহার করে খুব আনন্দিত হবে।” 

— রেয়ান ক্যাম্পবেল

আমরা স্যাট ফ্যামিলি মনে করি, প্রোগ্রামিং শেখার জন্য সি খুবই সহায়ক একটি ল্যাঙ্গুয়েজ।

আপনি যদি একেবারে নতুন হয়ে থাকেন তাহলে প্রোগ্রামিং শেখা শুরু করার জন্য ইহা খুবই ভালো ল্যাঙ্গুয়েজ। আর আপনি যদি প্রফেশনাল প্রোগ্রামার হয়ে থাকেন এবং শিডিউল যদি খুবই টাইট হয়, তাহলে আপনি আপনার অবসর সময়ে ইহা শিখতে পারেন। ইহা আপনার প্রোগ্রামিং ব্যাসিককে নিশ্চিতভাবে আরোও শক্তিশালী কর তুলবে।