در این پست سعی خواهیم کرد زبان برنامه نویسی c را آموزش دهیم. در ابتدا از دلایل یادگیری و چگونگی کارکرد زبان C صحبت خواهیم کرد و در ادامه دانلود و نصب GCC Compiler برای برنامه نویسی زبان c در ویندوز را به صورت تصویری آموزش خواهیم داد و در نهایت دستورات مهم و کلیدی زبان برنامه نویسی c را همراه با مثال توضیح خواهیم داد.
مقدمه
زبان برنامه نویسی c یک زبان برنامه نویسی همه منظوره، محبوب، ساده و قابل استفاده است. سی c یک زبان برنامه نویسی ساخت یافته مستقل از سخت افزار است. این زبان به طور گستردهای برای نوشتن برنامههای کاربردی مختلف، سیستم عاملهایی مانند ویندوز و بسیاری از برنامههای پیچیده دیگر مانند پایگاه دادهها و مترجم پایتون و غیره استفاده میشود. C را میتوان مادر تمام زبانهای برنامه نویسی دانست. C پایهای برای برنامه نویسی است و کسی که بر این زبان تسلط دارد به راحتی میتواند سایر زبانهای برنامه نویسی را درک کند. زبانهایی مانند ++C و Java توسعه یافته C هستند بنابراین، سی پایهای برای بسیاری از زبانهای دیگر است که در حال حاضر استفاده میشوند.
لزوم یادگیری زبان برنامه نویسی c
همانطور که گفته شد زبان برنامه نویسی c یک زبان پایه برای بسیاری از زبانهای برنامه نویسی است. بنابراین، یادگیری این زبان به عنوان یک زبان برنامه نویسی اصلی، نقش مهمی در هنگام مطالعه سایر زبانهای برنامه نویسی ایفا میکند چون این زبان در برنامههای مختلف مورد استفاده قرار میگیرد. سی زبان سادهای است و اجرای سریعتری دارد و حتی در بازار فعلی، مشاغل زیادی برای یک توسعه دهنده زبان برنامه نویسی c وجود دارد. سی یک زبان برنامه نویسی ساخت یافته (structured programming language) است که در آن برنامه به ماژولهای مختلف تقسیم میشود. هر ماژول میتواند به طور جداگانه نوشته شود و با هم یک برنامه واحد را تشکیل دهد. این ساختار فرآیندهای تست، نگهداری و اشکال زدایی را آسان میکند. زبان برنامه نویسی c شامل 32 کلمه کلیدی، انواع دادههای مختلف و مجموعهای از توابع داخلی قدرتمند است که برنامه نویسی را بسیار کارآمد و آسان میکند.
از دیگر ویژگیهای برنامه نویسی c گسترش آن است. یک برنامه سی شامل توابع مختلفی است که بخشی از یک کتابخانه هستند که میتوان ویژگیها و توابع سفارشی را به کتابخانه آن اضافه کرد. میتوان در هر زمان در برنامه خود به این توابع دسترسی داشت و از آنها استفاده کرد. این ویژگی در زمانی که با برنامههای پیچیده سر و کار داریم، کار را بسیار ساده میکند. کامپایلرهای مختلفی در بازار وجود دارد که میتوان از آنها برای اجرای برنامههای این زبان استفاده کرد. همچنین سی یک زبان بسیار قابل حمل (portable) است یعنی برنامههای نوشته شده به زبان C میتوانند روی ماشینهای دیگر اجرا شوند. یعنی اگر بخواهیم از این کد در کامپیوترهای دیگری استفاده کنیم یا آن را اجرا کنیم، این ویژگی ضروری است. در ضمن منابع بسیار خوبی برای یادگیری این زبان محبوب وجود دارد مثلاً برای آموزشهای تکمیلی خود، میتوانید از منابع آموزشی همچون فرادرس استفاده کنید و مهارت برنامه نویسی خود را با آموزشهای ارائه شده در آن بالا ببرید.
کارکرد زبان برنامه نویسی c
C یک زبان کامپایل شده است. کامپایلر ابزار ویژه ای است که برنامه را ترجمه می کند و آن را به فایل هایی که قابل خواندن توسط سخت افزار است تبدیل می کند. پس از فرآیند کامپایل، لینک دهنده، فایل های object مختلف را ترکیب می کند و یک فایل اجرایی واحد برای اجرای برنامه ایجاد می کند. شکل زیر فرآیند اجرای برنامه در زبان C سی را نشان می دهد.
امروزه کامپایلرهای مختلفی برای زبان سی در دسترس هستند و شما می توانید از هر کدام از آن کامپایلرها استفاده کنید. عملکرد کامپایلر ها اکثراً یکسان است و اغلب کامپایلرها ویژگی های مورد نیاز برای اجرای هر دو زبان برنامه نویسی C و ++C را ارائه می دهند. کامپایلر های محبوب این زبان عبارتند از:
- کامپایلر Clang
- کامپایلر MinGW
- کامپایلر Portable C
- کامپایلر Turbo C
- کامپایلر GCC
دانلود و نصب GCC Compiler برای برنامه نویسی زبان c در ویندوز
در این بخش از آموزش زبان برنامه نویسی c نحوه نصب کامپایلر GCC در ویندوز 10 را یاد خواهیم گرفت. در واقع برای برنامه نویسی C از یک محیط توسعه یکپارچه منبع باز به نام Code::Blocks استفاده خواهیم کرد که یک کامپایلر (به نام gcc)، ویرایشگر و دیباگر را شامل می شود. در ادامه می توانیم مراحل زیر را برای دانلود و نصب GCC Compiler برای برنامه نویسی زبان c در ویندوز انجام دهیم. برای دانلود به سایت http://www.codeblocks.org/downloads رفته و نسخه باینری را طبق شکل زیر دانلود کنید:
در صفحه بعدی گزینه Windows XP / Vista / 7 / 8.x / 10 را انتخاب کرده و فایل codeblocks-20.03-setup.exe را از طریق Sourceforge.net دانلود کنید.
پس از دانلود فایل codeblocks-20.03-setup.exe آن را نصب کنید. مراحل نصب ساده است و از طریق چند کلیک انجام می شود.
پس از نصب این مراحل می توانید Code::Blocks را باز کنید. صفحه اول به صورت زیر خواهد بود.
پس از انتخاب Create new project می توانید طبق شکل زیر از قسمت Files گزینه C/C++ Source انتخاب و بر روی Go کلیک کنید.
پس از انتخاب این بخش پنجره ایجاد پروژه ظاهر خواهد شد. بر روی Next کلیک کنید.
و در پنجره بعدی برای برنامه نویسی زبان c از بین دو گزینه موجود، گزینه c را انتخاب کنید.
حال نوبت به مسیر یا محل ذخیره پروژه می رسد. در پنجره ظاهر شده یک مسیر و نام برای پروژه خود ایجاد کنید.
پس از کلیک کردن بر روی Finish می توانیم محیط زبان برنامه نویسی C را مشاهده کنیم. در تصویر زیر این محیط نمایان است.
دستورات برنامه نویسی زبان c
در این بخش از آموزش زبان برنامه نویسی c قصد داریم دستورات مهم و کلیدی زبان C را همراه با مثال آموزش دهیم. در ابتدا یک برنامه کوچک از این زبان را می توانیم مثال بزنیم که جمله Hello World را در خروجی برای ما نمایش می دهد. برای این منظور کدهای زیر را در بخش مورد نظر وارد می کنیم.
#include <stdio.h>
int main() {
printf("Hello World");
return 0;
}
خط اول این کد مربوط به هدر زبان C است. با این دستور به برنامه می گوییم از هدر stdio.h استفاده می کنیم تا بتوانیم از توابع ورودی و خروجی استاندارد و کتابخانه ای C استفاده کنیم. خط دوم مربوط به تابع Main یا تابع اصلی برنامه است. در واقع برنامه از خط اول Main شروع به اجرا می کند. با دستور printf("Hello World") به برنامه می گوییم کلمه Hello World را در خروجی چاپ کند. در نهایت با دستور return 0 به برنامه می گوییم بدون برگرداندن مقداری از برنامه خارج شود.
با درج کدهای گفته شده در قسمت ویرایشگر Code::Block و Run کردن آن می توانیم خروجی زیر را مشاهده کنیم.
انواع داده در زبان برنامه نویسی c
در تمامی زبان های برنامه نویسی برای کار با داده ها به محلی برای نگهداری نیاز داریم که به آن متغیر یا Variable می گوییم. در زبان برنامه نویسی c برای اینکه بتوانیم از یک متغیر استفاده کنیم، قبل از استفاده بایستی نوع آن را مشخص کنیم به عبارتی قبل از استفاده از یک متغیر باید آن را در برنامه اعلان کنیم. بنابراین نیاز داریم انواع داده را برای اعلان متغیر ها در C بشناسیم.
زبان برنامه نویسی c از انواع داده ای مختلفی پشتیبانی می کند که سه نوع کلی این نوع ها عبارتند از:
- انواع داده های اصلی Primitive data types
- انواع داده های مشتق شده Derived data types
- انواع داده های تعریف شده کاربر User defined data types
پنج نوع داده اصلی عبارتند از:
- int برای داده های عدد صحیح
- char برای داده های کاراکتر
- float برای اعداد ممیز شناور
- double برای اعداد ممیز شناور با دقت دو برابر
- void
آرایه ها، توابع Function، اشاره گرها pointer و ساختارها Structure انواع داده های مشتق شده هستند. زبان c نسخه های توسعه یافته تری از انواع داده های اصلی را ارائه می دهد. هر نوع داده از نظر اندازه و محدوده با یکدیگر متفاوت هستند. در جدول زیر اندازه و محدوده انواع داده در c را مشاهده می کنید.
انواع داده | اندازه (بایت) | محدوده |
Char or signed char | 1 | -128 تا 127 |
Unsigned char | 1 | 0 تا 255 |
int or signed int | 2 | -32768 تا 32767 |
Unsigned int | 2 | 0 تا 65535 |
Short int or Unsigned short int | 2 | 0 تا 255 |
Signed short int | 2 | -128 تا 127 |
Long int or Signed long int | 4 | -2147483648 تا 2147483647 |
Unsigned long int | 4 | 0 تا 4294967295 |
float | 4 | 3.4E-38 تا 3.4E+38 |
double | 8 | 1.7E-308 تا 1.7E+308 |
Long double | 10 | 3.4E-4932 تا 1.1E+4932 |
دستورات ورودی و خروجی در زبان برنامه نویسی c
در زبان C معمولاً از دستور ()printf برای چاپ در خروجی و از دستور ()scanf برای گرفتن از وردی استفاده می شود. شکل کلی این دو دستور را می توان در زیر مشاهده کرد:
Input: scanf("%d", &intVariable);
Output: printf("%d", intVariable);
البته توابع دیگری نیز مانند ()getchar و ()putchar به ترتیب برای گرفتن یک کارکتر از ورودی و چاپ کاراکتر در خروجی وجود دارد یا توابع ()gets و ()puts برای گرفتن و چاپ رشته ها به کار می رود. با مثال زیر می توانیم این دستورات را درک کنیم.
include <stdio.h>
int main( ) {
# int c;
char str[100];
int i;
printf( "Enter a int:");
scanf("%d", &i);
printf( "\nYou entered: %d ", i);
printf( "\nEnter a char:");
c = getchar( );
printf( "\nYou entered: ");
putchar( c );
printf( "\nEnter a string:");
gets( str );
printf( "\nYou entered: ");
puts( str );
return 0;
}
با اجرای دستورات بالا می توان در خروجی مقادیر زیر را مشاهده کرد.
Enter a int:12
You entered: 12
Enter a char:c
You entered:c
Enter a string:program
You entered: program
دستورات شرطی در >زبان برنامه نویسی c
دستورات شرطی در زبان برنامه نویسی c برای تصمیم گیری بر اساس یک تعداد شرایط استفاده می شود. در برنامه نویسی C دستورات شرطی با کمک دو ساختار زیر امکان پذیر است:
- if
- if-else
به عنوان مثال می خواهیم 2 عدد num1 و num2 را باهم مقایسه کنیم. اگر num1 بزرگتر باشد num1 چاپ شود در غیر اینصورت num2 چاپ شود.
#include<stdio.h> int main() { int num1=1; int num2=2; if(num1>num2) { printf("num1"); }else{ printf("num2"); } return 0; }
دستورات تکرار یا حلقه در >زبان برنامه نویسی c
دستورات تکرار یا حلقه در زبان برنامه نویسی c دنباله ای از دستورات را چندین بار اجرا می کند تا زمانی که شرط بیان شده نادرست شود. دستورات حلقه در C از دو بخش بدنه و کنترل تشکیل شده است. دستور کنترل ترکیبی از شرایطی است که بدنه حلقه را تا زمانی که شرط مشخص شده نادرست شود اجرا می کند. در کل هدف تکرار یا حلقه، این است که یک کد را چندین بار تکرار کند. زبان برنامه نویسی c سه نوع ساختار حلقه را در اختیار ما قرار می دهد:
- حلقه while
- حلقه do-while
- حلقه for
حلقه while در >زبان برنامه نویسی c
حلقه while ساده ترین ساختار حلقه است. Syntax یا نحو حلقه While در زبان برنامه نویسی C به صورت زیر است:
while (condition) { statements; }
در حلقه while، یک شرط قبل از اجرای دستورات داخل حلقه بررسی می شود. اگر شرط درست باشد، دستورات داخل حلقه اجرا می شود. پس از اولین اجرای دستورات داخل حلقه، مجدداً شرط بررسی می شود، فرآیند تا زمانی که شرط false شود اجرا میشود. هنگامی که شرط نادرست شد، اجرای دستورات داخل حلقه متوقف می شود.
پس از خروج از حلقه، اجرای دستورات برنامه بعد از اولین دستور پس از حلقه از سر گرفته می شود. در حلقه while، اگر شرط درست نباشد، دستورات داخل حلقه حتی یک بار هم اجرا نخواهد شد. برنامه زیر مثال حلقه while در زبان برنامه نویسی C را نشان می دهد:
#include<stdio.h>
#include<conio.h>
int main() {
int num=1;
while(num<=10) {
printf("%d\n",num);
num++;
}
return 0;
}
خروجی:
1
2
3
4
5
6
7
8
9
10
حلقه do-while در >زبان برنامه نویسی c
حلقه do…while در C شبیه حلقه while است با این تفاوت که شرط همیشه بعد از اجرای دستورات داخل حلقه بررسی می شود. یعنی اگر شرط اولیه هم درست نباشد حداقل یک بار اجرا می شود. Syntax یا نحو حلقه do while در زبان برنامه نویسی C به صورت زیر است:
do { statements } while (expression);
همانطور که در حلقه while دیدیم، دستورات داخل حلقه در صورتی که شرط درست باشد، اجرا خواهد شد. در برخی موارد لازم است، بدون در نظر گرفتن شرط، حداقل یک بار دستورات داخل حلقه اجرا شوند. در این صورت می توان با استفاده از یک حلقه do-while به این عمل دست یافت.
تفاوت ساختاری بین حلقه while و do-while در این است که در حلقه while، while در ابتدا نوشته می شود. در حلقه do-while شرط while در انتها نوشته می شود و با یک سمیکولن ; خاتمه می یابد. در مثال پایین از یک حلقه do-while استفاده شده است.
#include<stdio.h>
#include<conio.h>
int main() {
int num=1;
do { printf("%d\n",2*num);
num++;
}
while(num<=10);
return 0;
خروجی:
2
4
6
8
10
12
14
16
18
20
حلقه for در >زبان برنامه نویسی c
حلقه for ساختار کامل و بهتری در زبان برنامه نویسی c دارد. Syntax یا ساختار کلی حلقه for به صورت زیر است:
for (initial value; condition; incrementation or decrementation ) { statements; }
مقدار اولیه حلقه for فقط یک بار آن هم در داخل پرانتز for انجام می شود. شرط یا شرایط یک عبارت بولی است که شمارنده را پس از هر بار تکرار با یک مقدار مقایسه میکند و در صورت false بودن حلقه for را متوقف میکند. برنامه زیر مثالی از حلقه for در زبان برنامه نویسی c را نشان می دهد:
#include<stdio.h>
int main() {
int number;
for(number=1;number<=10;number++) {
printf("%d\n",number);
}
return 0;
}
خروجی:
1
2
3
4
5
6
7
8
9
10
سخن پایانی
یادگیری برنامه نویسی کار سختی نیست فقط کافی است تا مفاهیم و اصول پایهای آن را یاد بگیریم. زبان برنامه نویسی c یکی از زبانهای پایه در برنامه نویسی است و یادگیری صحیح این زبان باعث خواهد شد تا در کار کردن با سایر زبانهای برنامه نویسی دچار مشکل نشویم. با آموزشهای برنامه نویسی فرادرس میتوانید خیلی راحت و در کمترین زمان ممکن برنامه نویسی را یاد بگیرید و از آن لذت ببرید.
سیارهی آیتی