C++ — это язык программирования высокого уровня, который широко используется в разработке программного обеспечения, производстве игр, встроенных систем и других областях. Эта статья предоставит читателям сверхподробный и сверхполный учебник по C++, который поможет новичкам освоить основы C++, и в то же время даст десять примеров, а также пояснит и проанализирует их один за другим. Наконец, мы предоставим читателям задачу программирования и дадим решение.
Оглавление:
Глава 3: Указатели и управление памятью
Глава 4: Объектно-ориентированное программирование
Глава 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.
Наконец, я заявляю, что сегодняшний контент окончен! ! !
Не забывайте обращать внимание и хвалить~~~