diff --git a/.idea/workspace.xml b/.idea/workspace.xml
index 7658dd5e..5c78ab7a 100644
--- a/.idea/workspace.xml
+++ b/.idea/workspace.xml
@@ -5,8 +5,15 @@
+
+
+
-
+
+
+
+
+
@@ -30,29 +37,31 @@
- {
+ "keyToString": {
+ "Python.start.executor": "Run",
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
+ "RunOnceActivity.ShowReadmeOnStart": "true",
+ "SHARE_PROJECT_CONFIGURATION_FILES": "true",
+ "git-widget-placeholder": "master",
+ "ignore_missing_gitignore": "true",
+ "last_opened_file_path": "C:/sairateproject/markdoc",
+ "node.js.detected.package.eslint": "true",
+ "node.js.detected.package.tslint": "true",
+ "node.js.selected.package.eslint": "(autodetect)",
+ "node.js.selected.package.tslint": "(autodetect)",
+ "nodejs_package_manager_path": "npm",
+ "settings.editor.selected.configurable": "com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable",
+ "vue.rearranger.settings.migration": "true"
}
-}]]>
+}
+
+
@@ -196,7 +205,23 @@
1744972545232
-
+
+
+ 1744972796032
+
+
+
+ 1744972796032
+
+
+
+ 1744972862250
+
+
+
+ 1744972862250
+
+
diff --git a/notebook/docs/NOI竞赛大纲/1.计算机的基本构成.md b/notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/1.计算机的基本构成.md
similarity index 100%
rename from notebook/docs/NOI竞赛大纲/1.计算机的基本构成.md
rename to notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/1.计算机的基本构成.md
diff --git a/notebook/docs/NOI竞赛大纲/2.Window,Linux等操作系统的基本概念及常见操作.md b/notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/2.Window,Linux等操作系统的基本概念及常见操作.md
similarity index 100%
rename from notebook/docs/NOI竞赛大纲/2.Window,Linux等操作系统的基本概念及常见操作.md
rename to notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/2.Window,Linux等操作系统的基本概念及常见操作.md
diff --git a/notebook/docs/NOI竞赛大纲/3.计算机网络和Internet的基本概念.md b/notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/3.计算机网络和Internet的基本概念.md
similarity index 100%
rename from notebook/docs/NOI竞赛大纲/3.计算机网络和Internet的基本概念.md
rename to notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/3.计算机网络和Internet的基本概念.md
diff --git a/notebook/docs/NOI竞赛大纲/4.计算机历史和常见用途.md b/notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/4.计算机历史和常见用途.md
similarity index 100%
rename from notebook/docs/NOI竞赛大纲/4.计算机历史和常见用途.md
rename to notebook/docs/NOI竞赛大纲/一.基础知识与编程环境/4.计算机历史和常见用途.md
diff --git a/notebook/docs/NOI竞赛大纲/二.C++程序设计/1.程序基本概念.md b/notebook/docs/NOI竞赛大纲/二.C++程序设计/1.程序基本概念.md
new file mode 100644
index 00000000..5d0b730e
--- /dev/null
+++ b/notebook/docs/NOI竞赛大纲/二.C++程序设计/1.程序基本概念.md
@@ -0,0 +1,130 @@
+# 程序基本概念
+
+## 一、标识符、关键字、常量、变量、字符串、表达式的概念
+
+### 1. 标识符(Identifier)
+- 标识符是程序中用于标识变量、函数、数组、类等用户自定义元素的名称。
+- 命名规则:只能由字母、数字和下划线组成,不能以数字开头,不能使用关键字。
+
+```cpp
+int score;
+float total_score;
+```
+
+### 2. 关键字(Keyword)
+- 关键字是编程语言保留的、具有特定含义的标识符,不能作为变量名或函数名使用。
+- 示例(C++):
+
+```text
+int, if, while, return, class, public, private
+```
+
+### 3. 常量(Constant)
+- 程序中固定不变的数据值。
+- 类型包括:整型常量(10)、浮点常量(3.14)、字符常量('a')、字符串常量("hello")。
+
+```cpp
+const double PI = 3.14;
+```
+
+### 4. 变量(Variable)
+- 变量是程序运行过程中值可以改变的量,需先定义后使用。
+- 每个变量都有一个名字、数据类型和存储空间。
+
+```cpp
+int age = 18;
+```
+
+### 5. 字符串(String)
+- 一系列字符组成的序列,通常用双引号括起来,如 "Hello, world!"。
+- 在C++中使用 `std::string` 类型:
+
+```cpp
+#include
+std::string name = "Alice";
+```
+
+### 6. 表达式(Expression)
+- 表达式是由变量、常量、运算符、函数调用等组成的语法结构,能产生一个值。
+- 示例:
+
+```cpp
+a + b * c
+x > 0 && y < 10
+```
+
+---
+
+## 二、常量与变量的命名、定义及作用
+
+### 1. 命名规则
+- 变量和常量命名应具有可读性,建议采用有意义的名称。
+- 遵守语言的语法规则:字母、数字和下划线组成,不能以数字开头,不能使用关键字。
+
+
+
+### 2. 定义方式
+- 常量定义:
+
+```cpp
+const int MAX = 100;
+```
+
+- 变量定义:
+
+```cpp
+int age = 18;
+float pi = 3.14;
+```
+
+### 3. 作用
+- 常量用于保存不会变化的值,增加程序可读性和安全性。
+- 变量用于存储和操作程序运行过程中的数据。
+
+---
+
+## 三、头文件与名字空间的概念
+
+### 1. 头文件(Header File)
+- 头文件是包含函数声明、宏定义、类定义等内容的文件,通常以 `.h` 或 `.hpp` 结尾。
+- 示例:`#include ` 引入输入输出库。
+
+```cpp
+#include
+using namespace std;
+int main() {
+ cout << "Hello, world!" << endl;
+ return 0;
+}
+```
+
+### 2. 名字空间(Namespace)
+- 名字空间用于避免不同模块中标识符的命名冲突。
+- 示例:
+
+```cpp
+using namespace std; // 使用标准命名空间
+std::cout << "Hello"; // 不使用 using 时需加 std:: 前缀
+```
+
+---
+
+## 四、编辑、编译、解释、调试的概念
+
+### 1. 编辑(Editing)
+- 使用文本编辑器编写或修改源代码。
+
+### 2. 编译(Compiling)
+- 将源代码(如 `.cpp` 文件)翻译为目标代码(机器语言),形成可执行文件。
+
+
+
+### 3. 解释(Interpreting)
+- 一边读取源代码一边执行,不生成可执行文件(如 Python、JavaScript 解释执行)。
+
+### 4. 调试(Debugging)
+- 在程序开发过程中发现并修正错误的过程。
+- 常用方法:断点调试、单步执行、查看变量值等。
+
+
+
diff --git a/notebook/docs/NOI竞赛大纲/二.C++程序设计/2.基本数据类型.md b/notebook/docs/NOI竞赛大纲/二.C++程序设计/2.基本数据类型.md
new file mode 100644
index 00000000..12db333a
--- /dev/null
+++ b/notebook/docs/NOI竞赛大纲/二.C++程序设计/2.基本数据类型.md
@@ -0,0 +1,23 @@
+
+# 基本数据类型
+
+在编程中,基本数据类型用于表示不同类型的数值和字符,是编写程序的基础。常见的基本数据类型包括:
+
+## · 整数型:`int`、`long long`
+- 用于表示整数值。
+- `int` 通常用于表示较小范围的整数。
+- `long long` 用于表示更大范围的整数,尤其是在处理大数计算时常用。
+
+## · 实数型:`float`、`double`
+- 用于表示带小数点的实数。
+- `float` 表示单精度浮点数,精度较低,占用内存较小。
+- `double` 表示双精度浮点数,精度更高,占用内存更大,适合科学计算。
+
+## · 字符型:`char`
+- 用于存储单个字符,如 `'A'`、`'b'`、`'1'`。
+- 本质上是一个整数类型,通常占用 1 字节空间,对应 ASCII 编码表。
+
+## · 布尔型:`bool`
+- 用于表示逻辑值:`true`(真)或 `false`(假)。
+- 常用于条件判断、控制程序流程。
+
diff --git a/notebook/docs/NOI竞赛大纲/二.C++程序设计/3.程序基本语句.md b/notebook/docs/NOI竞赛大纲/二.C++程序设计/3.程序基本语句.md
new file mode 100644
index 00000000..aa7b79fa
--- /dev/null
+++ b/notebook/docs/NOI竞赛大纲/二.C++程序设计/3.程序基本语句.md
@@ -0,0 +1,236 @@
+# 3. 程序基本语句
+
+程序是由一条条“语句”组成的,每条语句都有其明确的功能,例如输入、输出、赋值、判断、循环等。掌握基本语句,是学会编写程序的第一步。
+
+---
+
+## 📥输入、输出与赋值语句
+
+### 1. 输入语句
+
+用于从用户输入中获取数据。
+
+- **cin(C++)**
+ ```cpp
+ int a;
+ cin >> a; // 读取一个整数并存入变量 a 中
+ ```
+ 多个变量也可连续读取:
+ ```cpp
+ int x, y;
+ cin >> x >> y;
+ ```
+
+- **scanf(C)**
+ ```c
+ int a;
+ scanf("%d", &a); // %d 表示读取一个整数
+ ```
+
+ 多变量读取:
+ ```c
+ int x, y;
+ scanf("%d %d", &x, &y);
+ ```
+
+### 2. 输出语句
+
+用于将数据展示到终端(控制台)上。
+
+- **cout(C++)**
+ ```cpp
+ int a = 10;
+ cout << "a = " << a << endl;
+ ```
+
+- **printf(C)**
+ ```c
+ int a = 10;
+ printf("a = %d\n", a);
+ ```
+
+### 3. 赋值语句
+
+将右侧的值赋给左侧变量,是程序中最基本的操作之一。
+
+```cpp
+int a;
+a = 5;
+a = a + 10; // 赋值时,先计算右边的值
+```
+
+### 4. 复合语句
+
+复合语句即“语句块”,由一对花括号 `{}` 包裹起来的多条语句,常用于条件或循环控制中:
+
+```cpp
+{
+ int a = 1;
+ int b = 2;
+ cout << a + b << endl;
+}
+```
+
+---
+
+## 🔀选择结构语句
+
+程序根据条件不同,执行不同的操作路径,这类语句称为“选择结构”。
+
+### 1. if 语句
+
+用于根据条件判断是否执行某些语句。
+
+```cpp
+if (a >= 60) {
+ cout << "及格";
+} else {
+ cout << "不及格";
+}
+```
+
+#### 多条件判断
+
+```cpp
+if (score >= 90) {
+ cout << "优秀";
+} else if (score >= 80) {
+ cout << "良好";
+} else {
+ cout << "继续加油";
+}
+```
+
+### 2. switch 语句
+
+适用于“固定选项”的多分支判断。
+
+```cpp
+int op = 2;
+switch (op) {
+ case 1:
+ cout << "选项1";
+ break;
+ case 2:
+ cout << "选项2";
+ break;
+ default:
+ cout << "无效选项";
+}
+```
+
+### 3. 多层条件语句(嵌套)
+
+```cpp
+if (x > 0) {
+ if (x % 2 == 0) {
+ cout << "正偶数";
+ } else {
+ cout << "正奇数";
+ }
+} else {
+ cout << "非正数";
+}
+```
+
+---
+
+## 🔁循环结构语句
+
+循环语句用于让程序重复执行某些操作。
+
+### 1. for 语句(已知次数)
+
+```cpp
+for (int i = 1; i <= 5; i++) {
+ cout << i << " ";
+}
+```
+
+结构包含三部分:
+- 初始化:`int i = 1`
+- 条件判断:`i <= 5`
+- 更新表达式:`i++`
+
+### 2. while 语句(先判断再执行)
+
+```cpp
+int i = 1;
+while (i <= 5) {
+ cout << i << " ";
+ i++;
+}
+```
+
+若初始条件不成立,则一次都不执行。
+
+### 3. do while 语句(先执行后判断)
+
+```cpp
+int i = 1;
+do {
+ cout << i << " ";
+ i++;
+} while (i <= 5);
+```
+
+不管条件如何,至少执行一次。
+
+---
+
+## 🔃多层循环语句(嵌套循环)
+
+循环内部再嵌套一个循环,称为“多层循环”,适用于图形输出、二维数组、表格处理等。
+
+### 示例:打印矩形
+
+```cpp
+for (int i = 1; i <= 3; i++) {
+ for (int j = 1; j <= 5; j++) {
+ cout << "* ";
+ }
+ cout << endl;
+}
+```
+
+输出:
+
+```
+* * * * *
+* * * * *
+* * * * *
+```
+
+### 示例:九九乘法表
+
+```cpp
+for (int i = 1; i <= 9; i++) {
+ for (int j = 1; j <= i; j++) {
+ cout << j << "*" << i << "=" << j*i << "\t";
+ }
+ cout << endl;
+}
+```
+
+输出:
+
+```
+1*1=1
+1*2=2 2*2=4
+1*3=3 2*3=6 3*3=9
+...
+```
+
+---
+
+## 🧩 小结表
+
+| 功能类别 | 相关语句 | 描述 |
+|----------|-----------|------|
+| 输入语句 | `cin`, `scanf` | 从用户获取数据 |
+| 输出语句 | `cout`, `printf` | 向屏幕输出数据 |
+| 赋值语句 | `=` | 设置变量的值 |
+| 条件语句 | `if`, `switch`, 嵌套 `if` | 根据条件决定执行路径 |
+| 循环语句 | `for`, `while`, `do while` | 实现重复执行 |
+| 多层循环 | `for` 嵌套 `for` 等 | 实现二维结构处理 |
+
diff --git a/notebook/mkdocs.yml b/notebook/mkdocs.yml
index abb47ba3..e00191d1 100644
--- a/notebook/mkdocs.yml
+++ b/notebook/mkdocs.yml
@@ -19,10 +19,10 @@ nav:
- NOI竞赛大纲:
- 大纲: NOI竞赛大纲/大纲.md
- 一.基础知识与编程环境:
- - 1.计算机基本构成: NOI竞赛大纲/1.计算机的基本构成.md
- - 2.Window与Linux等操作系统的基本概念及常见操作: NOI竞赛大纲/2.Window与Linux等操作系统的基本概念及常见操作.md
- - 3.计算机网络和Internet的基本概念: NOI竞赛大纲/3.计算机网络和Internet的基本概念.md
- - 4.计算机历史和常见用途: NOI竞赛大纲/4.计算机历史和常见用途.md
+ - 1.计算机基本构成: NOI竞赛大纲/一.基础知识与编程环境/1.计算机的基本构成.md
+ - 2.Window与Linux等操作系统的基本概念及常见操作: NOI竞赛大纲/一.基础知识与编程环境/2.Window与Linux等操作系统的基本概念及常见操作.md
+ - 3.计算机网络和Internet的基本概念: NOI竞赛大纲/一.基础知识与编程环境/3.计算机网络和Internet的基本概念.md
+ - 4.计算机历史和常见用途: NOI竞赛大纲/一.基础知识与编程环境/4.计算机历史和常见用途.md
- 二.C++程序设计:
- 1.程序基本概念: NOI竞赛大纲/二.C++程序设计/1.程序基本概念.md
- 2.基本数据类型: NOI竞赛大纲/二.C++程序设计/2.基本数据类型.md
@@ -43,7 +43,7 @@ nav:
- 队列: NOI竞赛大纲/三.数据结构/1.线性结构/队列.md
- 2.简单树:
- 树的定义与相关概念: NOI竞赛大纲/三.数据结构/2.简单树/树的定义与相关概念.md
- - C++库:
+ - C++常用库:
- 总结: C++/总.md
- iostream: C++/1.iostream.md
- fstream: C++/2.fstream.md