Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet222/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   218   219   220   221   222   223   224   225   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

ПРИЛОЖЕНИЕ 1


Операции языка С++
Îïåðaöèè ïðèâåäåíû â ïîðяäêå óáûâaíèя ïðèîðèòåòa. Îïåðaöèè ñ ðaçíûìè ïðè- îðèòåòaìè ðaçäåëåíû ÷åðòîé.



Операция

Краткое описание

Унарные операции
::

äîñòóï ê îáëañòè âèäèìîñòè

.

âûáîð

->

âûáîð

[]

èíäåêñaöèя

()

âûçîâ ôóíêöèè

<òèï>( )

êîíñòðóèðîâaíèå

++

ïîñòôèêñíûé èíêðåìåíò

––

ïîñòôèêñíûé äåêðåìåíò

typeid

èäåíòèôèêaöèя òèïa

dynamiC_Cast

ïðåîáðaçîâaíèå òèïa ñ ïðîâåðêîé ía ýòaïå âûïîëíåíèя

statiC_Cast

ïðåîáðaçîâaíèå òèïa ñ ïðîâåðêîé ía ýòaïå êîìïèëяöèè

reinterpret_Cast

ïðåîáðaçîâaíèå òèïa áåç ïðîâåðêè

COnst_Cast

êîíñòaíòíîå ïðåîáðaçîâaíèå òèïa

sizeOf

ðaçìåð îáúåêòa èëè òèïa

––

ïðåôèêñíûé äåêðåìåíò

++

ïðåôèêñíûé èíêðåìåíò

~

ïîðaçðяäíîå îòðèöaíèå

!

ëîãè÷åñêîå îòðèöaíèå

Приложение 1. Операции языка С++ 385


Операция

Краткое описание

– aðèôìåòè÷åñêîå îòðèöaíèå (óíaðíûé ìèíóñ)

+ óíaðíûé ïëþñ

& âçяòèå aäðåña

* ðaçaäðåñaöèя

new âûäåëåíèå ïaìяòè

delete îñâîáîæäåíèå ïaìяòè

(<òèï>) ïðåîáðaçîâaíèå òèïa

.*
->*

âûáîð
âûáîð

Бинарные и тернарные операции

* óìíîæåíèå

/ äåëåíèå

% îñòaòîê îò äåëåíèя

+ ñëîæåíèå
– âû÷èòaíèå

<<
>>

ñäâèã âëåâî
ñäâèã âïðaâî

< ìåíüøå

<= ìåíüøå èëè ðaâíî

> áîëüøå

>= áîëüøå èëè ðaâíî

==
!=

ðaâíî
íå ðaâíî

&

ïîðaçðяäíaя êîíúþíêöèя (È)

^

ïîðaçðяäíîå èñêëþ÷aþùåå ÈËÈ

|

ïîðaçðяäíaя äèçúþíêöèя (ÈËÈ)

&&

ëîãè÷åñêîå È

||

ëîãè÷åñêîå ÈËÈ

?:

óñëîâíaя îïåðaöèя (òåðíaðíaя)

=
*=
/=

ïðèñâaèâaíèå
óìíîæåíèå ñ ïðèñâaèâaíèåì äåëåíèå ñ ïðèñâaèâaíèåì

386 Приложение 1. Операции языка С++



Операция

Краткое описание

%=

îñòaòîê îòäåëåíèя ñ ïðèñâaèâaíèåì

+=

ñëîæåíèå ñ ïðèñâaèâaíèåì

–=

âû÷èòaíèå ñ ïðèñâaèâaíèåì

<<=

ñäâèã âëåâî ñ ïðèñâaèâaíèåì

>>=

ñäâèã âïðaâî ñ ïðèñâaèâaíèåì

&=

ïîðaçðяäíîå È ñ ïðèñâaèâaíèåì

|=

ïîðaçðяäíîå ÈËÈ ñ ïðèñâaèâaíèåì

^=

ïîðaçðяäíîå èñêëþ÷aþùåå ÈËÈ ñ ïðèñâaèâaíèåì

thrOw

èñêëþ÷åíèå

,

ïîñëåäîâaòåëüíîå âû÷èñëåíèå

ПРИЛОЖЕНИЕ 2


Спецификации формата

для функций семейства printf



Спецификация

Пояснение

C

aðãóìåíò ðaññìaòðèâaåòñя êaê îòäåëüíûé ñèìâîë

d, i

aðãóìåíò ïðåîáðaçóåòñя ê äåñяòè÷íîìó âèäó

e, E

aðãóìåíò, ðaññìaòðèâaåìûé êaê ïåðåìåííaя òèïa flOat èëè dOuble, ïðåîáðaçóåòñя â äåñяòè÷íóþ ôîðìó â âèäå [-]m.nnnnnne[+-]õõ, ãäå äëèía ñòðîêè èç n îïðåäåëяåòñя óêaçaííîé òî÷íîñòüþ (ñì. ñëåä. òaáë.). Òî÷íîñòü ïî óìîë÷aíèþ ðaâía 6

f

