Введение в язык С++
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Ââåäåíèå â ÿçûê Ñ++
Óãëè÷ Ï. Ñ.1
1 Þæíûé ôåäåðàëüíûé óíèâåðñèòåò
Ëåêöèÿ 1
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Outline
1
¾Hello, world!!!¿
2
Ïåðåìåííûå è òèïû äàííûõ
3
Îïåðàòîðû C++
Ïðîñòåéøàÿ ïðîãðàììà
Àðèôìåòè÷åñêèå îïåðàòîðû
Ïîáèòîâûå îïåðàòîðû
Ëîãè÷åñêèå îïåðàòîðû
Îïåðàòîðû ïðèñâàèâàíèÿ
Îïåðàòîðû èíêðåìåíòà è äåêðåìåíòà
Îïåðàòîðû îòíîøåíèÿ è ðàâåíñòâà
Óñëîâíûé îïåðàòîð
Îïåðàòîð âûáîðà
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ïðîñòåéøàÿ ïðîãðàììà
Ïðîñòåéøàÿ ïðîãðàììà
Êàæäàÿ ïðîãðàììà íà C++ ñîñòîèò èç îäíîé èëè áîëåå
ôóíêöèé. Ñðåäè íèõ îáÿçàòåëüíî äîëæíà ïðèñóòñòâîâàòü
ãëàâíàÿ ôóíêöèÿ main, êîòîðóþ è âûçûâàåò îïåðàöèîííàÿ
ñèñòåìà ïðè çàïóñêå ïðîãðàììû. Ïðîñòåéøèé ïðèìåð:
int main() {
return 0;
}
Çíà÷åíèå, âîçâðàùàåìîå main, èñïîëüçóåòñÿ ÎÑ äëÿ
îïðåäåëåíèÿ óñïåøíîñòè çàâåðøåíèÿ ïðîãðàììû. Åñëè íå íîëü,
òî â ïðîãðàììå ïðîèçîøëà îøèáêà. int òèï âîçâðàùàåìîãî
çíà÷åíèÿ.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ïðîñòåéøàÿ ïðîãðàììà
#include // Çàãîëîâî÷íûé ôàéë
int main() {
std::cout << "Hello world!" << std::endl;
}
#include ýòî äèðåêòèâà ¾ïðåïðîöåññîðó¿, êîòîðàÿ ñîîáùàåò
êîìïèëÿòîðó ïîìåñòèòü êîä èç çàãîëîâî÷íîãî ôàéëà iostream â
íàøó ïðîãðàììó ïåðåä òåì êàê ñîçäàòü èñïîëíÿåìûé ôàéë.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ïðîñòåéøàÿ ïðîãðàììà
Îïåðàöèè ââîäà/âûâîäà âûïîëíÿþòñÿ ñ ïîìîùüþ êëàññîâ
istream (ïîòîêîâûé ââîä) è ostream (ïîòîêîâûé âûâîä). Òðåòèé
êëàññ, iostream, ÿâëÿåòñÿ ïðîèçâîäíûì îò íèõ è ïîääåðæèâàåò
äâóíàïðàâëåííûé ââîä/âûâîä. Äëÿ óäîáñòâà â áèáëèîòåêå
îïðåäåëåíû òðè ñòàíäàðòíûõ îáúåêòà-ïîòîêà:
cin îáúåêò êëàññà istream, ñîîòâåòñòâóþùèé
ñòàíäàðòíîìó ââîäó.  îáùåì ñëó÷àå îí ïîçâîëÿåò ÷èòàòü
äàííûå ñ òåðìèíàëà ïîëüçîâàòåëÿ;
cout îáúåêò êëàññà ostream, ñîîòâåòñòâóþùèé
ñòàíäàðòíîìó âûâîäó.  îáùåì ñëó÷àå îí ïîçâîëÿåò
âûâîäèòü äàííûå íà òåðìèíàë ïîëüçîâàòåëÿ;
cerr îáúåêò êëàññà ostream, ñîîòâåòñòâóþùèé
ñòàíäàðòíîìó âûâîäó äëÿ îøèáîê. Â ýòîò ïîòîê ìû
íàïðàâëÿåì ñîîáùåíèÿ îá îøèáêàõ ïðîãðàììû.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ïðîñòåéøàÿ ïðîãðàììà
Âûâîä îñóùåñòâëÿåòñÿ, êàê ïðàâèëî, ñ ïîìîùüþ
ïåðåãðóæåííîãî îïåðàòîðà ñäâèãà âëåâî (¾), à ââîä ñ
ïîìîùüþ îïåðàòîðà ñäâèãà âïðàâî (¿).
Íàçíà÷åíèå îïåðàòîðîâ ëåã÷å çàïîìíèòü, åñëè ñ÷èòàòü, ÷òî
êàæäûé ¾óêàçûâàåò¿ â ñòîðîíó ïåðåìåùåíèÿ äàííûõ.
Íàïðèìåð,
>> x
ïåðåìåùàåò äàííûå â x, à
<< x
ïåðåìåùàåò äàííûå èç x.
endl ýòî ìàíèïóëÿòîð âûâîäà, êîòîðûé âñòàâëÿåò â âûõîäíîé
ïîòîê ñèìâîë ïåðåõîäà íà íîâóþ ñòðîêó, à çàòåì ñáðàñûâàåò
áóôåð îáúåêòà ostream.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ïðîñòåéøàÿ ïðîãðàììà
Ïðîñòðàíñòâî èìåí ýòî äåêëàðàòèâíàÿ îáëàñòü, â ðàìêàõ
êîòîðîé îïðåäåëÿþòñÿ ðàçëè÷íûå èäåíòèôèêàòîðû (èìåíà
òèïîâ, ôóíêöèé, ïåðåìåííûõ, è ò. ä.). Âñå òèïû è ôóíêöèè
ñòàíäàðòíîé áèáëèîòåêè C++ îáúÿâëåíû â ïðîñòðàíñòâå èìåí
std èëè â ïðîñòðàíñòâå èìåí, âëîæåííîì â std.
Ñòðîêà using namespace std; ñîîáùàåò êîìïèëÿòîðó, ÷òî íóæíî
èñïîëüçîâàòü ãðóïïó ôóíêöèé, êîòîðûå ÿâëÿþòñÿ ÷àñòüþ
ñòàíäàðòíîé áèáëèîòåêè std.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Ïðîñòåéøàÿ ïðîãðàììà
#include
using namespace std;
//using std::cout;
int main() {
cout << "Hello world!"<
int main() {
using namespace std;
cout << "Hello world!"< // Çàãîëîâî÷íûé ôàéë
#include
int main() {
using namespace std;
// âûçîâ ôóíêöèè íàñòðîéêè ëîêàëè
setlocale(LC_CTYPE, "rus");
cout << "Êèðèëëèöà â êîíñîëè\n";
}
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Ðàñøèðåííûé ñèìâîëüíûé òèï
wchar_t ch1[] = L"hello";
wcout << ch1 << endl;
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Öåëî÷èñëåííûå òèïû äàííûõ:
short
unsigned short
int
unsigned int
__int8, __int16, __int32, __int64
long
unsigned long
long long
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
×èñëà ñ ïëàâàþùåé çàïÿòîé
oat
double
long double
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïðåäåëåíèå êîíñòàíò
const int n=10;
const íàçâàíèå òèïà èìÿ ïåðåìåííîé = çíà÷åíèå;
Àâòîîïðåäåëåíèå òèïà
auto i = 42;
// i - int
auto l = 42LL;
// l - long long
auto p = new foo(); // p - foo*
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Àðèôìåòè÷åñêèå îïåðàòîðû
Àðèôìåòè÷åñêèå îïåðàòîðû
+ ñëîæåíèå;
- âû÷èòàíèå;
* óìíîæåíèå;
/ äåëåíèå;
% îñòàòîê îò äåëåíèÿ.
Îïåðàòîðû C++
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ïîáèòîâûå îïåðàòîðû
Ïîáèòîâûå îïåðàòîðû
expression1
expression1
expression1
expression1
& expression2;// ïîáèòîâîå È
^ expression2;// ïîáèòîâîå èñêëþ÷àþùåå ÈËÈ;
| expression2;// ïîáèòîâîå ÈËÈ;
<< n;// ñäâèã âëåâî íà n ïîçèöèé;
unsigned short aa = 0xFFFF;
// pattern 1111 ...
unsigned short bb = 0xAAAA;
// pattern 1010 ...*/
cout << hex << (aa & bb) << endl;
// prints "aaaa", pattern 1010 ...
cout << hex << (aa ^ bb) << endl;
// prints "aaaa", pattern 1010 ...
cout << hex << (aa | bb) << endl;
// prints "aaaa", pattern 1010 ...
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Ëîãè÷åñêèå îïåðàòîðû
Ëîãè÷åñêèå îïåðàòîðû
&& È;
|| ÈËÈ;
! ÍÅ;
Ïåðåä âû÷èñëåíèåì îáà îïåðàíäà íåÿâíî ïðåîáðàçóþòñÿ â òèï
bool; ðåçóëüòàò òàêæå èìååò òèï bool.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Îïåðàòîðû ïðèñâàèâàíèÿ
Îïåðàòîðû ïðèñâàèâàíèÿ
expression assignment-operator expression
assignment-operator : one of
= *= /=
%= += -= <<= >>=
&=
^=
|=
= ïðèñâàèâàíèå; Ïðîñòîé îïåðàòîð ïðèñâàèâàíèÿ (=)
ñîõðàíÿåò çíà÷åíèå âòîðîãî îïåðàíäà â îáúåêòå, óêàçàííîì
ïåðâûì îïåðàíäîì. Åñëè îáà îáúåêòà èìåþò
àðèôìåòè÷åñêèå òèïû, ïåðåä ñîõðàíåíèåì çíà÷åíèÿ
ïðàâûé îïåðàíä ïðåîáðàçóåòñÿ ê òèïó ëåâîãî.
+= Ñëîæåíèå çíà÷åíèÿ ïåðâîãî îïåðàíäà ñî çíà÷åíèåì
âòîðîãî îïåðàíäà; ñîõðàíåíèå ðåçóëüòàòà â îáúåêò,
óêàçàííûé ïåðâûì îïåðàíäîì;
-= ïðèñâàèâàíèå-âû÷èòàíèå;
*= ïðèñâàèâàíèå-óìíîæåíèå;
/= ïðèñâàèâàíèå-äåëåíèå;
%= ïðèñâàèâàíèå-îñòàòîê îò äåëåíèÿ;
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Îïåðàòîðû èíêðåìåíòà è äåêðåìåíòà
Îïåðàòîðû èíêðåìåíòà è äåêðåìåíòà
i++; i--; // ïîñòôèêñíàÿ ôîðìà
++i; --i; // ïðåôèêñíàÿ ôîðìà
 ðåçóëüòàòå ïðèìåíåíèÿ îïåðàòîðà èíêðåìåíòà (++) çíà÷åíèå
îïåðàíäà óâåëè÷èâàåòñÿ íà îäíó åäèíèöó ñîîòâåòñòâóþùåãî
òèïà, à â ðåçóëüòàòå ïðèìåíåíèÿ ïîñòôèêñíîãî îïåðàòîðà
äåêðåìåíòà çíà÷åíèå îïåðàíäà óìåíüøàåòñÿ íà îäíó åäèíèöó
ñîîòâåòñòâóþùåãî òèïà.
Ïîñòôèêñíàÿ îïåðàöèÿ èíêðåìåíòà èëè äåêðåìåíòà
âûïîëíÿåòñÿ ïîñëå âû÷èñëåíèÿ îïåðàíäà.  ïðåôèêñíîé ôîðìå
èíêðåìåíò èëè äåêðåìåíò âûïîëíÿåòñÿ äî èñïîëüçîâàíèÿ
çíà÷åíèÿ ïðè âû÷èñëåíèè âûðàæåíèÿ, ïîýòîìó çíà÷åíèå
âûðàæåíèÿ îòëè÷àåòñÿ îò çíà÷åíèå îïåðàíäà.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Îïåðàòîðû îòíîøåíèÿ è ðàâåíñòâà
Îïåðàòîðû îòíîøåíèÿ è ðàâåíñòâà
expression
expression
expression
expression
expression
expression
< expression
> expression
<= expression
>= expression
== expression
!= expression
Îáà îïåðàíäà îïåðàòîðîâ îòíîøåíèÿ äîëæíû áûòü
àðèôìåòè÷åñêîãî òèïà èëè òèïà óêàçàòåëÿ. Îíè âîçâðàùàþò
çíà÷åíèÿ òèïà bool. Çíà÷åíèå false (0) âîçâðàùàåòñÿ, åñëè
îòíîøåíèå â âûðàæåíèè ëîæíî; â ïðîòèâíîì ñëó÷àå
âîçâðàùàåòñÿ çíà÷åíèå true (1). Îïåðàòîð "ðàâíî"(==)
âîçâðàùàåò çíà÷åíèå true (1), åñëè îáà îïåðàíäà èìåþò
îäèíàêîâûå çíà÷åíèÿ. Îïåðàòîð "íå ðàâíî"(!=) âîçâðàùàåò
çíà÷åíèå true, åñëè îïåðàíäû èìåþò íåðàâíûå çíà÷åíèÿ.
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Óñëîâíûé îïåðàòîð
Óñëîâíûé îïåðàòîð
if (/*ïðîâåðÿåìîå óñëîâèå*/)
{
/*òåëî îïåðàòîðà âûáîðà 1*/;
} else
{
/*òåëî îïåðàòîðà âûáîðà 2*/;
}
Òåðíàðíûé óñëîâíûé îïåðàòîð
// "óñëîâèå" ? "âûðàæåíèå 1" : "âûðàæåíèå 2";
a > b ? cout << a : cout << b;
// åñëè à > b, òî âûïîëíÿåòñÿ cout << a,
// èíà÷å âûïîëíÿåòñÿ cout << b
cout << "y = " <<
(x < 0 ? x : (x >= 0) && (x < 30) ? 0 : x * x ) << endl;
¾Hello, world!!!¿
Ïåðåìåííûå è òèïû äàííûõ
Îïåðàòîðû C++
Îïåðàòîð âûáîðà
Îïåðàòîð âûáîðà
// ôîðìà çàïèñè îïåðàòîðà ìíîæåñòâåííîãî âûáîðà switch
switch (/*ïåðåìåííàÿ èëè âûðàæåíèå*/)
{
case /*êîíñòàíòíîå âûðàæåíèå1/*:
{ /*ãðóïïà îïåðàòîðîâ*/; break; }
case /*êîíñòàíòíîå âûðàæåíèå2*/:
{ /*ãðóïïà îïåðàòîðîâ*/; break; }
//.
.
.
default: { /*ãðóïïà îïåðàòîðîâ*/; }
}