#2 সি প্রোগ্রামিং - শুরু এবং প্রথম সি প্রোগ্রাম (Basic C programming)

                                                                                                                     সূচিপত্র দেখুন

আমাদের প্রথম সি প্রোগ্রাম !

আশা করি সবাই প্রয়োজনীয় সফটওয়্যার ডাউনলোড করে সেট আপ করে নিয়েছেন। না নিয়ে থাকলে পুর্বের পোষ্টটি পড়ুন। তাহলে চলুন, লিখে ফেলি আমাদের প্রথম প্রোগ্রাম। আমাদের কাজ হবে-  This is my first program লেখাটি স্ক্রিনে প্রিন্ট করা। কাজটি করার জন্য আপনার codeblocks/apps এ গিয়ে  new > empty file এ  click করে একটি file খুলুন। এবার এতে নিচের কোডগুলো লিখে ফেলুন। প্লীজ, copy-paste করবেন না। আমরা এই টিউটরিয়ালে যত গুলো কোড লিখব সেগুলো আপনি নিজে লিখবেন, তাতে ভাল হবে।  

#include <stdio.h>
int main(){
    printf("This is my first program");
    return 0;
}

কোডটি লেখা হলে file টির নাম  anyname.c দিয়ে সেভ করুন। এখানে আপনি anyname না লিখে অন্য যেকোনো কিছু লিখে পারেন, কিন্তু শেষে .c থাকতে হবে। .c এক্সটেনশন দিয়ে C file বুঝায়, যেমন audio file বুঝাতে .mp3 এবং video file বুঝাতে .mp4 এক্সটেনশন দেওয়া থাকে । সুতরাং যেকোনো C file সেভ করার সময়  .c এক্সটেনশন অবশ্যই দিতে হবে, না হলে ফাইলটি কম্পাইল হবে না। .c না লিখে অন্য কিছু লিখে একবার টেস্ট করে দেখুন!

C programming Source code

Saving c programming code

 

save c source code

 
ফাইলটি সেভ করা হলে Build অপশনে গিয়ে Build & Run করুন। WOW! স্ক্রিনে লেখাটি দেখা যাচ্ছে! 

build and run c programm
c programming result

এখন কোটেশনের ভিতরের লেখা মুছে দিয়ে অন্য কিছু লিখে প্রোগ্রামটি চালিয়ে দেখুন। যেমন,
 
printf("Hello World!");
printf("I have $50");
printf("Learn C program");
.........ইত্যাদি ইত্যাদি।

সি প্রোগ্রামিং এর কিছু শব্দ পরিচিতি

এবার আমারা উল্লিখিত কোডটি বোঝার চেষ্টা করব এবং কিছু শব্দের সাথে পরিচিত হব যেগুলা ঘুরে ফিরেই আমাদের সামনে আসবে। প্রথমেই আমারা জেনে নেই - function কি? গাণিতিক ভাষায়, function হচ্ছে একটা expression বা rule যা একটা স্বাধীন variable এর সাথে অন্য একটা অধীন variable কে relate করে। যেমন ধরে নেই f(x) একটি function এবং f(x) = 3x+1. এখানে x হচ্ছে function এর parameter। x এর একটি মানের জন্য f(x) এর আরেকটি মান পাওয়া যায়। এখানে x এর মান হচ্ছে input এবং f(x) এর মান হচ্ছে output. যেমন x = 5 দিলে f(x)= 16 পাওয়া যায়। এখান input = 5 এবং output = 16.
এভাবে programming fuction হচ্ছে a block of code যা নির্দিস্ট কাজ করে। যেমন উপরের কোডে main() বা printf() হচ্ছে function. print() এর ব্রাকেটের ভিতরে " " দিয়ে যা লিখবেন তাই সে স্ক্রিনে print করবে। পরবর্তীতে আমরা function নিয়ে আরও বিশদভাবে জানব।

Different part of c program

উপরে কোডটিতে #include <stdio.h> দ্বারা আমরা stdio.h নামক একটি হেডার(header) ফাইল আমাদের প্রোগ্রামে যুক্ত করেছি। আমাদের ব্যবহৃত printf() ফাংশনটি কিভাবে কাজ করবে তা stdio.h (standard input output) file এ দেওয়া আছে। আমারা বিভিন্ন কোড লেখার সময় প্রয়োজনীয় বিভিন্ন হেডার ফাইল ব্যবহার করব। যাইহোক, হেডার ফাইল অনেক গুরুত্বপূর্ণ হলেও C Compiler কিন্তু main() function থেকে কাজ শুরু করে। মূলত main() function হচ্ছে একটা C program এর প্রান। প্রোগ্রামের যাবতীয় কাজ এই main() function এর ভিতরে হয়ে থাকে। তাই যেকোনো program এ একটিমাত্র main() function থাকা অত্যাবশ্যক।  main() function এর ভিতরে প্রত্যেকটি লাইন হচ্ছে একটি C statement এবং প্রত্যেকটি statement অবশ্যই ; দ্বারা শেষ করতে হবে। এখানে return 0; statement টি হচ্ছে main function এর অংশ। Function নিয়ে পড়ার সময় এ বিষয়ে বিস্তারিত আলোচনা করব। C Compiler main() function থেকে কাজ শুরু করে একটা statement কম্পাইলের পর পরের statement কম্পাইল করা শুরু করে। তাই C language কে procedural programming language বলা হয়। তাহলে C program এর সরল কাঠামোটি হবে এরূপ-

