top of page

Краткий теоретический материал по C++

Самые основы

#include <iostream> - подключение библиотек ввода и вывода

using namespace std; - использование пространства стандартных имен std

{} - начало, конец

int main () {} - главная функция

// - однострочный комментарий

/* */ - многострочный комментарий

setlocale(LC_ALL, "RUS"); - подключение русского языка (для того, чтобы в консоли отображались русские буквы)
return 0; - возвращение значения функции 0 (можно заменить на cin.get();)

= - оператор присваивания (варианты присваивания: i = 5; или i(5);)

* - умножение

- - вычитание

+ - сложение

/ - деление нацело (div)

% - деление с остатком (mod)

== - равенство

> - больше

< - меньше

!= - неравно

>= - больше или равно

<= - меньше или равно

Простейшая программа

#include <iostream>

using namespace std;

int main() {

cout << "Hey";

return 0;

}

Ввод / вывод

cin >> a >> b >> c;

cout << a << b << c << "Text\n" << endl;

cout << "\n" << endl; - два варианта перехода на новую строку

Все типы данных в C++

Константы

const int i = 5;

const double Pi = 3.14;

Основные операции

i << 3 // i shl 3

i >> 2 // i shr 2

a+=2; // a=a+2;

c*=n; // c=c*n;

c/=n; // c=c/n;

c-=n; // c=c-n;

b=a++; // t=a; a++; b=t;

b=++a; // a++; b=a;

7/3 // 7 div 3

7%3 // 7 mod 3

(i>=2 || i==2) // или

(i>=2 && i==2) // и

!(i>=2 && i==2)// не

& | ^ // побитовые and, or, xor

min = a<b ? a : b; // условная
a=b=c; // множественное присваивание

Условный оператор

if (a<b)

min=a;

else

min=b;

if (i==0 && i!=1)

i++;

else

i--;

if (x<y) {

double t=x;

x=y;

y=t;

}

Оператор множественного выбора

switch (i) {

case 1:

cout<<1;

j++;

break;

case 2:

case 3:

cout<<2;

break;

default:

cout<<3;

break;

}

Оператор цикла

i=5; j=0;

while (i>0) {

i--;

j++;

}


do {

i++;

j--;

} while (i<5);


for (int i=0; i<10; i++) {

cout<<i<<" ";

}


for (double i=0; i<10; i+=0.2) {

cout<<i<<" ";

}

Функции

void f(int i, int j)

{

cout<<i*j<<endl;

}


int abs(int a)

{

return (a>0) ? a : -a;

}

Стандартные функции

#include <cmath> // подключение библиотеки математических функций
abs(x) // модуль
floor(x) // ближайшее целое <= x
ceil(x) // ближайшее целое >= x
sin(x) // синус
cos(x) // косинус
tan(x) // тангенс
exp(x) // экспонента
log(x) // логарифм
log10(x) // логарифм по основанию 10
pow(x,y) // возведение числа x в степень y
sqrt(x) // квадратный корень

Перестановка значений двух переменных

// первый вариант: через специальный алгоритм

#include <algorithm> // подключение библиотеки алгоритмов

swap(x, y);

// второй вариант: через дополнительную переменную

x=dop;

x=y;

y=dop;

Генерация случайных чисел

#include <iostream> // подключение библиотек ввода и вывода
#include <cstdlib>
#include <ctime>

int main() {

srand( (unsigned)time( NULL ) );

const int size = 10;

const int maxNumber = 100;
for(int i=0; i<size; i++)

cout << rand()%maxNumber<<" ";

system("pause");

return 0;
}

Одномерные массивы

int a[5]; // a[0],...,a[4]
int mm[]={1,2,3,1}

int a[3] = {1, 2, 3}; // все три элемента получат соответствующие значения
int b[5] = {1, 2}; // элементы 2, 3 и 4 будут заполнены значением 0
int c[5] = {}; // все элементы массива будут заполнены значением 0
int d[2] = {1, 2, 3}; // это не скомпилируется, слишком много значений
int e[] = {5, 4, 3, 7, -1}; // это скомпилируется, компилятор сам
// вычислит размер массива (то есть 5)
int f[] = {}; // это не скомпилируется: не ясно, сколько элементов мы
// хотим завести

Презентации по теме:

Поиск минимального (или максимального) элемента в одномерном массиве

// допустим, что значения N и a уже введены в коде выше
int mn = a[0]; // считаем, что искомый минимум равен a[0],
// пока не доказано обратное
for (int i = 1; i < N; i++) { // проверяем элементы a[1]…a[N-1]

if (mn > a[i])

mn = a[i];

}

Поиск индекса минимального (или максимального) элемента в одномерном массиве

// допустим, что значения N и a уже введены в коде выше

int mn_idx = 0; // как и прежде, считаем минимальным нулевой элемент,
// просто теперь мы храним его индекс (то есть 0), а
// не его значение
for (int i = 1; i < N; i++) {

if (a[mn_idx] > a[i]) // a[mn_idx] – текущий минимум

mn_idx = i;

}

Двумерные массивы

Двумерные массивы

int c[3][4];

int ff[2][3]={{1,1,1}{2,3,4}};

int ff1[2][3]={1,1,1,2,3,4};

Вывод двумерного массива

for (int i=0; i<3; i++) {

for (int j=0; j<4; j++) {

cout<<с[i][j]<<' ';

}

cout<<endl;

}

bottom of page