• Belgili toifa
  • Mantiqiy toifa
  • O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti




    Download 18,84 Mb.
    bet83/163
    Sana16.01.2024
    Hajmi18,84 Mb.
    #138868
    1   ...   79   80   81   82   83   84   85   86   ...   163
    Bog'liq
    O zbekiston respublikasi oliy va o rta maxsus ta lim vazirligi t

    Xaqiqiy toifalar float, double, long double kalit so’zlar bilan ifodalanib, ular xaqiqiy sonlarni ifodalashga mo’ljallangan. Ular xam xotiradan mos ravishda 4, 8, 10 bayt joy ajratadi va shunga mos diapazondagi sonlar bilan ishlashga mo’ljallangan.
    Sonli toifalar xotiraga yozilishida ular uchun ajratiladigan xotira xajmining birinchi bayti ishora uchun (“+” uchun 0, “-“ uchun 1 yoziladi) ajratiladi. Agar sonlar ishorasiz bo’lsa, toifa oldidan unsigned kalit so’zi qo’yiladi va son ishorasi uchun ajratiladigan birinchi bayt xam qiymat yozishga sarflanadi va sonlar diapazoni 2 marta ortadi.
    Haqiqiy sonlar C++ da quyidagicha e’lon qilinadi.
    float f;
    double d=0.3;


    Misol. Haqiqiy sonlarni butun qismlarini alohida va kasr qismlarini alohida yig’indisini hisoblang.


    #include
    #include
    #include
    using namespace std;
    int main(void){
    double dbl = 123.456789;
    int p = 3; //kasr qismi xonalar soni
    int w = (int)dbl;
    int fr = (int)( ( dbl - floor(dbl) ) * pow(10, p) );
    printf("Double: %f\nWhole: %d\nFractional: %d\n", dbl, w, fr);
    printf("Precision: %d digits after point.\n", p);
    int d,r;
    for(float f=1;f<5;f+=0.1){
    d+=(int)f;
    r+=(int)((f-floor(f))*pow(10,1));
    }
    cout<
    return 0;
    }


    Belgili toifa char kalit so’zi bilan ifodalanadi va 1 bayt joyni egallaydi. Bu toifa faqat bitta belgini saqlash uchun xizmat qiladi. Toifaga qiymat apostrof (‘’) ichida beriladi. Bu toifa butun toifa bo’lib, unga berilgan belgilarning ASCII kodini oladi.Belgili toifa C++ da quyidagicha e’lon qilinadi.
    char c=’@’;
    Misol. Alifbo xarflarini chiqaring va kiritilgan so’zning xarflarini o’sish tartibida saralang.
    #include
    #include
    using namespace std;
    int main(void){
    for(char c='a';c<='z';c++)
    cout<
    char s[34];
    cout<
    cin>>s;
    for(int i=0;i
    for(int j=i+1;j
    if(s[i]>s[j]) swap(s[i],s[j]);
    cout<
    return 0;
    }
    Mantiqiy toifabool kalit so’zi bilan ifodalanib, uning uchun xotirada 1 bayt joy ajratiladi. Bu toifa faqat 0 yoki 1 (false yoki true) qiymatlarini qabul qilishi mumkin.
    #include
    using namespace std;


    int main(int argc, char* argv[])
    {
    bool boolean = 25;
    if ( boolean )cout << "true = " << boolean << endl;
    else cout << "false = " << boolean << endl;
    system("pause");
    return 0;
    }
    Bu erda bool toifadagi o’zgaruvchi faqat true yoki false qiymatlarni qabul qilishini bilamiz. Lekin bool toifa butun toifa bo’lib hisoblanganligi uchun u 0 dan 255 gacha sonlarni ham qabul qilishi mumkin. Shulardan 0 bu false qiymatga va 1 dan 255 gacha sonlar true qiymatiga mos keladi.

    Download 18,84 Mb.
    1   ...   79   80   81   82   83   84   85   86   ...   163




    Download 18,84 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi toshkent axborot texnologiyalari universiteti

    Download 18,84 Mb.