Дапаможнік па C++
C++ — мова праграмавання агульнага прызначэння. У гэтым дапаможніку адзначым асноўныя рысы дадзенай мовы.
Стандартная бібліятэка C++
[правіць]Каб пісаць праграмы на C++, неабходна ведаць сінтаксіс мовы, а таксама ўмець падключаць гатовыя класы і функцыі, якія выклікаюцца з дапамогай загаловачных файлаў стандартнай бібліятэкі C++.
Стандартная бібліятэка ў C++ (C++ Standard Library — SL) — сукупнасць класаў і функцый мовы праграмавання C++. Гэтая сукупнасць адпавядае існуючым стандартам C++, першы з якіх быў прыняты ў 1998 годзе (C++98). У 2011 годзе быў распрацаваны стандарт C++11.
Загаловачныя файлы стандартнай бібліятэкі C++
[правіць]У стандартнай бібліятэцы C++ прадугледжана сістэма загаловачных файлаў, якія неабходна падключаць да кода пры напісанні праграмы, каб выкарыстоўваць гатовыя класы і функцыі. Гэта значна эканоміць час стварэння праекта, бо праграмісту не трэба самому займацца напісаннем неабходных элементаў кода. У C++ прадугледжаныя наступныя асноўныя загаловачныя файлы SL[1]:
Загаловак SL | Тлумачэнне |
---|---|
<cstdio> | Утрымлівае прататыпы для стандартнага ўводу/вываду дадзеных стандарту C |
<iostream> | Утрымлівае прататыпы для стандартнага ўводу/вываду дадзеных стандарту C++ |
<iomanip> | Утрымлівае прататыпы для функцый маніпулятараў над патокам. Маніпулятары фарматуюць патокі дадзеных |
<cmath> | Утрымлівае прататыпы для матэматычных функцый |
<cstdlib> | Утрымлівае прататыпы для функцый для пераўтварэння лікаў у тэкст і наадварот, размеркавання памяці і падключэння рандамізацыі. |
<ctime> | Утрымлівае прататыпы для функцый маніпулявання часам |
<vector>, <list>, <deque>, <queue>, <stack>, <map>, <set>, <bitset> | Утрымлівае класы разнастайных кантэйнераў |
<cctype> | Утрымлівае прататыпы для функцый, якія тэстуюць даныя (напрыклад, з'яўляецца сімвал коскай або лікам) |
<cstring> | Утрымлівае прататыпы для функцый апрацоўкі радкоў |
<string> | Утрымлівае вызначэнне класа string |
<typeinfo> | Утрымлівае класы, якія вызначаюць тыпы даных у час выканання праграмы |
<fstream> | Утрымлівае прататыпы для функцый, якія ажыццяўляюць увод дадзеных у файл і іх вывад з файла |
<sstream> | Утрымлівае прататыпы для функцый, якія ажыццяўляюць увод і вывад радкоў у аператыўнай памяці камп'ютара |
<algorithm> | Утрымлівае прататыпы для функцый маніпулявання данымі |
- Заўвага. Загалоўкі прыведзеныя для кампілятараў Linux-падобных сістэм.
Беларуская мова ў С++
[правіць]Як і большасць моў для праграміравання, С++ - англійскамоўная. А так, як яна англійскамоўная, яна і выкарыстоўвае лацінку. Але для таго, каб пісаць на ёй праграмы з беларускамоўным інтэрфейсам, трэба выкарыстоўваць кірыліцу. Для гэтага ў кожнай праграме трэба падключаць лакалізацыйную бібліятэку <locale.h> з параметрам "Bel". Гэта будзе выглядаць так:
#include <stdio.h> // падключэнне стандартнай бібліятэкі
#include <locale.h>
main ( )
{
setlocale (LC_ALL, "Bel"); // падключэнне параметра "бел. мовы"
// код C++
}
Функцыі ў C++
[правіць]Праграміст можа пісаць свае функцыі дзеля мэт праграмы.
Функцыя ў C++ — модуль праграмы C++, у якім закладзены асноўны код і канцэпцыя праграмы. Функцыі могуць быць гатовыя і ўтрымлівацца ў стандартнай бібліятэцы C++, а могуць быць напісаныя самім праграмістам.
Прыклады функцый са стандартнай бібліятэкі C++
[правіць]- Функцыя «main», у якой утрымліваецца канцэпцыя праграмы і асноўны код (функцый «main» у праграме можа быць некалькі):
#include <stdio.h> // падключэнне стандартнай бібліятэкі
main()
{
// код C++
}
- Функцыя «sqrt» — корань квадратны:
sqrt(x) // корань квадратны з x
- Функцыя «exp» — экспанента :
exp(x) // экспанента ў ступені x
Напісанне функцый
[правіць]Прыклад праграмы
[правіць]Гл. таксама Аператары C++
Вылічэнне выразу: :
#include <stdio.h>
#include "iostream"
#include <conio.h>
float min(float x,float y) // функцыя выбару мінімальнага ліку з "a, b, c"
{
if (x<y) return x; // калі (x<y) -> пакідаем у выразе x
else return y; // калі не -> пакідаем y
}
void main() // асноўная функцыя праграмы
{
float a,b,c; // задаём лікі тыпу з плаваючай коскай
float r;
cout << "Увядзіце тры розныя лікі a,b,c: ";
cin >> "%f%f%f",&a,&b,&c;
r=(min(a,a+b)+min(a,b+c))/(1.0+min(a+b*c,b));
cout << "\nЗначэнне выразу=%.3f",r;
cout << "\nНацісніце любую клавішу для завяршэння" << endl;
getch();
return 0;
}
Глядзі таксама
[правіць]Літаратура
[правіць]- C++ How to Program (8th Edition). By: Paul Deitel, Harvey Deitel. Pages: 1104. Year: 2011. Publisher: Prentice Hall. ISBN 978-0132662369
Аргументы функцыі main()
[правіць]argc і argv — аргументы да галоўнай функцыі «main» у мове праграмавання C++.[2]:
Прыклад выкарыстання argc і argv
[правіць]Даволі зручна заносіць інфармацыю ў праграму ў час яе выканання. Пры гэтым звесткі ў праграму заносяцца праз аргументы каманднага радка. У функцыі «main» прадугледжаныя два спецыяльна ўбудаваныя аргументы: «argc» і «argv». Argc утрымлівае колькасць аргументаў, напісаных у камандным радку (argc — цэлалікавы тып дадзеных «int»). Аргумент argv — гэта ўказальнік на масіў указальнікаў сімвальнага тыпу ў камандным радку (argv — сімвальны тып даных «char»). Напрыклад, наступная праграма выводзіць «Hello», а затым праз прабел ваша імя, калі вы ўвялі імя ў праграму:
#include <stdio.h>
#include <stdlib.h>
int main (int argc, char *argv[])
{
if (argc != 2) {
printf("Вы забыліся надрукаваць сваё імя.\n");
exit(1);
}
printf("Hello %s", argv[2]);
return 0;
}
- Тлумачэнне. Пасля кампіляцыі праграмы неабходна зайсці ў камандны радок (для Windows-кампілятараў), або тэрмінал (для Linux-кампілятараў), перайсці ў дырэкторыю, дзе знаходзіцца скампіляваная праграма і надрукаваць яе назву (хай праграма называецца «arg.exe»), а затым сваё імя, напрыклад:
arg Erka
Вывад будзе наступным:
Hello Erka
Калі ўвод такі:
arg
То праграма выведзе радок:
Вы забыліся надрукаваць сваё імя
таму што першым аргументам лічыцца назва праграмы, а другім — імя. А па ўмове
if (argc != 2)
колькасць аргументаў павінна раўняцца двум.[3]
Масівы ў C++
[правіць]Масівы ў C++ — структуры даных мовы праграмавання C++, якія ўтрымліваюць звязаныя адзін з адным аднатыпныя элементы гэтых даных.
Прымяненне масіваў
[правіць]У розных сферах народнай гаспадаркі неабходна структураваць і аналізаваць вялікую колькасць аднатыпных даных. Для аўтаматызацыі і спрашчэння гэтага працэсу выкарыстоўваюцца масівы. Масівы — адзін з элементаў кіруючых структур у C++.
Аб'яўленне масіваў
[правіць]У мове С++ масівы аб'яўляюцца наступным чынам:
int a[100];
Тут «int a[100]» — масіў з сотняй элементаў цэлага тыпу.
Прыклад: заданне масіву з пячатных сімвалаў і вывад яго на экран
[правіць]#include <stdio.h> // падключэнне стандартнай бібліятэкі
#include <iostream>
main() // пачатак цела праграмы
{
char z[ 8 ] = { a, b, c, d, e, f, g, h }; // заданне сімвальнага масіву з васьмі элементаў
cout << "Масіў з васьмі элементаў:" << "%s", z[8] << endl; // вывад яго на экран
return 0; // вяртанне да пачатку праграмы
}
#include "stdio.h"
#include "iostream"
main()
{
int a[100]; // Заданне вектара са 100 элементаў
int max, n; // Заданне максімальнага элемента вектара і іх колькасці
int i; //
cout << "Увядзіце колькасць элементаў вектара: \n";
cin << n;
cout << "Увядзіце ў адзін радок альбо слупок элементы вектара: \n";
for (i=1; i<=n; i++) // увод элементаў вектара з дапамогай цыкла for
{
cin >> a[i];
}
max =a[1];
// прысваенне першаму элементу значэння максімальнага і далейшае параўнанне з астатнімі элементамі
for (i = 2; i <= n; i++)
{
if (a[i] > max) max = a[i];
}
cout << "Максімальны элемент вектара: %i\n",max << endl;
return 0;
}
Літаратура
[правіць]- C++ How to Program (8th Edition). By: Paul Deitel, Harvey Deitel. Pages: 1104. Year: 2011. Publisher: Prentice Hall. ISBN-13: 978-0132662369
Стандартная бібліятэка шаблонаў C++
[правіць]Стандартная бібліятэка шаблонаў C++ (англ. Standard Template Library — STL) — сукупнасць магутных кампанентаў мовы праграмавання C++, якія ўтрымліваюць шматлікія структуры дадзеных і алгарытмы, якія выкарыстоўваюцца для апрацоўкі дадзеных[4].
Гісторыя стварэння
[правіць]Стандартная бібліятэка шаблонаў C++ была распрацавана Мэнг Лі ды Аляксандрам Сцяпанавым у карпарацыі «Х'юлет-Пакард». У аснову распрацоўкі былі закладзеныя агульныя даследаванні Сцяпанава і Лі ў вобласці праграмавання. Таксама значны ўклад у стварэнне STL Дэвіда Мюсэра[5].
Кампаненты STL
[правіць]Асноўныя кампаненты STL — кантэйнеры (англ. containers), ітэратары (iterators) і алгарытмы (algorithms). Вылучаюцца таксама размеркавальнікі (allocators), выказнікі (predicates), параўнальныя функцыі (comparison functions) ды аб'екты функцый (function objects)[6].
Глядзі таксама
[правіць]Гэтая кніга грунтуецца на артыкулах з Беларускай Вікіпедыі. Любыя дапаўненні заахвочваюцца.
Крыніцы
[правіць]- ↑ Deitel, Paul J. C++: how to program / P. J. Deitel, H. M. Deitel. — 8th ed, 205—207. Includes index. ISBN 978-0-13-266236-9
- ↑ Schildt, Herbert. C++: The Complete Reference, 3th Edition, p. 144; ISBN 0078824761
- ↑ Schildt, Herbert. C++: The Complete Reference, 3th Edition, p. 145; ISBN 0078824761
- ↑ Deitel, Paul J. C++: how to program/P. J. Deitel, H. M. Deitel. — 8th ed, p. 851, ISBN 978-0-13-266236-9
- ↑ Deitel, Paul J. C++: how to program/P. J. Deitel, H. M. Deitel. — 8th ed, p. 851, ISBN 978-0-13-266236-9
- ↑ Schildt, Herbert. C++: The Complete Reference, 3th Edition, 626—628; ISBN 0078824761