C (/ s I /, c harfida bo'lgani kabi) statik tipdagi tizimga EGA bo'lgan tizimli dasturlash, leksik o'zgaruvchan ko'lam va rekursiyani qo'llab-quvvatlaydigan universal, protsessual kompyuter dasturlash tili



Download 22,43 Kb.
bet1/3
Sana11.06.2022
Hajmi22,43 Kb.
#655584
  1   2   3
Bog'liq
C tarixi


C (/ s i /, c harfida bo'lgani kabi) - statik tipdagi tizimga ega bo'lgan tizimli dasturlash, leksik o'zgaruvchan ko'lam va rekursiyani qo'llab-quvvatlaydigan universal, protsessual kompyuter dasturlash tili. Dizayn bo'yicha C odatdagi mashinalar ko'rsatmalariga samarali mos keladigan tuzilmalarni taqdim etadi. Ilgari assotsiatsiya tilida yozilgan dasturlarda kuchli foydalanishni topdi. Bunday dasturlarga operatsion tizimlar va kompyuter arxitekturasi uchun turli xil dasturiy ta'minotlar kiradi, superkompyuterlardan PLC va o'rnatilgan tizimlarga qadar.Dastlab B dasturlash tilining vorisi bo'lgan C dastlab Bell Labs-da Dennis Ritchi tomonidan 1972-1973 yillarda Unix-da ishlaydigan kommunal xizmatlarni yaratish uchun ishlab chiqilgan. Unix operatsion tizimining yadrosini qayta tiklash uchun foydalanilgan.1980-yillarda C asta-sekin mashhurlikka erishdi. Mavjud kompyuter arxitekturalari va operatsion tizimlarining aksariyati uchun mavjud bo'lgan turli xil ishlab chiqaruvchilarning C kompilyatorlari bilan dasturlash tillari orasida eng ko'p ishlatiladigan tillarga aylandi. C 1989 yildan beri ANSI (ANSI C) va Xalqaro Standartlashtirish Tashkiloti (ISO) tomonidan standartlashtirilgan. 2021 yil yanvar holatiga ko'ra C eng mashhur dasturlash tili hisoblanadi. C imperativ protsessual tildir. U past darajadagi xotiraga kirish va kompyuter ko'rsatmalarini samarali ravishda xaritada aks ettiradigan til tuzilmalarini ta'minlash uchun kompilyatsiya uchun mo'ljallangan bo'lib, ularning hammasi ish vaqtini minimal darajada qo'llab-quvvatlaydi. Past darajadagi imkoniyatlariga qaramay, til platformalararo dasturlashni rag'batlantirish uchun yaratilgan. Portativlikni yodda tutgan holda yozilgan standartlarga mos keluvchi S dasturi har xil kompyuter platformalari va operatsion tizimlari uchun asl C (/ s i / c harfidagi kabi) kichik modifikatsiyalari bilan tuzilishi mumkin, bu universal, protsessual kompyuter dasturlash tilidir. statik tipdagi tizim bilan tuzilgan dasturlash, leksik o'zgaruvchan ko'lam va rekursiya. Dizayn bo'yicha C odatdagi mashinalar ko'rsatmalariga samarali mos keladigan tuzilmalarni taqdim etadi. Ilgari assotsiatsiya tilida yozilgan dasturlarda kuchli foydalanishni topdi. Bunday dasturlarga operatsion tizimlar va kompyuter arxitekturasi uchun turli xil dasturiy ta'minotlar kiradi, superkompyuterlardan PLC va o'rnatilgan tizimlarga qadar.Dastlab B dasturlash tilining vorisi bo'lgan C dastlab Bell Labs-da Dennis Ritchi tomonidan 1972-1973 yillarda Unix-da ishlaydigan kommunal xizmatlarni yaratish uchun ishlab chiqilgan. Unix operatsion tizimining yadrosini qayta tiklash uchun foydalanilgan. 1980-yillarda C asta-sekin mashhurlikka erishdi. Mavjud kompyuter arxitekturalari va operatsion tizimlarining aksariyati uchun mavjud bo'lgan turli xil ishlab chiqaruvchilarning C kompilyatorlari bilan dasturlash tillari orasida eng ko'p ishlatiladigan tillarga aylandi. C 1989 yildan beri ANSI (ANSI C) va Xalqaro Standartlashtirish Tashkiloti (ISO) tomonidan standartlashtirilgan. 2021 yil yanvar holatiga ko'ra C eng mashhur dasturlash tilidir. C imperativ protsessual tildir. U past darajadagi xotiraga kirishni va kompyuter ko'rsatmalarini samarali ravishda xaritada aks ettiradigan til tuzilmalarini ta'minlash uchun kompilyatsiya uchun mo'ljallangan bo'lib, ularning barchasi minimal ish vaqtini qo'llab-quvvatlaydi. Past darajadagi imkoniyatlariga qaramay, til platformalararo dasturlashni rag'batlantirish uchun yaratilgan. Portativlikni hisobga olgan holda yozilgan standartlarga mos keluvchi S dasturi turli xil turlari uchun tuzilishi mumkin.Algol an'analarida aksariyat protsessual tillar singari, C ham tuzilgan dasturlash uchun imkoniyatlarga ega va leksik ko'lamini aniqlash va rekursiya qilishga imkon beradi. Uning statik turi tizimi kutilmagan operatsiyalarni oldini oladi. Cda barcha bajariladigan kodlar subroutines-larda mavjud ("funksionalliklar" deb ham nomlanadi, garchi qat'iy funksional dasturlash ma'nosida bo'lmasa ham). Funksiya parametrlari har doim qiymat bo'yicha uzatiladi (massivlardan tashqari). Yo'naltiruvchi o'tish aniq ko'rsatgich qiymatlari orqali C da modellashtirilgan. C dasturining manba kodi erkin formatda bo'lib, nuqta-verguldan foydalaniladi, bayonot terminatori va operator bloklarini guruhlash uchun jingalak qavslar. Tilda ibtidoiy boshqaruv oqimlarining to'liq to'plamini o'z ichiga olgan kichik, aniq sonli kalit so'zlar mavjud: if / else, for, do / while, while va switch. Maxsus nomlar har qanday sigilda kalit so'zlardan farq qilmaydi.Unda juda ko'p sonli arifmetik, bitli va mantiqiy operatorlar mavjud: +, + =, ++, &, || va boshqalar. Bitta bayonotda bir nechta topshiriqlarni bajarish mumkin.Qaytgan funktsiyalar kerak bo'lmaganda e'tiborsiz qoldirilishi mumkin. Funksiya va ma'lumotlar ko'rsatgichlari ish vaqtida o'zboshimchalik bilan polimorfizmga imkon beradi. Boshqa funksiyalarning leksik doirasidagi funktsiyalarni aniqlash mumkin emas.Ma'lumotlarni yozish statik, ammo bajarilmaydi; barcha ma'lumotlar har xil, ammo aniq konvertatsiya qilish mumkin. Deklaratsiyalar sintaksisi emas, foydalanish taqlidining konteksti. C-da "definition" kalit so'zi mavjud emas; buning o'rniga, tip nomi bilan boshlangan bayonot deklaratsiya deb hisoblanadi. "Function" kalit so'zi mavjud emas; o'rniga, funktsiya argumentlarning qavslar ro'yxati mavjudligi bilan ko'rsatiladi. Foydalanuvchi tomonidan belgilangan (typedef) va kompozit turlari mumkin. Ma'lumotlarning bir hil bo'lmagan to'plangan turlari (struct) sizga tegishli ma'lumotlar elementlariga kirishga va ularni bir butun sifatida belgilashga imkon beradi. Kasaba uyushmasi - bu bir-biri bilan bir-birining ustiga chiqadigan tuzilma; faqat oxirgi saqlangan a'zo haqiqiydir. Massiv indeksatsiyasi - bu ko'rsatkich arifmetikasi nuqtai nazaridan aniqlangan ikkinchi darajali yozuv. Strukturalardan farqli o'laroq, massivlar birinchi darajali ob'ektlar emas: ularni alohida o'rnatilgan operatorlar yordamida tayinlash yoki taqqoslash mumkin emas. "Massiv" kalit so'zi ishlatilmaydi yoki aniqlanmagan; buning o'rniga kvadrat qavslar, masalan, sintaktik ravishda oy qatorlarini ko'rsatadi Enum kalit so'zi bilan sanab o'tilgan turlar mumkin. Ular butun sonlar bilan erkin konvertatsiya qilinadi. Satrlar alohida ma'lumotlar turi emas, lekin odatda null terminali belgilar qatori sifatida amalga oshiriladi. Kompyuter xotirasiga past darajadagi kirish mashinaning manzillarini terilgan ko'rsatgichlarga aylantirish orqali amalga oshiriladi. Protseduralar (qiymatlarni qaytarmaydigan subroutines) - bu tipik bo'lmagan bo'sh qaytarish turiga ega bo'lgan funktsiyalarning alohida holati. Dastlabki protsessor ta'rifi so'lini, manba kodi qo'shilishini va shartli kompilyatsiyasini bajaradi. Modullikning asosiy shakli mavjud: fayllarni alohida kompilyatsiya qilish va bir-biriga bog'lash mumkin, shu bilan qaysi funktsiya va berilgan ob'ektlar statik va extern atributlaridan foydalangan holda boshqa fayllarga ko'rinishini boshqarish mumkin. Kiritish-chiqarish, satrlarni qayta ishlash va matematik funktsiyalar kabi murakkab funktsiyalar kutubxonaning tartib-qoidalariga ketma-ket berilgan. Garchi C boshqa tillarda mavjud bo'lgan ba'zi xususiyatlarni (masalan, obyektga yo'naltirish va axlat yig'ish) o'z ichiga olmaydi, lekin ular ko'pincha tashqi kutubxonalar (masalan, GLib ob'ektlar tizimi yoki Boehm axlat yig'uvchisi) yordamida amalga oshirilishi yoki taqlid qilinishi mumkin. Ko'pgina keyingi tillar to'g'ridan-to'g'ri yoki bilvosita C++ dan, shu jumladan C ++, C #, Unix C doka, D, Go, Java, JavaScript (shu jumladan transplantatorlar), Julia, Limbo, LPC, Objective-C, Perl, PHP, Python, Ruby, Rust, Swift, Verilog va SystemVerilog (texnik tavsiflash tillari). Ushbu tillar o'zlarining ko'pgina boshqaruv tuzilmalari va boshqa asosiy funktsiyalarini C dan oladi, ularning aksariyati (Python - bu ajoyib istisno), shuningdek, C ga juda o'xshash sintaksisni ifodalaydi va ular taniqli iboralar va C++ iboralari sintaksisini birlashtirmoqdalar. tubdan farq qilishi mumkin bo'lgan asosiy tizim turi, ma'lumotlar modellari va semantikasi. Tilni rivojlantirish xronologiyasi Yil standarti C 1972 yilda tug'ilgan 1978 yil K&R C 1989/1990 ANSI C va ISO C 1999 C99 2011 yil C11 2017 C17 TBD C2x C ning kelib chiqishi, dastlab Dennis Ritchi va Ken Tompson tomonidan hamkasblarining bir nechta g'oyalarini hisobga olgan holda PDP-7 assambleyasi tilida amalga oshirilgan Unix operatsion tizimining rivojlanishi bilan chambarchas bog'liq. Oxir-oqibat, ular operatsion tizimni PDP-11-ga o'tkazishga qaror qilishdi. PDP-11 uchun original Unix versiyasi ham assambleya tilida ishlab chiqilgan. Tompson yangi platforma uchun yordam dasturlarini yaratish uchun dasturlash tilidan foydalanmoqchi edi. Dastlab u Fortran kompilyatorini yaratishga harakat qildi, ammo tez orada bu g'oyadan voz kechdi. Tarixiy jihatdan, o'rnatilgan S dasturlash sobit nuqtali arifmetik, bir nechta alohida xotira banklari va asosiy I / O kabi ekzotik funktsiyalarni qo'llab-quvvatlash uchun nostandart C kengaytmalarini talab qildi. 2008 yilda C standartlari bo'yicha qo'mita ushbu muammolarni hal qilish uchun C tilini kengaytirgan texnik hisobotni e'lon qildi va barcha dasturlarga rioya qilish uchun umumiy standartni taqdim etdi. U oddiy C da mavjud bo'lmagan bir qator funktsiyalarni o'z ichiga oladi, masalan, sobit nuqta arifmetikasi, nomlangan bo'shliqlar va asosiy apparat kiritish-chiqarish manzillari.

Download 22,43 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish