C和C++大全

news/2024/10/30 9:27:21/

第一章 编程基础 9
1.1 通俗地理解什么是编程语言 9
1.2 C语言究竟是一门怎样的语言? 11
1.3 C语言是菜鸟和大神的分水岭 12
1.4 进制详解:二进制、八进制和十六进制 13
1.5 进制转换:二进制、八进制、十六进制、十进制之间的转换 15
1.6 数据在内存中的存储(二进制形式存储) 18
1.7 载入内存,让程序运行起来 19
1.8 ASCII编码,将英文存储到计算机 20
第二章 C语言初探 21
2.1 第一个C语言程序 21
2.2 什么是源文件? 22
2.3 C语言编译和链接详解 23
2.4 C语言编译器 25
2.5 什么是IDE(集成开发环境)? 26
2.6 什么是工程/项目? 27
2.7 分析第一个C语言程序 28
第三章 变量和数据类型 31
3.1 C语言变量和数据类型 31
3.2 在屏幕上输出各种类型的数据 34
3.3 C语言中的整数(short,int,long) 36
3.4 C语言中的二进制数、八进制数和十六进制数 40
3.5 C语言中的正负数 44
3.6 C语言整数的取值范围以及数值溢出 48
3.7 C语言中的小数(float,double) 52
3.8 在C语言中使用英文字符 56
3.9 在C语言中使用中文字符 59
3.10 C语言转义字符 61
3.11 C语言标识符、关键字、注释、表达式和语句 63
3.12 C语言加减乘除运算 65
3.13 C语言自增(++)和自减(–) 69
3.14 C语言变量的定义位置以及初始值 72
3.15 C语言运算符的优先级和结合性 75
3.16 C语言数据类型转换(自动类型转换+强制类型转换) 77
第四章 C语言输入输出 80
4.1 C语言数据输出大汇总以及轻量进阶 80
4.2 C语言scanf:读取从键盘输入的数据 85
4.3 C语言输入字符和字符串 93
4.4 缓冲区 96
第五章 循环结构和选择结构 100
5.1 C语言if else语句详解 100
5.2 C语言关系运算符详解 104
5.3 C语言逻辑运算符详解 107
5.4 C语言switch case语句详解 110
5.5 C语言?和:详解,C语言条件运算符详解 113
5.6 C语言while循环和do while循环详解 114
5.7 C语言for循环(for语句)详解 117
5.8 C语言break和continue用法详解(跳出循环) 121
5.9 C语言循环嵌套详解 123
5.10 对C语言选择结构和循环结构的总结 126
第六章 C语言数组 127
6.1 什么是数组? 127
6.2 C语言二维数组的定义、初始化、赋值 131
6.3 C语言判断数组中是否包含某个元素 134
6.4 C语言字符数组和字符串详解 136
6.5 C语言字符串的输入和输出 140
6.6 C语言字符串处理函数 143
6.7 C语言数组是静态的,不能插入或删除元素 145
6.8 C语言数组的越界和溢出 147
6.9 C语言对数组元素进行排序 149
第七章 C语言函数 152
7.1 什么是函数 152
7.2 C语言函数定义 155
7.3 C语言形参和实参的区别 159
7.4 C语言return的用法详解,C语言函数返回值详解 162
7.5 C语言函数调用详解(从中发现程序运行的秘密) 165
7.6 C语言函数声明以及函数原型 167
7.7 C语言全局变量和局部变量 169
7.8 C语言变量的作用域 173
7.9 C语言块级变量 177
7.10 C语言递归函数 180
第八章 预处理命令 183
8.1 C语言预处理命令是什么? 183
8.2 C语言#include的用法详解 185
8.3 C语言#define的用法,C语言宏定义 186
8.4 C语言带参数的宏定义 189
8.5 C语言带参宏定义和函数的区别 192
8.6 C语言宏参数的字符串化和宏参数的连接 194
8.7 C语言中几个预定义宏 195
8.8 C语言条件编译 196
8.9 C语言预处理命令总结 200
第九章 指针 201
9.1 C语言指针是什么? 201
9.2 C语言指针变量的定义和使用 202
9.3 C语言指针变量的运算 206
9.4 C语言数组指针详解 209
9.5 C语言字符串指针 212
9.6 C语言数组灵活多变的访问形式 215
9.7 C语言指针变量作为函数参数 218
9.8 C语言指针作为函数返回值 221
9.9 C语言二级指针 223
9.10 C语言空指针NULL以及void指针 225
9.11 对C语言指针的总结 227
第十章 结构体 228
10.1 C语言结构体详解 228
10.2 C语言结构体数组详解 231
10.3 C语言结构体指针 233
10.4 C语言枚举类型 237
10.5 C语言共用体 240
10.6 C语言位域 244
10.7 C语言位运算 247
第十一章 文件操作 252
11.1 C语言中的文件是什么? 252
11.2 C语言打开文件 254
11.3 文本文件和二进制文件到底有什么区别? 257
11.4 以字符形式读写文件 258
11.5 以字符串的形式读写文件 261
11.6 以数据块的形式读写文件 264
11.7 格式化读写文件 266
11.8 随机读写文件 269
11.9 C语言实现文件复制功能 271
11.10 C语言获取文件大小 273
11.11 C语言插入、删除、更改文件内容 275
第十二章 C语言调试 278
11.1 调试的概念以及调试器的选择 278
11.2 设置断点,开始调试 279
11.3 查看和修改变量的值 282
11.4 单步调试 285
11.5 assert断言函数 289
第十二章 C语言内存精讲 293
12.1 一个程序在计算机中到底是如何运行的? 293
12.2 虚拟内存到底是什么? 296
12.3 虚拟地址空间以及编译模式 298
12.4 C语言内存对齐,提高寻址效率 300
12.5 内存分页机制,完成虚拟地址的映射 303
12.6 分页机制究竟是如何实现的? 306
12.7 MMU部件以及对内存权限的控制 310
12.8 Linux下C语言程序的内存布局 311
12.9 Windows下C语言程序的内存布局 315
12.10 用户模式和内核模式 316
12.11 栈 318
12.12 一个函数在栈上到底是怎样的? 319
12.13 函数调用惯例 321
12.14 C语言动态内存分配 323
12.15 C语言野指针以及非法内存操作 327
12.16 C语言内存泄露 329
第十三章 头文件的编写 330
13.1 从extern关键字开始谈C语言多文件编程 330
13.2 那些被编译器隐藏了的过程 332
13.3 目标文件和可执行文件里面都有什么? 335
13.4 到底什么是链接,它起到了什么作用? 340
13.5 符号——链接的粘合剂 342
13.6 强符号和弱符号 345
13.7 强引用和弱引用 347
13.8 C语言模块化编程中的头文件 349
13.9 C语言标准库以及标准头文件 350
13.10 C语言static变量和函数 351
13.11 一个比较规范的C语言多文件编程的例子 354
第十四章 C语言重要知识点补充 359
14.1 C语言typedef的用法详解 359
14.2 C语言const的用法详解 362
14.3 C语言随机数生成教程 365
第十五章 C语言编程实例 368
15.1 C语言三个数从小到大排序/输出 368
15.2 C语言猴子吃桃问题 369
15.3 C语言百钱买百鸡 370
15.4 C语言渔夫打鱼晒网问题 371
15.5 C语言希尔排序算法 373
15.6 C语言冒泡排序算法 374
15.7 C语言直接插入排序算法 375
15.8 C语言快速排序算法 377
15.9 C语言选择排序算法 379
15.10 C语言归并排序算法 380
15.11 C语言二分查找算法,折半查找算法 382
15.12 C语言分块查找算法,索引顺序查找算法 383
15.13 C语言输出菱形 385
第十六章 从C语言到C++ 387
16.1 学习C++之前要先学习C语言吗? 387
16.2 C++类和对象到底是什么意思? 388
16.3 如何编译和运行C++程序? 392
16.4 C++命名空间(名字空间)详解 394
16.5 C++头文件和std命名空间 396
16.6 C++输入输出(cin和cout) 399
16.7 C++变量的定义位置 401
16.8 C++布尔类型(bool) 403
16.9 C++中的const又玩出了新花样 404
16.10 C++ new和delete运算符简介 408
16.11 C++ inline内联函数详解 408
16.12 C++内联函数也可以用来代替宏 411
16.13 如何规范地使用C++内联函数 414
16.14 C++函数的默认参数详解 415
16.15 到底在声明中还是定义中指定默认参数 416
16.16 C++函数重载详解 418
16.17 C++函数重载过程中的二义性和类型转换 421
第十七章 类和对象 425
17.1 C++类的定义和对象的创建详解 425
17.2 C++类的成员变量和成员函数详解 429
17.3 C++类成员的访问权限以及类的封装 431
17.4 C++对象的内存模型 435
17.5 C++函数编译原理和成员函数的实现 437
17.6 C++构造函数 438
17.7 C++构造函数初始化列表 442
17.8 C++析构函数 445
17.9 C++对象数组 448
17.10 C++成员对象和封闭类 450
17.11 C++ this指针 454
17.12 C++ static静态成员变量 456
17.13 C++ static静态成员函数 459
17.14 C++ const成员变量和成员函数 461
17.15 C++ const对象 463
17.16 C++友元函数和友元类 464
17.17 类其实也是一种作用域 470
17.18 C++ class和struct到底有什么区别 472
17.19 C++ string详解 473
第十八章 C++引用 480
18.1 C++引用10分钟入门教程 480
18.2 C++引用在本质上是什么,它和指针到底有什么区别 485
18.3 C++引用不能绑定到临时数据 489
18.4 编译器会为const引用创建临时变量 493
18.5 C++ const引用与转换类型 495
第十九章 C++继承与派生 498
19.1 C++继承和派生简明教程 498
19.2 C++三种继承方式 500
19.3 C++继承时的名字遮蔽问题 505
19.4 C++类继承时的作用域嵌套 508
19.5 C++继承时的对象内存模型 511
19.6 C++基类和派生类的构造函数 514
19.7 C++基类和派生类的析构函数 518
19.8 C++多继承 519
19.9 C++多继承时的对象内存模型 523
19.10 C++虚继承和虚基类详解 525
19.11 C++虚继承时的构造函数 529
19.12 C++虚继承下的内存模型 532
19.13 C++向上转型 539
第二十章 C++多态与虚函数 545
20.1 C++多态和虚函数快速入门教程 545
20.2 C++虚函数注意事项以及构成多态的条件 551
20.3 C++虚析构函数的必要性 553
20.4 C++纯虚函数和抽象类详解 556
20.5 C++虚函数表精讲 559
20.6 C++ typeid运算符 563
20.7 C++ RTTI机制精讲 567
20.8 C++静态绑定和动态绑定 570
20.9 C++ RTTI机制下的对象内存模型 572
第二十一章 C++运算符重载 574
21.1 C++运算符重载基础教程 574
21.2 C++运算符重载时要遵循的规则 577
21.3 C++重载数学运算符 579
21.4 C++重载>>和<< 582
21.5 C++重载[] 586
21.6 C++重载++和— 588
21.7 C++重载new和delete运算符详解 590
21.8 C++重载() 591
第二十二章 模板 592
22.1 C++函数模板入门教程 592
22.2 C++类模板入门教程 597
22.3 C++函数模板的重载 603
22.4 C++函数模板的实参推断 605
22.5 C++模板的显式具体化 608
22.6 C++模板中的非类型参数 614
22.7 C++模板的实例化 620
22.8 将C++模板应用于多文件编程 622
22.9 C++模板的显式实例化 626
22.10 C++类模板与继承详解 631
22.11 C++类模板与友元详解 632
22.12 C++类模板中的静态成员 636
第二十三章 C++异常 637
23.1 C++异常处理入门 637
23.2 C++异常类型以及多级catch匹配 642
23.3 C++ throw 645
23.4 C++ exception类 651
第二十四章 C++面向对象进阶 653
24.1 C++拷贝构造函数 653
24.2 到底什么时候会调用拷贝构造函数? 656
24.3 C++深拷贝和浅拷贝 660
24.4 C++重载= 664
24.5 C++拷贝控制操作 667
24.6 C++转换构造函数 669
24.7 C++类型转换函数 675
24.8 再谈C++转换构造函数和类型转换函数(进阶) 677
24.9 C/C++类型转换的本质 682
24.10 C++四种类型转换运算符 685
第二十五章 C++输入输出流 694
25.1 什么是流? 694
25.2 C++ cout格式化输出 697
25.3 C++ cout.put():输出单个字符 701
25.4 C++ cin判断输入结束 702
25.5 cin.get():C++读取单个字符 704
25.6 cin.getline():C++读入一行字符串 705
25.7 cin.ignore() C++跳过(忽略)指定字符 707
25.8 cin.peek():C++查看输入流中的下一个字符 708
25.9 C++处理输入输出错误 709
25.10 C++管理输出缓冲区 713
第二十六章 C++文件操作 715
26.1 计算机文件到底是什么? 715
26.2 C++文件类(文件流类)有哪些? 717
26.3 C++ open 打开文件 718
26.4 C++文本文件的读取和写入 720
26.5 C++二进制文件的读取和写入 722
26.6 C++移动和获取文件读写指针 726
26.7 文件的文本打开方式和二进制打开方式的区别 728
第二十七章 C++ STL(标准模板库) 729
27.1 C++容器 729
27.2 C++迭代器 731
27.3 STL算法详解 736
27.4 STL中“大”、“小”和“相等”的概念 738
27.5 C++ vector 739
27.6 C++ list 742
27.7 C++ deque 746
27.8 C++函数对象 746
27.9 C++关联容器 753
27.10 C++ pair类模板 754
27.11 C++ multiset 755
27.12 C++ set 758
27.13 C++ multimap 760
27.14 C++ map 764
27.15 C++容器适配器简介 766
27.16 C++ stack 766
27.17 C++ queue和priority_queue 767
27.18 STL算法分类 769
27.19 C++ string类 770
27.20 C++ bitset类 776


