Сверхдетальный и сверхполный учебник по C++ (хорошо)

C++ — это язык программирования высокого уровня, который широко используется в разработке программного обеспечения, производстве игр, встроенных систем и других областях. Эта статья предоставит читателям сверхподробный и сверхполный учебник по C++, который поможет новичкам освоить основы C++, и в то же время даст десять примеров, а также пояснит и проанализирует их один за другим. Наконец, мы предоставим читателям задачу программирования и дадим решение.

Оглавление:

Глава 1: Основы C++

В этой главе мы познакомимся с базовой грамматикой и типами данных C++, включая переменные, константы, операторы, операторы управления и т. д. Мы поможем читателям понять эти концепции с помощью простых и понятных примеров и объясним их применение в программировании на C++.

Глава 2: Функции и массивы

В этой главе мы познакомимся с функциями и массивами в C++. Мы объясним, как определять и вызывать функции и как использовать массивы для хранения данных и управления ими. Мы также приведем несколько практических примеров, чтобы помочь читателям лучше понять эти концепции.

Глава 3: Указатели и управление памятью

В этой главе мы познакомимся с указателями и управлением памятью в C++. Мы объясним основные понятия и использование указателей, а также как использовать динамическое выделение памяти для управления памятью. Мы также приведем несколько практических примеров, чтобы помочь читателям лучше понять эти концепции.

Глава 4: Объектно-ориентированное программирование

В этой главе мы познакомимся с объектно-ориентированным программированием на C++. Мы объясним такие понятия, как классы, объекты, наследование и полиморфизм, и приведем несколько практических примеров, чтобы помочь читателям лучше понять эти понятия. Мы также рассмотрим расширенные функции, такие как обработка исключений и манипулирование файлами в C++.

Глава 5: Упражнения по программированию

В этой главе мы познакомим читателей с проблемой программирования и дадим решение. Этот вопрос будет включать в себя различные концепции и методы, представленные в предыдущих главах, чтобы помочь читателям лучше закрепить полученные знания.

Прочитав эту статью, читатели смогут полностью усвоить базовые знания C++ и смогут использовать полученные знания для решения практических задач. Мы верим, что при упорном труде каждый может стать хорошим программистом на C++.

Глава 1: Основы C++

C++ — это объектно-ориентированный язык программирования, который наследует базовый синтаксис и типы данных языка C, а также добавляет множество новых функций. В этой главе мы познакомимся с базовой грамматикой и типами данных C++, включая переменные, константы, операторы, операторы управления и т. д. Мы поможем читателям понять эти концепции с помощью простых и понятных примеров и объясним их применение в программировании на C++.

Мы должны сначала узнать, что такое заголовок файла, потому что я ленив, поэтому перейдем непосредственно к универсальной структуре заголовка файла:

#include<bits/stdc++.h>
using namespace std;
#define int long long 
int n;
signed main(){
    在这里写你的代码!!!
    return 0;
} 

Во-первых, давайте введем переменные и константы. В C++ переменные — это контейнеры для хранения данных, а константы — это неизменяемые значения. Переменные определяются как: тип имя переменной = значение, например:

int age = 20; //定义一个整型变量age,并赋值为20
常量的定义方式为:const 类型 常量名 = 值;例如:
const double PI = 3.14159; //定义一个双精度常量PI,并赋值为3.14159

Далее давайте познакомимся с операторами C++, включая арифметические операторы, операторы отношения, логические операторы и т. д. Операторы — это символы, используемые для выполнения определенных операций в выражениях. Например:

int a = 10, b = 20;

int c = a + b; //使用加法运算符计算a和b的和,赋值给变量

В C++ управляющие операторы используются для управления потоком выполнения программы, включая условные операторы и операторы цикла. Условные операторы используются для выполнения различных блоков кода на основе условия, а операторы цикла используются для многократного выполнения определенного блока кода. Например:

if (a > b) {

cout << "a大于b" << endl; //如果a大于b,输出结果

} else {

cout << "a小于等于b" << endl; //如果a小于等于b,输出结果

}



while (a < 10) {

cout << a << endl; //如果a小于10,输出a的值

a++; //将a的值加1

}

Изучая эту главу, читатели смогут освоить базовую грамматику и типы данных C++, понять операторы и операторы управления в C++ и смогут писать простые программы на C++.

Глава 2: Функции и массивы

В этой главе мы познакомимся с функциями и массивами в C++. Функция — это многократно используемый фрагмент кода, который принимает некоторые входные параметры, выполняет определенное действие и возвращает значение. Массив — это группа элементов данных одного типа, расположенных вместе в определенном порядке.

Во-первых, давайте представим определение и вызов функции. Формат определения функции: возвращаемый тип имя функции (список параметров) {тело функции}, например:

int add(int a, int b) { //定义一个名为add的函数,接受两个整型参数a和b

return a + b; //返回a和b的和

}

Формат вызова функции: имя функции (список параметров), например:

int c = add(10, 20); //调用add函数,传入参数10和20,将返回值赋值给c

Далее давайте представим определение и использование массивов. Формат определения массива: введите имя массива [размер массива], например:

int arr[5]; //定义一个大小为5的整型数组arr

Доступ к элементам массива можно получить по индексу, который начинается с 0, например:

