自定义博客皮肤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)
  • 收藏
  • 关注

原创 学习笔记18-C语言-文件

文件的分类:文本文件: 存储的是ASCII码值的二进制二进制文件: 存储的是数据的补码文件IO:FILE *fopen(const char *path, const char *mode);功能:打开或者创建文件path:文件的路径mode:打开模式 r 以只读权限打开文件,如果该文件不存在则打开失败 r+ 在r的基础上,增加写权限 w 以只写权限打开文件,如果文件不存在则创建,如果文件存在则会清空 w+ 在w的基础上,增加读权限

2021-01-11 11:44:48 156

原创 学习笔记17-C语言-结构、联合、枚举

结构: struct结构是由程序猿自己设计的一种数据类型,用于描述一个事务的各项数据,由若干个不同的基础数据类型组成。设计结构: struct 结构体名 { 类型 成员名; ... }; 定义结构体变量 struct 结构体名 变量名; 注意:定义结构变量时,struct不能省略定义并初始化结构变量 struct 结构体名 变量名 = {v1,v2,v3,...}; 根据成员的顺序进行初始化也

2021-01-11 11:43:19 111

原创 学习笔记16-C语言-小项目-使用Makefile完成2048

Makefile:Makefile是一系列编译指令组成的可执行文本,也叫做编译脚本。在终端执行make命令会自动执行Makefile脚本中的编译命令,而且它还可以根据文件的最后修改时间来判断哪些文件是否需要重新编译、哪些文件不需要重新编译,从而大大提高编译效率编译规则: 1、如果这个工程没有编译过,那么我们所有的.c文件都要被编译并链接 2、如果某个.c文件被修改,那么此次只编译被修改过的.c文件并链接 3、如果某个.h文件被修改,那么依赖它的所有.c文件都需要重新编译并

2021-01-11 11:37:58 242

原创 学习笔记15-C语言-预处理指令、条件编译、头文件

预处理指令:程序猿编写的代码不是标准C代码,并不能被真正的编译器索编译,需要一段程序把代码翻译一下。翻译的过程叫做预处理,被翻译的代码叫做预处理指令,以#开头的都是预处理指令查看预处理的过程: gcc -E code.c 把预处理结果显示在终端上 gcc -E code.c -o code.i 把预处理的结果存储到code.i文件中预处理指令的分类: #inlcude 文件包含 #include<> 从系统指定目录下查找并导入头文件

2021-01-11 11:21:50 218

原创 学习笔记14-C语言-小项目-通讯录

通讯录:要求:姓名,性别、电话,最多储存50个联系人功能: 1、添加联系人 2、按名字删除联系人 3、按姓名修改联系人信息 4、查找联系人,可通过电话,名字查找,支持模糊查找 5、显示所有联系人信息代码#include<stdio.h>#include<string.h>#include<getch.h>#include<stdlib.h>char name[50][20]={};char sex

2021-01-11 11:18:08 122

原创 学习笔记13-C语言-字符串函数、缓冲区

字符串的常用函数:#include<string.h>size_t strlen(const char* s);功能:计算字符串长度,但是结果不包括'\0'返回值:返回字符串中字符的个数size_t str_len(const char* str){ assert(NULL != str); const char* tmp = str; while(*tmp) tmp++; return tmp - str;}char *strcpy(char

2021-01-11 11:12:45 204

原创 学习笔记12-C语言-堆内存、字符串

什么是堆内存:是进程中的一个内存段(text\data\bss\heap\stack),由程序猿手动控制。特点是足够大,缺点是使用麻烦为什么要使用堆内存:1、随着程序的复杂,数据会越来越多。2、其他的内存段的申请和释放不受控制,堆内存的申请释放受程序猿控制如何使用堆内存:注意:在C语言中没有控制堆内存的语句,只能使用C标准库中的函数void *malloc(size_t size); malloc(4);功能:从堆内存中申请size个字节的内存,申请的内存中存储的内容不确定

2020-12-30 17:00:49 232

原创 学习笔记11-C语言-指针

什么是指针:指针是一种特护的数据类型,使用它可以定义指针变量,指针变量存储的是整型数据,代表内存的编号,通过这个编号可以访问到对应内存。为什么使用指针1、函数与函数之间是相互独立的,但是有些时候需要共享变量 传参是单向值传递 全局变量容易命名冲突 使用数组还需要传递长度 函数的命名空间是相互独立的,但是地址空间是同一个,所以指针可以解决这个问题2、由于函数传参是值传递(内存拷贝),对于字节数较多的变量,值传递的效率较低,如果传递的是变量的地址,只需要传递4|8字节,

2020-12-30 16:35:01 96

原创 学习笔记10-C语言-小项目-五子棋

小项目:需要的数据1、定义棋盘的二维数组2、定义变量用于记录下棋的坐标3、定义角色 @ 黑棋 O 白棋 * 空位业务逻辑:是否需要对数据初始化for(;;){ 1、清屏、显示棋盘 2、落子 坐标是否合法、该位置是否有棋子 3、判断是否五子连珠 4、交换角色 5、显示棋盘}代码1#include<stdio.h>#include<getch.h>#include<stdlib.h>int

2020-12-30 16:30:27 114 1

原创 学习笔记9-C语言-传参、类型限定符、递归

