小有所成
一、知识总结
✨ 计算机语言
计算机语言的发展层次
计算机语言从底层到高层经历了三个发展阶段:
| 层次 | 名称 | 特点 | 示例 |
|---|---|---|---|
| 第一层 | 二进制语言(机器语言) | 直接在CPU上运行,由0和1组成 | 01010011... |
| 第二层 | 低级编程语言 | 用助记符代替二进制,接近硬件 | 汇编语言 |
| 第三层 | 高级编程语言 | 接近人类语言,易于理解 | C、C++、Python |
高级编程语言的分类方式
按照用途分类:
| 用途 | 代表语言 |
|---|---|
| 系统编程 | C、C++、Rust |
| 应用编程 | Java、Python、Ruby |
| 网页编程 | JavaScript、PHP |
| 科学计算 | Matlab、Fortran、R |
| 数据查询 | SQL |
按照编程范式分类:
| 范式 | 说明 | 代表语言 |
|---|---|---|
| 过程式(面向过程) | 按步骤顺序执行 | C、Pascal |
| 对象式(面向对象) | 以对象为核心组织代码 | C++、Python、Java |
| 函数式 | 以函数作为基本单元 | Haskell、Erlang |
| 逻辑式 | 通过逻辑规则推理 | Prolog |
| 声明式 | 描述"做什么"而非"怎么做" | SQL、HTML |
| 并发式 | 支持多任务同时执行 | Erlang、Go |
按照编译方式分类:
| 编译方式 | 特点 | 代表语言 |
|---|---|---|
| 编译型 | 先编译成机器码,再运行,速度快 | C、C++、Fortran |
| 解释型 | 逐行解释执行,开发灵活 | Python、Ruby、JavaScript |
| 即时编译 | 先编译为中间码,运行时再编译为机器码 | Java、C# |
✨ C++常用数学函数
函数一览表
以下函数使用时需要包含头文件 (数学函数)或 (max/min)。使用 可以包含所有头文件。#include <bits/stdc++.h>
| 函数 | 作用 | 示例调用 | 返回值 |
|---|---|---|---|
max(a, b) | 取较大值 | max(10, 20) | 20 |
min(a, b) | 取较小值 | min(10, 20) | 10 |
abs(x) | 取绝对值 | abs(-10) | 10 |
ceil(x) | 向上取整 | ceil(3.14) | 4 |
floor(x) | 向下取整 | floor(3.14) | 3 |
round(x) | 四舍五入 | round(3.5) | 4 |
trunc(x) | 截断取整(去掉小数部分) | trunc(3.14) | 3 |
sqrt(x) | 求平方根 | sqrt(16.0) | 4 |
pow(x, y) | 求x的y次方 | pow(2.0, 3.0) | 8 |
rand() | 生成随机数 | rand() % 100 | 0~99的随机数 |
取整函数对比
这四个取整函数容易混淆,下面通过不同输入值来对比它们的区别:
| 输入值 | ceil (向上) | floor (向下) | round (四舍五入) | trunc (截断) |
|---|---|---|---|---|
| 3.14 | 4 | 3 | 3 | 3 |
| 3.75 | 4 | 3 | 4 | 3 |
| -3.14 | -3 | -4 | -3 | -3 |
| -3.75 | -3 | -4 | -4 | -3 |
代码示例
max / min 代码示例
1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int a = 10, b = 20;
6 cout << max(a, b) << endl; // 输出 20
7 cout << min(a, b) << endl; // 输出 10
8 return 0;
9}abs 代码示例
1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 int value = -10;
6 cout << abs(value) << endl; // 输出 10
7 return 0;
8}取整函数代码示例
1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 double x = 3.14;
6 cout << ceil(x) << endl; // 输出 4(向上取整)
7 cout << floor(x) << endl; // 输出 3(向下取整)
8 cout << round(x) << endl; // 输出 3(四舍五入)
9 cout << trunc(x) << endl; // 输出 3(截断取整)
10 return 0;
11}sqrt / pow 代码示例
1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 cout << sqrt(16.0) << endl; // 输出 4(平方根)
6 cout << pow(2.0, 3.0) << endl; // 输出 8(2的3次方)
7 return 0;
8}rand 随机数代码示例
1#include <bits/stdc++.h>
2using namespace std;
3
4int main() {
5 srand(time(0)); // 设置随机数种子
6 for (int i = 0; i < 5; ++i) {
7 cout << rand() % 100 << endl; // 输出 0~99 的随机数
8 }
9 return 0;
10}✨ 流程图总结
流程图是用图形符号表示程序执行步骤的工具。常用符号如下:
| 符号 | 形状 | 用途 |
|---|---|---|
| 开始/结束 | 圆角矩形/椭圆形 | 表示程序的开始和结束 |
| 过程/步骤 | 矩形 | 表示具体的操作步骤 |
| 决策/条件 | 菱形 | 表示条件判断,有真/假两个分支 |
| 输入/输出 | 平行四边形 | 表示数据的输入或输出 |
| 箭头 | 带箭头的线 | 表示流程的方向 |
正在渲染流程图...