##知识:
**mod运算:** 即模运算,也叫求余运算,是在整数运算中求一个整数n除以另一个整数p的余数的运算,且不考虑运算的商。比如 10 mod 3 =1;
**div运算:** 即除法运算,也叫求商运算,是在一个运算中求一个数除以另一个数的商,舍去余数。比如:10 div 3 =3;
**readln(变量):** 将键盘输入的值传入变量中
##题:
将自己传入的一个三位数倒序:

格式1:(从int1到int2次做循环)
单句格式:
```c
for i:= int1 to int2 do
pass;
```

格式2:(每次减一,倒循环)
从int1降到int2
```c
for i:= int1 downto int2 do
pass
```
- 阅读剩余部分 -
##IF
格式:
```c
if 判断语句 then pass;
```

##Else
格式:
```c
if 判断语句 then pass else pass;
```

##Case (- 阅读剩余部分 -
#变量类型:
```c
real: 浮点数 相似与float但是是用科学计数法的方式表示
char: 字符
string: 字符串
boolean: 布尔型
integer: 数值型 范围:-32768 -- 32767
longint: 长整型 范围:2倍int
```
##不同长度的浮点,可以和real替换:
Single, 单精度类型, 在内存中占4个字节, 7到8位有效数字;
Double, 双精度类型, 在内存中占8个字节- 阅读剩余部分 -
F2: 保存
F3:打开
Alt+F9: 完成
Ctrl + F9:运行
Alt+F5: 显示运行结果
//注释单行
{……
……} 注释多行
1.定义变量,定义变量类型:
```c
var
变量名1,变量名2……,计算变量3,计算变量4……:变量类型;
```

2.传参:
```c
bengin
变量1:=参数;
变量2:=参数;
……
```

出现乱码:
 、非阻塞 (non-blocking):**Windows套接字在阻塞和非阻塞两种模式下执行I/O操作。在阻塞模式下,在I/O操作完成前,执行的操作函数一直等候而不会立即返回,该函数所在的线程会阻塞在这里。相反,在非阻塞模式下,套接字函数会立即返回,而不管I/O是否完成,该函数所在的线程会继续运行。
##阻塞模式:
**阻塞模式的套接字上,调用任何一个Windows Socket API 都会耗费等待时间:** 当调用recv()函数时,- 阅读剩余部分 -

##服务端 Server:
```cpp
初始化winsock
1.创建TCP套接字
2.绑定socket到一个IP和端口上
3.监听套接字
4.接受客户端请求
5.发送、接收消息
6.关闭套接字
销毁winsock
```
##客户端 Client:
```cpp
初始化winsock
1.创建TCP套接字
- 阅读剩余部分 -
**什么是WSA (Windows Sockets Asynchronous)? **
不带WSA前缀标准的socket函数,如何socket(), send(), recv()这些不带WSA前缀的函数,这些函数是全平台通用的;而加上了WSA前缀的是微软的扩展函数,一般是Winsock2定义的2.0版的函数,只能在Windows平台用。
##WSAStartup() 函数:
用于初始化进程调用的Winsock相关的dll。
格式:
```cpp
int WS- 阅读剩余部分 -