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



Download 2 Mb.
bet26/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   22   23   24   25   26   27   28   29   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Оператор switch


Îïåðaòîð switch (ïåðåêëþ÷aòåëü) ïðåäíaçía÷åí äëя ðaçâåòâëåíèя ïðîöåñña âû-
÷èñëåíèé ía íåñêîëüêî íaïðaâëåíèé. Còðóêòóðíaя ñõåìa îïåðaòîða ïðèâåäåía ía ðèñ. 1.7. Ôîðìaò îïåðaòîða:
switch ( âûðaæåíèå ){
case êîíñòaíòíîå_âûðaæåíèå_1: [ñïèñîê_îïåðaòîðîâ_1] case êîíñòaíòíîå_âûðaæåíèå_2: [ñïèñîê_îïåðaòîðîâ_2]

case êîíñòaíòíîå_âûðaæåíèå_n: [ñïèñîê_îïåðaòîðîâ_n] [default: îïåðaòîðû ]
}


switch case 1


Рис. 1.7. Структурная схема оператора switch

Âûïîëíåíèå îïåðaòîða ía÷èíaåòñя ñ âû÷èñëåíèя âûðaæåíèя (îíî äîëæíî áûòü öåëî÷èñëåííûì), a çaòåì óïðaâëåíèå ïåðåäaåòñя ïåðâîìó îïåðaòîðó èç ñïèñêa, ïîìå÷åííîãî êîíñòaíòíûì âûðaæåíèåì, çía÷åíèå êîòîðîãî ñîâïaëî ñ âû÷èñëåí- íûì. Ïîñëå ýòîãî, åñëè âûõîä èç ïåðåêëþ÷aòåëя яâíî íå óêaçaí, ïîñëåäîâaòåëüíî âûïîëíяþòñя âñå îñòaëüíûå âåòâè.


Âûõîä èç ïåðåêëþ÷aòåëя îáû÷íî âûïîëíяåòñя ñ ïîìîùüþ îïåðaòîðîâ break èëè
return. Îïåðaòîð break âûïîëíяåò âûõîä èç ñaìîãî âíóòðåííåãî èç îáúåìëþùèõ

åãî îïåðaòîðîâ switch, for, while è do. Îïåðaòîð return âûïîëíяåò âûõîä èç ôóíê- öèè, â òåëå êîòîðîé îí çaïèñaí.


Âñå êîíñòaíòíûå âûðaæåíèя äîëæíû èìåòü ðaçíûå çía÷åíèя, íî áûòü îäíîãî è òîãî æå öåëî÷èñëåííîãî òèïa. Íåñêîëüêî ìåòîê ìîãóò ñëåäîâaòü ïîäðяä. Åñëè ñîâïaäåíèя íå ïðîèçîøëî, âûïîëíяþòñя îïåðaòîðû, ðañïîëîæåííûå ïîñëå ñëîâa default (a ïðè åãî îòñóòñòâèè óïðaâëåíèå ïåðåäaåòñя ñëåäóþùåìó ça switch îïå- ðaòîðó).
Ïðèìåð (ïðîãðaììa ðåaëèçóåò ïðîñòåéøèé êaëüêóëяòîð ía 4 äåéñòâèя):
include int main(){
int a, b, res; char op;
cout << "\nÂâåäèòå 1é îïåðaíä : "; cin >> a; cout << "\nÂâåäèòå çíaê îïåðaöèè : "; cin >> op; cout << "\nÂâåäèòå 2é îïåðaíä : "; cin >> b; bool f = true;
switch (op){
case '+': res=a+ b; break; case '-': res=a- b; break; case '*': res=a* b; break; case '/': res=a/ b; break;
default : cout <<"\nÍåèçâåñòíaя îïåðaöèя"; f = false;
}
if (f) cout << "\nÐåçóëüòaò:" << res; return 0;
}


ПРИМЕЧАНИЕ
 ñëó÷aå ñèíòaêñè÷åñêîé îøèáêè â ñëîâå default ñîîáùåíèå îá îøèáêå íå âûäaåòñя, ïî- ñêîëüêó êîìïèëяòîð âîñïðèìåò ýòî ñëîâî êaê äîïóñòèìóþ ìåòêó îïåðaòîða.



Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   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