arr[0] = 10; //给数组的第一个元素赋值为10

arr[1] = 20; //给数组的第二个元素赋值为20

Изучив содержание этой главы, читатели смогут освоить определение и использование функций и массивов в C++, а также смогут писать простые функции и приложения для работы с массивами.

Глава 3: Указатели и управление памятью

В этой главе мы познакомимся с указателями и управлением памятью в C++. Указатель — это специальная переменная, в которой хранится адрес памяти. Управление памятью относится к тому, как программа выделяет и освобождает память.

Во-первых, давайте познакомимся с основными понятиями и использованием указателей. Формат определения указателя: тип*имя указателя, например:

int *p; //定义一个整型指针p

Указатель может получить адрес переменной через оператор &, например:

int a = 10;

int *p = &a; //将变量a的地址赋值给指针

Указатель может получить доступ к значению, хранящемуся в адресе, через оператор *, например:

int a = 10;

int *p = &a;

cout << *p << endl; //输出指针p指向的变量a的值

Далее давайте представим динамическое выделение и освобождение памяти. Динамическое выделение памяти означает, что программа запрашивает часть памяти из системы во время выполнения для хранения данных. Динамическое освобождение памяти — это когда программа возвращает память системе после того, как она ее использовала.

Новая функция динамического выделения памяти, которая используется для выделения заданного размера пространства памяти, например:

int *p = new int; //分配一个整型大小的内存空间,并将其地址赋值给指针p

Функцией динамического освобождения памяти является удаление, которое используется для освобождения динамически выделенного пространства памяти, например:

delete p; //释放指针p所指向的内存空间

Изучив содержание этой главы, читатели смогут освоить использование указателей и динамического выделения памяти в C++, а также смогут писать простые приложения с указателями и динамическим выделением памяти.

Глава 4: Объектно-ориентированное программирование

В этой главе мы познакомимся с объектно-ориентированным программированием на C++. Объектно-ориентированное программирование — это метод программирования, который инкапсулирует данные и методы манипулирования данными для формирования классов. Класс — это определяемый пользователем тип данных, который содержит данные и методы для управления данными. К характеристикам объектно-ориентированного программирования относятся инкапсуляция, наследование, полиморфизм и т. д.

Во-первых, давайте познакомимся с понятиями классов и объектов. Класс — это шаблон, используемый для описания свойств и поведения класса объектов. Объект — это экземпляр класса, который содержит свойства и методы, описанные в определении класса. Формат определения класса: имя класса класса {модификатор доступа: элемент данных и функция-член}, например:

class Person { //定义一个名为Person的类

public: //公有访问修饰符

string name; //数据成员

int age;

void sayHello() { //成员函数

cout << "大家好,我叫" << name << ",今年" << age << "岁。" << endl;

}

};

Объекты определяются как: имя класса имя объекта, например:

Person p; //定义一个名为p的Person对象

Мы можем получить доступ к переменным-членам и функциям-членам объектов через операторы доступа к членам объекта, например:

p.name = "张三";

p.age = 20;

p.sayHello(); //调用对象p的sayHello成员函数

Далее познакомимся с понятиями наследования и полиморфизма. Наследование означает, что класс может наследовать свойства и методы другого класса. Полиморфизм означает, что одна и та же операция действует на разные объекты, которые могут иметь разную интерпретацию и давать разные результаты. Например:

class Student : public Person { //定义一个名为Student的类,继承自Person类

public:

string school;

void sayHello() { //重写基类的sayHello函数

cout << "大家好,我叫" << name << ",今年" << age << "岁,就读于" << school << "。" << endl;

}

};



Student s;

s.name = "李四";

s.age = 18;

s.school = "清华大学";

s.sayHello(); //调用对象s的sayHello成员函数,输出结果为“大家好,我叫李四,今年18岁,就读于清华大学。

Вопрос: Напишите программу на C++, чтобы определить, является ли натуральное число простым. Пользователь должен ввести положительное целое число с клавиатуры, и программа выводит, является ли число простым.

Исходный дисплей:

Пожалуйста, введите положительное целое число:

Входной образец:

12

Пример вывода:

12 не простое число.

Ответ: Натуральное число называется простым, если оно делится только на 1 и на себя. Следовательно, мы можем определить, делится ли число только на 1 и на само себя через цикл, чтобы определить, является ли оно простым числом.

Вот пример кода:

#include<bits/stdc++.h>

using namespace std;

int main() {

int n;

bool isPrime = true;

cout << "请输入一个正整数:";

cin >> n;

for (int i = 2; i < n; i++) {

if (n % i == 0) {

isPrime = false;

break;

}

}

if (isPrime && n != 1) {

cout << n << "是素数。" << endl;

} else {

cout << n << "不是素数。" << endl;

}

return 0;

}

Сначала программа считывает с клавиатуры положительное целое число n, а затем в цикле определяет, может ли n делиться только на 1 и само на себя. Переменная isPrime имеет значение true, если n делится только на 1 и само на себя, и false в противном случае. Наконец, результат оценки выводится в соответствии со значением переменной isPrime.

Наконец, я заявляю, что сегодняшний контент окончен! ! !

Не забывайте обращать внимание и хвалить~~~

Guess you like

Origin blog.csdn.net/Isaac_Newt0nn/article/details/130732610
C++