版权声明:本文为博主原创文章,转载标注出处。联系微信btc20002000 https://blog.csdn.net/qq_36666115/article/details/88367323
先修基础
- C++语言程序设计基础:类、继承、重载、重写、虚方法、模板
- 离散数学基础: 集合、偏序集、良序、数学归纳法、级数、递归、递推
- 概率基础: 随机分布、概率、伯努利实验、数学期望、期望值的线性律
基础详解
一、 C++
每一个代码模板
#include <iostream>
using namespace std;
int main()
{
cout << "Hello, world!" << endl;
return 0;
}
编译运行
g++ helloworld.cpp -o helloworld
./helloworld
或者使用"makefile"
注意C++ 关键词
注释: /* */ //
数据类型:
类型修饰符进行修饰 signed unsigned short long
typedef 声明:使用 typedef 为一个已有的类型取一个新的名字
定义常量:
- 使用 #define 预处理器。
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
- 使用 const 关键字。
const int LENGTH = 10;
const int WIDTH = 5;
const char NEWLINE = '\n';
static 存储类
static int count = 10; /* 全局变量 */
void func( void )
{
static int i = 5; // 局部静态变量
}
逻辑运算符 : && || !
位运算符: &、 | 和 ^ (异或)~ (补码) <<(二进制左移运算符) >>(二进制右移运算符)
杂项运算符:
sizeof
& 返回变量的地址
- 指向一个变量
数学运算:
< cmath >
double pow(double, double); double floor(double);
随机数:
// 设置种子
srand( (unsigned)time( NULL ) );
// 只返回一个伪随机数
rand();
数组:
- 声明数组
double balance[10]; - 初始化数组
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
balance[4] = 50.0; - 访问数组元素
double salary = balance[9]; - 作用
传递数组给函数。
从函数返回数组。 int * getRandom( ) {static int r[10];}
字符串:#include < string >
- strcpy(s1, s2);
复制字符串 s2 到字符串 s1。 - strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。 - strlen(s1);
返回字符串 s1 的长度。 - strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回值小于 0;如果 s1>s2 则返回值大于 0。 - strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。 - strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。
引用:
引用 vs 指针:
- 不存在空引用。
- 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
- 引用必须在创建时被初始化。指针可以在任何时间被初始化。
1. 类
类可以定义为描述对象行为/状态的模板/蓝图。
2. 继承
子类继承父类