函数传参:1、形参变量属于它所在的函数,出了该函数就不能使用2、实参与形参之间都是以赋值的形式进行数据传递(值传递)3、return 其实是把返回值数据放置到一个公共的区域(函数和函数调用者),如果不写return语句,那么该区域中就是一个随机的垃圾数据4、数组作为函数参数传递时,长度会丢失,需要额外增加一个变量把数组的长度也传递过去。5、函数之间,数组的传递时址传递,函数与函数的调用者可以共享数组练习1:实现一个函数,找出数组中的最大值#include<stdio.h>in

2020-12-30 16:26:11 168

原创 学习笔记8-作业

作业1:实现一个函数,判断一个整数是否是素数,调用该函数来显示出100~10000之间的所有素数#include<stdio.h>#include<stdbool.h>#include<math.h>bool is_sushu(int num){ for(int i=2;i<=sqrt(num);i++) { if(num%i==0)return false; } return true;}int main(int argc,const

2020-12-17 19:40:20 85

原创 学习笔记7-C语言-进制转换、原返补、位运算、函数

进制转换为什么要使用二、八进制、十六进制? 因为现在的CPU只能识别高低两种电流,因此只能对二进制数据进行运算 二进制数据虽然可以直接被cpu识别,但不方便人们书写、记录,所以把二进制数据转换成八进制是为了方便记录在文件中。 随着cpu的不断发展,位数不断增加,由早期的8位逐渐发展成了现在的64位,因此八进制逐渐不能满足需求,所以发展出了 十六进制,由于历史原因,八进制还不能退出历史舞台(文件权限:rwx=4+2+1)十进制转换二进制: 求余法: 用2对数据进行

2020-12-17 19:35:33 157

原创 学习笔记6-小项目-走迷宫、推箱子

获取方向键的功能:使用getch.h头文件中的getch函数1、把windows中的getch.h头文件放到共享文件夹中2、终端输入 cd /media/sf_GONGXIANG进入共享文件夹3、sudo cp getch.h /usr/include4、cd /usr/include/5、sudo chmod +r getch.h头文件中的getch函数time.h time(NULL):获取1970-1-1 00:00:00到目前为止过了多少秒走迷宫(不使用自定义函数)1、定义一个字符型

2020-12-17 19:29:47 104

原创 学习笔记5-C语言-数组

数组:什么是数组: 相同类型变量的组合,是一种批量定义变量的方式定义: 类型 数组名[数组变量数量]; int arr[5];使用: 数组名[下标]; arr[0]; 数组下标从零开始,范围:0~数量-1遍历: 从头到尾过一遍,与for循环相配合,使用循环变量作为数组的下标初始化: 类型 数组名[数量] = {1,2,3,4,5...} 1、数组与普通变量一样,默认值是随机的,为了安全起见要对数组进行初始化

2020-12-14 20:55:18 207

原创 学习笔记4-C语言-开关、循环、跳转

一、开关语句switch(n) //n可以是数值、表达式,运算结果必须是整型{ case val: //必须是常量,如果val等于n,则打开开关 ...; break; //关闭执行开关,switch中不能与continue配合使用 //如果所有的case后面都有break,就形成了多分支结构 default: //如果所有的case都没有匹配成功,则打开default执行开关,

2020-12-12 09:32:24 1407

原创 学习笔记3-C语言-基础

C语言简介发展史:BCPL -> new B -> C -> Minix -> Linux -> gccC语言诞生: 1970年~1973年,在肯.汤姆逊和丹尼斯.里奇(影响大)主导下编写完成,归属美国贝尔实验室C语言的诞生专门用于编写操作系统,所以天生适合一些硬件编程,也以速度快著称,也非常适合实现数据结构和算法由于出现时间过早,也没想到普通人也能使用C语言编程,因此存在着很多缺陷,但是前辈已经总结了一些避免陷阱的经验C语言三剑客:《C语言陷阱与缺陷》、《

2020-12-12 09:27:04 233

原创 学习笔记2-Linux2

Ubuntu系统快捷键ctrl+alt+t:打开终端ctrl+l: 清屏ctrl+alt+方向键:快速切换工作区域tab:自动补全up/down:调出指令执行记录alt+tab:切换任务重定向、管道、通配符重定向 重定向就是把命令的执行结果写入到文件中 cmd > filename 把命令的执行结果以清空的方式写入到文件中 cmd >> filename 把命令的执行结果以追加的方式写入到文件中 注:写入的位置需要明确,若文件不存在,则新建一个文件管

2020-12-08 19:24:49 113

原创 学习笔记1-Linux1

Linux系统介绍Linux管理硬盘的能力很强,我们一般只看到一个分区/ 根目录/bin 存储系统命令/dev 设备文件/media 多媒体文件,U盘,光盘,共享文件夹/proc 记录程序运行时的资源使用情况/sbin 存储超级管理员使用的系统命令/sys 存储系统相关的文件/var 存储系统相关日志/boot 存储系统启动相关的文件/etc 存储各种软件相关的配置文件/lib 存储各种库文件,静态库.a , 共享库.os/mnt 与其他系统进行映射的目录/roo

2020-12-07 20:14:10 88

空空如也

空空如也

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

TA关注的人

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