自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程间通信的总结(一)

一、Socket套接字基本特点: socket是一种接口技术,被抽象成一个文件进行操作 ,可以让同一台计算机的进程之间进行通信,也可以让不同计算机的进程进行通信(网络)二、同一台计算机的进程间通信 底层需要借助socket文件,进行不同进程的通信 int socket(int domain, int type, int protocol); 功能:创建socket对象 domain: AF_UNIX\AF_LOCAL 本地通...

2022-03-02 19:21:27 363

原创 有关于算法的总结

算法: 数据结构中的算法,指的是数据结构所具备的功能 解决特定问题的方法,它是前辈们的一些优秀的经验总结 算法的五大特性: 输入: 算法具有0个或多个输入。 输出: 算法至少有1个或多个输出。 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成。 确定性:算法中的每一步都有确定的含义,不会出现二义性。 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完 如何评价一...

2022-03-01 19:08:36 397

原创 关于红黑树的一些总结

红黑树:R-B Tree 也是一颗自平衡的有序二叉树,但它的平衡不是根据子树的高度来调整的 而是给每个节点设置颜色,通过颜色的关系达到平衡红黑树的特性: 1、每个节点或者是黑色或者是红色 2、根节点必须是黑色 3、每个叶子节点(NULL)是黑色 [注意:这里的叶子节点,是指空的叶子节点(NULL)] 4、如果一个节点是红色,则它的子节点必须是黑色 不能已有两个连续的红色 5、从从一个节点到该节点的所有子孙节点的所有路径上,...

2022-03-01 19:03:58 796

原创 2021.11.30day22 C语言关于结构的笔记

结构: 结构是程序员自己设计的一种数据类型,用于描述一个事物的各项信息, 由若干个不同的基础数据类型组成 设计: struct 结构名(自己起名字) { 类型 成员名; /* data */ }; 定义结构变量: (struct 结构名)结构变量名; 注意:定义结构变量,不能省略struct ...

2021-11-30 11:16:37 147

原创 2021.11.24 day21 C语言宏函数的笔记

#define 定义宏 宏常量 #define MAX 50 优点:提高可读性、提高可扩展性(批量修改)、提高安全性 还可以与case配合使用 注意:宏常量名建议全部大写,末尾不要加分号 {函数名、局部变量小写+下划线、全局变量首字母大写、指针变量p、数组arr、字符串str} ...

2021-11-24 19:50:52 330

原创 2021.11.22 day20 C语言字符串相关函数笔记

字符串相关常用函数: #include <string.h> #include <assert.h> assert(NULL != str);//假设条件正确时,程序执行,否则直接打断程序且报错 size_t strlen(const char *s); 功能:计算字符串长度 结果不包括字符'\0' char *strcpy(char *dest,const char *src); 功能:把s...

2021-11-22 19:28:21 97

原创 2021.11.20 C语言判断是否是回文串的函数(仅供参考)

先说思路: 1、首先是用户输入一个字符串 2、具体也不知道多长,普通变量接不了,用数组肯定方便很多 3、判断是与否的问题用bool最为合适 4、size_t(可以搜一下专门用来计算长度的整型) 5、用循环先计算长度(未知长度用while会更好) 6、再接着判断首位与末位是否相同,这里再说一下while遇到'\0'才会停止,'\0'也计入了 7、所以要长度-1才是末位 ...

2021-11-20 11:20:29 1062

原创 2021.11.20 day19 C语言关于字符串的基础笔记

字符串字符: 字符就是符号图案,在计算机中以整数形式存储的,需要显示时 会根据ASCII码表中的对应关系,来显示出相应的图案或符号 字符的输入: scanf("%c",&ch); getchar(); 字符的输出: printf("%c",ch); putchar(ch);串: 是一种数据结构,由一组连续的若干个相同类型的数据组成,对这种数据结构的 处理都是批量性的,在末尾有个结束标...

2021-11-20 11:07:38 606

原创 2021.11.18 day18 C语言关于堆内存的笔记

关于堆内存使用的基本笔记罢了

2021-11-18 17:23:40 437

原创 C语言二级指针的笔记及其应用

