C++基础学习笔记

第一个C++程序

#include "iostream"
int main()
{
  std::cout << "hello world" << std::endl;
  return 0;
}

运行结果:

C++语法

  1. 每一条语句以;结束
  2. 大小写敏感,即std::cout Std::cout std::COUT互相不相同
  3. 文字(字符串)放在双引号内“这是文字”
  4. //表示注释 //后面的字符并不执行 例如 //这是注释/*和 */内的内容是注释 例如 /*这是注释*/
  5. 控制台程序是由main函数开始的
  6. #include 是一条预处理指令
  7. 关键字是C++中含有特殊意义的保留字符 比如int

计算机基础知识

1字节=8位

常见的进制

进制定义:n进制表示使用n个基本符号(0到n-1)的计数系统

常见进制

十进制:符号0-9,基数为10

二进制:符号0-1,基数为2

八进制:符号0-7,基数为8

十六进制:符号0-9加A-F,基数为16

位权计算:同一数字在不同进制下值不同(如"10"在二进制=2,八进制=8,十进制=10,十六进制=16)

C++中各种进制的表示:

#include "iostream"
using namespace std;

int main()
{
    cout << "十进制表示:" << 10'1010 << endl;
    cout << "二进制表示:" << 0b1010 << endl;
    cout << "八进制表示:" << 01010 << endl;
    cout << "十六进制表示:" << 0x1010 << endl;
    return 0;
}

运行结果:

const和#define

const关键字

  • 优点:类型安全,可调试
  • 特点:技术上可通过特殊手段修改(高级话题)

#define指令

  • 优点:全局可用,编译期替换
  • 缺点:无类型检查,调试困难
#include "iostream"
#define PI 3.14

using namespace std;

int main()
{
    const int year = 2025;
    cout << year << endl;
    cout << PI << endl;
    return 0;
}

常见数据类型

bool  用于表示布尔值 通常占用1字节

int 用于表示整数 通常占用4字节

short 用于表示短整数 通常占用2字节

long 用于表示长整数 通常占用4字节

long long 用于表示更长整数 通常占用8字节

float 用于表示单精度浮点数,通常占用4个字节。

double 用于表示双精度浮点数,通常占用8个字节。

类型转换顺序

转换规则:不同类型变量运算时,编译器会按照内置优先级表自动进行隐式转换

优先级顺序

long double > double > float

unsigned long long > long long

unsigned long > long

unsigned int > int

特殊情况

short和char类型运算时会被统一转换为int

long和unsigned long的优先级关系由编译器决定

C++中使用static_cast<int>关键字完成类型的转换

推断类型

使用typeid(变量).name()可获取变量实际类型

格式化输出

运算优先级

自定义变量名

#define aInt int

typedef int aInt

using eInt = int

指针

定义:int *p

取地址运算符:&,取变量的地址

引用地址运算符:*,取指针的值