http://www.ppmy.cn/news/10318.html

相关文章

(软考)系统架构师大纲

考试要求&#xff1a; 掌握计算机硬软件与网络的基础知识;熟悉信息系统开发过程;理解信息系统开发标准、常用信息技术标准;熟悉主流的中间件和应用服务器平台;掌握软件系统建模、系统架构设计基本技术;熟练掌握信息安全技术、安全策略、安全管理知识;了解信息化、信息技术有关…

引发C++程序内存错误的常见原因分析与总结

目录 1、概述 2、变量未初始化 2.1、变量未初始化的场景说明 2.2、对0xcccccccc、0xcdcdcdcd和0xfeeefeee等常见异常值的辨识度 3、空指针与野指针 3.1、空指针 3.2、野指针 4、线程栈溢出 5、内存越界 6、内存泄漏 7、堆内存被破坏 8、内存访问违例 8.1、访问64K…

后端人眼中的Vue(三)

五、高级 5.1、计算 5.1.1、computed ​ 在之前的购物车的案例当中&#xff0c;我们已经实现了购物车价格的计算&#xff0c;但是有些时候我们需要在其他很多地方也展示价格&#xff0c;所以每展示一次&#xff0c;我们就需要调用一次计算价格的方法&#xff0c;所以Vue给了…

