See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
زبان برنامه‌نویسی سی - ویکی‌پدیا

زبان برنامه‌نویسی سی

از ویکی‌پدیا، دانشنامهٔ آزاد.

فهرست مندرجات

[ویرایش] تاریخچه

C یک زبان سطح میانی همه منظوره‌است، یعنی هم امکانات زباهای سطح بالا را پشتیبانی می‌کند و هم امکانات زبانهای سطح پایین ولی در اصل یک زبان سطح بالا است. این زبان به صورت بسیار نزدیکی در ارتباط با سیستم عامل یونیکس(Unix) قرار داشته و در این محیط توسعه و تکامل یافته‌است ،زیرا سیستم عامل یونیکس و بیشتر برنامه‌هایی که روی این سیستم اجرا می‌شود به زبان C نوشته شده‌اند.

با این وجود، این زبان به هیچ سیستم عامل یا ماشین خاصی وابستگی ندارد،و میتوان از آن برای نوشتن برنامه برای میکروکنترلرها، انواع CPUها و سیستم عاملها استفاده کرد. اگرچه این زبان،'زبان برنامه نویسی سیستم' نامیده شده‌است چرا که برای نوشتن برنامه‌های مترجم (کامپایلرها) و سیستم‌های عامل بسیار مفید است، با این وجود این زبان ، برای نوشتن برنامه‌های اصلی در بسیاری از زمینه‌ها ،زبانی کاملاً مناسب و مطلوب است.

بسیاری از ایده‌های مهم و ریشه‌ای زبان C از زبان BCPL گرفته شده‌است که توسط مارتین ریچاردز (Martin Richards) طراحی و توسعه یافت. از طریق زبان B، زبان BCPL به صورت غیر مستقیم بر روی زبان C اثر گذاشت که به نوبهٔ خود در سال ۱۹۷۰ توسط کن تامپسون (Ken Tampson) روی کامپیوتر DEC PDP-7 برای اولین سیستم عامل UNIX نوشته شد.

[ویرایش] ویژگی‌ها

  • این زبان یک زبان برنامه نویسی سطح بالا است.
  • زبان C یک زبان ساخت یافته‌است.
  • زبان C قابل انعطاف و بسیار قدرتمند است. در این زبان هیچ محدودیتی برای برنامه نویس وحود ندارد.
  • C زبان برنامه نویسی سیستم است.
  • C یک زبان قابل حمل است.
  • C زبان کوچکی است. تعداد کلمات کلیدی آن انگشت شمار است.
  • C نسبت به حروف حساس است. و تمام کلمات کلیدی این زبان با حروف کوچک نوشته می‌شوند.


BCPL و B ،زبان‌های بدون نوع داده ای هستند. اما در مقابل آن، در زبان C انواع مختلفی از نوع‌های داده‌ای تدارک دیده شده‌است. نوع‌های اصلی و پایه‌ای انواع کارکتری و اعشاری اعداد با اندازه‌های مختلف هستند. علاوه بر این، سلسله مراتبی از انواع داده‌ای فرعی در زبان C وجود دارد که می‌توان آن‌ها را به همراه اشاره گرها (Pointers)، آرایه (Strings) ، ساختار (Structuers)و Union‌ها ایجاد کرد.

عبارت‌ها، از عملگرها و عملوندها ساخته می‌شوند. هر عبارت از جمله ،یک جایگزینی یا احضار یک تابع میتواند یک دستور باشد. اشاره گرها برای محاسبات روی آدرس‌ها ، که مستقل از ماشین هستند در نظر گرفته شده‌اند.

C، یک زبان نسبتاً سطح پایین محسوب می‌شود، این یک توصیف تحقیرآمیز نبوده، و صرفاً به این معنی است که C با همین نوع از اشیائی سروکار دارد که بیشتر کامپیوترها با آن سروکار دارند، نظیر کارکترها ،اعداد و آدرس‌ها. این اشیا را می‌توان با هم ترکیب کرد و می‌توان روی آنها همان عملیات محاسباتی و منطقی را انجام داد که توسط یک کامپیوتر حقیقی پیاده سازی کرد.

سیستم عامل symbian با زبان c نوشته شده و بهمین دلیل این زبان به‌عنوان زبان اولیه برای برنامه نویسی در آن انتخاب شده‌است .C بیشترین امکان دسترسی به API‌های سیستم عامل سیمبیان را فراهم می‌کند و بهترین کارکرد در حافظه و سرعت اجرا را داراست. اما در گزینه‌های زیر باید ازین زبان استفاده شود :

