C++ 学习笔记

一、IDE。

所谓IDE(集成开发环境)即包含:

· 代码编辑功能。

**·**代码错误提示。

**·**程序调试。

· 代码编译。

等各类辅助程序开发的功能的集合体。

二、Clion说明。

Clion 是以工程管理代码,一般情况下,一个工程指代一个具体的程序开发任务。

即,标准使用场景下:

**·**每个程序的开发,都应有各自的工程。

· 由于main函数是程序入口,所以每个工程仅允许1个main函数。

三、快捷键。

shift + alt + 键盘上/下 控制当前行上下移动

ctrl + D 复制当前行

HOME,END 移动广播到行首、行尾

ctrl + 键盘左/右 光标左右跳单词

ctrl + A 全选

ctrl + C/V 复制、粘贴

四、常量。

常量包括字面常量和符号常量。

字面常量又包括以下类型:

**·**整型字面常量:整数,不带小数点的数字。

**·**实型字面常量:小数,带有小数点的数字。

**·**字符型字面常量:以单引号包围的单个字符(注意只能是一个字符,不能是0个或多个)。

**·**字符串字面常量:以双引号包围的任意个字符。

五、标识符和关键字。

在C++代码中,会涉及到许多命名的场景,比如变量、类和函数的命名。这些命名统一称之为标识符,即表示某类实体的符号(名称)。

标识符的内容限定:只允许由字母、数字、下划线组成,且不能以数字开头(也不可使用关键字)。

六、解决控制台输出中文乱码问题的方法。

方式一:

**·**在代码头部引入 #include "windows.h"

**·**在main()函数内部编写 SetConsoleOutputCP(CP_UTF8);

方式二:

**·**在main()函数内部编写 system("chcp 65001");

七、数据类型。

首先了解无符号和有符号的含义。

**·**无符号:仅正数。

**·**有符号:可以包含负数(默认都是有符号)。

如何定义无符号类型。

**·**需要主动使用 unsigned,如unsigned int num = 1;

**·**u_short、u_int、u_long 是无符号short、int、long的快捷写法。

整型数据的各种类型:

**·**short:占用2字节。

**·**int:占用4字节。

· long:windows为4字节,linux为4字节(32位),8字节(64位)。

**·**long long:占用8字节。

通过sizeof()函数可查看不同类型数据占用的内存空间。

实型数据的各种类型:

**·**float:占用4字节,有效位数为6~7位。

**·**double:占用8字节,有效位数为15~16位。

· long double:占用16字节,有效位数为18~19位。

实型不区分有无符号,全部有符号。有效位数为参考,具体看编译器的标准实现。

控制cout输出小数的格式:

cout.width(20); // 设置显示宽度

cout << fixed; // 设置小数显示

在C++中,字面量的类型是自动确定的。整数默认为int,如范围不足会自动扩容,顺序为:int ->unit ->long ->ulong ->long long ->u long long。浮点数默认为double,范围不足会自动扩容到long double。

字符串数据类型:

· char s[ ] = "abc"; 字符数组模式,不可更改变量值

**·**char *s = "abc"; 指针模式

· string s = "abc" string 类型模式

布尔数据类型(主要用于程序中的流程控制):

· true 本质上是数字1

· false 本质上是数字0

八、运算符。

运算符是一种符号,用于告诉编译器执行特定的数学或逻辑操作。C++内置的运算符有算数运算符、赋值运算符、比较运算符、逻辑运算符和位运算符等。

九、逻辑判断语句。

(1)多条件判断。

(2)嵌套判断。

十、switch控制语句。

十一、枚举类型。

十二、while 循环。

十三、do while 循环。

十四、for 循环。

十五、变量的作用域。

十六、continue 和 break 关键字。

十七、goto 语句。

输出的是 a b d,跳过了c。

十八、数组。

十九、字符数组。

二十、多维数组。

二十一、指针。

二十二、野指针和空指针。

二十三、指针运算。

二十四、动态内存分配。

二十五、数组元素的删除和插入。

二十六、指针悬挂。

二十七、常量指针。

二十八、结构体。

二十九、结构体指针。

三十、结构体指针数组。

三十一、函数。

三十二、无返回值(void)函数和空参函数。

三十三、函数嵌套调用。

三十四、参数的值传递和地址传递。

cpp 复制代码
void query(int num) {
    cout << "--------------------查询余额---------------------" << endl;
    cout << "您的余额为:" << num << endl;
}

int add(int num){
    cout << "--------------------存款---------------------" << endl;
    int a;
    cout << "请输入您要存款的金额:";
    cin >> a;
    int b = num + a;
    cout << "存款成功! 您的余额为:" << b << endl;
    return b;
}

int sub(int num){
    cout << "--------------------取款---------------------" << endl;
    int a;
    cout << "请输入您要取款的金额:";
    cin >> a;
    int b = num - a;
    cout << "取款成功! 您的余额为:" << b << endl;
    return b;
}

void exit(){
    cout << "已退出当前账户!" << endl;
}

void menu(int total, const string& name){
    cout << "--------------------主菜单--------------------" << endl;

    cout << name << ",您好!欢迎来到黑马银行ATM。" << endl;
    cout << "查询余额 \t[输入1]" << endl;
    cout << "取款 \t[输入2]" << endl;
    cout << "存款 \t[输入3]" << endl;
    cout << "退出 \t[输入4]" << endl;
    int num;
    cout << "请输入您的选择:";
    cin >> num;
    switch (num)
    {
    case 1:
        query(total);
        menu(total, name);
        break;
    case 2:
        total = sub(total);
        menu(total, name);
        break;
    case 3:
        total = add(total);
        menu(total, name);
        break;
    case 4:
        exit();
        break;
    default:
        cout << "输入错误!请重新输入!" << endl;
    }

}


int main()
{
    int total = 5000000;
    string name;
    cout << "请输入您的姓名:";
    cin >> name;
    menu(total, name);
    return 0;
}

三十五、函数传入数组。

三十六、引用和引用传参。

三十七、返回指针的函数及局部变量的生命周期。

三十八、static关键字。

三十九、函数返回数组。

本笔记学自黑马程序员官方教程,如有钱全,联系删除。

2024新版黑马程序员C++零基础入门到精通全套视频教程,基于AI大模型的智能编码辅助编程,C++从基础到项目开发一套通关_哔哩哔哩_bilibili

相关推荐
eybk1 小时前
Pytorch+Mumu模拟器+萤石摄像头实现对小孩学习的监控
学习
6.941 小时前
Scala学习记录 递归调用 练习
开发语言·学习·scala
Aileen_0v01 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
守护者1703 小时前
JAVA学习-练习试用Java实现“使用Arrays.toString方法将数组转换为字符串并打印出来”
java·学习
学会沉淀。3 小时前
Docker学习
java·开发语言·学习
Rinai_R3 小时前
计算机组成原理的学习笔记(7)-- 存储器·其二 容量扩展/多模块存储系统/外存/Cache/虚拟存储器
笔记·物联网·学习
吃着火锅x唱着歌3 小时前
PHP7内核剖析 学习笔记 第四章 内存管理(1)
android·笔记·学习
ragnwang3 小时前
C++ Eigen常见的高级用法 [学习笔记]
c++·笔记·学习
胡西风_foxww4 小时前
【es6复习笔记】rest参数(7)
前端·笔记·es6·参数·rest