学习C++
概述:
C++的基础语法主要包括变量、常量、数据类型、运算符、控制流语句等。下面分别进行介绍。
- 变量和常量:
变量是程序中用于存储数据的标识符,可以改变其值。在C++中,变量必须先声明后使用,声明的语法格式为“数据类型 变量名”。例如,声明一个整型变量:int a。
常量是在程序中不能改变其值的量,通常使用const关键字进行声明。例如,声明一个常量整型:const int k = 10。 - 数据类型:
C++的数据类型包括整型、浮点型、字符型、布尔型等。其中,整型包括int、short、long等,浮点型包括float、double等,字符型用char表示,布尔型用bool表示。每一种数据类型都有其占用的内存大小和表示的范围,不可以随意混用。 - 指针:
指针是C++中一个重要的概念,用于存储变量的地址。指针变量必须先定义后使用,声明的语法格式为“数据类型 *指针变量名”。例如,声明一个整型指针:int *p。指针可以用来访问和修改变量的值,也可以用来作为函数参数传递变量的地址。 - 内存管理:
C++中内存管理主要涉及动态内存分配和释放。动态内存分配使用new关键字,释放使用delete关键字。例如,动态分配一个整型数组:int *arr = new int[10];释放内存:delete[] arr。此外,C++中也涉及栈和堆的内存分配方式以及作用域和生命周期的概念。
以上是C++基础语法、数据类型、指针、内存管理等基本知识的概述,是学习C++编程的基础。
详解:
好的,以下是C++的基础语法、数据类型、指针、内存管理等基本知识和示例的整理:
-
基础语法
变量声明和赋值:
int a = 10; // 声明一个整型变量a并赋值为10 |
char c = 'A'; // 声明一个字符型变量c并赋值为'A' |
常量声明:
const int k = 10; // 声明一个常量整型k并赋值为10,k的值不能改变 |
数据类型转换:
int a = 10; |
double d = 0.0; |
d = static_cast<double>(a); // 将整型a转换为浮点型并赋值给d |
运算符:
int a = 10; |
int b = 5; |
int c = a + b; // 加法运算 |
int d = a - b; // 减法运算 |
int e = a * b; // 乘法运算 |
int f = a / b; // 除法运算 |
控制流语句:
int a = 10; |
if (a > 5) { |
// 如果a大于5,执行此块代码 |
} else { |
// 如果a不大于5,执行此块代码 |
} |
for (int i = 0; i < 10; i++) { |
// 循环10次,每次执行此块代码 |
} |
-
数据类型
整型:
int a = 10; // 声明一个整型变量a并赋值为10,占4个字节,取值范围为-2147483648~2147483647 |
short b = 10; // 声明一个短整型变量b并赋值为10,占2个字节,取值范围为-32768~32767 |
long c = 10; // 声明一个长整型变量c并赋值为10,占4个字节或8个字节,取值范围为-9223372036854775808~9223372036854775807,根据不同的编译器和平台有所不同 |
浮点型:
float d = 3.14f; // 声明一个单精度浮点型变量d并赋值为3.14,占4个字节,精度约为7位小数 |
double e = 3.14; // 声明一个双精度浮点型变量e并赋值为3.14,占8个字节,精度较高,约为15位小数以上 |
字符型和布尔型:略。
-
指针
指针的定义和初始化:
int a = 10; // 定义一个整型变量a并赋值为10 |
int* p = nullptr; // 定义一个整型指针p,初始值为nullptr(空指针) |
p = &a; // 将指针p指向变量a的地址,即p指向了a的内存地址(&是取地址符) |
通过指针访问变量的值:
int a = 10; // 定义一个整型变量a并赋值为10 |
int* p = nullptr; // 定义一个整型指针p,初始值为nullptr(空指针) |
p = &a; // 将指针p指向变量a的地址,即p指向了a的内存地址(&是取地址符) |
cout << *p << endl; // 通过指针p访问其指向的变量的值,输出结果为10(*是取值符) |
通过指针修改变量的值:
int a = 10; // 定义一个整型变量a并赋值为10 |
int* p = nullptr; // 定义一个整型指针p,初始值为nullptr(空指针) |
p = &a; // 将指针p指向变量a的地址,即p指向了a的内存地址(&是取地址符) |
*p = 20; // 通过指针p修改变量a的值,将a的值修改为20(*是取值符)输出结果为20(&是取地址符)即&是取地址符)cout << a << endl;查看变量a的值是否被修改为20(cout输出结果为20 |