📘 Тема 1.1. Необходимый материал#
Шпаргалка по первым программам на C++: из чего состоит программа, как ввести и вывести данные и посчитать результат.
1. Как устроена программа#
using namespace std; // чтобы писать cout вместо std::cout
int
| Часть | Зачем нужна |
|---|---|
#include <iostream> |
даёт доступ к cin, cout, endl |
using namespace std; |
позволяет не писать std:: перед cin и cout |
int main() { ... } |
главная функция — код выполняется отсюда |
{ и } |
начало и конец блока кода |
return 0; |
завершение программы |
Заметка
Без
using namespace std;пишут полностью:std::cout,std::cin,std::endl.
2. Точка с запятой ;#
Почти каждая инструкция в C++ заканчивается точкой с запятой.
int a = 5;
cout << a;
Предупреждение
Забытая
;— самая частая ошибка компиляции.
3. Комментарии#
Комментарии не выполняются — это заметки для человека.
// однострочный комментарий
/*
многострочный
комментарий
*/
4. Вывод на экран — cout#
cout << "Hello!";
Hello!
Можно выводить числа, переменные и несколько значений подряд:
int a = 5, b = 10;
cout << 42; // 42
cout << a; // 5
cout << a << " " << b; // 5 10
cout << "Сумма: " << a + b; // Сумма: 15
Совет
Между значениями пробел сам не появится — его нужно вывести явно:
<< " " <<.
5. Перевод строки — endl и \n#
cout << "Привет" << endl;
cout << "Мир" << "\n";
Привет
Мир
Оба способа переводят вывод на новую строку.
6. Переменные#
Переменная — именованная ячейка памяти, в которой хранится значение.
тип имя = значение;
int age = 16;
int count; // объявили без значения
count = 3; // присвоили значение позже
int x = 1, y = 2; // несколько переменных сразу
| Тип | Что хранит | Пример |
|---|---|---|
int |
целые числа | int n = 25; |
long long |
большие целые числа | long long big = 5000000000; |
double |
дробные числа | double h = 1.75; |
char |
один символ | char c = 'A'; |
string |
текст | string s = "Alex"; |
bool |
истина или ложь | bool ok = true; |
Правила для имён#
- латинские буквы, цифры и
_; - нельзя начинать с цифры;
Ageиage— разные переменные;- нельзя использовать слова языка (
int,return,if…).
7. Ввод с клавиатуры — cin#
int n;
cin >> n;
Несколько значений подряд — через пробел или с новой строки, cin прочитает одинаково:
int a, b, c;
cin >> a >> b >> c;
3 7 10
или
3
7
10
Важно
В олимпиадных задачах не выводите подсказки вроде
Введите число:. Программа должна вывести ровно то, что написано в формате выходных данных, — иначе ответ будет считаться неверным.
8. Арифметика#
| Операция | Запись | Пример | Результат |
|---|---|---|---|
| сложение | + |
7 + 2 |
9 |
| вычитание | - |
7 - 2 |
5 |
| умножение | * |
7 * 2 |
14 |
| деление | / |
7 / 2 |
3 |
| остаток от деления | % |
7 % 2 |
1 |
int a = 17, b = 5;
cout << a / b << endl; // 3 — дробная часть отбрасывается
cout << a % b << endl; // 2 — остаток
Предупреждение
Деление двух целых чисел даёт целое число:
7 / 2равно3, а не3.5.
Порядок действий#
Как в математике: сначала *, /, %, затем + и -. Скобки меняют порядок.
cout << 2 + 3 * 4 << endl; // 14
cout << * 4 << endl; // 20
Изменение переменной#
int x = 10;
x = x + 5; // 15
x += 5; // 20 — то же самое короче
x -= 3; // 17
x *= 2; // 34
x /= 4; // 8
x++; // 9 — увеличить на 1
x--; // 8 — уменьшить на 1
9. Работа с цифрами числа#
int n = 4729;
cout << n % 10 << endl; // 9 — последняя цифра
cout << n / 10 << endl; // 472 — число без последней цифры
cout << n / 10 % 10 << endl; // 2 — предпоследняя цифра
cout << n / 1000 << endl; // 4 — первая цифра четырёхзначного числа
10. Условие if (для логических задач)#
if else
| Оператор | Значение |
|---|---|
== |
равно |
!= |
не равно |
> < |
больше, меньше |
>= <= |
больше или равно, меньше или равно |
&& |
и |
|| |
или |
int n = 7;
if else
Предупреждение
=— присваивание,==— сравнение.
11. Повторение — цикл for#
for
1 2 3 4 5
| Часть | Значение |
|---|---|
int i = 1 |
начальное значение счётчика |
i <= 5 |
цикл работает, пока условие истинно |
i++ |
что делать со счётчиком после каждого шага |
Перебор всех вариантов — например, всех двузначных чисел:
for
12. Как проверяют решения#
Решение запускается на наборе тестов. Для каждого теста ответ программы сравнивается с правильным.
| Вердикт | Что значит |
|---|---|
OK / Accepted |
все тесты пройдены |
WA |
неверный ответ хотя бы на одном тесте |
CE |
ошибка компиляции — код не собрался |
RE |
программа упала во время работы |
TLE |
программа работала слишком долго |
13. Шаблон программы#
using namespace std;
int