برنامه‌هایی که مانند سرور عمل می‌کنند. برای نمونه برنامه‌هایی که در پشت صحنه کار می‌کنند و یکی از بخش‌های سیستم- به عنوان مثال پورت های COM - را مدیریت می‌کنند.

PLUG in‌ها که محیطی را بر پایه سیستم عامل ایجاد می‌کنند . بطور مثال برنامه‌ای که فایل‌های html را به فایل‌های word سیمبیان تبدیل می‌کند از کتابخانه مبدل سیستم عامل استفاده می‌کند .

درایورهای دستگاه که با Kernel کار متعامل می‌کنند.

استفاده از زبان C در سیستم عامل سیمبیان بر روی مناسب بودن کارکرد گوشی‌ها متمرکز شده‌است ، که بدین معناست که چند تا از عملگرهای استاندارد زبان C مانند مدیریت استثناها قابل استفاده در برنامه نویسی سیمبیان نیستند.

[ویرایش] مدیریت حافظه

یکی از مهمترین توابع زبان های برنامه نویسی فراهم آوردن ابزاری جهت اداره‌ی حافظه و اشیا ذخیره شده در حافظه می‌باشد. سی سه راه برای تخصیص حافظه به اشیا را فراهم می‌کند.

  • تخصیص حافظه به صورت استاتیک : فضای لازم برای اشیا در هنگام نوشتن کد مشخص می گردد. اشیا در این حالت تا زمانی که کد باینری که آنها را شامل می‌شود ، در حافظه قرار دارد مقداری از حافظه را به صورت همیشگی اشغال می‌کنند .
  • تخصیص حافظه به صورت اتوماتیک :‌ اشیا موقتی می‌توانند بر روی پشته ذخیره شوند ،‌این فضای اختصاص داده شده به اشیا به صورت اتوماتیک پس از خارج شدن از بلاکی که شیا در آنها تعریف شده‌اند ، آزاد و مجددا قابل استفاده خواهد بود.

تخصیص حافظه به صورت دینامیک :‌ اندازه‌های اختیاری از بلاک‌های حافظه می توانند توسط توابع کتابخانه ای همانند تابع malloc از ناحیه‌ای از رم موسوم به پشته (heap) در هنگام اجرای برنامه درخواست بشود. این بلاک‌های حافظه تا زمانیکه متعاقبا توسط تابع free فراخوانی و قابل استفاده بشوند در حافظه باقی می‌مانند.

[ویرایش] کلمات کلیدی

auto , double , int , struct , break , else , long , switch , case , enum , register , typedef , char , extern , return , union , const , float , short , unsigned , continue , for , signed , void , default , goto , sizeof , volatile , do , if , static , while


[ویرایش] منابع

  • برنامه نویسی به زبان C تألیف عین‌الله جعفر نژاد قمی
  • زبان برنامه نویسی C، ترجمه حسین ابراهیم زادهٔ قلزم
  • ترجمه از مقاله‌ی ویکیپدیا به نام C (programming language)
زبان‌های اصلی برنامه‌نویسی (ویرایش)

صنعتی-تجاری: آباپ | اِیدا | اسمال‌تاک | اسمبلی | ای‌دبلیو‌کی | ایفل | بیسپ معمولی | پاسکال | پاوربیلدر | پایتون | پرل | پی‌اچ‌پی | پی‌ال/اس‌کیوال | تی‌اس‌کیوال | تی‌سی‌ال | جاوا | جاوااسکریپت | دلفی | روبی | ساس | سی | سی شیء‌گرا | سی++ | سی‌شارپ | فرترن | کوبول | کلدفیوژن | لیسپ | ویژوال بیسیک دات نت | ویژوال بیسیک | ویژوال سی درون کار | ویژوال سی دات نت | ویژوال سی شارپ دات نت | ویژوال سی | ویژوال فاکس پرو

دانشگاهی: ای‌پی‌ال/جی | اسکیم | ام‌ال | پاسکال | پرولوگ | لوگو | هسکل |

تاریخی: الگول | بیسیک | پی‌ال/آی | سیمولا | کلیپر | مدول-۲/مدول-۳ | مامپس


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -