زبان سی چیست -همه چیز درباره زبان برنامه نویسی c
در سال 1972 و توسط دنیس ریچی زبان برنامه نویسی سی طراحی شد بعضی ها میگن دلیل این که اسمش C بود اینه که بعد از زبان B درست شد.( تعجب نکنید منظور از زبان B همون BCPL است ) . اگر استیو جابز را می شناسید ، فراموش نکنید که استیو کار خود را مدیون شخص دیگری به نام دنیس ریچی است که خالق زبان برنامه نویسی C است.
زبان های برنامه نویسی از نظر ساختار سه دسته اند :
1 . زبان های سطح بالا :پاسکال و بیسیک و Python( که به محاوره شبیه اند)
2 . زبان های میانی :همین زبان C خودمون (مانند زبان های سطح بالا انعطاف پذیرن اما از محاوره یکم دورترن)
3 . زبان های سطح پایین : اسمبلی (که فقط با سخت افزار کار میکنن)یکی از دلایل این که ما C رو انتخاب کردیم اینه که با کمال تعجب تعداد کلماتش خیلی کمتر از بیسیکه اما تعداد دستوراتش بیشتره در کل کامل تر و بهتره
توصیه می شود با یادگیری زبان C شروع کنید و بعد از آن ++C و Python را هم یاد بگیرید. این نکته را فراموش نکنید که با کلاس رفتن ، کتاب خواندن ، فیلم های آموزشی دیدن یک زبان برنامه نویسی را نمیتوان به طور کامل یاد گرفت بلکه باید چندین پروژه عملی برنامه نویسی را از 0 تا 100 خودتان انجام دهید.
اصولا خیلی ها میگن که برای این که زبان C میکرو رو یاد بگیریم باید زبان C کامپیوتر رو یاد بگیریم که ما از این کارا بلدنیستیم و کلا مستقیم میریم سر وقت میکرو(چراکه خیلی از توابع و دستورات کامپیوتر در میکرو فایده ای نداره و فقط کسانی که وقت زیادی دارند از کامپیوتر شروع میکنن اما در کل اگه هنوز اول راه هستید و از C کامپیوتر چیزی نمیفهمید ، نگران نباشید برای این که خوب زبان c رو یاد بگیرید باید توابع و دستوراتش رو اول بدونید که در آخر این مطلب یک کتاب خوب برای یادگیری کامل برنامه نویسی سی رو براتون قرار دادیم.
مسلماً انجام مراحل بالا برای اجرای هر برنامه زمانبر میباشد، بهمین دلیل اکثر توسعه دهندگان کامپایلرها، محیط هایی را برای برنامهنویسی ارائه کردهاند که کلیه مراحل بالا را بطور اتوماتیک انجام میدهند. به این محیطها (محیط توسعه مجتمع) گفته میشود. این محیطها دارای یک ویرایشگر متنمیباشند که معمولاً دارای ویژگیهایی همچون استفاده از رنگهای مختلف برای نشان دادن اجزای مختلف برنامه مانند کلمات کلیدی و قابلیت تکمیل اتوماتیک قسمتهای مختلف برنامه میباشد. پس از نوشتن برنامه و Run کردن آن، کلیه عملیات فوق بطور اتوماتیک انجام شده و برنامه اجرا میگردد. علاوه براین، این محیطها معمولاً دارای امکانات اشکال زدایی برنامه (Debug) نیز میباشند که شامل مواردی همچون اجرای خط به خط برنامه و یا دیدن محتویات متغیرها در زمان اجرا است.
مراحل اجرای یک برنامه C
برنامههای نوشته شده به زبان C در فایلی متنی با پسوند c. ذخیره میشوند. به این فایل، کد منبع (source code) گفته میشود. فایل کد منبع برای اجرا باید به زبان ماشین ترجمه شود که به اینکار ترجمه (compile) و به برنامهای که عمل ترجمه به زبان ماشین یا زبان دیگر را انجام میدهد مترجم (compiler) میگویند. کامپایلرهای متعددی برای زبان C و برای سیستم عاملهای مختلف نوشته شده است.
چند نمونه از نرم افزارهای الکترونیکی که از زبان برنامه نویسی C پشتیبانی می کنند شامل :
نرم افزار برنامه نویسی KEIL 4.41 برای میکروکنترلر ARM
نرم افزار برنامه نویسی IAR Embedded Workbench IDE 5.11 برای میکروکنترلر ARM
نرم افزار برنامه نویسی کدویژن CodeVision AVR 1.25.8 برای میکروکنترلر AVR
چند نکته در زبان C:
1.زبان C بین حروف بزرگ و کوچک فرق میزاره مثلا void با VOID فرق داره.(تبعیض گراس )
2 . دستورات به ; ختم میشوند
3 . دستورات یا چیزایی که بعد از //هستن خونده نمیشن
4 . در هر سطر هم میتوان چند دستور نوشت
5 . حداکثر طول هر خط 255 تا هستش !!!
کلمات پر تکرار در برنامه نویسی زبان سی
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, restrict
تفاوت زبان برنامه نویسی C و ++C در چیست ؟
++C توسعه یافته و در واقع نسخه جدید برنامه نویسی C به حساب می آید.
در ++C شما قابلیت استفاده مجدد از کد یا Reusable Code را دارید که در C این امکان نیست.
زبان C یک زبان Procedural است و ++C یک زبان Object Oriented است.
زبان C چیزی به نام Virtual Function نداشت اما در ++C توابع مجازی یا Virtual Function ها معرفی شدند.
در زبان C قابلیت چندوجهی یا Polymorphism وجود نداشت اما در ++C قابلیت Polymorphism اضافه شده است ، Polymorphism مهمترین قسمت از برنامه نویسی OOPS است.
در C امکان Operator Overloading وجود نداشت اما در ++C این قابلیت یکی از بهترین امکانات به حساب می آید.
مبانی برنامه نویسی در C بصورت بالا به پایین است در حالیکه در ++C طراحی برنامه بصورت پایین به بالا انجام می شود.
متصل کردن داده ها و توابع در C بسیار سخت بود اما در ++C این فرآیند با استفاده از Object ها به راحتی انجام می شود.
در C شما در هر تابعی می توانستید تابع main را فراخوانی کنید اما در ++C شما نمی توانید اینکار را بکنید.
ارث بری در C بی معنی بود اما در ++C فرآیند ارث بری یا Inheritance قابل پیاده سازی است.
مدیریت خطاها در C بسیار سخت تر از ++C است ، با توجه به اینکه از Class در ++C استفاده می شود.
امتیازهای برنامهنویسی سی و زبان های بعد از آن
۱. نوشتن برنامههای ساخت یافته آسان است، زیرا برنامههای پیچیده به بخشهای کوچکتری تقسیم میشوند و هر بخش توسط تابعی نوشته میشود. دستورالعملها و دادههای موجود در تابع، مستقل از سایر بخشهای برنامه است.
۲. همکاری بین افراد را فراهم میکند. به طوری که افراد میتوانند بخشهای مختلفی از برنامه را بنویسند.
۳. اشکال زدایی برنامههای ساخت یافته سادهتر است. اگر برنامه اشکالی داشته باشد، بررسی تابعی که این اشکال در آن به وجود آمده ساده است.
۴. برنامه نویسی ساخت یافته موجب صرفه جویی در وقت میشود.
با توجه به آنچه گفته شد، در مییابیم که رفع اشکال برنامهها بخصوص خطاهای منطقی از مهمترین و مشکلترین وظایف یک برنامهنویس بوده و گاهی حتی سختتر از خود برنامهنویسی است! بهمین دلیل است که بسیاری از شرکتها (همانند مایکروسافت) ابتدا نسخهٔ اولیه نرمافزار خود را در اختیار کاربران قرار میدهند تا اشکالات آن گزارش شده و رفع گردد. بسیار مهم است که در ابتدا سعی کنید برنامهای بنویسید که حداقل خطاها را داشته باشد، در گام دوم با آزمایش دقیق برنامه خود هرگونه خطای احتمالی را پیدا کنید و در گام سوم بتوانید دلیل بروز خطا را پیدا کرده و آنرا رفع نمایید. هر سه عمل فوق کار سختی بوده و نیاز به تجربه و مهارت دارد.
کتاب برنامه نویسی زبان سی به تالیف مهندس جعفر نژاد قمی را از اینجا دانلود کنید
مطالب مرتبط : |
برچسب ها:
Tags: برق و الکترونیک ict تخصصی میکروکنترلر arm میکروکنترلر میکروکنترلر avr برنامه نویسی c زبان برنامه نویسی سی