3-jadval. Printf funksiyasi katori turining simvollari
Ma’lumot turlari
|
Tur simvoli
|
Natija
|
Simvol
|
C
|
Bitta simvol
|
|
D
|
Unli butun ishorali
|
|
I
|
Unli butun ishorali
|
|
O
|
Sakkizlik butun ishorasiz
|
|
N
|
Unli butun ishorasiz
|
|
X
|
Unoltili butun ishorasiz; kuyidagi raqamlar terilmasi - 0123456789abcdef
|
|
X
|
Unoltili butun ishorasiz; kuyidagi raqamlar terilmasi - 0123456789ABCDEF
|
Kursatkich
|
P
|
Near turidagi kurstkichlar uchun kuyidagi kurnishdagi siljitish buladi: 0000. Far turidagi kursatkichlar esa kuyidagicha ifodalanadi: SSSS:0000
|
Butunga kursatkich
|
N
|
|
Xaqiqiy
|
F
|
Ishorali kattalikni kuyidagi formatda chikaradi [-]dddd.dddd
|
|
E
|
Ishorali xakikiy kattalikni eksponensial formatda chikaradi [-]d.dddde[+|-]ddd
|
|
E
|
Ishorali xakikiy kattalikni eksponensial formatda chikaradi [-]d.ddddE[+|-]ddd
|
|
G
|
Ishorali xakikiy kattalikni f formatida chikaradi
|
|
G
|
Ishorali xakikiy kattalikni F yoki E formatida chikaradi
|
Kuyidagi miolni kuraylik. Dastlabki kod 3-listingda keltirilgan. Bu dasturda formatlashtirilgan chikarish amalga oshiriladi, printf dan foydalanilgan.
3-listing.
01
|
// printf dan foydalanish dasturi
|
02
|
|
03
|
#include "stdafx.h"
|
04
|
#include
|
05
|
int main()
|
06
|
{ int anInt=67;
|
07
|
char aByte=128;
|
08
|
char aChar='@';
|
09
|
float aSingle=355.0;
|
10
|
double aDouble=1.130e+002;
|
11
|
printf("%3d + %2d = %3d\n",aByte, anInt, aByte + anInt );
|
12
|
printf("Chiqarilishda quyidagi o'zgartirish spetsifikatsiyasidan foydalanilgan %%lf :\n");
|
13
|
printf(" %6.4f / %10.4lf = %7.5lf\n",aSingle, aDouble, aSingle / aDouble );
|
14
|
printf("Chiqarilishda quyidagi o'zgartirish spetsifikatsiyasidan foydalanilgan %%le :\n");
|
15
|
printf(" %6.4e / %6.4le = %7.5le\n",aSingle, aDouble, aSingle / aDouble );
|
16
|
printf("Chiqarilishda quyidagi o'zgartirish spetsifikatsiyasidan foydalanilgan %%lg :\n");
|
17
|
printf(" %6.4g / %6.4lg = %7.5lg\n",aSingle, aDouble, aSingle / aDouble );
|
18
|
printf("Simvolli o'zgaruvchi aChar: %c\n", aChar);
|
19
|
printf("ASCII-kod %c: %d\n", aChar, aChar);
|
20
|
return 0;
|
21
|
}
|
22
|
#include "stdafx.h"
|
23
|
#include
|
24
|
int main()
|
25
|
{ int anInt=67;
|
26
|
char aByte=128;
|
27
|
char aChar='@';
|
28
|
float aSingle=355.0;
|
29
|
double aDouble=1.130e+002;
|
30
|
printf("%3d + %2d = %3d\n",aByte, anInt, aByte + anInt );
|
31
|
printf("Chiqarilishda quyidagi o'zgartirish spetsifikatsiyasidan foydalanilgan %%lf :\n");
|
3-listing dasturi buyicha chiqarilish:
128 + 67 = 195
Chiqarilishi quyidagi uzgartirish spetsifikatsiyasini ishlatadi %lf :
355.0000 / 113.0000 = 3.14159
Chiqarilishi quyidagi uzgartirish spetsifikatsiyasini ishlatadi %le :
3.5500e+02 / 1.1300e+02 = 3.14159e+00
Chiqarilishi quyidagi uzgartirish spetsifikatsiyasini ishlatadi %lg :
355 / 113 = 3.1416
Simvolli uzgaruvchi aChar: @
ASCII-kod @: 64
ESC- ketmaketliklar- bu maxsus simvolli kombinatsiyalar bulib, ular probeli simvollar va nografik simvollardan xamda simvolli konstantalardan tashkil topadi. Ular karetkani kaytarish, simvollarni literal ifodalashda va tabulyasiyalar spetsifikatsiyalarida ishlatiladi. ESC-ketmaketlik chap ogma chizikdan va undan keyin keluvchi harf , punktatsiya belgilaridan tashkil topadi.
Jadval 2.2. ESC- ketmaketliklar
-------------------------------------------------------------------------------------
ESC- ketmaketliklar Nomi
---------------------------------------------------------------------------------------
\n YAngi kator
\t Gorizontal tabulyasiya
\v Vertikal tabulyasiya
\b Probel
\r Karetkani kaytarish
\f YAngi saxifa
\a Zvonok(signal)
\' Navbatdagi kavыchka
\" Ikkilik kavыchka
Operatsiyalar
Operatsiya- bu simvollarning maxsus kombinatsiyalari bulib, ular xar xil kiymatlarni shakillantirishni spetsifitsikatsiyalaydi. Kompilyator bu kombinatsiyalarning xar birini mustakil birlik –leksema deb ataluvchi birlik sifatida interpretatsiya kiladi.
Jadval Operatsiyalar
---------------------------------------------------------------------------------------
Operatsiya Nomi
! Mantiqiy inkor
~ Bitli tuldirishlar
+ Qo’shish
- Ayirish, arifmetik inkor
* Kupaytirish
/ Bo’lish
% Koldik
<< Chapga siljitish
>> O’nga siljitish
< Kichik
<= Kichik yoki teng
> Katta
>= Katta yoki teng
== Teng
!= Teng emas
& Bitli I
| ILI ni kiritgan
^ ILI ni kiritgan bitli
&& Mantikiy I
|| Mantikiy ILI
' Ketmaket bajarilishi (vergul)
?: SHartli ifoda operatsiyasi
++ Inkrement
-- Dekrement
= Oddiy uzlashtirish
+= O‘zlashtirish kushish bilan
-= O‘zlashtirish ayirish bilan
*= O‘zlashtirish kupaytirish bilag
/= O‘zlashtirish bulish bilan
%= O‘zlashtirish koldik bilan
>>= O‘zlashtirish ung siljitilish bilan
<<= O‘zlashtirilish chap siljitilish bilan
&= O‘zlashtirish bitli I bilan
|= Bitli ILI bilan uzlashtirish
^= Bitli ILI bilan uzlashtirish
C++ tilida ifodalar.
C++ tilida o’zgaruvchi qiymatini birga oshirish va kamaytirishning samarali usullari mavjud. Ular inkrement (++) va dekrement (- -) unar amallaridir. Inkrement va dekrement amallarining prefix va postfiks ko’rinishlari mavjud.
x=y++; // postfiks
x= - -y; // prefix
sanagich ++; // unar amal, “++sanagich;” bilan ekvivalent
a--; // unar amal; “—a;” bilan ekvivalent
-
i++;
|
i=i+1;
|
-;
|
i=i-1;
|
a+=b;
|
a=a+b;
|
a-=b;
|
a=a-b;
|
a*=b-c;
|
a=a*(b-c);
|
++i;
|
i++;
|
--a;
|
a- -;
|
C++da ifodalar quyidagi tartibda hisoblanadi.
Qavs ichidagi
Funksiyalar qiymati hisoblanadi (sin(x), cos(x) va h.k)
Inkor amali (!-not)
Ko’patirish, bo’lish (*, /, %, ….)
Qo’shish kabi amallar (+, -, or, xor)
Munosabat amallari (=, <>, <, >, <=, >=)
Inkrement va dikrement operatorlar.
Inkrement operator (++)
int i,j;
i=10;
j=i++;
cout<Bajarilishi
j=i++
1-misol
Ushbu dasturda inkrement ifodasini bajarilishi keltirilgan.
#include
int main ()
{
int x=5, y=5;
cout<cout<<”,”;
cout<<++x;
cout<<”,”;
cout<}
Ifoda bajarilishi natijasida
5, 7, 6, 6
Ushbu dasturda dekrement ifodasini bajarilishi keltirilgan.
#include
int main ()
{
int x=5, y=5;
cout<cout<<”,”;
cout<<- - x;
cout<<”,”;
cout<}
Ifoda bajarilishi natijasida
5, 3, 4, 4
Inkrement operatori ham, dekrement operatori ham ikki variantda ishlaydi: prefiksli va postfiksli. Perefiksli variantda ular o’zgaruvchidan oldin (++Age), postfiksli variantda esa o’zgaruvchidan keyin (Age++) yoziladi.
Oddiy ifodalarda bu variantlarni qo’llanishida farq katta emas, lekin bir o’zgaruvchiga boshqa o’zgaruvchining qiymatini o’zlashtirishda ularning qo’llanilishi boshqacha xarakterga ega. Perefeksli operator qiymat o’zlashtirilguncha, postfiksli operator esa qiymat o’zlashtirilgandan keyin bajariladi. Buni quyidagi listingdan ko’rishimiz mumkin:
Prefiksli va postfiksli operatorlarni qo’llanishi.
# include < iostream. h >
int main()
{
int myAge = 39;
int yourAge = 39;
cout << “Men” << MyAge <<”yoshdaman \n”;
cout << “Siz” << yourAge <<“yoshdasiz \n”;
myAge++ ; // postfiksli inkrement
++yourAge; // prefeksli inkrement
cout << “Bir yil o`tdi …\ n”;
cout << “Men” << MyAge <<”yoshdaman \n”;
cout << “Siz” << yourAge <<“yoshdasiz \n”;
cout << “Yana bir yil o`tdi \n”;
cout <<” Men”<< myAge++ <<“yoshdaman \n”;
cout <<”Siz”<<++yourAge<<“yoshdasiz \n”;
cout << “Ma`lumotlarni qaytadan”
cout << “chiqaraylik \n”;
cout <<” Men”<< myAge<<“yoshdaman \n”;
cout <<”Siz”<
return 0;
}
HATIJA:
Men 39 yoshdaman
Siz 39 yoshdasiz
Bir yil o`tdi …
Men 40 yoshdaman
Siz 40 yoshdasiz
Yana bir yil o`tdi …
Men 40 yoshdaman
Siz 41 yoshdasiz
Ma`lumotlarni qaytadan chiqaraylik
Men 41 yoshdaman
Siz 41 yoshdasiz
Butun konstanta- bu o’nli, sakkizlik yoki o’n oltilik son bulib, ular butun turdagi kattalikni ifodalaydi. Unli konstanta kuyidagi formatlarga ega: ,
Bu erda - bu 0 dan 9 gacha bulgan bir yoki undan kup unli raqam. Saakizlik konstanta kuyidagi formatga ega:
0, Bu erda - 0 dan 7 gacha bulgan bita yoki undan kup bulgan sakkizlik raqamlar.
Unoltili konstanta kuyidagi formatda yoziladi:
0x
0X
Bu erda bir yoki undan kup bulgan runoltili raqamlar.
Jadval . Konstantalarga misollar.
O‘nlik Sakkizlik o‘noltilik
----------------------------------------------------------------------------------------
10 012 0xa ili 0xA
132 0204 0x84
32179 076663 0x7dB3 ili 0x7DB3
Butn turdagi konstantalar hamisha musbat kattaliklarni spetsifikatsiya kiladi. Agar manfiy kattaliklar kerak bulib kolsa, u xolda konstantali ifoda – minus belgisi va undan keyin keladigan konstantadan tashkil topgan ifoda yaratiladi. Minus belgisi arifmetik operatsiya shaklida kabul kilinadi. Har bir konstanta uz turi bilan spetsifikatsiya kilinadi, bu tur konstantani xotirada ifodalash usulini va kiymat soxasini aniklaydi. Unli konstantalar int yoki long turida bulishi mumkin. Sakizlik va unoltilik konstantalar kuyidagi turlarda bulishlari mumkin int, unsigned int, long yoki unsigned long. Agar konstanta int turida bulsa , u xolda u int turi bilan spetsifikatsiya kilinadi.
----------------------------------------------------------------------------------------
O‘n oltilik diapozon Sakkizlik diapozon Turi
0x0-0x7FFF 0-077777 int
0x8000-0xFFFF 0100000-0177777 unsigned int
0x10000-0x7FFFFFFF 0200000-017777777777 long
0x80000000-0xFFFFFFFF 020000000000-030000000000 unsigned long
Jadval . Sakkizlik va o‘noltilik konstantalar diapozoni.
Dasturchi istalgan butun konstanta uchun long turini aniklashi mukin, buning uchun konstanta oxiriga "l" yoki "L" harflarini kushib kuyish lozim.
O‘nli konstantalar Sakkizlik konstantalar o‘noltili konstantalar
Konstantalar konstantalar konstantalar
-------------------------------------------------------------------------------------
10L 012L 0xaL ili 0xAL
79l 0115l 0x4fl ili 0x4Fl
Jadval . long turidagi butun konstantalarga misollar.
Do'stlaringiz bilan baham: |