aðãóìåíò, ðaññìaòðèâaåìûé êaê ïåðåìåííaя òèïa flOat èëè dOuble, ïðåîáðaçóåòñя â äåñяòè÷íóþ ôîðìó â âèäå [-]mmm.nnnnn, ãäå äëèía ñòðîêè èç n îïðåäåëяåòñя óêaçaííîé òî÷íîñòüþ (ñì. ñëåä. òaáë.). Òî÷íîñòü ïî óìîë÷aíèþ ðaâía 6

g, G

èñïîëüçóåòñя ôîðìaò %e èëè %f, êîòîðûé êîðî÷å; íåçía÷aùèå íóëè íå ïå÷aòaþòñя

O

aðãóìåíò ïðåîáðaçóåòñя â áåççíaêîâóþ âîñüìåðè÷íóþ ôîðìó (áåç ëèäèðóþùåãî íóëя)

p

âûâîä óêaçaòåëя â øåñòíaäöaòåðè÷íîì ôîðìaòå (ýòa ñïåöèôèêaöèя íå âõîäèò â ñòaíäaðò, íî îía ñóùåñòâóåò ïðaêòè÷åñêè âî âñåõ ðåaëèçaöèяõ)

s

aðãóìåíò яâëяåòñя ñòðîêîé: ñèìâîëû ñòðîêè ïå÷aòaþòñя äî òåõ ïîð, ïîêa íå áóäåò äîñòèãíóò íóëåâîé ñèìâîë èëè íå áóäåò íaïå÷aòaíî êîëè÷åñòâî ñèìâîëîâ, óêaçaííîå â ñïåöèôèêaöèè òî÷íîñòè

u

aðãóìåíò ïðåîáðaçóåòñя â áåççíaêîâóþ äåñяòè÷íóþ ôîðìó

x, X

aðãóìåíò ïðåîáðaçóåòñя â áåççíaêîâóþ øåñòíaäöaòåðè÷íóþ ôîðìó (áåç ëèäèðóþùèõ 0õ)

%

âûâîäèòñя ñèìâîë %

388 Приложение 2. Спецификации формата для функций семейства printf


Модификаторы формата


Ìîäèôèêaòîðû ôîðìaòa ïðèìåíяþòñя äëя óïðaâëåíèя øèðèíîé ïîëя, îòâî- äèìîãî äëя ðaçìåùåíèя çía÷åíèя. Ìîäèôèêaòîðû — ýòî îäíî èëè äâa ÷èñëa, ïåð- âîå èç êîòîðûõ çaäaåò ìèíèìaëüíîå êîëè÷åñòâî ïîçèöèé, îòâîäèìûõ ïîä ÷èñëî, a âòîðîå — ñêîëüêî èç ýòèõ ïîçèöèé îòâîäèòñя ïîä äðîáíóþ ÷añòü ÷èñëa (òî÷- íîñòü). Åñëè óêaçaííîãî êîëè÷åñòâa ïîçèöèé äëя ðaçìåùåíèя çía÷åíèя íåäîñòa- òî÷íî, aâòîìaòè÷åñêè âûäåëяåòñя áîëüøåå êîëè÷åñòâî ïîçèöèé:

  • %-minC èëè %minC;

  • %-min.preCisiOnC èëè %min.preCisiOnC.

Çäåñü C — ñïåöèôèêaöèя ôîðìaòa èç ïðèâåäåííîé âûøå òaáëèöû, min — ÷èñëî, çaäaþùåå ìèíèìaëüíóþ øèðèíó ïîëя. Cìûñë ìîäèôèêaòîða preCisiOn, òaêæå ça- äaâaåìîãî äåñяòè÷íûì ÷èñëîì, çaâèñèò îò ñïåöèôèêaöèè ôîðìaòa, ñ êîòîðîé îí èñïîëüçóåòñя:

  • ïðè âûâîäå ñòðîêè (ñïåöèôèêaöèя %s) preCisiOn óêaçûâaåò ìaêñèìaëüíîå ÷èñ- ëî ñèìâîëîâ äëя âûâîäa;

  • ïðè âûâîäå âåùåñòâåííîãî ÷èñëa (ñïåöèôèêaöèè %f èëè %e) preCisiOn óêaçû- âaåò êîëè÷åñòâî öèôð ïîñëå äåñяòè÷íîé òî÷êè;

  • ïðè âûâîäå öåëîãî ÷èñëa (ñïåöèôèêaöèè %d èëè %i), preCisiOn óêaçûâaåò ìè- íèìaëüíîå êîëè÷åñòâî âûâîäèìûõ öèôð. Åñëè ÷èñëî ïðåäñòaâëяåòñя ìåíü- øèì ÷èñëîì öèôð, ÷åì óêaçaíî â preCisiOn, âûâîäяòñя âåäóùèå (ía÷aëüíûå) íóëè.

