自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 TCP服务器的编程模型有哪几种?

1.同步阻塞迭代模型//创建socketint sockfd = socket(...);//准备要绑定的结构体addr//绑定bind(...);//监听listen(...);for(;;){ //等待连接 accept(...); //接收客户端的请求 recv(...); //响应请求 send(...);}缺点:同步阻塞模型使用单进程,在accept、recv、send时都可能会发生阻塞,一次只能服务一个客户端,效率低。若没有客户端发来连接请求,进程会阻塞在

2021-10-27 18:31:02 980

原创 socket 网络通信

socket 网络通信UDPTCP是否连接无连接面向连接是否可靠不可靠传输,不使用流量控制和拥塞控制可靠传输,使用流量控制和拥塞控制连接对象个数支持一对一,一对多,多对一和多对多交互通信只能是一对一通信传输方式面向报文面向字节流首部开销首部开销小,仅8字节首部最小20字节,最大60字节适用场景适用于实时应用(IP电话、视频会议、直播等)适用于要求可靠传输的应用,例如文件传输TCP向上层提供面向连接的可靠服务 ,UDP向上层提

2021-09-20 20:04:20 114

原创 2021-09-09

GNU编译工具:多样性:支持多种编程语言、支持各种操作系统gcc -v 查看版本信息构建过程:预处理:gcc -E code.c -o code.i编译: gcc -S code.i ->code.s汇编: gcc -c code.s ->code.o链接: gcc a.o b.o c.o… ->a.out文件类型:.h 头文件.h.gch 头文件的编译结果,会被优先使用.c 源文件.i 预处理文件.s

2021-09-09 21:04:31 75

原创 数据结构与算法总结

2021-08-29 22:58:24 65

原创 标准C语言总结

2021-08-29 22:56:24 58

原创 数据结构1

数据结构的基本概念1、数据:所有能够输入到计算机中,能够被程序处理的描述客观事物的信号。2、数据项:有独立含义的最小单位,也叫做域3、数据元素:组成数据的,有一定意义的基本单元,也叫做节点4、数据结构:相互之间存在一种或多种特定关系的数据元素的集合5、算法:研究数据结构所具备的功能、解决特定问题的方法数据结构的三个方面逻辑关系集合:数据元素同属一个集合,但元素之间没有任何关系线性结构(表):数据元素之间存在一对一的关系树形结构:元素之间存在一对多的关系图形结构: 数据结构之间

2021-08-22 15:36:02 59

原创 2021-08-14

进程映像:程序:存储在磁盘上的可执行文件(二进制文件、脚本文件)进程:正在系统中运行的程序进程映像指的是系统中进程内存的分布情况text 代码段:存储二进制指令、权限只读,强制修改会产生段错误 只读段:常量data 数据段:初始化过的全局变量,初始化过的静态局部变量bss 静态数据段:未初始化过的全局变量,未初始化过的静态局部 变量,在程序运行前会自动清理为0heap 堆:由程序员手动管理, 优点:足够大,缺点:使用麻烦stack 栈:局部变量、块变量

2021-08-14 14:12:32 71

原创 小游戏——五子棋

五子棋:需要的数据:(全局)1、定义棋盘二维数组 1515 空位置’’2、定义棋子角色变量 白棋’#’ 黑棋’$’3、定义变量用于记录下棋的位置业务逻辑:(实现成一个个函数)是否需要初始化for(; ;){1、清理屏幕、打印棋盘 show2、落子输入坐标、坐标合法、该位置不能有棋子,否则继续落子3、判断是否五子连珠4、交换角色}#include <stdio.h>#include <stdlib.h>#include <stdbo

2021-07-25 15:22:28 68

原创 用C语言写小游戏——五子棋

五子棋需要的数据:(全局)1、定义棋盘二维数组 1515 空位置’’2、定义棋子角色变量 白棋’#’ 黑棋’$’3、定义变量用于记录下棋的位置逻辑:初始化 init_board()for(;????{1、清理屏幕、打印棋盘 show_board()2、落子 get_key()输入坐标、坐标合法、该位置不能有棋子,否则继续落子3、判断是否五子连珠 is_win()4、交换角色}#include <stdio.h>#include <stdli

2021-07-19 21:00:27 350 1

原创 PAT 1001 害死人不偿命的(3n+1)猜想 (15 分)

1001 害死人不偿命的(3n+1)猜想 (15 分)#include <stdio.h>int main(){ int n = 0; int i = 0; scanf("%d",&n); while(1 != n) { if(0 == n%2) { n = n/2; i++; } else {

2021-07-18 13:52:51 52

原创 小游戏——推箱子

推箱子#include <stdio.h>#include <getch.h>#include <stdlib.h>int main(int argc,const char* argv[]){ char map[8][8] = { {0,0,1,1,1,1,0,0}, {0,0,1,4,4,1,0,0}, {0,1,1,0,4,1,1,0}, {0,1,0,0,3,4,1,0}, {1,1,0,3,0,0,1,1}, {1,0,0,1,3,3,0

2021-07-14 21:46:42 110 1

原创 用C语言写迷宫

用C语言写迷宫思路:1、定义一个二维数组作为迷宫0 ‘ ’1 ‘#’2 ‘@’2、定义两个变量来记录老鼠的坐标3、记录游戏开始时间4、进入死循环(1)清理屏幕system(“clear”);(2)显示迷宫(遍历打印二位数组)(3)判断是否到达出口是:获取游戏结束时间结束程序(4)获取方向键并处理判断前方是否是路是:1、旧位置=0;2、新位置=2;3、更新老鼠的位置#include <stdio.h>#include <getch.h>

2021-07-13 18:15:21 554

原创 二维数组

二维数组二维数组:一维数组相当于把变量排成一排,通过编号访问二维数组相当于把变量排成矩阵,通过行号和列号访问定义: 类型 数组名[行数][列数];int arr[3][5];[][][][][][][][][][][][][][][]使用: 数组名[行下标][列下标]行下标: 0 ~ 行数-1列下标: 0 ~ 列数-1遍历:需要与双层for循环配合,一般外层负责遍历行,内层负责遍历列for(int i=0;i<3;i++){for(int j=0;j<5;j+

2021-07-13 18:04:53 201

原创 输入三个整数,从大到小显示

输入三个整数,从大到小显示 1 #include <stdio.h> 2 3 int main(int argc,const char* argv[]) 4 { 5 int num1,num2,num3; 6 int t = 0; 7 printf("请输入三个整数: "); 8 scanf("%d %d %d",&num1,&num2,&num3); 9 10 if(num1 < n

2021-07-09 19:03:03 45

原创 常用运算符

2021-07-09 18:20:55 46

原创 数据类型

数据类型

2021-07-08 19:30:25 48

原创 vim编辑器

vim编辑器

2021-07-07 19:58:35 32

原创 C++环境搭建

1、准备 宿主操作系统(win7以上)、虚拟机工具(VirtualBox 6.1.4)、虚拟机操作系统(Ubuntu 14.04 LTS)这些都可以在官网上下载。2、VirtualBox 安装过程VirtualBox采用默认安装即可(全按next)若打不开则尝试下列步骤: 1.设置兼容模式(右键 -> 属性 -> 兼容性 -> 兼容模式打勾) 2.关闭安全软件(QQ管家等)3、Ubuntu 安装过程 1.打开VirtualBox,新...

2021-07-06 23:37:19 435 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除