学习C++

发布时间 2023-10-17 23:29:02作者: linuxws

概述:

C++的基础语法主要包括变量、常量、数据类型、运算符、控制流语句等。下面分别进行介绍。

  1. 变量和常量:
    变量是程序中用于存储数据的标识符,可以改变其值。在C++中,变量必须先声明后使用,声明的语法格式为“数据类型 变量名”。例如,声明一个整型变量:int a。
    常量是在程序中不能改变其值的量,通常使用const关键字进行声明。例如,声明一个常量整型:const int k = 10。
  2. 数据类型:
    C++的数据类型包括整型、浮点型、字符型、布尔型等。其中,整型包括int、short、long等,浮点型包括float、double等,字符型用char表示,布尔型用bool表示。每一种数据类型都有其占用的内存大小和表示的范围,不可以随意混用。
  3. 指针:
    指针是C++中一个重要的概念,用于存储变量的地址。指针变量必须先定义后使用,声明的语法格式为“数据类型 *指针变量名”。例如,声明一个整型指针:int *p。指针可以用来访问和修改变量的值,也可以用来作为函数参数传递变量的地址。
  4. 内存管理:
    C++中内存管理主要涉及动态内存分配和释放。动态内存分配使用new关键字,释放使用delete关键字。例如,动态分配一个整型数组:int *arr = new int[10];释放内存:delete[] arr。此外,C++中也涉及栈和堆的内存分配方式以及作用域和生命周期的概念。

以上是C++基础语法、数据类型、指针、内存管理等基本知识的概述,是学习C++编程的基础。

详解:

  1. 基础语法

变量声明和赋值:

cpp复制代码
  int a = 10; // 声明一个整型变量a并赋值为10
  char c = 'A'; // 声明一个字符型变量c并赋值为'A'

常量声明:

cpp复制代码
  const int k = 10; // 声明一个常量整型k并赋值为10,k的值不能改变

数据类型转换:

cpp复制代码
  int a = 10;
  double d = 0.0;
  d = static_cast<double>(a); // 将整型a转换为浮点型并赋值给d

运算符:

cpp复制代码
  int a = 10;
  int b = 5;
  int c = a + b; // 加法运算
  int d = a - b; // 减法运算
  int e = a * b; // 乘法运算
  int f = a / b; // 除法运算

控制流语句:

cpp复制代码
  int a = 10;
  if (a > 5) {
  // 如果a大于5,执行此块代码
  } else {
  // 如果a不大于5,执行此块代码
  }
   
  for (int i = 0; i < 10; i++) {
  // 循环10次,每次执行此块代码
  }
  1. 数据类型

整型:

cpp复制代码
  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,根据不同的编译器和平台有所不同

浮点型:

cpp复制代码
  float d = 3.14f; // 声明一个单精度浮点型变量d并赋值为3.14,占4个字节,精度约为7位小数
  double e = 3.14; // 声明一个双精度浮点型变量e并赋值为3.14,占8个字节,精度较高,约为15位小数以上

字符型和布尔型:略。

  1. 指针
    指针的定义和初始化:

cpp复制代码
  int a = 10; // 定义一个整型变量a并赋值为10
  int* p = nullptr; // 定义一个整型指针p,初始值为nullptr(空指针)
  p = &a; // 将指针p指向变量a的地址,即p指向了a的内存地址(&是取地址符)

通过指针访问变量的值:

cpp复制代码
  int a = 10; // 定义一个整型变量a并赋值为10
  int* p = nullptr; // 定义一个整型指针p,初始值为nullptr(空指针)
  p = &a; // 将指针p指向变量a的地址,即p指向了a的内存地址(&是取地址符)
  cout << *p << endl; // 通过指针p访问其指向的变量的值,输出结果为10(*是取值符)

通过指针修改变量的值:

cpp复制代码
  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