Cèìâîë ìèíóñ (–) óêaçûâaåò ía òî, ÷òî çía÷åíèå âûðaâíèâaåòñя ïî ëåâîìó êðaþ è, åñëè íóæíî, äîïîëíяåòñя ïðîáåëaìè ñïðaâa. Ïðè îòñóòñòâèè ìèíóña çía÷åíèå âûðaâíèâaåòñя ïî ïðaâîìó êðaþ è äîïîëíяåòñя ïðîáåëaìè ñëåâa.
Ïåðåä ñïåöèôèêaöèåé ìîãóò èñïîëüçîâaòüñя ïðåôènñû l è h, íaïðèìåð, %lf, %hu.
Ïðåôèêñ h ñ òèïaìè d, i, O, x è X óêaçûâaåò ía òî, ÷òî òèï aðãóìåíòa shOrt int, a ñ òèïîì u — shOrt unsigned int.
Ïðåôèêñ l ñ òèïaìè d, i, O, x è X óêaçûâaåò ía òî, ÷òî òèï aðãóìåíòa lOng int, ñ òè- ïîì u — lOng unsigned int, a ñ òèïaìè e, E, f, g è G — ÷òî òèï aðãóìåíòa dOuble, a íå flOat.
Ïðèìåð:
inClude int main(){
int int1 = 45, int2 = 13; flOat f = 3.621;
dOuble dbl = 2.23;
Char Ch = 'z', *str = "ramambahari";
printf("int1 = %d| int2 = %3d| int2 = %-4d|\n", int1, int2, int2); printf("int1 = %X| int2 = %3x| int2 = %4O|\n", int1, int2, int2); printf("f = %f| f = %4.2f| f = %6.1f|\n", f, f, f);
printf("f = %g| f = %e| f = %+E|\n", f, f, f);
printf("dbl = %5.2lf| dbl = %e| dbl = %4.1G|\n", dbl, dbl, dbl); printf("Ch = %C| Ch = %3C|\n", Ch, Ch);
Приложение 2. Спецификации формата для функций семейства printf 389
printf("str = %14s|\nstr = %-14s|\nstr = %s|\n", str, str, str); return 0;
}
Ðåçóëüòaò ðaáîòû ïðîãðaììû:
int1 = 45| int2 = 13| int2 = 13 | int1 = 2D| int2 = d| int2 = 15 | f = 3.621000| f = 3.62 | f = 3.6 |
f = 3.621 | f = 3.621000e+000 | f = +3.621000E+000|
dbl = 2.23 | dbl = 2.230000e+000 | dbl = 2 | Ch= z| Ch=z |
str = ramambahari| str = ramambahari| str = ramambahari|


ПРИЛОЖЕНИЕ 3


Арифметические преобразования типов
Ïðåîáðaçîâaíèя òèïîâ âûïîëíяþòñя, åñëè îïåðaíäû, âõîäяùèå â âûðaæåíèя, èìåþò ðaçëè÷íûå òèïû. Íèæå ïðèâåäåía ïîñëåäîâaòåëüíîñòü ïðåîáðaçîâaíèé.

  • Ëþáûå îïåðaíäû òèïa Char, unsigned Char èëè shOrt ïðåîáðaçóþòñя ê òèïó int

ïî ïðaâèëaì:

    • Char ðañøèðяåòñя íóëåì èëè çíaêîì â çaâèñèìîñòè îò óìîë÷aíèя äëя Char;

    • unsigned Char ðañøèðяåòñя íóëåì;

    • signed Char ðañøèðяåòñя çíaêîì;

    • shOrt, unsigned shOrt è enum ïðè ïðåîáðaçîâaíèè íå èçìåíяþòñя.

    • Çaòåì ëþáûå äâa îïåðaíäa ñòaíîâяòñя ëèáî int, ëèáî flOat, dOuble èëè lOng dOuble.

  • Åñëè îäèí èç îïåðaíäîâ èìååò òèï lOng dOuble, òî äðóãîé ïðåîáðaçóåòñя ê òèïó

lOng dOuble.

  • Åñëè îäèí èç îïåðaíäîâ èìååò òèï dOuble, òî äðóãîé ïðåîáðaçóåòñя ê òèïó

dOuble.

  • Åñëè îäèí èç îïåðaíäîâ èìååò òèï flOat, òî äðóãîé ïðåîáðaçóåòñя ê òèïó

flOat.

  • Èía÷å, åñëè îäèí èç îïåðaíäîâ èìååò òèï unsigned lOng, òî äðóãîé ïðåîáðaçó- åòñя ê òèïó unsigned lOng.

  • Èía÷å, åñëè îäèí èç îïåðaíäîâ èìååò òèï lOng, òî äðóãîé ïðåîáðaçóåòñя ê òèïó

lOng.

  • Èía÷å, åñëè îäèí èç îïåðaíäîâ èìååò òèï unsigned, òî äðóãîé ïðåîáðaçóåòñя ê òèïó unsigned.

  • Èía÷å îáa îïåðaíäa äîëæíû èìåòü òèï int.

Òèï ðåçóëüòaòa òîò æå, ÷òî è òèï ó÷añòâóþùèõ â âûðaæåíèè îïåðaíäîâ.

Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   218   219   220   221   222   223   224   225   ...   232




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