STM32系列单片机标准库移植FreeRTOS V10.4.6详解

文中所用到的资料下载地址 https://download.csdn.net/download/qq_20222919/87370679 最近看正点原子新录制了手把手教你学FreeRTOS的视频教程&#xff0c;看了一下教程发现视频里面讲的是使用HAL移植 FreeRTOS V10.4.6 版本&#xff0c;以前的标准库移植的是FreeRTOS V9.0 版…

Vue--》Vue3自定义组件以及新组件的使用讲解

目录 customRef Vue3提供的新组件 Fragment Teleport Suspense Vue3中全局API的改变 customRef 创建一个自定义的ref&#xff0c;并对其依赖项跟踪和更新触发进行显示控制。 <template><input type"text" v-model"keyword"><h3>…

网络安全等级保护定级指南 范围

声明 本文是学习github5.com 网站的报告而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 网络安全等级保护 为了配合《中华人民共和国网络安全法》的实施&#xff0c;适应云计算、移动互联、物联网、工业控制和大数据等新技术、新应用情况下网络安全等…

计算机组成原理_总线

计算机组成原理总目录总线概述 1. 总线介绍 我们知道计算机中有CPU、主存、辅存&#xff0c;以及打印机、键盘、鼠标等等的一些外设 那么各个设备之间肯定是要进行数据传输的&#xff0c;这就需要许多线路将它们连接起来 第一种方法&#xff1a;两两相联 外设数量越多&#xf…

Allegro174版本新功能介绍之去掉拷贝自动偏移功能

Allegro174版本新功能介绍之去掉拷贝自动偏移功能 Allegro升级到了174版本的时候,在用拷贝功能的时候,不管怎么拷贝都会出现偏差,即便是拷贝坐标的方式,如下图 那是因为174新增了一个自动粘贴的功能,按照下面的步骤可以去除自动粘贴的功能,具体操作如下 选择Setup选择Use…