1-laboratoriya mashg’uloti Ma’lumotlarni oddiy sozlangan turlari


Download 22 Kb.
bet2/4
Sana18.03.2023
Hajmi22 Kb.
#1282409
1   2   3   4
Bog'liq
1-mavzu

Haqiqiy toifalar float, double, long double kalit so’zlar bilan ifodalanib, ular haqiqiy 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 22 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




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