C va C++ dasturlash tilida digraflar va trigraflar mavjud bo'lib, mos ravishda ular 2 va 3 belgidan iborat ketma-ketlik. Dasturlash tilining spetsifikatsiyasiga ko’ra, bu belgilar bitta belgi sifatida ko’rib chiqiladi.
Digraflar va trigraflardan foydalanish uchun turli sabablar mavjud :
- klaviaturada tilning barcha belgilar majmuasini qamrab oluvchi tugmachalar boʻlmasligi
- maxsus belgilar kiritish qiyin boʻlishi
- matn muharrirlari baʼzi belgilarni maxsus foydalanish uchun zaxiralashi
mumkin va hokazo.
Trigraf
2 ta so'roq belgisi va undan keyin keluvchi belgi, jami 3 ta belgi trigrafni ifodalaydi. Hamda shundagi eng so'nggi belgi orqali kompilyatsiya jarayonida mos ekvivalent belgi olinadi. Buning uchun jadvalga qarang.Misol :
Yuqoridagi kod quyidagi ko'rinishda bo'ladi :
#include <stdio.h>
int main()
{
char n[5];
n[4] = '0' - (~0 ^ 1 | 2);
printf("%c\n", n[4]);
return 0;
}
Kodda natija esa 2 chiqadi.
IBM kompaniyasi noroziligi tufayli C++11 standartida trigraflar saqlab qolingan bo'lsada, trigraflarni C++17 standartida chiqarib yuborish taklif qilindi (eskirish natijasida) va qoʻmita ovozidan oʻtdi hamda IBM qarshiligiga qaramay trigraflar C++ 17 dan olib tashlandi.
Digraf
1994-yilda C standartiga me'yoriy tuzatish kiritildi va C99 da beshta digraflarni trigraf kabi o'qilishi mumkin bo'lgan alternativ sifatida taqdim etdi. Bular :
Trigraflardan farqli o'laroq, digraflarni preprotsessor bilan almashtirish leksik tahlildan so'ng va digraf alohida token bo'lsagina amalga oshiriladi.
Misol :
#include <iostream>
int main() {
int m[] = {10};
std::cout << m[0];
}
Kodda natija 10 chiqadi.
Qo'shimcha operatorlarning faqat belgi sifatida emas, balki unga qo'yilgan nom orqali ham ishlata olamiz. Asosan, biz mantiqiy operatorlarni bilar edik bunday holatda. Quyidagi jadvalga e'tibor bering :
Yuqoridagi jadvalda operator nomlaridan foydalanib, quyidagi kodni yozdik :
((compl a bitor b) bitand c) = ((~a | b) & c)
kabi ifodaga tengdir.
Foydalanilgan saytlar
- Wikipedia1
- Wikipedia2
- Wikipedia3
Dunyoda turmoq uchun dunyoviy fan va ilm lozimdur, zamona ilmi va fanidan bebahra millat boshqalarga poymol bo'lur.
©️Mahmudxo'ja Behbudiy