Полное руководство по C++
Введение в C++
C++ - это мощный объектно-ориентированный язык программирования, разработанный Бьярне Страуструпом как расширение языка C. C++ предоставляет возможности для низкоуровневого манипулирования памятью, высокопроизводительных вычислений и создания крупномасштабных программных систем.
Основная структура программы на C++
#include <iostream>
using namespace std;
int main() {
cout << "Привет, мир!" << endl;
return 0;
}Это простейшая программа на C++. Давайте разберем каждую строку:
#include <iostream>: Подключает библиотеку для ввода-вывода.using namespace std;: Позволяет избежать явного указания пространства именstdперед каждой функцией.int main(): Основная функция, с которой начинается выполнение программы.cout << "Привет, мир!" << endl;: Выводит текст на экран.return 0;: Завершает программу и возвращает код успешного выполнения.
Переменные и типы данных
#include <iostream>
using namespace std;
int main() {
int age = 25;
double height = 1.75;
char grade = 'A';
bool isStudent = true;
cout << "Возраст: " << age << endl;
cout << "Рост: " << height << " м" << endl;
cout << "Оценка: " << grade << endl;
cout << "Студент: " << (isStudent ? "Да" : "Нет") << endl;
return 0;
}C++ поддерживает различные типы данных. Вот некоторые из основных:
int: Целые числаdouble: Числа с плавающей точкойchar: Символыbool: Логические значения (true/false)string: Строки (требуется подключение <string>)
Условные операторы
#include <iostream>
using namespace std;
int main() {
int number = 10;
if (number > 0) {
cout << "Число положительное" << endl;
} else if (number < 0) {
cout << "Число отрицательное" << endl;
} else {
cout << "Число равно нулю" << endl;
}
return 0;
}Условные операторы позволяют выполнять различные действия в зависимости от условий.
Циклы
#include <iostream>
using namespace std;
int main() {
// Цикл for
for (int i = 0; i < 5; i++) {
cout << i << " ";
}
cout << endl;
// Цикл while
int j = 0;
while (j < 5) {
cout << j << " ";
j++;
}
cout << endl;
return 0;
}C++ поддерживает несколько типов циклов для повторения действий:
for: Используется, когда известно количество итерацийwhile: Выполняется, пока условие истинноdo-while: Похож на while, но гарантирует хотя бы одно выполнение
Одномерные массивы
#include <iostream>
using namespace std;
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
cout << numbers[i] << " ";
}
cout << endl;
return 0;
}Одномерный массив в C++ позволяет хранить несколько значений одного типа в одном массиве. В примере:
int numbers[5]: Объявляет массив из пяти целых чисел.numbers[i]: Обращение к элементу массива по индексу.
Двумерные массивы
#include <iostream>
using namespace std;
int main() {
int matrix[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}Двумерный массив в C++ представляет собой массив массивов, что позволяет хранить данные в виде таблицы:
int matrix[2][3]: Объявляет двумерный массив с 2 строками и 3 столбцами.matrix[i][j]: Обращение к элементу массива по индексам.
Закрепление знаний
Теперь давайте попробуем решить несколько задач, чтобы закрепить пройденный материал:
Задача 1: Сумма элементов массива
Напишите программу, которая вычисляет сумму всех элементов в одномерном массиве из 5 целых чисел.
#include <iostream>
using namespace std;
int main() {
int numbers[5] = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
cout << "Сумма элементов массива: " << sum << endl;
return 0;
}Задача 2: Поиск максимального элемента в двумерном массиве
Напишите программу, которая находит максимальное значение в двумерном массиве размером 3x3.
#include <iostream>
using namespace std;
int main() {
int matrix[3][3] = {
{3, 8, 2},
{7, 1, 5},
{6, 4, 9}
};
int maxVal = matrix[0][0];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (matrix[i][j] > maxVal) {
maxVal = matrix[i][j];
}
}
}
cout << "Максимальное значение в массиве: " << maxVal << endl;
return 0;
}Функции
#include <iostream>
#include <string>
using namespace std;
int add(int a, int b) {
return a + b;
}
void printMessage(string message) {
cout << message << endl;
}
int main() {
int result = add(5, 3);
cout << "5 + 3 = " << result << endl;
printMessage("Привет, функции!");
return 0;
}
Функции в C++ позволяют структурировать код и повторно использовать логику. В примере:
int add(int a, int b): Возвращает сумму двух чисел.void printMessage(string message): Выводит строку на экран.
Введение в объекты и классы
#include <iostream>
using namespace std;
class Dog {
public:
string name;
int age;
void bark() {
cout << name << " говорит: Гав-гав!" << endl;
}
};
int main() {
Dog myDog;
myDog.name = "Бобик";
myDog.age = 3;
myDog.bark();
return 0;
}C++ поддерживает объектно-ориентированное программирование (ООП). Классы позволяют объединять данные и методы для работы с ними:
class Dog: Определяет класс с полямиnameиage.void bark(): Метод класса, выводящий сообщение на экран.
Завершение и компиляция
Теперь вы знаете основы языка C++. Компиляция программы выполняется через командную строку с помощью компилятора, такого как g++.