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

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

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

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

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

 সি ফাংশন

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

 সি অ্যারে

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

 সি স্ট্রিং

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

 সি পয়েন্টার

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

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

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

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

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

 

সি স্টান্ডার্ড লাইব্রেরী ফাংশন


এই অধ্যায়ে আপনি সি এর স্টান্ডার্ড লাইব্রেরী ফাংশন সম্মন্ধে জানবেন। আরোও স্পষ্টভাবে বললেঃ লাইব্রেরী ফাংশন কি, বিভিন্ন প্রকার লাইব্রেরী ফাংশন এবং আপনার প্রোগ্রামে এগুলো কিভাবে ব্যবহার করবেন।


লাইব্রেরী ফাংশনের প্রোটোটাইপ(prototype) এবং সংজ্ঞা(definition)-সমূহ রয়েছে স্ব-স্ব হেডার ফাইলে। আপনার প্রোগ্রাম থেকে এগুলোকে এক্সেস করতে হলে অবশ্যই এই হেডার ফাইল-সমূহকে আপনার প্রোগ্রামে ডিপেন্ডেন্সি(dependency) হিসাবে সংযুক্ত করতে হবে।

উদাহরণস্বরূপঃ আপনি যদি printf()ফাংশনকে আপনার প্রোগ্রামে ব্যবহার করতে চান তাহলে <stdio.h> হেডার ফাইলকে আপনার প্রোগ্রামে অবশ্যই সংযুক্ত করতে হবে।

#include <stdio.h>
int main()
{
    /* আপনি যদি  <stdio.h> হেডার ফাইল সংযুক্ত না করে printf()  ফাংশন 
    ব্যবহার করেন তাহলে আপনার প্রোগ্রাম error দেখাবে। */
    printf(" stdio.h is a required header file for print funtion."); 
}

সি প্রোগ্রাম main() ফাংশন দিয়ে শুরু হয় এবং এই ফাংশনটিও লাইব্রেরী ফাংশন এর অন্তর্ভুক্ত। আপনার প্রোগ্রাম শুরু হলে এই ফাংশনটি স্বয়ংক্রিয়ভাবেই কল(call) হয়।


লাইব্রেরী ফাংশন ব্যবহারের সুবিধাসমূহ

সি প্রোগ্রামে রয়েছে অসংখ্য লাইব্রেরী ফাংশন যা আপনার প্রোগ্রামিং জীবনকে সহজ ও স্বাচ্ছন্দ্যময় করে তুলবে।

স্টান্ডার্ড লাইব্রেরী ফাংশন ব্যবহারের ইতিবাচক দিক-সমূহ এখানে তুলে ধরা হলোঃ


সঠিকভাবে কাজ করে

সবচেয়ে গুরুত্বপূর্ণ বিষয় হলো এই ফাংশন-সমূহ আপনার প্রোগ্রামে ঠিক ঠাক কাজ করে।

এই ফাংশন-সমূহকে বিভন্ন পরীক্ষার মাধ্যমে নিখুঁতভাবে যাচাই করা হয়েছে।


সর্বোচ্চগতিতে পারফর্ম করে

ফাংশন-সমূহ " লাইব্রেরী ফাংশন" হওয়ায় একদল নিবেদিত ডেভেলপার নিয়মিত এগুলো আরোও নিখুঁত ও দ্রুতগতিসম্পন্ন করতে কাজ করে চলেছে।

এই প্রক্রিয়ায় তারা এই ফাংশন-সমূহকে সর্বোচ্চ পারফর্মেন্স সম্পন্ন করতে সক্ষম হয়।


যথেষ্ট সময় সাশ্রয় হয়

যেহেতু সচরাচর ব্যবহৃত ইনপুট/আউটপুট ফাংশনসহ অন্যান্য ফাংশন যেমন- strlen(), sqrt(), pow() ইত্যাদি ইতিমধ্যেই লাইব্রেরীর অন্তর্ভুক্ত, সুতরাং নতুন করে এই ফাংশন-সমূহ আপনাকে আর লিখতে হবে না।

ইহা আপনার মূল্যবান সময় সাশ্রয়ের সাথে সাথে কাজের গতিও বাড়িয়ে দিবে।


ফাংশন-সমূহ পুনর্ব্যবহারযোগ্য

প্রয়োজনের তাগিদে আপনার এপ্লিকেশনে পরিবর্তন আনলেও লাইব্রেরী ফাংশন-সমূহ সব সময় এবং সকল ক্ষেত্রেই একই রকম কাজ করে।

এই লাইব্রেরী ফাংশন-সমূহ সকল কম্পিউটারে একই রকম কাজ করে। ফলে ভিন্ন ভিন্ন কম্পিউটারের জন্য ভিন্ন ভিন্ন কোড লিখতে হবে না।

ইহা আপনার সময় ও শ্রম দুই-ই সাশ্রয় করে এবং আপনার প্রোগ্রামকে পুনর্ব্যবহারযোগ্য করে তোলে।


বর্গমূল নির্ণয়ে লাইব্রেরী ফাংশন

ধরুন, আপনি একটি সংখ্যার বর্গমূল নির্নয় করতে চাচ্ছেন।

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

যাইহোক আপনি সি প্রোগ্রামিং এ "math.h" এর অধীনে sqrt()ফাংশন ব্যবহার করে একটি সংখ্যার বর্গমূল নির্ণয় করতে পারেন।

#include <stdio.h>
#include <math.h>
int main()
{
   float num, root;
   printf("Enter a number to find square root.");
   scanf("%f", &num);
   // num এর বর্গমূল নির্নয় করে  root  এ জমা রাখি
   root = sqrt(num);
   printf("Square root of %.2f=%.2f", num, root);
   return 0;
}

সি প্রোগ্রামে বিভিন্ন লাইব্রেরী ফাংশনের হেডার ফাইলের লিস্ট

নাম বর্ণনা
<assert.h> Program assertion functions
<ctype.h> Character type functions
<errno.h> error handling functions
<float.h> floting point functions
<limit.h> limit setting functions
<locale.h> Localization functions
<math.h> Mathematics functions
<setjmp.h> Jump functions
<signal.h> Signal handling functions
<stdarg.h> Variable arguments handling functions
<stddef.h> various definitions functions
<stdio.h> Standard Input/Output functions
<stdlib.h> Standard Utility functions
<string.h> String handling functions
<time.h> Date time functions