二级指针: 指向指针的指针就是二级指针,里面存储的是指针变量的地址 定义: 类型** 指针名_pp; 赋值: 指针名_pp = &指针变量; 解引用: *指针名_pp <=> 指针变量; **指针名_pp <=> *指针变量 <=> 普通变量 注意:当需要共享指针变量时,就必须使用二级指针include <stdio.h>int main...

2021-11-16 18:42:55 648

原创 2021.11.16 day17 C语言指针数组与数组指针的区别

指针数组与数组指针: 指针数组: 是由指针变量组成的数组,他的成员都是类型相同的指针变量 int* arr[长度]; 数组指针: 专门指向数组的指针 int (*arrp)[长度]; 注意:一般在使用堆内存时,可能会使用他们来定义二维数组 指针与数组名的关系: 数组名就是一种特殊的指针,数组名是一个常量,不能修改他的值,他与 数组的内存首地址之间是映射关系,他是没有自己的存储空间...

2021-11-16 18:40:36 474

原创 2021.11.15 day17 C语言指针的基础笔记(一)

什么是指针: 指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据 代表的是内存的编号,可以通过这个编号可以访问对应的内存。为什么要使用指针: 1、函数之间是相互独立的,但是有些时候需要共享变量 传参是单向值传递 全局变量容易命名冲突 使用数组还需要额外传递长度 虽然函数之间命名空间是独立的,但是地址空间是同一个, 所以使用指针可以解决这个问题 2、由于函数之间是值传递(...

2021-11-15 18:45:10 100

原创 2021.11.12 day16 C语言函数递归的笔记基本整理(外加汉诺塔练习)

函数递归: 函数自己调用自己的行为就叫做递归,可能会导致死循环、资源耗尽的情况发生 递归是分治算法的具体思想,就是把一个大二复杂的问题,分解成若干个相同的小问题 ,直到问题全部解决 1、递归必须要有出口 2、解决小问题 3、调用自己 递归调用函数每一次递归调用都会在栈内存产生一份自己的拷贝, 直到到达出口,才一层层向上释放栈内存,因此使用递归非常浪费内存 ,与循环相比速度非常慢,能用循环解决的问题就不要使用递归 ...

2021-11-12 19:47:01 718

原创 2021-11-12 百钱百鸡(仅供参考)

#include <stdio.h>int main(int argc,const char* argv[]){ for(int g=0; g<=20; g++) { for(int m=0; m<=33; m++) { int s = 100 - g - m; if(100 == g*5 + m*3 + s/3.0) { printf("%d %d %d\n",g,m,s); } } }}

2021-11-12 19:44:00 725

原创 2021.11.11 C语言简易五子棋(仅供参考)

五子棋: 1、定义棋盘类型的二维字符数组 15×15 2、定义变量用记录下棋的位置 3、定义角色变量 char role='@'; 业务逻辑: 棋盘初始化 for(;;) { 1、清理屏幕,显示棋盘 2、落子 判断坐标是否合法,是否已有棋子, 如果非法或有棋子,重新输入...

2021-11-11 19:14:23 2578

原创 2021..11.11 day15 关于C语言全局变量和局部变量的基础笔记

局部变量和全局变量 局部变量:定义在函数内 存储位置:stack 栈内存 生命周期:从函数调用开始到函数结束 作用范围:只能在函数内使用 全局变量:定义在函数外 存储位置:data(初始化)或者bss(未初始化) 生命周期:从main运行前到程序结束后才释放 作用范围:程序的任何位置都可以使用 块变量:定义在if/for/while语句块内 存储位置:stack 栈内存...

2021-11-11 19:11:17 112

原创 2021-11-10 day14 关于c语言类型限定符的基础笔记

类型限定符: auto 用于定义自动申请、自动释放内存的变量(局部变量),不加就代表加 不能使用auto修饰全局变量 C11中auto用于自动定义类型 const 用于“保护”变量不被明显的修改 注意:如果用const修饰初始化过的全局变量(data),存储位置会改为代码段(text) 此时就不能强制修改了 extern 用于声明变量 被extern...

2021-11-10 18:32:00 407

原创 2021.11.09 函数基础(2)

函数: 一段具有某项功能的代码段,是C语言中管理代码的最小单位 把代码封装成一个一个的函数,可以方便管理和调用代码 函数分类: 标准库函数: C语言标准委员会为C语言以函数形式提供的一套常用的基础功能 被封转在lib.so、libm.so等库中,使用时需要提供头文件 通过函数名(参数)就可以调用该函数 int isalnum(int c); 功能:...

2021-11-09 19:47:36 82

原创 2021.11.09 day13 位运算符的基础笔记

位运算符:& | ~ ^ << >> A & B 按位相与 A | B 按位相或 ~A 按位求反 优先级最高 A ^ B 按位异或 相同为0,相异为1 A << n 把A的补码向左移n位,左边丢弃,右边补0 A >> n 把A的补码向右移n位,右边丢弃,左边补符号位运算符优先级:单目 算术 位 关系 逻辑...

2021-11-09 19:44:26 156

原创 2021.11.08 day12 c语言进制转换笔记

进制转换: 为什么要使用二进制、八进制、十六进制: 因为现在的CPU只能识别高低两种电平,只能对二进制的数据进行计算 由于二进制数据虽然可以被计算机识别计算,但是不方便书写、记录 把二进制的数据转换成八进制为了方便把数据记录在文件中 由于CPU的位数不断增加,由于早期的8位逐渐增加到现在的64位 因此8进制不再符合需求了,所以才发展出了16进制,由于历史原因 8进制还不能退出历史舞台 十...

2021-11-08 19:47:29 183

原创 2021.11.6 day11 函数(1)

我所理解的函数,好比工具,怎么说呢?就是你用到什么拿什么。你吃饭是一项程序,对吧,你吃饭不可能手抓吧?得拿筷子或勺子,方便。维基百科中的定义呢,函数是指一段可以直接被另一段程序或代码引用的程序或代码。也叫做子程序、(OOP中)方法。一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C语言中,子程序是由一个主函数和若干个函数构成的。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函..

2021-11-06 15:43:47 69

原创 PAT 乙级 1001 害死人不偿命的(3n+1)猜想(一)

卡拉兹(Callatz)猜想:对任何一个正整数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过 1000 的正整数n,...

2021-11-03 19:59:14 67

原创 2021.11.3 day10 C语言关于二维数组的基础笔记

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

2021-11-03 19:21:30 314

原创 2021-11-02 PAT厘米换算英尺英寸

7-1 厘米换算英尺英寸 (15 分)如果已知英制长度的英尺foot和英寸inch的值,那么对应的米是(foot+inch/12)×0.3048。现在,如果用户输入的是厘米数,那么对应英制长度的英尺和英寸是多少呢?别忘了1英尺等于12英寸。输入格式:输入在一行中给出1个正整数,单位是厘米。输出格式:在一行中输出这个厘米数对应英制长度的英尺和英寸的整数值,中间用空格分开。输入样例:170结尾无空行输出样例:5 6代码如下:#include<stdio

2021-11-02 20:52:21 157

原创 2021.11.2 day09 C语言关于数组的基础用法

数组: 什么是数组:相同类型变量的组合,是一种批量定义变量的方式 定义: 类型 数组名[数量]; int arr[5]; 使用: 使用下标表示数组中的变量 arr[下标]; 下标:从零开始,范围:0~数量-1 arr[0],arr[1]...... 遍历: 一般与for循环配合,使用循环变量i当作数组的下标 int arr[5]; for(in...

2021-11-02 16:33:07 227

原创 2021.11.1 day08 关于C语言循环语句

一、循环语句for循环语句: 循环是让一段代码反复执行,最终达到你想要的效果的语法 for循环是一种很灵活且很危险的(相比于其他循环语句)一种循环语句 一般使用一个变量来引导for循环的运行,被称为循环变量index for([1];[2];[3]) { [4]; } 1、给循环变量赋初值,只有c99以上才能在此处定义循环变量 gcc -std=gnuc99 2、判断循环变量是否到达边界,为真继续循环 ...

2021-11-01 18:11:48 143

原创 2021.10.31 day07 第一周c语言学习汇总

一、学习了关于c语言以及Linux的历史发展BCPL->NewB->C语言->UNIX->Minix->Linux(开源)->gcc编译器二、下载安装了并了解VirtualBox以及UbuntuLinux系统常用命令: 常用命令: ls 显示当前目录下的文件 -a 显示当前目录的隐藏文件 以.开头的文件都是隐藏文件 ctrl+h 可以显示或隐藏 -l 以长格式显示文件的详细信息 ...

2021-10-31 21:56:16 162

原创 2021.10.30 day06 C语言关于运算符的基础了解

有颜色的大家一定要注意起来!!!!,作为小白容易犯的错。踩过坑就好啦一、运算符 自变运算符:++/-- 使变量自己的值自动加1或减1 前自变:++num 立即生效 后自变:num++ 下一条语句才生效 注意:不要在一行代码中多次使用自变运算符 算数运算符:+ - * / % /%除数不能为0 整数/整数 结果不会有小数部分,直接去掉小数部分 / %除数不能为0,否则...

2021-10-30 22:47:43 116

原创 2021.10.29 day05C语言基础笔记日常

变量与常量 什么是变量: 在程序运行期间数值可以发生变化的叫变量,相当于存放数据的 盒子 定义: 类型 变量名; int num; 变量名取名规则: 1、由字母、数字、下划线组成 2、不能以数字开头 3.不能与32个c语言关键字重名 4.见名知意(功能+类型+作用域) 注意:变量的默认值是随机的,为了安...

2021-10-29 17:04:54 73

原创 C语言中常用的32个关键词

数据类型相关:内件类型:char short int long void float double自建类型:struct union enumsizeof类型限定符:auto const static volatile register typedefextern signed unsigned流程控制相关:分支:if else switchcase default循环...

2021-10-28 18:43:22 94

原创 2021.10.28 day04 C语言的基础笔记(一)

C语言诞生于1970-1973年,在肯.汤普逊和丹尼斯.里奇的合作编写下完成,归属于美国贝尔实验室C语言是专门为了编写操作系统而诞生的语言,c语言天生适合对硬件编程以速度快而著称,也非常适合编写实现数据结构与算法c语言由于时间过早,有很多缺陷,也没想到普通人也能使用c语言编程,因此存在着陷阱,,前辈们总结了避免陷阱的经验《c陷阱和缺陷》《c语言三剑客》《c程序设计语言》c语言的语法很自由,自由源于自律BCPL->newB->C->UNIX->Minix->Lin

2021-10-28 18:33:49 123

原创 2021.10.27 day03 关于vim的一些基础理解和快捷键(笔记)

im文本编辑器: 可以在终端下采用纯键盘操作的一款文本编辑器,号称编辑器之神 可以二次开发,可以扩展(安装插件) 基础用法: 1.进入vim: vim (文件名).c 如果文件不存在,则创建 2.输入 i : 进入编辑模式,编写代码 3.保存退出: 按Esc键退出编辑模式,输出大写的ZZ保存退出 三大模式: 正常模式:一般用于阅读文件,或者使用快捷键对文件进行快速修改 编辑模式:用于修改文件.编...

2021-10-27 16:17:48 272

原创 2021-10-26 Ubantu练习打字的小游戏

废话不多说好吧!直接在终端上输入typespeed就下载安装好了。优点在于,里面练习打字的内容都是关于你使用各个语言经常会用到的一些代码,帮助你尽早的熟悉和梳理!!!

2021-10-26 19:11:37 406

原创 2021.10.26 day-02 关于Ubuntu的基础认知

最重要的是自己动手实践= =,说实话逛逛理解不能够呀关于文件的相关命令:touch Odin 创建文件 #这里的Odin指的是文件名rm Odin 删除文件 不经过回收站,难以找回,要谨慎使用cat/more/head/tail 查看文件 cat 会把文件所有内容全部打印到终端,比较适合查看内容较少的文件 more 从文件头开始分页查看文件,回车显示下一行,空格显示下一...

2021-10-26 18:57:18 67

原创 2021-10-25 菜鸟关于对Linux系统的基本认知 day01

Linux系统介绍 UNIXBCPL->NewB->C语言->UNIX->Minix->Linux(开源)->gcc编译器(这算是Linux的进化之旅。)Linux管理硬盘的能力非常强,所以我们看到的只有一个分区接下来就是关于这些文件名的解释了/ 根目录 所有的文件都存储在它下面/bin 存储系统相关的命令文件/dev 存储设备文件(一切皆文件(兼容性高,转换文件))/usr 存储头文件/media 存储多...

2021-10-25 20:49:05 87

空空如也

空空如也

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

TA关注的人

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