#include <stdio.h>
...[প্রয়োজনীয় Header File]...
int main(){

      [যে প্রোগ্রাম বানাবো সেই অনুযায়ী statements, code এখানে থাকবে]

    return 0;
}


কিভাবে কাজ করে?

আপনাদের অনেকের মনে কৌতূহল জাগতে পারে যে, প্রোগ্রামটি কিভাবে কাজ করে? আমি খুব গভীরে না যেয়ে বিষয়টি সহজভাবে তুলে ধরার চেষ্টা করবো। তাছাড়া প্রোগ্রামিং শেখার জন্য গভীরভাবে জানার কোনো প্রয়োজনও নেই। যাইহোক, আমারা যে anyname.c ফাইলটি লিখলাম, সেটাকে বলা হয় source file বা source code. এই source file মানুষ বুঝতে পারে কিন্তু কম্পিউটার পারেনা। তো আমারা যখন codeblocks বা অন্যান্য অ্যাপসে build option এ click করি তখন এই প্রোগ্রাম বা source file টি compile হয়ে anyname.o নামে একটি object file/ object code তৈরি করে। এই object মূলত 1 এবং 0 এর file যা কম্পিউটার বোঝে। এরপর আমারা যখন run option এ click করি তখন এর object file টি execute হয় অর্থাৎ আমাদের প্রোগ্রামটি তার নির্দিস্ট কাজটি করে।
    source code ----------compile-----------object code
    anyname.c-------------------------------anyname.o 

সি কমেন্ট (How to write C Comment)

এখন আমারা সি প্রোগ্রাম এর একটি গুরুত্বপূর্ণ বিষয় জানব। নিচের কোডগুলো লিখে ফেলুন এবং run করে দেখুন..

#include <stdio.h>
int main(){
    //I can write C program.

    print("Hello World!");

    /*
      This program is written by Mr X.
      Mr X is a good programmer.
      Date: 13/11/2020
    */

    printf("This is my first program");
    return 0;
}

কি দেখতে পাচ্ছেন? শুধুমাত্র Hello World!This is my first program প্রিন্ট হয়েছে। তাহলে // এবং /*...*/ এগুলা কি? এগুলা মূলত C Comment. মনে করুন, আপনার কোডটি অন্য একজন পড়ছে। সে যাতে আপনার কোডগুলো ভালভাবে বুঝতে পারে সেজন্য আপনি আপনার কোডে কিছু comment বা মতামত লিখতে পারেন। 
এক লাইনের কমেন্ট এভাবে লিখতে হয়  // comment...
একাধিক লাইনের কমেন্ট এভাবে লিখতে হয়  /* comment1..
                                                               comment2.. */

সি কম্পাইলার কোডের কোনো অংশে // বা /*...*/  চিহ্ন পেলেই তা এড়িয়ে চলে। তাই comment প্রোগ্রামের কোনো অংশ নয়, এর কাজ হচ্ছে আপনার কোডটি পাঠকের বোঝার জন্য সুবিধা করে দেওয়া। 

সি এস্কেপ সিকুয়েন্স  (C Escape Sequence)

আচ্ছা, উপরের কোডটিতে ভালভাবে লক্ষ্য করুন, Hello World!This is my first program এই দুইটি বাক্য একই লাইনে প্রিন্ট হয়েছে। এখন আপনি যদি চান, দুইটা বাক্য দুইটি লাইনে প্রিন্ট হোক, তাহলে কি করবেন? ব্যাপারটা সহজ। প্রথম বাক্যটি প্রিন্ট করতে হবে, তারপর একটি নিউলাইন প্রিন্ট করতে হবে। নিউলাইন প্রিন্ট করলে একটা নতুন লাইন শুরু হয়, অনেকটা text editor এ Enter চাপ দিলে যেমন নতুন লাইন শুরু হয়। নিউলাইন প্রিন্ট করার জন্য "\n" লিখতে হয়। সুতরাং কোডটি হবে এরূপ     print("Hello World!\n"); । আবার, লক্ষ্য করুন কোটেশন " " এর ভিতরে যা লিখছেন তাই প্রিন্ট হচ্ছে। তাহলে  কোটেশন " " বা ' ' প্রিন্ট করবেন কিভাবে? এসব প্রিন্ট করার জন্য একটা অতিরিক্ত ব্যাকস্লাশ দিতে হয়। যেমন I'm a student বা He said,"How are you?". প্রিন্ট করার জন্য কোডগুলো হবে এরূপ-
printf("I\'m a student");
printf("He said,\"How are you\?\".");
এভাবে ", ', ?, newline ইত্যাদি প্রিন্ট করার জন্য একটা অতিরিক্ত \ ব্যবহার করাকে বলা হয় Escape Sequence. কয়েকটি গুরুত্বপূর্ণ Escape Sequence নিচে দেওয়া হল, প্রত্যেকটি নিজে প্রিন্ট করে দেখুন।

Escape Sequence

Meaning

\b

Backspace

\f

Form Feed

\n

New Line

\r

Carriage Return

\t

Horizontal Tab

\v

Vertical Tab

\\

Backslash

\'

Single Quote

\"

Double Quote

\?

Question Mark

\nnn

octal number

\xhh

hexadecimal number

\0

Null

আরও পড়ুন


Post a Comment (0)
Previous Post Next Post